Google Cloud API Gateway API

The API Gateway API allows you to create and manage API gateways, API configurations, and deploy APIs described using OpenAPI specifications. It provides programmatic access to manage gateways that proxy requests to your serverless backends.

OpenAPI Specification

openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Google Cloud API Gateway API
  description: >-
    The API Gateway API enables creation and management of API gateways, API
    configurations, and APIs. It provides secure access to serverless backend
    services through well-defined REST APIs described using OpenAPI
    specifications.
  version: v1
  contact:
    name: Google Cloud
    url: https://cloud.google.com/api-gateway/docs
servers:
  - url: https://apigateway.googleapis.com
paths:
  /v1/projects/{project}/locations/{location}/gateways:
    get:
      operationId: listGateways
      summary: Google Cloud API Gateway List gateways
      description: Lists gateways in a project and location.
      parameters:
        - name: project
          in: path
          required: true
          schema:
            type: string
        - name: location
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListGatewaysResponse'
      tags:
        - Projects
    post:
      operationId: createGateway
      summary: Google Cloud API Gateway Create a gateway
      description: Creates a new API gateway.
      parameters:
        - name: project
          in: path
          required: true
          schema:
            type: string
        - name: location
          in: path
          required: true
          schema:
            type: string
        - name: gatewayId
          in: query
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Gateway'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Operation'
      tags:
        - Projects
  /v1/projects/{project}/locations/{location}/gateways/{gateway}:
    get:
      operationId: getGateway
      summary: Google Cloud API Gateway Get a gateway
      description: Gets an API gateway.
      parameters:
        - name: project
          in: path
          required: true
          schema:
            type: string
        - name: location
          in: path
          required: true
          schema:
            type: string
        - name: gateway
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Gateway'
      tags:
        - Projects
    patch:
      operationId: updateGateway
      summary: Google Cloud API Gateway Update a gateway
      description: Updates an API gateway.
      parameters:
        - name: project
          in: path
          required: true
          schema:
            type: string
        - name: location
          in: path
          required: true
          schema:
            type: string
        - name: gateway
          in: path
          required: true
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Gateway'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Operation'
      tags:
        - Projects
    delete:
      operationId: deleteGateway
      summary: Google Cloud API Gateway Delete a gateway
      description: Deletes an API gateway.
      parameters:
        - name: project
          in: path
          required: true
          schema:
            type: string
        - name: location
          in: path
          required: true
          schema:
            type: string
        - name: gateway
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Operation'
      tags:
        - Projects
  /v1/projects/{project}/locations/global/apis:
    get:
      operationId: listApis
      summary: Google Cloud API Gateway List APIs
      description: Lists APIs in a project.
      parameters:
        - name: project
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListApisResponse'
      tags:
        - Projects
    post:
      operationId: createApi
      summary: Google Cloud API Gateway Create an API
      description: Creates a new API resource.
      parameters:
        - name: project
          in: path
          required: true
          schema:
            type: string
        - name: apiId
          in: query
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Api'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Operation'
      tags:
        - Projects
  /v1/projects/{project}/locations/global/apis/{api}:
    get:
      operationId: getApi
      summary: Google Cloud API Gateway Get an API
      description: Gets an API resource.
      parameters:
        - name: project
          in: path
          required: true
          schema:
            type: string
        - name: api
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Api'
      tags:
        - Projects
    delete:
      operationId: deleteApi
      summary: Google Cloud API Gateway Delete an API
      description: Deletes an API resource.
      parameters:
        - name: project
          in: path
          required: true
          schema:
            type: string
        - name: api
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Operation'
      tags:
        - Projects
  /v1/projects/{project}/locations/global/apis/{api}/configs:
    get:
      operationId: listApiConfigs
      summary: Google Cloud API Gateway List API configurations
      description: Lists API configurations for an API.
      parameters:
        - name: project
          in: path
          required: true
          schema:
            type: string
        - name: api
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListApiConfigsResponse'
      tags:
        - Projects
    post:
      operationId: createApiConfig
      summary: Google Cloud API Gateway Create an API configuration
      description: Creates a new API configuration for an API.
      parameters:
        - name: project
          in: path
          required: true
          schema:
            type: string
        - name: api
          in: path
          required: true
          schema:
            type: string
        - name: apiConfigId
          in: query
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ApiConfig'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Operation'
      tags:
        - Projects
components:
  schemas:
    Gateway:
      type: object
      properties:
        name:
          type: string
          description: >-
            The gateway name in the format
            projects/{project}/locations/{location}/gateways/{gateway}.
        displayName:
          type: string
        apiConfig:
          type: string
          description: The API config associated with this gateway.
        state:
          type: string
          enum:
            - STATE_UNSPECIFIED
            - CREATING
            - ACTIVE
            - FAILED
            - DELETING
            - UPDATING
        defaultHostname:
          type: string
          description: The default API gateway host name.
        createTime:
          type: string
          format: date-time
        updateTime:
          type: string
          format: date-time
        labels:
          type: object
          additionalProperties:
            type: string
    Api:
      type: object
      properties:
        name:
          type: string
          description: >-
            The API resource name in the format
            projects/{project}/locations/global/apis/{api}.
        displayName:
          type: string
        managedService:
          type: string
        createTime:
          type: string
          format: date-time
        updateTime:
          type: string
          format: date-time
        labels:
          type: object
          additionalProperties:
            type: string
        state:
          type: string
          enum:
            - STATE_UNSPECIFIED
            - CREATING
            - ACTIVE
            - FAILED
            - DELETING
            - UPDATING
    ApiConfig:
      type: object
      properties:
        name:
          type: string
        displayName:
          type: string
        gatewayServiceAccount:
          type: string
        serviceConfigId:
          type: string
        state:
          type: string
          enum:
            - STATE_UNSPECIFIED
            - CREATING
            - ACTIVE
            - FAILED
            - DELETING
            - UPDATING
            - ACTIVATING
        openapiDocuments:
          type: array
          items:
            type: object
            properties:
              document:
                type: object
                properties:
                  path:
                    type: string
                  contents:
                    type: string
                    format: byte
        createTime:
          type: string
          format: date-time
        updateTime:
          type: string
          format: date-time
    Operation:
      type: object
      properties:
        name:
          type: string
        done:
          type: boolean
        metadata:
          type: object
        response:
          type: object
        error:
          type: object
    ListGatewaysResponse:
      type: object
      properties:
        gateways:
          type: array
          items:
            $ref: '#/components/schemas/Gateway'
        nextPageToken:
          type: string
    ListApisResponse:
      type: object
      properties:
        apis:
          type: array
          items:
            $ref: '#/components/schemas/Api'
        nextPageToken:
          type: string
    ListApiConfigsResponse:
      type: object
      properties:
        apiConfigs:
          type: array
          items:
            $ref: '#/components/schemas/ApiConfig'
        nextPageToken:
          type: string
tags:
  - name: Projects