Apigee API Management

APIs for programmatically managing Apigee organizations, API proxies, products, developers, apps, environments, deployments, and analytics. Provides full lifecycle management of APIs on the Apigee platform.

Documentation

Specifications

Schemas & Data

Other Resources

🔗
Pricing
https://cloud.google.com/apigee/pricing
🔗
StatusPage
https://status.cloud.google.com/
🔗
Support
https://cloud.google.com/apigee/support
🔗
SDKs
https://cloud.google.com/apigee/docs/api-platform/reference/apis
🔗
TermsOfService
https://cloud.google.com/terms
🔗
PrivacyPolicy
https://cloud.google.com/terms/cloud-privacy-notice
🔗
Tutorials
https://cloud.google.com/apigee/docs/api-platform/get-started/tutorials
🔗
ReleaseNotes
https://cloud.google.com/apigee/docs/release-notes
🔗
ChangeLog
https://cloud.google.com/apigee/docs/release/release-notes
🔗
NaftikoCapability
https://raw.githubusercontent.com/api-evangelist/apigee/refs/heads/main/capabilities/api-management-api-products.yaml
🔗
NaftikoCapability
https://raw.githubusercontent.com/api-evangelist/apigee/refs/heads/main/capabilities/api-management-api-proxies.yaml
🔗
NaftikoCapability
https://raw.githubusercontent.com/api-evangelist/apigee/refs/heads/main/capabilities/api-management-api-proxy-revisions.yaml
🔗
NaftikoCapability
https://raw.githubusercontent.com/api-evangelist/apigee/refs/heads/main/capabilities/api-management-analytics.yaml
🔗
NaftikoCapability
https://raw.githubusercontent.com/api-evangelist/apigee/refs/heads/main/capabilities/api-management-app-groups.yaml
🔗
NaftikoCapability
https://raw.githubusercontent.com/api-evangelist/apigee/refs/heads/main/capabilities/api-management-deployments.yaml
🔗
NaftikoCapability
https://raw.githubusercontent.com/api-evangelist/apigee/refs/heads/main/capabilities/api-management-developer-app-keys.yaml
🔗
NaftikoCapability
https://raw.githubusercontent.com/api-evangelist/apigee/refs/heads/main/capabilities/api-management-developer-apps.yaml
🔗
NaftikoCapability
https://raw.githubusercontent.com/api-evangelist/apigee/refs/heads/main/capabilities/api-management-developers.yaml
🔗
NaftikoCapability
https://raw.githubusercontent.com/api-evangelist/apigee/refs/heads/main/capabilities/api-management-environments.yaml
🔗
NaftikoCapability
https://raw.githubusercontent.com/api-evangelist/apigee/refs/heads/main/capabilities/api-management-instances.yaml
🔗
NaftikoCapability
https://raw.githubusercontent.com/api-evangelist/apigee/refs/heads/main/capabilities/api-management-key-value-maps.yaml
🔗
NaftikoCapability
https://raw.githubusercontent.com/api-evangelist/apigee/refs/heads/main/capabilities/api-management-organizations.yaml
🔗
NaftikoCapability
https://raw.githubusercontent.com/api-evangelist/apigee/refs/heads/main/capabilities/api-management-shared-flows.yaml
🔗
NaftikoCapability
https://raw.githubusercontent.com/api-evangelist/apigee/refs/heads/main/capabilities/api-management-target-servers.yaml

OpenAPI Specification

apigee-api-management-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Apigee API Management
  description: >-
    APIs for programmatically managing Apigee organizations, API proxies,
    products, developers, apps, environments, deployments, and analytics.
    Provides full lifecycle management of APIs on the Apigee platform.
  version: 1.0.0
  contact:
    name: Google Cloud Apigee
    url: https://cloud.google.com/apigee/docs
  license:
    name: Apache 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0
  termsOfService: https://cloud.google.com/terms
externalDocs:
  description: Apigee API Reference Documentation
  url: https://cloud.google.com/apigee/docs/reference/apis/apigee/rest
servers:
- url: https://apigee.googleapis.com/v1
  description: Apigee API Production Server
security:
- oauth2: []
tags:
- name: Analytics
  description: Query analytics data and manage data stores
- name: API Products
  description: Bundle APIs into products for consumption
- name: API Proxies
  description: Create, deploy, and manage API proxy definitions
- name: API Proxy Revisions
  description: Manage revisions of API proxies
- name: App Groups
  description: Manage developer groups and their applications
- name: Deployments
  description: Deploy and undeploy API proxies to environments
- name: Developer App Keys
  description: Manage API keys and credentials for developer apps
