Skip to content
Console
Menu

Getting Started

Authentication

KV Store

On this page

ETAG_MISMATCH

The etag sent does not match the Resource's current etag.

The etag sent does not match the Resource's current etag.

HTTP 409 · gRPC ABORTED · the error body

#Returned by

MethodScopeWhat it does
access.orgs.updateaccess:adminUpdates an org.
access.orgs.deleteaccess:adminDeletes an org and everything in it. Deletion cascades through every service, so it returns an Operation.
access.projects.updateaccess:adminUpdates a project.
access.projects.deleteaccess:adminDeletes a project.
access.envs.updateaccess:adminUpdates an environment.
access.envs.deleteaccess:adminDeletes an environment.
access.service_enablements.updateaccess:adminEnables or disables a service on a project (spec.enabled).
access.api_keys.updateaccess:keys:writeUpdates an API key.
access.api_keys.deleteaccess:keys:writeDeletes an API key.
access.api_keys.revokeaccess:keys:writeRevokes an API key immediately; revocation propagates on its own fast path, ahead of the bulk key data.
access.api_keys.rollaccess:keys:writeRolls an API key: returns a new key with the same spec and revokes the old one after the grace period.
agents.agents.updateagents:writeUpdates an agent. A change to spec mints the next AgentVersion; sessions already started keep the version they pinned.
agents.agents.deleteagents:writeDeletes an agent and its versions. An agent with sessions is refused with INVALID_STATE unless force is set, which deletes them too.
agents.agent_sessions.deleteagents:sessionsDeletes a session and its events. A session whose turn is running is refused with INVALID_STATE unless force is set, which interrupts it first.
agents.memory_stores.updateagents:writeUpdates a memory store.
agents.memory_stores.deleteagents:writeDeletes a memory store. A store an agent names is refused with RESOURCE_IN_USE; a store with memories is refused with INVALID_STATE unless force is set, which deletes them too.
agents.memories.updateagents:writeChanges a memory's content.
agents.memories.deleteagents:sessionsDeletes a memory. An end user may delete their own.
artifacts.artifacts.deleteartifacts:writeDeletes an artifact; fails while a Release references it or a legal hold is active.
auth.auth_configs.updateauth:writeUpdates an auth config.
auth.end_users.updateauth:writeUpdates an end user.
auth.end_users.deleteauth:writeDeletes an end user.
auth.end_users.suspendauth:writeSuspends an end user: sessions are revoked and sign-in is refused.
auth.end_users.reactivateauth:writeReactivates a suspended end user.
auth.customer_organizations.updateauth:writeUpdates a customer organization.
auth.customer_organizations.deleteauth:writeDeletes a customer organization.
auth.memberships.updateauth:writeUpdates a membership.
auth.memberships.deleteauth:writeDeletes a membership.
auth.organization_roles.updateauth:writeUpdates an organization role.
auth.organization_roles.deleteauth:writeDeletes an organization role.
auth.email_domains.deleteauth:writeDeletes an email domain.
auth.oauth_clients.updateauth:writeUpdates an OAuth client.
auth.oauth_clients.deleteauth:writeDeletes an OAuth client.
auth.oauth_clients.roll_secretauth:writeIssues a new client secret, returned once; the old one verifies until grace_period ends.
billing.billing_accounts.updatebilling:adminUpdates a billing account: changes plan, spend limit, or billing email.
broker.trust_policies.updatebroker:adminUpdates a trust policy.
broker.trust_policies.deletebroker:adminDeletes a trust policy.
build.builds.cancelbuild:runCancels a queued or running Build; its lease is released and nothing is published.
build.build_caches.updatebuild:writeUpdates a build cache.
build.build_caches.deletebuild:writeDeletes a build cache.
build.build_caches.purgebuild:writeEmpties a build cache and keeps the cache. The undo is that the next build refills it.
config.config_flags.updateconfig:writeUpdates a config flag; the change rolls out in waves and the Operation is done when every cell serves it.
config.config_flags.deleteconfig:writeDeletes a config flag; evaluators then get their compiled-in fallback.
config.config_segments.updateconfig:writeUpdates a config segment; every flag naming it follows.
config.config_segments.deleteconfig:writeDeletes a config segment; refused while a flag names it.
connections.connection_providers.updateconnections:adminUpdates a connection provider.
connections.connection_providers.deleteconnections:adminDeletes a connection provider; force forgets its local connections only.
connections.connections.updateconnections:writeUpdates a connection's metadata.
connections.connections.deleteconnections:writeForgets a connection. The installation itself is removed at the provider.
data.objects.putdata:writeWrites an object's bytes, replacing the current version. body is the base64 of the bytes.
data.objects.deletedata:writeDeletes an object's current version (history is kept).
data.kv.putdata:writeWrites a value. Without ttl_seconds the namespace default applies; zero means no expiry.
data.kv.deletedata:writeDeletes a value.
data.documents.putdata:writeWrites a document to a search index, replacing the current version.
data.documents.patchdata:writeChanges some fields of a document and keeps the rest: a JSON merge patch (RFC 7396). The version goes up by one.
data.documents.deletedata:writeDeletes a document.
data.databases.updatedata:writeUpdates a database.
data.databases.deletedata:writeDeletes a database. Fails while spec.deletion_protection is set.
data.databases.rotate_credentialsdata:writeReplaces the database's engine credentials; the old ones stop working once the new ones are served.
data.databases.restoredata:writeRestores the database in place to a point in time inside its retention window; the database is unavailable while it restores.
data.kv_namespaces.updatedata:writeUpdates a kv namespace.
data.kv_namespaces.deletedata:writeDeletes a kv namespace. Fails while spec.deletion_protection is set.
data.kv_namespaces.rotate_credentialsdata:writeReplaces the KV namespace's engine credentials; the old ones stop working once the new ones are served.
data.buckets.updatedata:writeUpdates a bucket.
data.buckets.deletedata:writeDeletes a bucket. Fails while spec.deletion_protection is set.
data.buckets.rotate_credentialsdata:writeReplaces the bucket's engine credentials; the old ones stop working once the new ones are served.
data.search_indexes.updatedata:writeUpdates a search index.
data.search_indexes.deletedata:writeDeletes a search index. Fails while spec.deletion_protection is set.
data.search_indexes.rotate_credentialsdata:writeReplaces the search index's engine credentials; the old ones stop working once the new ones are served.
events.topics.updateevents:writeUpdates a topic.
events.topics.deleteevents:writeDeletes a topic.
events.subscriptions.updateevents:writeUpdates a subscription.
events.subscriptions.deleteevents:writeDeletes a subscription.
events.queues.updateevents:writeUpdates a queue.
events.queues.deleteevents:writeDeletes a queue.
events.webhook_endpoints.updateevents:writeUpdates a webhook endpoint.
events.webhook_endpoints.deleteevents:writeDeletes a webhook endpoint.
events.webhook_endpoints.rotate_secretevents:writeReplaces the endpoint's signing secret and returns the new one, once (status.signing_secret). For 24 hours deliveries carry a signature with each secret, so a receiver can switch without dropping one.
events.inbound_endpoints.updateevents:writeUpdates an inbound endpoint.
events.inbound_endpoints.deleteevents:writeDeletes an inbound endpoint.
events.realtime_channels.updateevents:writeUpdates a realtime channel.
events.realtime_channels.deleteevents:writeDeletes a realtime channel.
hosting.services.updatehosting:writeUpdates a service.
hosting.services.deletehosting:writeDeletes a service.
hosting.service_rollouts.pausehosting:writeHolds a Rollout at its current wave.
hosting.service_rollouts.resumehosting:writeResumes a paused Rollout.
hosting.service_rollouts.aborthosting:writeStops a Rollout; the cells it reached return to the previous Release.
hosting.previews.deletehosting:writeDeletes a preview.
hosting.source_links.updatehosting:writeUpdates a source link.
hosting.source_links.deletehosting:writeDeletes a source link.
keys.keys.updatekeys:writeUpdates a key's rotation period, deletion protection, or metadata.
keys.keys.deletekeys:writeDeletes a key and schedules every version's destruction.
keys.keys.rotatekeys:writeRotates a key: adds a version and makes it primary. Older versions keep verifying and decrypting until destroyed.
keys.key_versions.destroykeys:writeSchedules a key version's destruction after a 24-hour grace; the primary version cannot be destroyed.
knowledge.spaces.updateknowledge:writeUpdates a space.
knowledge.spaces.deleteknowledge:writeDeletes a space. A space that still holds records is refused with INVALID_STATE unless force is set, which deletes its episodes and facts too.
knowledge.knowledge_schemas.updateknowledge:writeUpdates a knowledge schema. An accepted update publishes a new revision; a change that would invalidate existing records is refused with INVALID_FIELD.
knowledge.knowledge_schemas.deleteknowledge:writeDeletes a knowledge schema. A schema a space still accepts is refused with RESOURCE_IN_USE.
knowledge.episodes.deleteknowledge:writeDeletes an episode, the facts that cite only it, and its search and embedding entries; facts that also cite other episodes are re-scored.
knowledge.entities.updateknowledge:writeUpdates an entity. With allow_missing it is the structured upsert (upsert_entity): an entity matched by external_ids is updated, otherwise one is created.
knowledge.entities.deleteknowledge:writeDeletes an entity and every fact about it. With force it is a data-rights erasure: the episodes the person wrote are deleted too, with their search and embedding entries.
knowledge.relations.deleteknowledge:writeDeletes a fact. Deletion is for data that must go; a fact that stopped being true is closed with :close.
knowledge.relations.closeknowledge:writeCloses a fact (close_fact): it stopped holding in the world at valid_end_time. The fact stays readable for questions about the time before the close.
localization.catalogs.updatelocalization:writeUpdates a catalog.
localization.catalogs.deletelocalization:writeDeletes a catalog.
localization.glossaries.updatelocalization:writeUpdates a glossary.
localization.glossaries.deletelocalization:writeDeletes a glossary.
money.price_catalogs.updatebilling:writeUpdates the environment's catalog: its features and products, whole.
money.checkout_policies.updatebilling:writeUpdates the environment's checkout policy, whole.
money.store_connections.updatebilling:writeUpdates a store connection; a new credential replaces the stored one.
money.store_connections.deletebilling:writeDeletes a store connection and its sealed credential.
money.merchant_accounts.updatebilling:writeUpdates the merchant account's own settings: the fields named in update_mask.
money.usage_settings.updatebilling:writeUpdates the usage settings, the enforcement switch included. A change is recorded with who made it.
money.usage_tiers.updatebilling:writeCreates or updates a usage tier.
money.usage_meters.updatebilling:writeCreates or updates a usage meter. The unit cannot change once it has recorded usage.
money.revenue_sources.updaterevenue:writeRenames, pauses or resumes a revenue source, or changes its settings.
money.revenue_sources.deleterevenue:writeDeletes a revenue source and the facts it reported. The money source cannot be deleted; pause it instead.
network.domains.updatenetwork:writeUpdates a domain.
network.domains.deletenetwork:writeDeletes a domain.
network.routes.updatenetwork:writeUpdates a route.
network.routes.deletenetwork:writeDeletes a route.
network.egress_identities.updatenetwork:writeUpdates an egress identity.
network.egress_identities.deletenetwork:writeDeletes an egress identity.
network.private_links.updatenetwork:writeUpdates a private link.
network.private_links.deletenetwork:writeDeletes a private link.
notify.mail_domains.updatenotify:writeUpdates an email domain.
notify.mail_domains.deletenotify:writeDeletes an email domain.
notify.mail_routes.updatenotify:writeUpdates a route.
notify.mail_routes.deletenotify:writeDeletes a route.
notify.senders.updatenotify:writeUpdates a sender.
notify.senders.deletenotify:writeDeletes a sender.
notify.recipients.updatenotify:writeUpdates a recipient.
notify.recipients.deletenotify:writeDeletes a recipient.
notify.preferences.updatenotify:writeUpdates a preference.
notify.preferences.deletenotify:writeDeletes a preference.
notify.suppressions.deletenotify:writeDeletes a suppression.
notify.templates.updatenotify:writeUpdates a template.
notify.templates.deletenotify:writeDeletes a template.
notify.mailboxes.updatenotify:writeUpdates a mailbox.
notify.mailboxes.deletenotify:writeDeletes a mailbox and its inbound email.
notify.mailbox_oauth_apps.updatenotify:writeUpdates a mailbox OAuth app.
notify.mailbox_oauth_apps.deletenotify:writeDeletes a mailbox OAuth app; refused while a mailbox uses it.
notify.broadcasts.updatenotify:writeUpdates a broadcast.
notify.broadcasts.deletenotify:writeDeletes a broadcast.
notify.broadcasts.sendnotify:sendSends a Broadcast now.
notify.broadcasts.cancelnotify:sendCancels a Broadcast; messages already admitted still deliver.
observability.error_groups.acknowledgeobservability:writeAcknowledges an error group.
observability.error_groups.resolveobservability:writeResolves an error group; a new occurrence reopens it.
observability.error_groups.reopenobservability:writeReopens a resolved or acknowledged error group.
observability.scrubbing_policies.updateobservability:writeUpdates the environment's scrubbing policy.
runners.scale_sets.updaterunners:writeUpdates a scale set.
runners.scale_sets.deleterunners:writeDeletes a scale set.
sandboxes.pools.updatesandboxes:writeUpdates a pool.
sandboxes.pools.deletesandboxes:writeDeletes a pool.
sandboxes.leases.renewsandboxes:writeExtends expire_time, never past the shape's longest lease. Does not change the generation.
sandboxes.leases.releasesandboxes:writeEnds a lease with END_REASON_RELEASED; the machine is destroyed and never leased again, and attached volumes are detached.
sandboxes.leases.pausesandboxes:writePauses a lease: its disk is kept and its machine destroyed; the generation increases. Process memory is not kept.
sandboxes.leases.resumesandboxes:writeResumes a paused lease on a machine granted now, or refuses it; the generation increases.
sandboxes.volumes.updatesandboxes:writeUpdates a volume: grows spec.size_gib and edits metadata.
sandboxes.volumes.deletesandboxes:writeDeletes a volume and destroys its data. Refused RESOURCE_IN_USE while it is attached.
sandboxes.snapshots.deletesandboxes:writeDeletes a snapshot.
secrets.secrets.updatesecrets:writeUpdates a secret.
secrets.secrets.deletesecrets:writeDeletes a secret and destroys every version.
secrets.secret_versions.disablesecrets:writeDisables a secret version: bindings stop delivering it.
secrets.secret_versions.enablesecrets:writeEnables a disabled secret version.
secrets.secret_versions.destroysecrets:writeDestroys a secret version's value irrecoverably.
secrets.secret_bindings.updatesecrets:writeUpdates a secret binding.
secrets.secret_bindings.deletesecrets:writeDeletes a secret binding.
secrets.profiles.updatesecrets:writeUpdates a profile's grants or declared paths. Granting a mount is this call: nothing else adds a grant.
secrets.profiles.deletesecrets:writeDeletes a profile; with force, a profile that has versions too, which destroys every version.
workflows.workflows.updateworkflows:writeUpdates a workflow.
workflows.workflows.deleteworkflows:writeDeletes a workflow.
workflows.schedules.updateworkflows:writeUpdates a schedule; with allow_missing it creates the schedule when it does not exist, so its short name schedule is an upsert by name.
workflows.schedules.deleteworkflows:writeDeletes a schedule.
workflows.schedules.pauseworkflows:writePauses a Schedule: no fire starts a Run until it is resumed.
workflows.schedules.resumeworkflows:writeResumes a paused Schedule; missed fires follow catchup_window.
workflows.jobs.updateworkflows:writeUpdates a job. Runs already started keep the generation they pinned.
workflows.jobs.deleteworkflows:writeDeletes a job.
workflows.distributed_jobs.updateworkflows:writeUpdates a distributed job. Runs already started keep the generation they pinned.
workflows.distributed_jobs.deleteworkflows:writeDeletes a distributed job.