Google Cloud Firestore · Schema
GoogleFirestoreAdminV1Database
A Cloud Firestore Database.
DatabaseDocumentsGoogle CloudNoSQLReal-Time
Properties
| Name | Type | Description |
|---|---|---|
| tags | object | Optional. Input only. Immutable. Tag keys/values directly bound to this resource. For example: "123/environment": "production", "123/costCenter": "marketing" |
| updateTime | string | Output only. The timestamp at which this database was most recently updated. Note this only includes updates to the database resource and not data contained by the database. |
| name | string | The resource name of the Database. Format: `projects/{project}/databases/{database}` |
| deleteProtectionState | string | State of delete protection for the database. |
| databaseEdition | string | Immutable. The edition of the database. |
| appEngineIntegrationMode | string | The App Engine integration mode to use for this database. |
| mongodbCompatibleDataAccessMode | string | Optional. The MongoDB compatible API data access mode to use for this database. If not set on write, the default value is DATA_ACCESS_MODE_ENABLED for Enterprise edition. The value is always DATA_ACCE |
| cmekConfig | object | Optional. Presence indicates CMEK is enabled for this database. |
| etag | string | This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding. |
| type | string | Required. The type of the database. See https://cloud.google.com/datastore/docs/firestore-or-datastore for information about how to choose. |
| realtimeUpdatesMode | string | Immutable. The default Realtime Updates mode to use for this database. |
| earliestVersionTime | string | Output only. The earliest timestamp at which older versions of the data can be read from the database. See [version_retention_period] above; this field is populated with `now - version_retention_perio |
| freeTier | boolean | Output only. Background: Free tier is the ability of a Firestore database to use a small amount of resources every day without being charged. Once usage exceeds the free tier limit further usage is ch |
| concurrencyMode | string | The default concurrency control mode to use for this database. If unspecified in a CreateDatabase request, this will default based on the database edition: Optimistic for Enterprise and Pessimistic fo |
| versionRetentionPeriod | string | Output only. The period during which past versions of data are retained in the database. Any read or query can specify a `read_time` within this window, and will read the state of the database at that |
| deleteTime | string | Output only. The timestamp at which this database was deleted. Only set if the database has been deleted. |
| previousId | string | Output only. The database resource's prior database ID. This field is only populated for deleted databases. |
| firestoreDataAccessMode | string | Optional. The Firestore API data access mode to use for this database. If not set on write: - the default value is DATA_ACCESS_MODE_DISABLED for Enterprise edition. - the default value is DATA_ACCESS_ |
| sourceInfo | object | Output only. Information about the provenance of this database. |
| locationId | string | Required. The location of the database. Available locations are listed at https://cloud.google.com/firestore/docs/locations. |
| keyPrefix | string | Output only. The key_prefix for this database. This key_prefix is used, in combination with the project ID ("~") to construct the application ID that is returned from the Cloud Datastore APIs in Googl |
| createTime | string | Output only. The timestamp at which this database was created. Databases created before 2016 do not populate create_time. |
| pointInTimeRecoveryEnablement | string | Whether to enable the PITR feature on this database. |
| uid | string | Output only. The system-generated UUID4 for this Database. |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://artifacts.apis.io/google-cloud-firestore/json-schema/google-cloud-firestore-google-firestore-admin-v1-database-schema.json",
"title": "GoogleFirestoreAdminV1Database",
"description": "A Cloud Firestore Database.",
"x-generated": "2026-11-11",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/google-cloud-firestore-projects-api-openapi.yml#/components/schemas/GoogleFirestoreAdminV1Database",
"properties": {
"tags": {
"additionalProperties": {
"type": "string"
},
"type": "object",
"description": "Optional. Input only. Immutable. Tag keys/values directly bound to this resource. For example: \"123/environment\": \"production\", \"123/costCenter\": \"marketing\""
},
"updateTime": {
"description": "Output only. The timestamp at which this database was most recently updated. Note this only includes updates to the database resource and not data contained by the database.",
"format": "google-datetime",
"readOnly": true,
"type": "string"
},
"name": {
"type": "string",
"description": "The resource name of the Database. Format: `projects/{project}/databases/{database}`"
},
"deleteProtectionState": {
"type": "string",
"enum": [
"DELETE_PROTECTION_STATE_UNSPECIFIED",
"DELETE_PROTECTION_DISABLED",
"DELETE_PROTECTION_ENABLED"
],
"description": "State of delete protection for the database."
},
"databaseEdition": {
"type": "string",
"enum": [
"DATABASE_EDITION_UNSPECIFIED",
"STANDARD",
"ENTERPRISE"
],
"description": "Immutable. The edition of the database."
},
"appEngineIntegrationMode": {
"type": "string",
"enum": [
"APP_ENGINE_INTEGRATION_MODE_UNSPECIFIED",
"ENABLED",
"DISABLED"
],
"description": "The App Engine integration mode to use for this database."
},
"mongodbCompatibleDataAccessMode": {
"type": "string",
"enum": [
"DATA_ACCESS_MODE_UNSPECIFIED",
"DATA_ACCESS_MODE_ENABLED",
"DATA_ACCESS_MODE_DISABLED"
],
"description": "Optional. The MongoDB compatible API data access mode to use for this database. If not set on write, the default value is DATA_ACCESS_MODE_ENABLED for Enterprise edition. The value is always DATA_ACCESS_MODE_DISABLED for Standard edition."
},
"cmekConfig": {
"$ref": "#/$defs/GoogleFirestoreAdminV1CmekConfig",
"description": "Optional. Presence indicates CMEK is enabled for this database."
},
"etag": {
"type": "string",
"description": "This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding."
},
"type": {
"description": "Required. The type of the database. See https://cloud.google.com/datastore/docs/firestore-or-datastore for information about how to choose.",
"type": "string",
"enum": [
"DATABASE_TYPE_UNSPECIFIED",
"FIRESTORE_NATIVE",
"DATASTORE_MODE"
]
},
"realtimeUpdatesMode": {
"description": "Immutable. The default Realtime Updates mode to use for this database.",
"type": "string",
"enum": [
"REALTIME_UPDATES_MODE_UNSPECIFIED",
"REALTIME_UPDATES_MODE_ENABLED",
"REALTIME_UPDATES_MODE_DISABLED"
]
},
"earliestVersionTime": {
"description": "Output only. The earliest timestamp at which older versions of the data can be read from the database. See [version_retention_period] above; this field is populated with `now - version_retention_period`. This value is continuously updated, and becomes stale the moment it is queried. If you are using this value to recover data, make sure to account for the time from the moment when the value is queried to the moment when you initiate the recovery.",
"format": "google-datetime",
"type": "string",
"readOnly": true
},
"freeTier": {
"readOnly": true,
"type": "boolean",
"description": "Output only. Background: Free tier is the ability of a Firestore database to use a small amount of resources every day without being charged. Once usage exceeds the free tier limit further usage is charged. Whether this database can make use of the free tier. Only one database per project can be eligible for the free tier. The first (or next) database that is created in a project without a free tier database will be marked as eligible for the free tier. Databases that are created while there is a free tier database will not be eligible for the free tier."
},
"concurrencyMode": {
"type": "string",
"enum": [
"CONCURRENCY_MODE_UNSPECIFIED",
"OPTIMISTIC",
"PESSIMISTIC",
"OPTIMISTIC_WITH_ENTITY_GROUPS"
],
"description": "The default concurrency control mode to use for this database. If unspecified in a CreateDatabase request, this will default based on the database edition: Optimistic for Enterprise and Pessimistic for all other databases. While transactions can explicitly specify their own concurrency mode, this setting defines the default behavior when left unspecified. Important: This database-level setting is not respected for Firestore with MongoDB compatibility. All transactions through the MongoDB compatibility layer will use optimistic concurrency control, regardless of this setting."
},
"versionRetentionPeriod": {
"description": "Output only. The period during which past versions of data are retained in the database. Any read or query can specify a `read_time` within this window, and will read the state of the database at that time. If the PITR feature is enabled, the retention period is 7 days. Otherwise, the retention period is 1 hour.",
"readOnly": true,
"type": "string",
"format": "google-duration"
},
"deleteTime": {
"format": "google-datetime",
"type": "string",
"description": "Output only. The timestamp at which this database was deleted. Only set if the database has been deleted.",
"readOnly": true
},
"previousId": {
"readOnly": true,
"type": "string",
"description": "Output only. The database resource's prior database ID. This field is only populated for deleted databases."
},
"firestoreDataAccessMode": {
"description": "Optional. The Firestore API data access mode to use for this database. If not set on write: - the default value is DATA_ACCESS_MODE_DISABLED for Enterprise edition. - the default value is DATA_ACCESS_MODE_ENABLED for Standard edition.",
"type": "string",
"enum": [
"DATA_ACCESS_MODE_UNSPECIFIED",
"DATA_ACCESS_MODE_ENABLED",
"DATA_ACCESS_MODE_DISABLED"
]
},
"sourceInfo": {
"$ref": "#/$defs/GoogleFirestoreAdminV1SourceInfo",
"description": "Output only. Information about the provenance of this database."
},
"locationId": {
"type": "string",
"description": "Required. The location of the database. Available locations are listed at https://cloud.google.com/firestore/docs/locations."
},
"keyPrefix": {
"description": "Output only. The key_prefix for this database. This key_prefix is used, in combination with the project ID (\"~\") to construct the application ID that is returned from the Cloud Datastore APIs in Google App Engine first generation runtimes. This value may be empty in which case the appid to use for URL-encoded keys is the project_id (eg: foo instead of v~foo).",
"readOnly": true,
"type": "string"
},
"createTime": {
"description": "Output only. The timestamp at which this database was created. Databases created before 2016 do not populate create_time.",
"type": "string",
"readOnly": true,
"format": "google-datetime"
},
"pointInTimeRecoveryEnablement": {
"type": "string",
"enum": [
"POINT_IN_TIME_RECOVERY_ENABLEMENT_UNSPECIFIED",
"POINT_IN_TIME_RECOVERY_ENABLED",
"POINT_IN_TIME_RECOVERY_DISABLED"
],
"description": "Whether to enable the PITR feature on this database."
},
"uid": {
"readOnly": true,
"type": "string",
"description": "Output only. The system-generated UUID4 for this Database."
}
},
"type": "object",
"$defs": {
"GoogleFirestoreAdminV1BackupSource": {
"properties": {
"backup": {
"type": "string",
"description": "The resource name of the backup that was used to restore this database. Format: `projects/{project}/locations/{location}/backups/{backup}`."
}
},
"type": "object",
"description": "Information about a backup that was used to restore a database."
},
"GoogleFirestoreAdminV1CmekConfig": {
"description": "The CMEK (Customer Managed Encryption Key) configuration for a Firestore database. If not present, the database is secured by the default Google encryption key.",
"properties": {
"kmsKeyName": {
"type": "string",
"description": "Required. Only keys in the same location as this database are allowed to be used for encryption. For Firestore's nam5 multi-region, this corresponds to Cloud KMS multi-region us. For Firestore's eur3 multi-region, this corresponds to Cloud KMS multi-region europe. See https://cloud.google.com/kms/docs/locations. The expected format is `projects/{project_id}/locations/{kms_location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}`."
},
"activeKeyVersion": {
"type": "array",
"items": {
"type": "string"
},
"readOnly": true,
"description": "Output only. Currently in-use [KMS key versions](https://cloud.google.com/kms/docs/resource-hierarchy#key_versions). During [key rotation](https://cloud.google.com/kms/docs/key-rotation), there can be multiple in-use key versions. The expected format is `projects/{project_id}/locations/{kms_location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}/cryptoKeyVersions/{key_version}`."
}
},
"type": "object"
},
"GoogleFirestoreAdminV1SourceInfo": {
"properties": {
"backup": {
"$ref": "#/$defs/GoogleFirestoreAdminV1BackupSource",
"description": "If set, this database was restored from the specified backup (or a snapshot thereof)."
},
"operation": {
"description": "The associated long-running operation. This field may not be set after the operation has completed. Format: `projects/{project}/databases/{database}/operations/{operation}`.",
"type": "string"
}
},
"type": "object",
"description": "Information about the provenance of this database."
}
}
}
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/google-cloud-firestore-google-firestore-admin-v1-database"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.