openapi: 3.1.0 info: title: Apigee API Hub Analytics Instances API description: API for cataloging, organizing, and governing APIs across an organization. Enables API discovery, metadata management, dependency mapping, deployment tracking, and AI-powered specification boost. version: 1.0.0 contact: name: Google Cloud Apigee url: https://cloud.google.com/apigee/docs/apihub/what-is-api-hub license: name: Apache 2.0 url: https://www.apache.org/licenses/LICENSE-2.0 termsOfService: https://cloud.google.com/terms servers: - url: https://apihub.googleapis.com/v1 description: Apigee API Hub Production Server security: - oauth2: [] tags: - name: Instances description: Manage Apigee runtime instances paths: /organizations/{organizationId}/instances: get: operationId: listInstances summary: Apigee List Runtime Instances description: Lists all Apigee runtime instances for the organization. tags: - Instances parameters: - $ref: '#/components/parameters/organizationId' - $ref: '#/components/parameters/pageSize' - $ref: '#/components/parameters/pageToken' responses: '200': description: Successful response with list of instances content: application/json: schema: $ref: '#/components/schemas/ListInstancesResponse' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' post: operationId: createInstance summary: Apigee Create a Runtime Instance description: Creates an Apigee runtime instance. This is a long-running operation that provisions the infrastructure for API runtime. tags: - Instances parameters: - $ref: '#/components/parameters/organizationId' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Instance' responses: '200': description: Successful response with long-running operation content: application/json: schema: $ref: '#/components/schemas/Operation' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' /organizations/{organizationId}/instances/{instanceId}: get: operationId: getInstance summary: Apigee Get a Runtime Instance description: Gets the details for an Apigee runtime instance, including state, host, port, and location. tags: - Instances parameters: - $ref: '#/components/parameters/organizationId' - name: instanceId in: path description: Name of the runtime instance. required: true schema: type: string responses: '200': description: Successful response with instance details content: application/json: schema: $ref: '#/components/schemas/Instance' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' delete: operationId: deleteInstance summary: Apigee Delete a Runtime Instance description: Deletes an Apigee runtime instance. This is a long-running operation that deprovisions the runtime infrastructure. tags: - Instances parameters: - $ref: '#/components/parameters/organizationId' - name: instanceId in: path description: Name of the runtime instance. required: true schema: type: string responses: '200': description: Successful response with long-running operation content: application/json: schema: $ref: '#/components/schemas/Operation' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' /projects/{projectId}/locations/{locationId}/instances: post: operationId: createInstance summary: Apigee Create a Registry Instance description: Provisions a new Apigee Registry instance in the specified project and location. tags: - Instances parameters: - $ref: '#/components/parameters/projectId' - $ref: '#/components/parameters/locationId' - name: instanceId in: query description: Required. The ID to use for the instance. required: true schema: type: string requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Instance_2' responses: '200': description: Successful response with long-running operation content: application/json: schema: $ref: '#/components/schemas/Operation_2' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden_2' /projects/{projectId}/locations/{locationId}/instances/{instanceId}: get: operationId: getInstance summary: Apigee Get a Registry Instance description: Gets details about a specific Registry instance. tags: - Instances parameters: - $ref: '#/components/parameters/projectId' - $ref: '#/components/parameters/locationId' - name: instanceId in: path description: ID of the instance. required: true schema: type: string responses: '200': description: Successful response with instance details content: application/json: schema: $ref: '#/components/schemas/Instance_2' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden_2' '404': $ref: '#/components/responses/NotFound' delete: operationId: deleteInstance summary: Apigee Delete a Registry Instance description: Deletes a Registry instance. tags: - Instances parameters: - $ref: '#/components/parameters/projectId' - $ref: '#/components/parameters/locationId' - name: instanceId in: path description: ID of the instance. required: true schema: type: string responses: '200': description: Successful response with long-running operation content: application/json: schema: $ref: '#/components/schemas/Operation_2' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden_2' '404': $ref: '#/components/responses/NotFound' components: schemas: Operation: type: object description: A long-running operation returned by asynchronous API calls. properties: name: type: string description: Name of the operation resource. metadata: type: object description: Service-specific metadata associated with the operation. additionalProperties: true done: type: boolean description: Whether the operation is complete. error: $ref: '#/components/schemas/Status' response: type: object description: The normal response of the operation. additionalProperties: true ListInstancesResponse: type: object description: Response for listing instances. properties: instances: type: array items: $ref: '#/components/schemas/Instance' nextPageToken: type: string description: Token for retrieving the next page. Error_2: type: object properties: error: type: object properties: code: type: integer format: int32 message: type: string status: type: string Status_2: type: object properties: code: type: integer format: int32 message: type: string details: type: array items: type: object additionalProperties: true Instance: type: object description: An Apigee runtime instance. properties: name: type: string description: Required. Resource name of the instance. location: type: string description: Required. Google Cloud region where the instance resides. host: type: string description: Output only. Internal hostname of the instance. readOnly: true port: type: string description: Output only. Port number of the instance. readOnly: true state: type: string description: Output only. State of the instance. readOnly: true enum: - STATE_UNSPECIFIED - CREATING - ACTIVE - DELETING - UPDATING description: type: string description: Description of the instance. displayName: type: string description: Display name for the instance. createdAt: type: string format: int64 description: Output only. Time the instance was created. readOnly: true lastModifiedAt: type: string format: int64 description: Output only. Time the instance was last modified. readOnly: true diskEncryptionKeyName: type: string description: Customer-managed encryption key (CMEK) for the instance disk. ipRange: type: string description: IP range for peering with the customer VPC. peeringCidrRange: type: string description: Size of the CIDR block range for peering. enum: - SLASH_16 - SLASH_20 - SLASH_22 - SLASH_23 - SLASH_24 Error: type: object description: Error response from the Apigee API. properties: error: type: object properties: code: type: integer format: int32 description: HTTP error code. message: type: string description: Error message. status: type: string description: Error status string. Instance_2: type: object description: A Registry instance. properties: name: type: string description: Output only. Resource name of the instance. readOnly: true state: type: string description: Output only. State of the instance. readOnly: true enum: - STATE_UNSPECIFIED - INACTIVE - CREATING - ACTIVE - UPDATING - DELETING - FAILED stateMessage: type: string description: Output only. Extra information about the instance state. readOnly: true config: type: object description: Required. Configuration of the instance. properties: location: type: string description: Output only. Location of the instance. readOnly: true cmekKeyName: type: string description: Customer-managed encryption key name. createTime: type: string format: date-time description: Output only. Creation time. readOnly: true updateTime: type: string format: date-time description: Output only. Last update time. readOnly: true Operation_2: type: object description: A long-running operation. properties: name: type: string metadata: type: object additionalProperties: true done: type: boolean error: $ref: '#/components/schemas/Status_2' response: type: object additionalProperties: true Status: type: object description: The Status type defines a logical error model. properties: code: type: integer format: int32 description: The status code. message: type: string description: A developer-facing error message. details: type: array description: A list of messages that carry the error details. items: type: object additionalProperties: true responses: BadRequest: description: Bad request. The request body or parameters are invalid. content: application/json: schema: $ref: '#/components/schemas/Error' NotFound: description: Not found. The specified resource does not exist. content: application/json: schema: $ref: '#/components/schemas/Error' Forbidden_2: description: Forbidden. The caller does not have permission. content: application/json: schema: $ref: '#/components/schemas/Error_2' Unauthorized: description: Unauthorized. Authentication credentials are missing or invalid. content: application/json: schema: $ref: '#/components/schemas/Error' Forbidden: description: Forbidden. The caller does not have permission to perform this operation. content: application/json: schema: $ref: '#/components/schemas/Error' parameters: projectId: name: projectId in: path description: Google Cloud project ID. required: true schema: type: string organizationId: name: organizationId in: path description: Name of the Apigee organization. required: true schema: type: string locationId: name: locationId in: path description: Google Cloud region or location. required: true schema: type: string pageToken: name: pageToken in: query description: Page token returned from a previous list request. schema: type: string pageSize: name: pageSize in: query description: Maximum number of items to return per page. schema: type: integer format: int32 securitySchemes: oauth2: type: oauth2 description: Google OAuth 2.0 authentication flows: authorizationCode: authorizationUrl: https://accounts.google.com/o/oauth2/auth tokenUrl: https://oauth2.googleapis.com/token scopes: https://www.googleapis.com/auth/cloud-platform: Full access to Google Cloud Platform resources externalDocs: description: Apigee API Hub API Reference Documentation url: https://cloud.google.com/apigee/docs/reference/apis/apihub/rest