- name: Developer Apps
  description: Manage applications registered by developers
- name: Developers
  description: Manage developer accounts and credentials
- name: Environments
  description: Manage runtime execution environments
- name: Instances
  description: Manage Apigee runtime instances
- name: Key Value Maps
  description: Manage key-value storage maps
- name: Organizations
  description: Manage Apigee organizations and their configuration
- name: Shared Flows
  description: Manage reusable shared flow logic
- name: Target Servers
  description: Configure backend target server endpoints
paths:
  /organizations:
    get:
      operationId: listOrganizations
      summary: Apigee List Organizations
      description: >-
        Lists the Apigee organizations that are available to the caller.
        Returns a list of organization names and metadata.
      tags:
      - Organizations
      responses:
        '200':
          description: Successful response with list of organizations
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListOrganizationsResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
    post:
      operationId: createOrganization
      summary: Apigee Create an Organization
      description: >-
        Creates an Apigee organization. The organization is the top-level
        container for all Apigee resources including API proxies, products,
        developers, and environments.
      tags:
      - Organizations
      parameters:
      - name: parent
        in: query
        description: >-
          Required. Name of the Google Cloud project in which to associate
          the Apigee organization. Pass the information as a query parameter
          using the format: projects/{project}.
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Organization'
      responses:
        '200':
          description: Successful response with the created organization
          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}:
    get:
      operationId: getOrganization
      summary: Apigee Get an Organization
      description: >-
        Retrieves the properties for an Apigee organization, including
        configuration settings, subscription type, and metadata.
      tags:
      - Organizations
      parameters:
      - $ref: '#/components/parameters/organizationId'
      responses:
        '200':
          description: Successful response with organization details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Organization'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
    put:
      operationId: updateOrganization
      summary: Apigee Update an Organization
      description: >-
        Updates the properties for an Apigee organization. No other fields
        in the organization profile will be updated.
      tags:
      - Organizations
      parameters:
      - $ref: '#/components/parameters/organizationId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Organization'
      responses:
        '200':
          description: Successful response with updated organization
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Organization'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
    delete:
      operationId: deleteOrganization
      summary: Apigee Delete an Organization
      description: >-
        Deletes an Apigee organization. This is a long-running operation
        that deletes all resources associated with the organization.
      tags:
      - Organizations
      parameters:
      - $ref: '#/components/parameters/organizationId'
      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'
  /organizations/{organizationId}/apis:
    get:
      operationId: listApiProxies
      summary: Apigee List API Proxies
      description: >-
        Lists the names of all API proxies in an organization. The list
        includes information about the API proxy revisions available.
      tags:
      - API Proxies
      parameters:
      - $ref: '#/components/parameters/organizationId'
      - $ref: '#/components/parameters/pageSize'
      - $ref: '#/components/parameters/pageToken'
      responses:
        '200':
          description: Successful response with list of API proxies
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListApiProxiesResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
    post:
      operationId: createApiProxy
      summary: Apigee Create an API Proxy
      description: >-
        Creates an API proxy. The API proxy created will not be accessible
        at runtime until it is deployed to an environment. Provide the proxy
        configuration as an API proxy bundle or as an inline configuration.
      tags:
      - API Proxies
      parameters:
      - $ref: '#/components/parameters/organizationId'
      - name: name
        in: query
        description: Name of the API proxy. Must be unique within the organization.
        required: true
        schema:
          type: string
      - name: action
        in: query
        description: >-
          Action to perform when importing an API proxy configuration bundle.
          Set to "import" when uploading a ZIP bundle.
        schema:
          type: string
          enum:
          - import
      requestBody:
        description: API proxy bundle or configuration
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ApiProxy'
          application/octet-stream:
            schema:
              type: string
              format: binary
      responses:
        '200':
          description: Successful response with the created API proxy
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiProxyRevision'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '409':
          $ref: '#/components/responses/Conflict'
  /organizations/{organizationId}/apis/{apiId}:
    get:
      operationId: getApiProxy
      summary: Apigee Get an API Proxy
      description: >-
        Gets an API proxy including a list of existing revisions, the
        proxy metadata, and the last modified date.
      tags:
      - API Proxies
      parameters:
      - $ref: '#/components/parameters/organizationId'
      - $ref: '#/components/parameters/apiId'
      responses:
        '200':
          description: Successful response with API proxy details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiProxy'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
    delete:
      operationId: deleteApiProxy
      summary: Apigee Delete an API Proxy
      description: >-
        Deletes an API proxy and all associated endpoints, policies,
        resources, and revisions. The proxy must be undeployed from all
        environments before it can be deleted.
      tags:
      - API Proxies
      parameters:
      - $ref: '#/components/parameters/organizationId'
      - $ref: '#/components/parameters/apiId'
      responses:
        '200':
          description: Successful response confirming deletion
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiProxy'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
    patch:
      operationId: patchApiProxy
      summary: Apigee Update an API Proxy
      description: >-
        Updates an existing API proxy metadata such as labels. Does not
        update the proxy bundle or revision content.
      tags:
      - API Proxies
      parameters:
      - $ref: '#/components/parameters/organizationId'
      - $ref: '#/components/parameters/apiId'
      - name: updateMask
        in: query
        description: >-
          Required. List of fields to update. Use comma-separated field
          names from the resource. Example: "labels".
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ApiProxy'
      responses:
        '200':
          description: Successful response with updated API proxy
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiProxy'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
  /organizations/{organizationId}/apis/{apiId}/revisions:
    get:
      operationId: listApiProxyRevisions
      summary: Apigee List API Proxy Revisions
      description: >-
        Lists all revisions for an API proxy. Returns an array of revision
        numbers in string format.
      tags:
      - API Proxy Revisions
      parameters:
      - $ref: '#/components/parameters/organizationId'
      - $ref: '#/components/parameters/apiId'
      responses:
        '200':
          description: Successful response with list of revision numbers
          content:
            application/json:
              schema:
                type: array
                items:
                  type: string
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
  /organizations/{organizationId}/apis/{apiId}/revisions/{revisionId}:
    get:
      operationId: getApiProxyRevision
      summary: Apigee Get an API Proxy Revision
      description: >-
        Gets an API proxy revision. Returns the configuration and metadata
        for the specified revision of an API proxy.
      tags:
      - API Proxy Revisions
      parameters:
      - $ref: '#/components/parameters/organizationId'
      - $ref: '#/components/parameters/apiId'
      - $ref: '#/components/parameters/revisionId'
      responses:
        '200':
          description: Successful response with API proxy revision details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiProxyRevision'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
    delete:
      operationId: deleteApiProxyRevision
      summary: Apigee Delete an API Proxy Revision
      description: >-
        Deletes an API proxy revision. The revision must be undeployed
        from all environments before it can be deleted.
      tags:
      - API Proxy Revisions
      parameters:
      - $ref: '#/components/parameters/organizationId'
      - $ref: '#/components/parameters/apiId'
      - $ref: '#/components/parameters/revisionId'
      responses:
        '200':
          description: Successful response confirming deletion
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiProxyRevision'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
  /organizations/{organizationId}/apiproducts:
    get:
      operationId: listApiProducts
      summary: Apigee List API Products
      description: >-
        Lists all API product names for an organization. Filter the
        list using an attribute name and value query parameter.
      tags:
      - API Products
      parameters:
      - $ref: '#/components/parameters/organizationId'
      - name: attributename
        in: query
        description: Name of the attribute used to filter the search.
        schema:
          type: string
      - name: attributevalue
        in: query
        description: Value of the attribute used to filter the search.
        schema:
          type: string
      - name: expand
        in: query
        description: >-
          Set to true to get expanded details about each API product.
        schema:
          type: boolean
      - name: count
        in: query
        description: Number of API products to return in the API call.
        schema:
          type: integer
          format: int64
      - name: startKey
        in: query
        description: >-
          Name of the API product from which to start displaying the
          list of API products.
        schema:
          type: string
      responses:
        '200':
          description: Successful response with list of API products
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListApiProductsResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
    post:
      operationId: createApiProduct
      summary: Apigee Create an API Product
      description: >-
        Creates an API product in an organization. API products bundle
        API resources for consumption by developers. An API product can
        contain API proxies and quota settings.
      tags:
      - API Products
      parameters:
      - $ref: '#/components/parameters/organizationId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ApiProduct'
      responses:
        '200':
          description: Successful response with the created API product
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiProduct'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '409':
          $ref: '#/components/responses/Conflict'
  /organizations/{organizationId}/apiproducts/{apiProductId}:
    get:
      operationId: getApiProduct
      summary: Apigee Get an API Product
      description: >-
        Gets the configuration for an API product. The API product name
        is required in the request URL.
      tags:
      - API Products
      parameters:
      - $ref: '#/components/parameters/organizationId'
      - $ref: '#/components/parameters/apiProductId'
      responses:
        '200':
          description: Successful response with API product details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiProduct'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
    put:
      operationId: updateApiProduct
      summary: Apigee Update an API Product
      description: >-
        Updates an existing API product. The full API product object must
        be included in the request body, even if only a subset of properties
        are being updated.
      tags:
      - API Products
      parameters:
      - $ref: '#/components/parameters/organizationId'
      - $ref: '#/components/parameters/apiProductId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ApiProduct'
      responses:
        '200':
          description: Successful response with updated API product
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiProduct'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
    delete:
      operationId: deleteApiProduct
      summary: Apigee Delete an API Product
      description: >-
        Deletes an API product from an organization. Deleting an API
        product causes apps that are associated with the product to be
        unable to access the API resources defined in that product.
      tags:
      - API Products
      parameters:
      - $ref: '#/components/parameters/organizationId'
      - $ref: '#/components/parameters/apiProductId'
      responses:
        '200':
          description: Successful response confirming deletion
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiProduct'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
  /organizations/{organizationId}/developers:
    get:
      operationId: listDevelopers
      summary: Apigee List Developers
      description: >-
        Lists all developers in an organization by email address. Returns
        a list of developer email addresses or expanded developer objects.
      tags:
      - Developers
      parameters:
      - $ref: '#/components/parameters/organizationId'
      - name: expand
        in: query
        description: Set to true to return expanded developer details.
        schema:
          type: boolean
      - name: count
        in: query
        description: Number of developers to return.
        schema:
          type: integer
          format: int64
      - name: startKey
        in: query
        description: Email of the developer from which to start the list.
        schema:
          type: string
      - name: app
        in: query
        description: Filter by the name of the app owned by the developer.
        schema:
          type: string
      responses:
        '200':
          description: Successful response with list of developers
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListDevelopersResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
    post:
      operationId: createDeveloper
      summary: Apigee Create a Developer
      description: >-
        Creates a developer in an organization. A developer is a consumer
        of APIs, typically represented by a person or company who registers
        apps and obtains API keys.
      tags:
      - Developers
      parameters:
      - $ref: '#/components/parameters/organizationId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Developer'
      responses:
        '200':
          description: Successful response with the created developer
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Developer'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '409':
          $ref: '#/components/responses/Conflict'
  /organizations/{organizationId}/developers/{developerId}:
    get:
      operationId: getDeveloper
      summary: Apigee Get a Developer
      description: >-
        Returns the developer profile by email address or developer ID.
        Includes information about the developer apps and custom attributes.
      tags:
      - Developers
      parameters:
      - $ref: '#/components/parameters/organizationId'
      - $ref: '#/components/parameters/developerId'
      responses:
        '200':
          description: Successful response with developer details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Developer'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
    put:
      operationId: updateDeveloper
      summary: Apigee Update a Developer
      description: >-
        Updates a developer with the properties specified in the request body.
        The full developer object must be included in the request body.
      tags:
      - Developers
      parameters:
      - $ref: '#/components/parameters/organizationId'
      - $ref: '#/components/parameters/developerId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Developer'
      responses:
        '200':
          description: Successful response with updated developer
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Developer'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
    delete:
      operationId: deleteDeveloper
      summary: Apigee Delete a Developer
      description: >-
        Deletes a developer from the organization. All apps and API keys
        associated with the developer are also removed. All pending push
        notifications are also deleted.
      tags:
      - Developers
      parameters:
      - $ref: '#/components/parameters/organizationId'
      - $ref: '#/components/parameters/developerId'
      responses:
        '200':
          description: Successful response confirming deletion
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Developer'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
  /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'
  /organizations/{organizationId}/developers/{developerId}/apps/{appId}/keys:
    get:
      operationId: listDeveloperAppKeys
      summary: Apigee List Developer App Keys
      description: >-
        Returns a list of all API keys for a developer app, including
        consumer keys and secrets.
      tags:
      - Developer App Keys
      parameters:
      - $ref: '#/components/parameters/organizationId'
      - $ref: '#/components/parameters/developerId'
      - $ref: '#/components/parameters/appId'
      responses:
        '200':
          description: Successful response with list of app keys
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListDeveloperAppKeysResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
    post:
      operationId: createDeveloperAppKey
      summary: Apigee Create a Developer App Key
      description: >-
        Creates a custom consumer key and secret for a developer app.
        Useful when migrating existing consumer keys and secrets to Apigee.
      tags:
      - Developer App Keys
      parameters:
      - $ref: '#/components/parameters/organizationId'
      - $ref: '#/components/parameters/developerId'
      - $ref: '#/components/parameters/appId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeveloperAppKey'
      responses:
        '200':
          description: Successful response with the created key
          content:
            application/json:
              schema:
                $ref: '#/compone

# --- truncated at 32 KB (104 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/apigee/refs/heads/main/openapi/apigee-api-management-openapi.yml