openapi: 3.1.0 info: title: Apigee API Hub Analytics Developer Apps 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: Developer Apps description: Manage applications registered by developers paths: /organizations/{organizationId}/developers/{developerId}/apps: get: operationId: listDeveloperApps summary: Apigee List Developer Apps description: Lists all apps created by a developer in an organization. Returns an array of app IDs or expanded app objects. tags: - Developer Apps parameters: - $ref: '#/components/parameters/organizationId' - $ref: '#/components/parameters/developerId' - name: expand in: query description: Set to true to return full app details. schema: type: boolean - name: count in: query description: Number of developer apps to return. schema: type: integer format: int64 - name: startKey in: query description: Name of the developer app from which to start the list. schema: type: string responses: '200': description: Successful response with list of developer apps content: application/json: schema: $ref: '#/components/schemas/ListDeveloperAppsResponse' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' post: operationId: createDeveloperApp summary: Apigee Create a Developer App description: Creates an app associated with a developer. This API associates the developer app with the specified API product and auto-generates an API key for the app to use in calls to API proxies inside that product. tags: - Developer Apps parameters: - $ref: '#/components/parameters/organizationId' - $ref: '#/components/parameters/developerId' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/DeveloperApp' responses: '200': description: Successful response with the created developer app content: application/json: schema: $ref: '#/components/schemas/DeveloperApp' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' /organizations/{organizationId}/developers/{developerId}/apps/{appId}: get: operationId: getDeveloperApp summary: Apigee Get a Developer App description: Returns the details for a developer app, including the API keys and API products associated with the app. tags: - Developer Apps parameters: - $ref: '#/components/parameters/organizationId' - $ref: '#/components/parameters/developerId' - $ref: '#/components/parameters/appId' responses: '200': description: Successful response with developer app details content: application/json: schema: $ref: '#/components/schemas/DeveloperApp' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' put: operationId: updateDeveloperApp summary: Apigee Update a Developer App description: Updates the attributes of the developer app. This API replaces the current attributes with those specified in the request body. tags: - Developer Apps parameters: - $ref: '#/components/parameters/organizationId' - $ref: '#/components/parameters/developerId' - $ref: '#/components/parameters/appId' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/DeveloperApp' responses: '200': description: Successful response with updated developer app content: application/json: schema: $ref: '#/components/schemas/DeveloperApp' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' delete: operationId: deleteDeveloperApp summary: Apigee Delete a Developer App description: Deletes a developer app. This operation also removes all API keys and associations to API products for the app. tags: - Developer Apps parameters: - $ref: '#/components/parameters/organizationId' - $ref: '#/components/parameters/developerId' - $ref: '#/components/parameters/appId' responses: '200': description: Successful response confirming deletion content: application/json: schema: $ref: '#/components/schemas/DeveloperApp' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' components: schemas: Attribute: type: object description: A key-value pair used for custom attributes. properties: name: type: string description: Name of the attribute. value: type: string description: Value of the attribute. 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. DeveloperApp: type: object description: A developer app that is associated with a developer. properties: name: type: string description: Name of the developer app. appId: type: string description: Output only. ID of the developer app. readOnly: true developerId: type: string description: Output only. Developer ID of the owning developer. readOnly: true apiProducts: type: array description: List of API products associated with the app. items: type: string attributes: type: array description: Custom attributes for the developer app. items: $ref: '#/components/schemas/Attribute' callbackUrl: type: string description: Callback URL used by OAuth 2.0 authorization servers. credentials: type: array description: Output only. Credentials (API keys) for the app. readOnly: true items: $ref: '#/components/schemas/DeveloperAppKey' status: type: string description: Status of the developer app (approved or revoked). scopes: type: array description: OAuth scopes associated with the app. items: type: string createdAt: type: string format: int64 description: Output only. Time the app was created in milliseconds since epoch. readOnly: true lastModifiedAt: type: string format: int64 description: Output only. Time the app was last modified. readOnly: true ListDeveloperAppsResponse: type: object description: Response for listing developer apps. properties: app: type: array items: $ref: '#/components/schemas/DeveloperApp' DeveloperAppKey: type: object description: Consumer key and secret for a developer app. properties: consumerKey: type: string description: Consumer key (API key) for the developer app. consumerSecret: type: string description: Consumer secret for the developer app. apiProducts: type: array description: API products associated with this key. items: type: object properties: apiproduct: type: string description: Name of the API product. status: type: string description: Approval status (approved, pending, revoked). status: type: string description: Status of the credential (approved or revoked). expiresAt: type: string format: int64 description: Time the key expires in milliseconds since epoch. -1 means never. issuedAt: type: string format: int64 description: Output only. Time the key was issued in milliseconds since epoch. readOnly: true scopes: type: array description: OAuth scopes granted to the key. items: type: string attributes: type: array description: Custom attributes for the key. items: $ref: '#/components/schemas/Attribute' parameters: organizationId: name: organizationId in: path description: Name of the Apigee organization. required: true schema: type: string appId: name: appId in: path description: Name of the developer app. required: true schema: type: string developerId: name: developerId in: path description: Email address or ID of the developer. required: true schema: type: string responses: Unauthorized: description: Unauthorized. Authentication credentials are missing or invalid. content: application/json: schema: $ref: '#/components/schemas/Error' 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: description: Forbidden. The caller does not have permission to perform this operation. content: application/json: schema: $ref: '#/components/schemas/Error' 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