Method: projects.instances.create

Creates an instance and begins preparing it to begin serving. The returned long-running operation can be used to track the progress of preparing the new instance. The instance name is assigned by the caller. If the named instance already exists,instances.create returnsALREADY_EXISTS.

Immediately upon completion of this request:

  • The instance is readable via the API, with all requested attributes but no allocated resources. Its state isCREATING.

Until completion of the returned operation:

  • Cancelling the operation renders the instance immediately unreadable via the API.
  • The instance can be deleted.
  • All other attempts to modify the instance are rejected.

Upon completion of the returned operation:

  • Billing for all successfully-allocated resources begins (some types may have lower than the requested levels).
  • Databases can be created in the instance.
  • The instance's allocated resource levels are readable via the API.
  • The instance's state becomesREADY.

The returned long-running operation will have a name of the format<instance_name>/operations/<operationId> and can be used to track creation of the instance. The metadata field type isCreateInstanceMetadata. The response field type isInstance, if successful.

HTTP request


POST https://spanner.googleapis.com/v1/{parent=projects/*}/instances

The URLs usegRPC Transcoding syntax.

Path parameters

Parameters
parent

string

Required. The name of the project in which to create the instance. Values are of the formprojects/<project>.

Authorization requires the followingIAM permission on the specified resourceparent:

  • spanner.instances.create

Request body

The request body contains data with the following structure:

JSON representation
{"instanceId":string,"instance":{object (Instance)}}
Fields
instanceId

string

Required. The ID of the instance to create. Valid identifiers are of the form[a-z][-a-z0-9]*[a-z0-9] and must be between 2 and 64 characters in length.

instance

object (Instance)

Required. The instance to create. The name may be omitted, but if specified must be<parent>/instances/<instanceId>.

Response body

If successful, the response body contains a newly created instance ofOperation.

Authorization scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/spanner.admin
  • https://www.googleapis.com/auth/cloud-platform

For more information, see theAuthentication Overview.

Except as otherwise noted, the content of this page is licensed under theCreative Commons Attribution 4.0 License, and code samples are licensed under theApache 2.0 License. For details, see theGoogle Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.

Last updated 2025-12-12 UTC.