Amazon API Gateway Models API

Operations for managing API data models

Documentation

Specifications

Schemas & Data

Other Resources

OpenAPI Specification

amazon-api-gateway-models-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Amazon API Gateway REST API Keys Models API
  description: The Amazon API Gateway REST API enables programmatic management of API Gateway resources. You can create, configure, and manage REST APIs, stages, deployments, authorizers, models, resources, methods, and integrations through this management interface.
  version: '2015-07-09'
  contact:
    name: AWS Support
    url: https://aws.amazon.com/premiumsupport/
  license:
    name: Apache 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0.html
  x-logo:
    url: https://a0.awsstatic.com/libra-css/images/logos/aws_logo_smile_1200x630.png
servers:
- url: https://apigateway.{region}.amazonaws.com
  description: Amazon API Gateway regional endpoint
  variables:
    region:
      default: us-east-1
      description: AWS region
      enum:
      - us-east-1
      - us-east-2
      - us-west-1
      - us-west-2
      - eu-west-1
      - eu-west-2
      - eu-west-3
      - eu-central-1
      - ap-northeast-1
      - ap-northeast-2
      - ap-southeast-1
      - ap-southeast-2
      - ap-south-1
      - sa-east-1
      - ca-central-1
security:
- sigv4: []
tags:
- name: Models
  description: Operations for managing API data models
paths:
  /restapis/{restapi_id}/models:
    get:
      operationId: GetModels
      summary: Amazon API Gateway List Models
      description: Returns information about all models defined for a REST API.
      tags:
      - Models
      parameters:
      - $ref: '#/components/parameters/RestApiId'
      - $ref: '#/components/parameters/Position'
      - $ref: '#/components/parameters/Limit'
      responses:
        '200':
          description: Successful response with list of models
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Models'
        '400':
          $ref: '#/components/responses/BadRequest'
        '404':
          $ref: '#/components/responses/NotFound'
        '429':
          $ref: '#/components/responses/TooManyRequests'
    post:
      operationId: CreateModel
      summary: Amazon API Gateway Create a Model
      description: Adds a new Model resource to an existing REST API.
      tags:
      - Models
      parameters:
      - $ref: '#/components/parameters/RestApiId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateModelRequest'
      responses:
        '201':
          description: Model created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Model'
        '400':
          $ref: '#/components/responses/BadRequest'
        '404':
          $ref: '#/components/responses/NotFound'
        '409':
          $ref: '#/components/responses/Conflict'
        '429':
          $ref: '#/components/responses/TooManyRequests'
  /restapis/{restapi_id}/models/{model_name}:
    get:
      operationId: GetModel
      summary: Amazon API Gateway Get a Model
      description: Returns information about a specific model.
      tags:
      - Models
      parameters:
      - $ref: '#/components/parameters/RestApiId'
      - $ref: '#/components/parameters/ModelName'
      - name: flatten
        in: query
        description: Resolve all external model references and return a flattened schema.
        schema:
          type: boolean
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Model'
        '404':
          $ref: '#/components/responses/NotFound'
        '429':
          $ref: '#/components/responses/TooManyRequests'
    patch:
      operationId: UpdateModel
      summary: Amazon API Gateway Update a Model
      description: Changes an existing model.
      tags:
      - Models
      parameters:
      - $ref: '#/components/parameters/RestApiId'
      - $ref: '#/components/parameters/ModelName'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchOperations'
      responses:
        '200':
          description: Model updated successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Model'
        '400':
          $ref: '#/components/responses/BadRequest'
        '404':
          $ref: '#/components/responses/NotFound'
        '409':
          $ref: '#/components/responses/Conflict'
        '429':
          $ref: '#/components/responses/TooManyRequests'
    delete:
      operationId: DeleteModel
      summary: Amazon API Gateway Delete a Model
      description: Deletes the specified model.
      tags:
      - Models
      parameters:
      - $ref: '#/components/parameters/RestApiId'
      - $ref: '#/components/parameters/ModelName'
      responses:
        '202':
          description: Model deletion accepted
        '404':
          $ref: '#/components/responses/NotFound'
        '409':
          $ref: '#/components/responses/Conflict'
        '429':
          $ref: '#/components/responses/TooManyRequests'
components:
  schemas:
    Model:
      type: object
      properties:
        id:
          type: string
          description: The identifier of the model.
        name:
          type: string
          description: The name of the model.
        description:
          type: string
          description: The description of the model.
        schema:
          type: string
          description: The schema for the model. For application/json models, this should be JSON schema draft 4 model.
        contentType:
          type: string
          description: The content type for the model.
    CreateModelRequest:
      type: object
      required:
      - name
      - contentType
      properties:
        name:
          type: string
        description:
          type: string
        schema:
          type: string
        contentType:
          type: string
    Models:
      type: object
      properties:
        position:
          type: string
        item:
          type: array
          items:
            $ref: '#/components/schemas/Model'
    PatchOperation:
      type: object
      properties:
        op:
          type: string
          enum:
          - add
          - remove
          - replace
          - move
          - copy
          - test
          description: The operation type.
        path:
          type: string
          description: The op operation's target, as identified by a JSON Pointer value.
        value:
          type: string
          description: The new target value of the update operation. It is applicable for the add or replace operation.
        from:
          type: string
          description: The copy update operation's source as identified by a JSON Pointer value.
    PatchOperations:
      type: object
      properties:
        patchOperations:
          type: array
          items:
            $ref: '#/components/schemas/PatchOperation'
    Error:
      type: object
      properties:
        message:
          type: string
          description: A human-readable error message.
        code:
          type: string
          description: The error code.
  parameters:
    Limit:
      name: limit
      in: query
      description: The maximum number of returned results per page. The default value is 25 and the maximum value is 500.
      schema:
        type: integer
        minimum: 1
        maximum: 500
        default: 25
    ModelName:
      name: model_name
      in: path
      required: true
      description: The name of the model.
      schema:
        type: string
    RestApiId:
      name: restapi_id
      in: path
      required: true
      description: The identifier of the REST API.
      schema:
        type: string
    Position:
      name: position
      in: query
      description: The current pagination position in the paged result set. Used for cursor-based pagination.
      schema:
        type: string
  responses:
    TooManyRequests:
      description: The request rate has exceeded the allowed limit.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    BadRequest:
      description: The request is invalid or malformed.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    NotFound:
      description: The specified resource was not found.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    Conflict:
      description: The request conflicts with the current state of the resource.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  securitySchemes:
    sigv4:
      type: apiKey
      name: Authorization
      in: header
      description: AWS Signature Version 4 authentication