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

# POST /v1/{+parent}/apiHubInstances

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

Provisions instance resources for the API Hub.

## Path parameters

- `parent` string, required

## Query parameters

- `apiHubInstanceId` string

## Request body

- GoogleCloudApihubV1ApiHubInstance — An ApiHubInstance represents the instance resources of the API Hub. Currently, only one ApiHub instance is allowed for each project.
  - `description` string — Optional. Description of the ApiHub instance.
  - `name` string — Identifier. Format: `projects/{project}/locations/{location}/apiHubInstances/{apiHubInstance}`.
  - `state` 'STATE_UNSPECIFIED' | 'INACTIVE' | 'CREATING' | 'ACTIVE' | 'UPDATING' | 'DELETING' | 'FAILED' — Output only. The current state of the ApiHub instance.
  - `config` GoogleCloudApihubV1Config — Available configurations to provision an ApiHub Instance.
    - `cmekKeyName` string — Optional. The Customer Managed Encryption Key (CMEK) used for data encryption. The CMEK name should follow the format of `projects/([^/]+)/locations/([^/]+)/keyRings/([^/]+)/cryptoKeys/([^/]+)`, where the location must match the instance location. If the CMEK is not provided, a GMEK will be created for the instance.
    - `encryptionType` 'ENCRYPTION_TYPE_UNSPECIFIED' | 'GMEK' | 'CMEK' — Optional. Encryption type for the region. If the encryption type is CMEK, the cmek_key_name must be provided. If no encryption type is provided, GMEK will be used.
    - `disableSearch` boolean — Optional. If true, the search will be disabled for the instance. The default value is false.
    - `vertexLocation` string — Optional. The name of the Vertex AI location where the data store is stored.
    - `agentRegistrySyncConfig` GoogleCloudApihubV1AgentRegistrySyncConfig — The configuration for Agent Registry sync.
      - `disabled` boolean — Optional. If true, the MCP data sync to the Agent Registry will be disabled. The default value is false.
  - `createTime` string, google-datetime — Output only. Creation timestamp.
  - `updateTime` string, google-datetime — Output only. Last update timestamp.
  - `stateMessage` string — Output only. Extra information about ApiHub instance state. Currently the message would be populated when state is `FAILED`.
  - `labels` object — Optional. Instance labels to represent user-provided metadata. Refer to cloud documentation on labels for more details. https://cloud.google.com/compute/docs/labeling-resources

## Response `200`

Successful response

---

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