---
title: "POST /v1/{+parent}/instances"
method: POST
path: "/v1/{+parent}/instances"
tags: ["projects"]
---

# POST /v1/{+parent}/instances

`POST /v1/{+parent}/instances`

Creates a new Instance in a given project and location.

## Path parameters

- `parent` string, required

## Query parameters

- `instanceId` string

## Request body

- Instance — A Looker instance.
  - `fipsEnabled` boolean — Optional. Whether FIPS is enabled on the Looker instance.
  - `denyMaintenancePeriod` DenyMaintenancePeriod — Specifies the maintenance denial period.
    - `startDate` Date — Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp
      - `month` integer — Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
      - `year` integer — Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
      - `day` integer — Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.
    - `endDate` Date — Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp
      - `month` integer — Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
      - `year` integer — Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
      - `day` integer — Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.
    - `time` TimeOfDay — Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`.
      - `minutes` integer — Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.
      - `hours` integer — Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
      - `seconds` integer — Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.
      - `nanos` integer — Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.
  - `acceleratedSecurityPatchEnabled` boolean — Optional. Accelerated security patch enabled for the instance.
  - `geminiEnabled` boolean — Optional. Whether Gemini feature is enabled on the Looker instance or not.
  - `lookerUri` string — Output only. Looker instance URI which can be used to access the Looker Instance UI.
  - `linkedLspProjectNumber` string, int64 — Optional. Linked Google Cloud Project Number for Looker Studio Pro.
  - `catalogIntegrationOptOut` boolean — Optional. Indicates whether catalog integration is disabled for the Looker instance.
  - `softDeleteReason` 'SOFT_DELETE_REASON_UNSPECIFIED' | 'BILLING_ACCOUNT_ISSUE' | 'TRIAL_EXPIRED' | 'CUSTOMER_REQUEST' — Output only. The reason for the instance being in a soft-deleted state.
  - `updateTime` string, google-datetime — Output only. The time when the Looker instance was last updated.
  - `egressPublicIp` string — Output only. Public Egress IP (IPv4).
  - `createTime` string, google-datetime — Output only. The time when the Looker instance provisioning was first requested.
  - `customDomain` CustomDomain — Custom domain information.
    - `domain` string — Domain name.
    - `state` 'CUSTOM_DOMAIN_STATE_UNSPECIFIED' | 'UNVERIFIED' | 'VERIFIED' | 'MODIFYING' | 'AVAILABLE' | 'UNAVAILABLE' | 'UNKNOWN' — Domain state.
  - `satisfiesPzi` boolean — Output only. Reserved for future use.
  - `lastDenyMaintenancePeriod` DenyMaintenancePeriod — Specifies the maintenance denial period.
    - `startDate` Date — Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp
      - `month` integer — Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
      - `year` integer — Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
      - `day` integer — Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.
    - `endDate` Date — Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp
      - `month` integer — Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
      - `year` integer — Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
      - `day` integer — Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.
    - `time` TimeOfDay — Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`.
      - `minutes` integer — Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.
      - `hours` integer — Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
      - `seconds` integer — Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.
      - `nanos` integer — Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.
  - `publicIpEnabled` boolean — Whether public IP is enabled on the Looker instance.
  - `reservedRange` string — Name of a reserved IP address range within the Instance.consumer_network, to be used for private services access connection. May or may not be specified in a create request.
  - `suspendedTime` string, google-datetime — Output only. The time when the Looker instance was suspended (soft deleted).
  - `maintenanceWindow` MaintenanceWindow — Specifies the recurring maintenance window.
    - `dayOfWeek` 'DAY_OF_WEEK_UNSPECIFIED' | 'MONDAY' | 'TUESDAY' | 'WEDNESDAY' | 'THURSDAY' | 'FRIDAY' | 'SATURDAY' | 'SUNDAY' — Required. Day of the week for this MaintenanceWindow (in UTC).
    - `startTime` TimeOfDay — Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`.
      - `minutes` integer — Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.
      - `hours` integer — Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
      - `seconds` integer — Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.
      - `nanos` integer — Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.
  - `lookerVersion` string — Output only. The Looker version that the instance is using.
  - `controlledEgressEnabled` boolean — Optional. Whether controlled egress is enabled on the Looker instance.
  - `pscEnabled` boolean — Optional. Whether to use Private Service Connect (PSC) for private IP connectivity. If true, neither `public_ip_enabled` nor `private_ip_enabled` can be true.
  - `maintenanceSchedule` MaintenanceSchedule — Published upcoming future maintenance schedule.
    - `startTime` string, google-datetime — The scheduled start time for the maintenance.
    - `endTime` string, google-datetime — The scheduled end time for the maintenance.
  - `platformEdition` 'PLATFORM_EDITION_UNSPECIFIED' | 'LOOKER_CORE_TRIAL' | 'LOOKER_CORE_STANDARD' | 'LOOKER_CORE_STANDARD_ANNUAL' | 'LOOKER_CORE_ENTERPRISE_ANNUAL' | 'LOOKER_CORE_EMBED_ANNUAL' | 'LOOKER_CORE_NONPROD_STANDARD_ANNUAL' | 'LOOKER_CORE_NONPROD_ENTERPRISE_ANNUAL' | 'LOOKER_CORE_NONPROD_EMBED_ANNUAL' | 'LOOKER_CORE_TRIAL_STANDARD' | 'LOOKER_CORE_TRIAL_ENTERPRISE' | 'LOOKER_CORE_TRIAL_EMBED' — Platform edition.
  - `ingressIpAllowlistConfig` IngressIpAllowlistConfig — Ingress IP allowlist configuration.
    - `googleServicesEnabled` boolean — Optional. Whether google service connections are enabled for the instance.
    - `allowlistRules` IngressIpAllowlistRule[] — Optional. List of IP range rules to allow ingress traffic.
      - `description` string — Optional. Description for the IP range.
      - `ipRange` string — Optional. The IP range to allow ingress traffic from.
    - `enabled` boolean — Optional. Whether ingress IP allowlist functionality is enabled on the Looker instance.
  - `privateIpEnabled` boolean — Whether private IP is enabled on the Looker instance.
  - `userMetadata` UserMetadata — Metadata about users for a Looker instance.
    - `additionalViewerUserCount` integer — Optional. The number of additional viewer users the instance owner has purchased.
    - `additionalStandardUserCount` integer — Optional. The number of additional standard users the instance owner has purchased.
    - `additionalDeveloperUserCount` integer — Optional. The number of additional developer users the instance owner has purchased.
  - `satisfiesPzs` boolean — Output only. Reserved for future use.
  - `state` 'STATE_UNSPECIFIED' | 'ACTIVE' | 'CREATING' | 'FAILED' | 'SUSPENDED' | 'UPDATING' | 'DELETING' | 'EXPORTING' | 'IMPORTING' — Output only. The state of the instance.
  - `oauthConfig` OAuthConfig — Looker instance OAuth login settings.
    - `sharedOauthClientEnabled` boolean — Optional. Whether to use the shared OAuth client. Instances specifying this field do not need to provide client_id and client_secret.
    - `clientId` string — Input only. Client ID from an external OAuth application. This is an input-only field, and thus will not be set in any responses.
    - `clientSecret` string — Input only. Client secret from an external OAuth application. This is an input-only field, and thus will not be set in any responses.
  - `releaseChannel` 'RELEASE_CHANNEL_UNSPECIFIED' | 'RAPID' | 'REGULAR' | 'STABLE' — Optional. The selected release channel for the instance.
  - `controlledEgressConfig` ControlledEgressConfig — Controlled egress configuration.
    - `egressFqdns` string[] — Optional. List of fully qualified domain names to be added to the allowlist for outbound traffic.
    - `marketplaceEnabled` boolean — Optional. Whether marketplace is enabled.
    - `webProxyIps` string[] — Output only. The list of IP addresses used by Secure Web Proxy for outbound traffic.
  - `periodicExportConfig` PeriodicExportConfig — Configuration for periodic export.
    - `gcsUri` string — Required. Cloud Storage bucket URI for periodic export. Format: gs://{bucket_name}
    - `startTime` TimeOfDay — Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`.
      - `minutes` integer — Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.
      - `hours` integer — Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
      - `seconds` integer — Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.
      - `nanos` integer — Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.
    - `kmsKey` string — Required. Name of the CMEK key in KMS. Format: projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}
  - `name` string — Output only. Format: `projects/{project}/locations/{location}/instances/{instance}`.
  - `adminSettings` AdminSettings — Looker instance Admin settings fields.
    - `allowedEmailDomains` string[] — Email domain allowlist for the instance.
  - `classType` 'CLASS_TYPE_UNSPECIFIED' | 'R1' | 'P1' — Optional. Storage class of the instance.
  - `ingressPrivateIp` string — Output only. Private Ingress IP (IPv4).
  - `encryptionConfig` EncryptionConfig — Encryption configuration (i.e. CMEK).
    - `kmsKeyName` string — Name of the CMEK key in KMS (input parameter).
    - `kmsKeyState` 'KMS_KEY_STATE_UNSPECIFIED' | 'VALID' | 'REVOKED' — Output only. Status of the CMEK key.
    - `kmsKeyNameVersion` string — Output only. Full name and version of the CMEK key currently in use to encrypt Looker data. Format: `projects/{project}/locations/{location}/keyRings/{ring}/cryptoKeys/{key}/cryptoKeyVersions/{version}`. Empty if CMEK is not configured in this instance.
  - `pscConfig` PscConfig — Information for Private Service Connect (PSC) setup for a Looker instance.
    - `serviceAttachments` ServiceAttachment[] — Optional. List of egress service attachment configurations.
      - `localFqdn` string — Optional. Fully qualified domain name that will be used in the private DNS record created for the service attachment.
      - `connectionStatus` 'UNKNOWN' | 'ACCEPTED' | 'PENDING' | 'REJECTED' | 'NEEDS_ATTENTION' | 'CLOSED' — Output only. Connection status.
      - `localFqdns` string[] — Optional. List of fully qualified domain names that will be used in the private DNS record created for the service attachment.
      - `targetServiceAttachmentUri` string — Required. URI of the service attachment to connect to. Format: projects/{project}/regions/{region}/serviceAttachments/{service_attachment}
      - `failureReason` string — Output only. Reason the service attachment creation failed. This value will only be populated if the service attachment encounters an issue during provisioning.
    - `lookerServiceAttachmentUri` string — Output only. URI of the Looker service attachment.
    - `allowedVpcs` string[] — Optional. List of VPCs that are allowed ingress into looker. Format: projects/{project}/global/networks/{network}
  - `consumerNetwork` string — Network name in the consumer project. Format: `projects/{project}/global/networks/{network}`. Note that the consumer network may be in a different GCP project than the consumer project that is hosting the Looker Instance.
  - `ingressPublicIp` string — Output only. Public Ingress IP (IPv4).

## Response `200`

Successful response

---

[API](https://skmtc.dev/google/apis/looker.md) · [All operations](https://skmtc.dev/google/apis/looker/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/google/looker/revisions/6f3e8e61d1eb/schema)
