Amazon Amplify Amplify Operations API

The Amplify Operations API from Amazon Amplify — 6 operation(s) for amplify operations.

Business capability
Deployment Orchestration BC-4210.40

Operations 6

POST /apps/{appId}/branches/{branchName}/deployments Create Deployment #
POST /apps/{appId}/branches/{branchName}/deployments/start Start Deployment #
POST /apps/{appId}/accesslogs Generate Access Logs #
GET /artifacts/{artifactId} Get Artifact Url #
GET /apps/{appId}/branches/{branchName}/jobs/{jobId}/artifacts List Artifacts #
DELETE /apps/{appId}/branches/{branchName}/jobs/{jobId}/stop Stop Job #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/amazon-amplify:amazon-amplify-operations-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

amazon-amplify-operations-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: AWS Amplify Operations API
  version: '2017-07-25'
  description: Generated from AWS's published Smithy model for AWS Amplify. 6 operation(s).
  contact:
    name: Amazon Web Services
    url: https://aws.amazon.com/contact-us/
  license:
    name: Apache 2.0
    identifier: Apache-2.0
    url: https://github.com/aws/api-models-aws/blob/main/LICENSE
servers:
- url: https://amplify.{region}.amazonaws.com
  variables:
    region:
      default: us-east-1
security:
- sigv4: []
paths:
  /apps/{appId}/branches/{branchName}/deployments:
    post:
      operationId: CreateDeployment
      summary: Create Deployment
      description: Creates a deployment for a manually deployed Amplify app. Manually deployed apps are not connected to a
        Git repository. The maximum duration between the CreateDeployment call and the StartDeployment call cannot exceed
        8 hours. If the duration exceeds 8 hours, the StartDeployment call and the associated Job will fail.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateDeploymentResult'
        '400':
          description: BadRequestException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestException'
        '500':
          description: InternalFailureException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalFailureException'
        '429':
          description: LimitExceededException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LimitExceededException'
        '401':
          description: UnauthorizedException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedException'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateDeploymentRequest'
      tags:
      - Operations
  /apps/{appId}/branches/{branchName}/deployments/start:
    post:
      operationId: StartDeployment
      summary: Start Deployment
      description: Starts a deployment for a manually deployed app. Manually deployed apps are not connected to a Git repository.
        The maximum duration between the CreateDeployment call and the StartDeployment call cannot exceed 8 hours. If the
        duration exceeds 8 hours, the StartDeployment call and the associated Job will fail.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StartDeploymentResult'
        '400':
          description: BadRequestException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestException'
        '500':
          description: InternalFailureException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalFailureException'
        '429':
          description: LimitExceededException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LimitExceededException'
        '404':
          description: NotFoundException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundException'
        '401':
          description: UnauthorizedException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedException'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/StartDeploymentRequest'
      tags:
      - Operations
  /apps/{appId}/accesslogs:
    post:
      operationId: GenerateAccessLogs
      summary: Generate Access Logs
      description: Returns the website access logs for a specific time range using a presigned URL.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenerateAccessLogsResult'
        '400':
          description: BadRequestException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestException'
        '500':
          description: InternalFailureException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalFailureException'
        '404':
          description: NotFoundException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundException'
        '401':
          description: UnauthorizedException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedException'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GenerateAccessLogsRequest'
      tags:
      - Operations
  /artifacts/{artifactId}:
    get:
      operationId: GetArtifactUrl
      summary: Get Artifact Url
      description: Returns the artifact info that corresponds to an artifact id.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetArtifactUrlResult'
        '400':
          description: BadRequestException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestException'
        '500':
          description: InternalFailureException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalFailureException'
        '429':
          description: LimitExceededException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LimitExceededException'
        '404':
          description: NotFoundException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundException'
        '401':
          description: UnauthorizedException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedException'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetArtifactUrlRequest'
      tags:
      - Operations
  /apps/{appId}/branches/{branchName}/jobs/{jobId}/artifacts:
    get:
      operationId: ListArtifacts
      summary: List Artifacts
      description: Returns a list of end-to-end testing artifacts for a specified app, branch, and job. To return the build
        artifacts, use the GetJob API. For more information about Amplify testing support, see Setting up end-to-end Cypress
        tests for your Amplify application in the Amplify Hosting User Guide.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListArtifactsResult'
        '400':
          description: BadRequestException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestException'
        '500':
          description: InternalFailureException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalFailureException'
        '429':
          description: LimitExceededException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LimitExceededException'
        '401':
          description: UnauthorizedException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedException'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ListArtifactsRequest'
      tags:
      - Operations
  /apps/{appId}/branches/{branchName}/jobs/{jobId}/stop:
    delete:
      operationId: StopJob
      summary: Stop Job
      description: Stops a job that is in progress for a branch of an Amplify app.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StopJobResult'
        '400':
          description: BadRequestException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestException'
        '500':
          description: InternalFailureException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalFailureException'
        '429':
          description: LimitExceededException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LimitExceededException'
        '404':
          description: NotFoundException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundException'
        '401':
          description: UnauthorizedException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedException'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/StopJobRequest'
      tags:
      - Operations
