Firebase App Check works alongside other Firebase services to help protect your backend resources from abuse, such as billing fraud or phishing.
Service: firebaseappcheck.googleapis.com
To call this service, we recommend that you use the Google-provided client libraries. If your application needs to use your own libraries to call this service, use the following information when you make the API requests.
Discovery document
A Discovery Document is a machine-readable specification for describing and consuming REST APIs. It is used to build client libraries, IDE plugins, and other tools that interact with Google APIs. One service may provide multiple discovery documents. This service provides the following discovery documents:
Service endpoint
A service endpoint is a base URL that specifies the network address of an API service. One service might have multiple service endpoints. This service has the following service endpoint and all URIs below are relative to this service endpoint:
https://firebaseappcheck.googleapis.com
REST Resource: v1beta.jwks
| Methods | |
|---|---|
get |
GET /v1beta/{name=jwks} Returns a public JWK set as specified by RFC 7517 that can be used to verify App Check tokens. |
REST Resource: v1beta.oauthClients
| Methods | |
|---|---|
exchangeAppAttestAssertion |
POST /v1beta/{app=oauthClients/*}:exchangeAppAttestAssertion Accepts an App Attest assertion and an artifact previously obtained from ExchangeAppAttestAttestation and verifies those with Apple. |
exchangeAppAttestAttestation |
POST /v1beta/{app=oauthClients/*}:exchangeAppAttestAttestation Accepts an App Attest CBOR attestation and verifies it with Apple using your preconfigured team and bundle IDs. |
exchangeDebugToken |
POST /v1beta/{app=oauthClients/*}:exchangeDebugToken Validates a debug token secret that you have previously created using CreateDebugToken. |
generateAppAttestChallenge |
POST /v1beta/{app=oauthClients/*}:generateAppAttestChallenge Generates a challenge that protects the integrity of an immediately following call to ExchangeAppAttestAttestation or ExchangeAppAttestAssertion. |
REST Resource: v1beta.projects
| Methods | |
|---|---|
verifyAppCheckToken |
POST /v1beta/{project=projects/*}:verifyAppCheckToken Verifies the given App Check token and returns token usage signals that callers may act upon. |
REST Resource: v1beta.projects.apps
| Methods | |
|---|---|
exchangeAppAttestAssertion |
POST /v1beta/{app=projects/*/apps/*}:exchangeAppAttestAssertion Accepts an App Attest assertion and an artifact previously obtained from ExchangeAppAttestAttestation and verifies those with Apple. |
exchangeAppAttestAttestation |
POST /v1beta/{app=projects/*/apps/*}:exchangeAppAttestAttestation Accepts an App Attest CBOR attestation and verifies it with Apple using your preconfigured team and bundle IDs. |
exchangeCustomToken |
POST /v1beta/{app=projects/*/apps/*}:exchangeCustomToken Validates a custom token signed using your project's Admin SDK service account credentials. |
exchangeDebugToken |
POST /v1beta/{app=projects/*/apps/*}:exchangeDebugToken Validates a debug token secret that you have previously created using CreateDebugToken. |
exchangeDeviceCheckToken |
POST /v1beta/{app=projects/*/apps/*}:exchangeDeviceCheckToken Accepts a device_token issued by DeviceCheck, and attempts to validate it with Apple. |
exchangePlayIntegrityToken |
POST /v1beta/{app=projects/*/apps/*}:exchangePlayIntegrityToken Validates an integrity verdict response token from Play Integrity. |
exchangeRecaptchaEnterpriseToken |
POST /v1beta/{app=projects/*/apps/*}:exchangeRecaptchaEnterpriseToken Validates a reCAPTCHA Enterprise response token. |
exchangeRecaptchaToken |
POST /v1beta/{app=projects/*/apps/*}:exchangeRecaptchaToken Validates a reCAPTCHA v3 response token. |
exchangeRecaptchaV3Token |
POST /v1beta/{app=projects/*/apps/*}:exchangeRecaptchaV3Token Validates a reCAPTCHA v3 response token. |
generateAppAttestChallenge |
POST /v1beta/{app=projects/*/apps/*}:generateAppAttestChallenge Generates a challenge that protects the integrity of an immediately following call to ExchangeAppAttestAttestation or ExchangeAppAttestAssertion. |
generatePlayIntegrityChallenge |
POST /v1beta/{app=projects/*/apps/*}:generatePlayIntegrityChallenge Generates a challenge that protects the integrity of an immediately following integrity verdict request to the Play Integrity API. |
REST Resource: v1beta.projects.apps.appAttestConfig
| Methods | |
|---|---|
batchGet |
GET /v1beta/{parent=projects/*}/apps/-/appAttestConfig:batchGet Atomically gets the AppAttestConfigs for the specified list of apps. |
get |
GET /v1beta/{name=projects/*/apps/*/appAttestConfig} Gets the AppAttestConfig for the specified app. |
patch |
PATCH /v1beta/{appAttestConfig.name=projects/*/apps/*/appAttestConfig} Updates the AppAttestConfig for the specified app. |
REST Resource: v1beta.projects.apps.debugTokens
| Methods | |
|---|---|
create |
POST /v1beta/{parent=projects/*/apps/*}/debugTokens Creates a new DebugToken for the specified app. |
delete |
DELETE /v1beta/{name=projects/*/apps/*/debugTokens/*} Deletes the specified DebugToken. |
get |
GET /v1beta/{name=projects/*/apps/*/debugTokens/*} Gets the specified DebugToken. |
list |
GET /v1beta/{parent=projects/*/apps/*}/debugTokens Lists all DebugTokens for the specified app. |
patch |
PATCH /v1beta/{debugToken.name=projects/*/apps/*/debugTokens/*} Updates the specified DebugToken. |
REST Resource: v1beta.projects.apps.deviceCheckConfig
| Methods | |
|---|---|
batchGet |
GET /v1beta/{parent=projects/*}/apps/-/deviceCheckConfig:batchGet Atomically gets the DeviceCheckConfigs for the specified list of apps. |
get |
GET /v1beta/{name=projects/*/apps/*/deviceCheckConfig} Gets the DeviceCheckConfig for the specified app. |
patch |
PATCH /v1beta/{deviceCheckConfig.name=projects/*/apps/*/deviceCheckConfig} Updates the DeviceCheckConfig for the specified app. |
REST Resource: v1beta.projects.apps.playIntegrityConfig
| Methods | |
|---|---|
batchGet |
GET /v1beta/{parent=projects/*}/apps/-/playIntegrityConfig:batchGet Atomically gets the PlayIntegrityConfigs for the specified list of apps. |
get |
GET /v1beta/{name=projects/*/apps/*/playIntegrityConfig} Gets the PlayIntegrityConfig for the specified app. |
patch |
PATCH /v1beta/{playIntegrityConfig.name=projects/*/apps/*/playIntegrityConfig} Updates the PlayIntegrityConfig for the specified app. |
REST Resource: v1beta.projects.apps.recaptchaConfig
| Methods | |
|---|---|
batchGet |
GET /v1beta/{parent=projects/*}/apps/-/recaptchaConfig:batchGet Atomically gets the RecaptchaConfigs for the specified list of apps. |
get |
GET /v1beta/{name=projects/*/apps/*/recaptchaConfig} Gets the RecaptchaConfig for the specified app. |
patch |
PATCH /v1beta/{recaptchaConfig.name=projects/*/apps/*/recaptchaConfig} Updates the RecaptchaConfig for the specified app. |
REST Resource: v1beta.projects.apps.recaptchaEnterpriseConfig
| Methods | |
|---|---|
batchGet |
GET /v1beta/{parent=projects/*}/apps/-/recaptchaEnterpriseConfig:batchGet Atomically gets the RecaptchaEnterpriseConfigs for the specified list of apps. |
get |
GET /v1beta/{name=projects/*/apps/*/recaptchaEnterpriseConfig} Gets the RecaptchaEnterpriseConfig for the specified app. |
patch |
PATCH /v1beta/{recaptchaEnterpriseConfig.name=projects/*/apps/*/recaptchaEnterpriseConfig} Updates the RecaptchaEnterpriseConfig for the specified app. |
REST Resource: v1beta.projects.apps.recaptchaV3Config
| Methods | |
|---|---|
batchGet |
GET /v1beta/{parent=projects/*}/apps/-/recaptchaV3Config:batchGet Atomically gets the RecaptchaV3Configs for the specified list of apps. |
get |
GET /v1beta/{name=projects/*/apps/*/recaptchaV3Config} Gets the RecaptchaV3Config for the specified app. |
patch |
PATCH /v1beta/{recaptchaV3Config.name=projects/*/apps/*/recaptchaV3Config} Updates the RecaptchaV3Config for the specified app. |
REST Resource: v1beta.projects.services
| Methods | |
|---|---|
batchUpdate |
POST /v1beta/{parent=projects/*}/services:batchUpdate Atomically updates the specified Service configurations. |
get |
GET /v1beta/{name=projects/*/services/*} Gets the Service configuration for the specified service name. |
list |
GET /v1beta/{parent=projects/*}/services Lists all Service configurations for the specified project. |
patch |
PATCH /v1beta/{service.name=projects/*/services/*} Updates the specified Service configuration. |
REST Resource: v1beta.projects.services.resourcePolicies
| Methods | |
|---|---|
batchUpdate |
POST /v1beta/{parent=projects/*/services/*}/resourcePolicies:batchUpdate Atomically updates the specified ResourcePolicy configurations. |
create |
POST /v1beta/{parent=projects/*/services/*}/resourcePolicies Creates the specified ResourcePolicy configuration. |
delete |
DELETE /v1beta/{name=projects/*/services/*/resourcePolicies/*} Deletes the specified ResourcePolicy configuration. |
get |
GET /v1beta/{name=projects/*/services/*/resourcePolicies/*} Gets the requested ResourcePolicy configuration. |
list |
GET /v1beta/{parent=projects/*/services/*}/resourcePolicies Lists all ResourcePolicy configurations for the specified project and service. |
patch |
PATCH /v1beta/{resourcePolicy.name=projects/*/services/*/resourcePolicies/*} Updates the specified ResourcePolicy configuration. |
REST Resource: v1.jwks
| Methods | |
|---|---|
get |
GET /v1/{name=jwks} Returns a public JWK set as specified by RFC 7517 that can be used to verify App Check tokens. |
REST Resource: v1.oauthClients
| Methods | |
|---|---|
exchangeAppAttestAssertion |
POST /v1/{app=oauthClients/*}:exchangeAppAttestAssertion Accepts an App Attest assertion and an artifact previously obtained from ExchangeAppAttestAttestation and verifies those with Apple. |
exchangeAppAttestAttestation |
POST /v1/{app=oauthClients/*}:exchangeAppAttestAttestation Accepts an App Attest CBOR attestation and verifies it with Apple using your preconfigured team and bundle IDs. |
exchangeDebugToken |
POST /v1/{app=oauthClients/*}:exchangeDebugToken Validates a debug token secret that you have previously created using CreateDebugToken. |
generateAppAttestChallenge |
POST /v1/{app=oauthClients/*}:generateAppAttestChallenge Generates a challenge that protects the integrity of an immediately following call to ExchangeAppAttestAttestation or ExchangeAppAttestAssertion. |
REST Resource: v1.projects.apps
| Methods | |
|---|---|
exchangeAppAttestAssertion |
POST /v1/{app=projects/*/apps/*}:exchangeAppAttestAssertion Accepts an App Attest assertion and an artifact previously obtained from ExchangeAppAttestAttestation and verifies those with Apple. |
exchangeAppAttestAttestation |
POST /v1/{app=projects/*/apps/*}:exchangeAppAttestAttestation Accepts an App Attest CBOR attestation and verifies it with Apple using your preconfigured team and bundle IDs. |
exchangeCustomToken |
POST /v1/{app=projects/*/apps/*}:exchangeCustomToken Validates a custom token signed using your project's Admin SDK service account credentials. |
exchangeDebugToken |
POST /v1/{app=projects/*/apps/*}:exchangeDebugToken Validates a debug token secret that you have previously created using CreateDebugToken. |
exchangeDeviceCheckToken |
POST /v1/{app=projects/*/apps/*}:exchangeDeviceCheckToken Accepts a device_token issued by DeviceCheck, and attempts to validate it with Apple. |
exchangePlayIntegrityToken |
POST /v1/{app=projects/*/apps/*}:exchangePlayIntegrityToken Validates an integrity verdict response token from Play Integrity. |
exchangeRecaptchaEnterpriseToken |
POST /v1/{app=projects/*/apps/*}:exchangeRecaptchaEnterpriseToken Validates a reCAPTCHA Enterprise response token. |
exchangeRecaptchaV3Token |
POST /v1/{app=projects/*/apps/*}:exchangeRecaptchaV3Token Validates a reCAPTCHA v3 response token. |
generateAppAttestChallenge |
POST /v1/{app=projects/*/apps/*}:generateAppAttestChallenge Generates a challenge that protects the integrity of an immediately following call to ExchangeAppAttestAttestation or ExchangeAppAttestAssertion. |
generatePlayIntegrityChallenge |
POST /v1/{app=projects/*/apps/*}:generatePlayIntegrityChallenge Generates a challenge that protects the integrity of an immediately following integrity verdict request to the Play Integrity API. |
REST Resource: v1.projects.apps.appAttestConfig
| Methods | |
|---|---|
batchGet |
GET /v1/{parent=projects/*}/apps/-/appAttestConfig:batchGet Atomically gets the AppAttestConfigs for the specified list of apps. |
get |
GET /v1/{name=projects/*/apps/*/appAttestConfig} Gets the AppAttestConfig for the specified app. |
patch |
PATCH /v1/{appAttestConfig.name=projects/*/apps/*/appAttestConfig} Updates the AppAttestConfig for the specified app. |
REST Resource: v1.projects.apps.debugTokens
| Methods | |
|---|---|
create |
POST /v1/{parent=projects/*/apps/*}/debugTokens Creates a new DebugToken for the specified app. |
delete |
DELETE /v1/{name=projects/*/apps/*/debugTokens/*} Deletes the specified DebugToken. |
get |
GET /v1/{name=projects/*/apps/*/debugTokens/*} Gets the specified DebugToken. |
list |
GET /v1/{parent=projects/*/apps/*}/debugTokens Lists all DebugTokens for the specified app. |
patch |
PATCH /v1/{debugToken.name=projects/*/apps/*/debugTokens/*} Updates the specified DebugToken. |
REST Resource: v1.projects.apps.deviceCheckConfig
| Methods | |
|---|---|
batchGet |
GET /v1/{parent=projects/*}/apps/-/deviceCheckConfig:batchGet Atomically gets the DeviceCheckConfigs for the specified list of apps. |
get |
GET /v1/{name=projects/*/apps/*/deviceCheckConfig} Gets the DeviceCheckConfig for the specified app. |
patch |
PATCH /v1/{deviceCheckConfig.name=projects/*/apps/*/deviceCheckConfig} Updates the DeviceCheckConfig for the specified app. |
REST Resource: v1.projects.apps.playIntegrityConfig
| Methods | |
|---|---|
batchGet |
GET /v1/{parent=projects/*}/apps/-/playIntegrityConfig:batchGet Atomically gets the PlayIntegrityConfigs for the specified list of apps. |
get |
GET /v1/{name=projects/*/apps/*/playIntegrityConfig} Gets the PlayIntegrityConfig for the specified app. |
patch |
PATCH /v1/{playIntegrityConfig.name=projects/*/apps/*/playIntegrityConfig} Updates the PlayIntegrityConfig for the specified app. |
REST Resource: v1.projects.apps.recaptchaEnterpriseConfig
| Methods | |
|---|---|
batchGet |
GET /v1/{parent=projects/*}/apps/-/recaptchaEnterpriseConfig:batchGet Atomically gets the RecaptchaEnterpriseConfigs for the specified list of apps. |
get |
GET /v1/{name=projects/*/apps/*/recaptchaEnterpriseConfig} Gets the RecaptchaEnterpriseConfig for the specified app. |
patch |
PATCH /v1/{recaptchaEnterpriseConfig.name=projects/*/apps/*/recaptchaEnterpriseConfig} Updates the RecaptchaEnterpriseConfig for the specified app. |
REST Resource: v1.projects.apps.recaptchaV3Config
| Methods | |
|---|---|
batchGet |
GET /v1/{parent=projects/*}/apps/-/recaptchaV3Config:batchGet Atomically gets the RecaptchaV3Configs for the specified list of apps. |
get |
GET /v1/{name=projects/*/apps/*/recaptchaV3Config} Gets the RecaptchaV3Config for the specified app. |
patch |
PATCH /v1/{recaptchaV3Config.name=projects/*/apps/*/recaptchaV3Config} Updates the RecaptchaV3Config for the specified app. |
REST Resource: v1.projects.services
| Methods | |
|---|---|
batchUpdate |
POST /v1/{parent=projects/*}/services:batchUpdate Atomically updates the specified Service configurations. |
get |
GET /v1/{name=projects/*/services/*} Gets the Service configuration for the specified service name. |
list |
GET /v1/{parent=projects/*}/services Lists all Service configurations for the specified project. |
patch |
PATCH /v1/{service.name=projects/*/services/*} Updates the specified Service configuration. |
REST Resource: v1.projects.services.resourcePolicies
| Methods | |
|---|---|
batchUpdate |
POST /v1/{parent=projects/*/services/*}/resourcePolicies:batchUpdate Atomically updates the specified ResourcePolicy configurations. |
create |
POST /v1/{parent=projects/*/services/*}/resourcePolicies Creates the specified ResourcePolicy configuration. |
delete |
DELETE /v1/{name=projects/*/services/*/resourcePolicies/*} Deletes the specified ResourcePolicy configuration. |
get |
GET /v1/{name=projects/*/services/*/resourcePolicies/*} Gets the requested ResourcePolicy configuration. |
list |
GET /v1/{parent=projects/*/services/*}/resourcePolicies Lists all ResourcePolicy configurations for the specified project and service. |
patch |
PATCH /v1/{resourcePolicy.name=projects/*/services/*/resourcePolicies/*} Updates the specified ResourcePolicy configuration. |