components:
  securitySchemes:
    sigv4:
      type: apiKey
      in: header
      name: Authorization
      description: AWS Signature Version 4. The Authorization header carries an AWS4-HMAC-SHA256 signature over the canonical
        request, with X-Amz-Date (and X-Amz-Security-Token for temporary credentials). Not a bearer token.
      x-aws-sigv4:
        signingName: amplify
  schemas:
    Artifact:
      type: object
      properties:
        artifactFileName:
          type: string
          description: The file name for the artifact.
        artifactId:
          type: string
          description: The unique ID for the artifact.
      required:
      - artifactFileName
      - artifactId
    BadRequestException:
      type: object
      properties:
        message:
          type: string
    CreateDeploymentRequest:
      type: object
      properties:
        appId:
          type: string
          description: The unique ID for an Amplify app.
        branchName:
          type: string
          description: The name of the branch to use for the job.
        fileMap:
          type: object
          additionalProperties:
            type: string
          description: An optional file map that contains the file name as the key and the file content md5 hash as the value.
            If this argument is provided, the service will generate a unique upload URL per file. Otherwise, the service will
            only generate a single upload URL for the zipped files.
      required:
      - appId
      - branchName
    CreateDeploymentResult:
      type: object
      properties:
        jobId:
          type: string
          description: The job ID for this deployment. will supply to start deployment api.
        fileUploadUrls:
          type: object
          additionalProperties:
            type: string
          description: When the fileMap argument is provided in the request, fileUploadUrls will contain a map of file names
            to upload URLs.
        zipUploadUrl:
          type: string
          description: When the fileMap argument is not provided in the request, this zipUploadUrl is returned.
      required:
      - fileUploadUrls
      - zipUploadUrl
    GenerateAccessLogsRequest:
      type: object
      properties:
        startTime:
          type: string
          format: date-time
          description: The time at which the logs should start. The time range specified is inclusive of the start time.
        endTime:
          type: string
          format: date-time
          description: The time at which the logs should end. The time range specified is inclusive of the end time.
        domainName:
          type: string
          description: The name of the domain.
        appId:
          type: string
          description: The unique ID for an Amplify app.
      required:
      - domainName
      - appId
    GenerateAccessLogsResult:
      type: object
      properties:
        logUrl:
          type: string
          description: The pre-signed URL for the requested access logs.
    GetArtifactUrlRequest:
      type: object
      properties:
        artifactId:
          type: string
          description: The unique ID for an artifact.
      required:
      - artifactId
    GetArtifactUrlResult:
      type: object
      properties:
        artifactId:
          type: string
          description: The unique ID for an artifact.
        artifactUrl:
          type: string
          description: The presigned URL for the artifact.
      required:
      - artifactId
      - artifactUrl
    InternalFailureException:
      type: object
      properties:
        message:
          type: string
    JobSummary:
      type: object
      properties:
        jobArn:
          type: string
          description: The Amazon Resource Name (ARN) for the job.
        jobId:
          type: string
          description: The unique ID for the job.
        commitId:
          type: string
          description: The commit ID from a third-party repository provider for the job.
        commitMessage:
          type: string
          description: The commit message from a third-party repository provider for the job.
        commitTime:
          type: string
          format: date-time
          description: The commit date and time for the job.
        startTime:
          type: string
          format: date-time
          description: The start date and time for the job.
        status:
          type: string
          enum:
          - CREATED
          - PENDING
          - PROVISIONING
          - RUNNING
          - FAILED
          - SUCCEED
          - CANCELLING
          - CANCELLED
          description: The current status for the job.
        endTime:
          type: string
          format: date-time
          description: The end date and time for the job.
        jobType:
          type: string
          enum:
          - RELEASE
          - RETRY
          - MANUAL
          - WEB_HOOK
          description: The type for the job. If the value is RELEASE, the job was manually released from its source by using
            the StartJob API. This value is available only for apps that are connected to a repository. If the value is RETRY,
            the job was manually retried using the StartJob API. If the value is WEB_HOOK, the job was automatically triggered
            by webhooks. If the value is MANUAL, the job is for a manually deployed app. Manually deployed apps are not connected
            to a Git repository.
        sourceUrl:
          type: string
          description: The source URL for the files to deploy. The source URL can be either an HTTP GET URL that is publicly
            accessible and downloads a single .zip file, or an Amazon S3 bucket and prefix.
        sourceUrlType:
          type: string
          enum:
          - ZIP
          - BUCKET_PREFIX
          description: The type of source specified by the sourceURL. If the value is ZIP, the source is a .zip file. If the
            value is BUCKET_PREFIX, the source is an Amazon S3 bucket and prefix. If no value is specified, the default is
            ZIP.
      required:
      - jobArn
      - jobId
      - commitId
      - commitMessage
      - commitTime
      - startTime
      - status
      - jobType
    LimitExceededException:
      type: object
      properties:
        message:
          type: string
    ListArtifactsRequest:
      type: object
      properties:
        appId:
          type: string
          description: The unique ID for an Amplify app.
        branchName:
          type: string
          description: The name of a branch that is part of an Amplify app.
        jobId:
          type: string
          description: The unique ID for a job.
        nextToken:
          type: string
          description: A pagination token. Set to null to start listing artifacts from start. If a non-null pagination token
            is returned in a result, pass its value in here to list more artifacts.
        maxResults:
          type: integer
          description: The maximum number of records to list in a single response.
      required:
      - appId
      - branchName
      - jobId
    ListArtifactsResult:
      type: object
      properties:
        artifacts:
          type: array
          items:
            $ref: '#/components/schemas/Artifact'
          description: A list of artifacts.
        nextToken:
          type: string
          description: A pagination token. If a non-null pagination token is returned in a result, pass its value in another
            request to retrieve more entries.
      required:
      - artifacts
    NotFoundException:
      type: object
      properties:
        message:
          type: string
    StartDeploymentRequest:
      type: object
      properties:
        appId:
          type: string
          description: The unique ID for an Amplify app.
        branchName:
          type: string
          description: The name of the branch to use for the deployment job.
        jobId:
          type: string
          description: The job ID for this deployment that is generated by the CreateDeployment request.
        sourceUrl:
          type: string
          description: The source URL for the deployment that is used when calling StartDeployment without CreateDeployment.
            The source URL can be either an HTTP GET URL that is publicly accessible and downloads a single .zip file, or
            an Amazon S3 bucket and prefix.
        sourceUrlType:
          type: string
          enum:
          - ZIP
          - BUCKET_PREFIX
          description: The type of source specified by the sourceURL. If the value is ZIP, the source is a .zip file. If the
            value is BUCKET_PREFIX, the source is an Amazon S3 bucket and prefix. If no value is specified, the default is
            ZIP.
      required:
      - appId
      - branchName
    StartDeploymentResult:
      type: object
      properties:
        jobSummary:
          $ref: '#/components/schemas/JobSummary'
      required:
      - jobSummary
    StopJobRequest:
      type: object
      properties:
        appId:
          type: string
          description: The unique ID for an Amplify app.
        branchName:
          type: string
          description: The name of the branch to use for the stop job request.
        jobId:
          type: string
          description: The unique id for the job.
      required:
      - appId
      - branchName
      - jobId
    StopJobResult:
      type: object
      properties:
        jobSummary:
          $ref: '#/components/schemas/JobSummary'
      required:
      - jobSummary
    UnauthorizedException:
      type: object
      properties:
        message:
          type: string
x-provenance:
  method: harvested
  publisher: Amazon Web Services
  source: https://raw.githubusercontent.com/aws/api-models-aws/582e55931c45b944739742a2c1620b6026dd2d13/models/amplify/service/2017-07-25/amplify-2017-07-25.json
  note: converted by smithy-to-openapi.py from AWS's Smithy model (roadmap#1001)