Amazon IoT SiteWise Iot Sitewise Executions API

The Iot Sitewise Executions API from Amazon IoT SiteWise — 4 operation(s) for iot sitewise executions.

Operations 5

GET /executions/{executionId} Describe Execution #
GET /workspaces/{workspaceName}/pipelines/{pipelineName}/executions/{pipelineExecutionId} Describe Pipeline Execution #
GET /executions List Executions #
GET /workspaces/{workspaceName}/pipelines/{pipelineName}/executions List Pipeline Executions #
POST /workspaces/{workspaceName}/pipelines/{pipelineName}/executions Start Pipeline Execution #

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-iot-sitewise:amazon-iot-sitewise-executions-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-iot-sitewise-executions-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: AWS IoT SiteWise Executions API
  version: '2019-12-02'
  description: Generated from AWS's published Smithy model for AWS IoT SiteWise. 5 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://iotsitewise.{region}.amazonaws.com
  variables:
    region:
      default: us-east-1
security:
- sigv4: []
tags:
- name: Executions
paths:
  /executions/{executionId}:
    get:
      operationId: DescribeExecution
      summary: Describe Execution
      description: Retrieves information about the execution.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DescribeExecutionResponse'
        '500':
          description: InternalFailureException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalFailureException'
        '400':
          description: InvalidRequestException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvalidRequestException'
        '404':
          description: ResourceNotFoundException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceNotFoundException'
        '429':
          description: ThrottlingException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ThrottlingException'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DescribeExecutionRequest'
      tags:
      - Executions
  /workspaces/{workspaceName}/pipelines/{pipelineName}/executions/{pipelineExecutionId}:
    get:
      operationId: DescribePipelineExecution
      summary: Describe Pipeline Execution
      description: Retrieves detailed information about a specific pipeline execution, including the overall execution status and the status of each individual compute node. Use this operation to monitor execution progress and inspect per-node results, environment variables, and error details.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DescribePipelineExecutionResponse'
        '403':
          description: AccessDeniedException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccessDeniedException'
        '500':
          description: InternalFailureException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalFailureException'
        '400':
          description: InvalidRequestException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvalidRequestException'
        '404':
          description: ResourceNotFoundException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceNotFoundException'
        '429':
          description: ThrottlingException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ThrottlingException'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DescribePipelineExecutionRequest'
      tags:
      - Executions
  /executions:
    get:
      operationId: ListExecutions
      summary: List Executions
      description: Retrieves a paginated list of summaries of all executions.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListExecutionsResponse'
        '500':
          description: InternalFailureException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalFailureException'
        '400':
          description: InvalidRequestException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvalidRequestException'
        '404':
          description: ResourceNotFoundException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceNotFoundException'
        '429':
          description: ThrottlingException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ThrottlingException'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ListExecutionsRequest'
      tags:
      - Executions
  /workspaces/{workspaceName}/pipelines/{pipelineName}/executions:
    get:
      operationId: ListPipelineExecutions
      summary: List Pipeline Executions
      description: 'Lists pipeline executions for a specific pipeline in a workspace. Supports filtering by state and time range. State can be combined with either startTime or endTime filters. Time range filters are grouped: use startTime filters (startTimeAfter, startTimeBefore) or endTime filters (endTimeAfter, endTimeBefore), but not both. Combining startTime and endTime filters returns an InvalidRequestException. Note: endTime filters only return executions in terminal states, as in-progress executions have no endTime.'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListPipelineExecutionsResponse'
        '403':
          description: AccessDeniedException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccessDeniedException'
        '500':
          description: InternalFailureException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalFailureException'
        '400':
          description: InvalidRequestException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvalidRequestException'
        '404':
          description: ResourceNotFoundException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceNotFoundException'
        '429':
          description: ThrottlingException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ThrottlingException'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ListPipelineExecutionsRequest'
      tags:
      - Executions
    post:
      operationId: StartPipelineExecution
      summary: Start Pipeline Execution
      description: Starts execution of a pipeline in the specified workspace. Each compute node runs according to the DAG dependency order defined in the pipeline. Nodes without dependencies start immediately, while dependent nodes wait for all upstream nodes to complete successfully. You can provide runtime environment variable overrides that take the highest priority in the environment variable hierarchy, without modifying the pipeline definition.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StartPipelineExecutionResponse'
        '403':
          description: AccessDeniedException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccessDeniedException'
        '409':
          description: ConflictingOperationException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConflictingOperationException'
        '500':
          description: InternalFailureException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalFailureException'
        '400':
          description: InvalidRequestException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvalidRequestException'
        '410':
          description: LimitExceededException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LimitExceededException'
        '404':
          description: ResourceNotFoundException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceNotFoundException'
        '429':
          description: ThrottlingException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ThrottlingException'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/StartPipelineExecutionRequest'
      tags:
      - Executions
components:
  schemas:
    ListExecutionsRequest:
      type: object
      properties:
        targetResourceType:
          type: string
          enum:
          - ASSET
          - COMPUTATION_MODEL
          description: The type of the target resource.
        targetResourceId:
          type: string
          description: The ID of the target resource.
        resolveToResourceType:
          type: string
          enum:
          - ASSET
          description: The type of the resolved resource.
        resolveToResourceId:
          type: string
          description: The ID of the resolved resource.
        nextToken:
          type: string
          description: The token used for the next set of paginated results.
        maxResults:
          type: integer
          description: The maximum number of results returned for each paginated request.
        actionType:
          type: string
          description: The type of action exectued.
      required:
      - targetResourceType
      - targetResourceId
    DescribePipelineExecutionRequest:
      type: object
      properties:
        workspaceName:
          type: string
          description: The name of the workspace.
        pipelineName:
          type: string
          description: The name of the pipeline.
        pipelineExecutionId:
          type: string
          description: The unique identifier of the pipeline execution.
        nextToken:
          type: string
          description: The token to be used for the next set of paginated results.
        maxResults:
          type: integer
          description: 'The maximum number of compute nodes to return per request. This is an upper bound; the actual number of results may be less. Default: 50.'
      required:
      - workspaceName
      - pipelineName
      - pipelineExecutionId
    PipelineExecutionStatus:
      type: object
      properties:
        state:
          type: string
          enum:
          - NOT_STARTED
          - RUNNING
          - SUCCEEDED
          - FAILED
          - CANCELLING
          - CANCELLED
          description: Current state of the pipeline execution.
        stateDetails:
          $ref: '#/components/schemas/PipelineExecutionStateDetails'
      required:
      - state
    MountOverrides:
      type: object
      properties:
        computeNodes:
          type: object
          additionalProperties:
            type: array
            items:
              $ref: '#/components/schemas/Mount'
          description: The mount overrides for each compute node, keyed by compute node name.
      required:
      - computeNodes
    ResolveTo:
      type: object
      properties:
        assetId:
          type: string
          description: The ID of the asset that the resource resolves to.
      required:
      - assetId
    S3AccessPointSource:
      type: object
      properties:
        accessPointArn:
          type: string
          description: The Amazon Resource Name (ARN) of the S3 access point.
        prefix:
          type: string
          description: An optional key prefix to scope the mount to a subset of objects at the access point.
      required:
      - accessPointArn
    LimitExceededException:
      type: object
      properties:
        message:
          type: string
      required:
      - message
    ConflictingOperationException:
      type: object
      properties:
        message:
          type: string
        resourceId:
          type: string
          description: The ID of the resource that conflicts with this operation.
        resourceArn:
          type: string
          description: The ARN of the resource that conflicts with this operation.
      required:
      - message
      - resourceId
      - resourceArn
    StartPipelineExecutionRequest:
      type: object
      properties:
        workspaceName:
          type: string
          description: The name of the workspace containing the pipeline.
        pipelineName:
          type: string
          description: The name of the pipeline to execute.
        executionEnvironmentVariableOverrides:
          $ref: '#/components/schemas/ExecutionEnvironmentVariables'
        executionMountOverrides:
          $ref: '#/components/schemas/MountOverrides'
        executionPriority:
          type: integer
          description: Scheduling priority for the execution. Lower values indicate higher priority. Defaults to 2 when not specified.
        clientToken:
          type: string
          description: A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If you retry a request that completed successfully using the same client token, the server returns the cached result from the original successful request without performing the operation again.
      required:
      - workspaceName
      - pipelineName
    DescribeExecutionResponse:
      type: object
      properties:
        executionId:
          type: string
          description: The ID of the execution.
        actionType:
          type: string
          description: The type of action exectued.
        targetResource:
          $ref: '#/components/schemas/TargetResource'
        targetResourceVersion:
          type: string
          description: The version of the target resource.
        resolveTo:
          $ref: '#/components/schemas/ResolveTo'
        executionStartTime:
          type: string
          format: date-time
          description: The time the process started.
        executionEndTime:
          type: string
          format: date-time
          description: The time the process ended.
        executionStatus:
          $ref: '#/components/schemas/ExecutionStatus'
        executionResult:
          type: object
          additionalProperties:
            type: string
          description: The result of the execution.
        executionDetails:
          type: object
          additionalProperties:
            type: string
          description: 'Provides detailed information about the execution of your anomaly detection models. This includes model metrics and training timestamps for both training and inference actions. The training action (Amazon Web Services/ANOMALY_DETECTION_TRAINING), includes performance metrics that help you compare different versions of your anomaly detection models. These metrics provide insights into the model''s performance during the training process. The inference action (Amazon Web Services/ANOMALY_DETECTION_INFERENCE), includes information about the results of executing your anomaly detection models. This '
        executionEntityVersion:
          type: string
          description: Entity version used for the execution.
      required:
      - executionId
      - targetResource
      - targetResourceVersion
      - executionStartTime
      - executionStatus
    TargetResource:
      type: object
      properties:
        assetId:
          type: string
          description: The ID of the asset, in UUID format.
        computationModelId:
          type: string
          description: The ID of the computation model.
    AccessDeniedException:
      type: object
      properties:
        message:
          type: string
    ResourceNotFoundException:
      type: object
      properties:
        message:
          type: string
      required:
      - message
    ComputeNodeExecutionStateDetails:
      type: object
      properties:
        code:
          type: string
          enum:
          - VALIDATION_ERROR
          - INTERNAL_FAILURE
          - EXECUTION_ERROR
          - TIMED_OUT
          description: Classification of the failure.
        message:
          type: string
          description: Human-readable description of why the compute node failed.
        details:
          type: array
          items:
            $ref: '#/components/schemas/DetailedPipelineError'
          description: Detailed error entries to help diagnose the failure.
      required:
      - code
      - message
    ListPipelineExecutionsRequest:
      type: object
      properties:
        workspaceName:
          type: string
          description: The name of the workspace.
        pipelineName:
          type: string
          description: The name of the pipeline.
        nextToken:
          type: string
          description: The token to be used for the next set of paginated results.
        maxResults:
          type: integer
          description: 'The maximum number of results to return per request. This is an upper bound; the actual number of results may be less. Default: 50.'
        state:
          type: string
          enum:
          - NOT_STARTED
          - RUNNING
          - SUCCEEDED
          - FAILED
          - CANCELLING
          - CANCELLED
          description: Filter by execution state. If not specified, executions in all states are returned.
        startTimeAfter:
          type: string
          format: date-time
          description: Inclusive lower bound on execution start time (ISO-8601). Only executions with startTime >= startTimeAfter are returned. Cannot be combined with endTimeAfter or endTimeBefore.
        startTimeBefore:
          type: string
          format: date-time
          description: Exclusive upper bound on execution start time (ISO-8601). Only executions with startTime < startTimeBefore are returned. Cannot be combined with endTimeAfter or endTimeBefore.
        endTimeAfter:
          type: string
          format: date-time
          description: Inclusive lower bound on execution end time (ISO-8601). Only executions with endTime >= endTimeAfter are returned. Cannot be combined with startTimeAfter or startTimeBefore. Only matches executions in terminal states.
        endTimeBefore:
          type: string
          format: date-time
          description: Exclusive upper bound on execution end time (ISO-8601). Only executions with endTime < endTimeBefore are returned. Cannot be combined with startTimeAfter or startTimeBefore. Only matches executions in terminal states.
      required:
      - workspaceName
      - pipelineName
    DescribePipelineExecutionResponse:
      type: object
      properties:
        pipelineExecutionId:
          type: string
          description: The unique identifier of the pipeline execution.
        pipelineName:
          type: string
          description: The name of the pipeline.
        workspaceName:
          type: string
          description: The name of the workspace.
        pipelineVersion:
          type: string
          description: The pipeline version this execution ran against.
        status:
          $ref: '#/components/schemas/PipelineExecutionStatus'
        startTime:
          type: string
          description: The time the pipeline execution started, in Unix epoch time.
        endTime:
          type: string
          description: The time the pipeline execution completed, in Unix epoch time.
        requestEnvironmentVariables:
          $ref: '#/components/schemas/ExecutionEnvironmentVariables'
        requestMountOverrides:
          $ref: '#/components/schemas/MountOverrides'
        executionPriority:
          type: integer
          description: Scheduling priority for the execution. When not specified, defaults to lowest priority.
        computeNodeExecutionDetails:
          type: array
          items:
            $ref: '#/components/schemas/ComputeNodeExecutionDetails'
          description: A list of compute node execution details within this pipeline execution.
        nextToken:
          type: string
          description: The token to be used for the next set of paginated results.
      required:
      - pipelineExecutionId
      - pipelineName
      - workspaceName
      - pipelineVersion
      - status
      - requestEnvironmentVariables
      - computeNodeExecutionDetails
    ListPipelineExecutionsResponse:
      type: object
      properties:
        pipelineExecutionSummaries:
          type: array
          items:
            $ref: '#/components/schemas/PipelineExecutionSummary'
          description: A list that summarizes each pipeline execution.
        nextToken:
          type: string
          description: The token to be used for the next set of paginated results.
      required:
      - pipelineExecutionSummaries
    PipelineExecutionStateDetails:
      type: object
      properties:
        code:
          type: string
          enum:
          - VALIDATION_ERROR
          - INTERNAL_FAILURE
          - EXECUTION_ERROR
          - TIMED_OUT
          description: Classification of the failure. Present when the execution failed.
        message:
          type: string
          description: Human-readable description of the outcome. For a failed execution, this describes why it failed; for a cancelled execution, this is the reason you supplied when calling CancelPipelineExecution.
        details:
          type: array
          items:
            $ref: '#/components/schemas/DetailedPipelineError'
          description: Per-step error entries to help diagnose a failed execution. Present when the execution failed.
      required:
      - message
    ComputeNodeExecutionStatus:
      type: object
      properties:
        state:
          type: string
          enum:
          - NOT_STARTED
          - QUEUED
          - RUNNING
          - SUCCEEDED
          - FAILED
          description: Current state of the compute node execution.
        stateDetails:
          $ref: '#/components/schemas/ComputeNodeExecutionStateDetails'
      required:
      - state
    ComputeNodeExecutionDetails:
      type: object
      properties:
        computeNodeName:
          type: string
          description: The name of the compute node.
        taskName:
          type: string
          description: The name of the task executed for this compute node.
        taskArn:
          type: string
          description: The ARN of the task.
        taskVersion:
          type: string
          description: The task version that executed for this compute node.
        dependsOn:
          type: array
          items:
            type: string
          description: A list of compute node names that this node depends on.
        status:
          $ref: '#/components/schemas/ComputeNodeExecutionStatus'
        startTime:
          type: string
          format: date-time
          description: The time the compute node execution started, in Unix epoch time.
        endTime:
          type: string
          format: date-time
          description: The time the compute node execution completed, in Unix epoch time.
        executionEnvironmentVariables:
          type: object
          additionalProperties:
            type: string
          description: The fully resolved environment variables used for this compute node execution.
        executionMounts:
          type: array
          items:
            $ref: '#/components/schemas/Mount'
          description: The fully resolved mounts used for this compute node execution, after merging task-defined mounts with any execution-level mount overrides. Each mount attaches an external data source to the container filesystem at a relative path under the service-owned mount root.
      required:
      - computeNodeName
      - taskName
      - taskArn
      - taskVersion
      - dependsOn
      - status
    InvalidRequestException:
      type: object
      properties:
        message:
          type: string
      required:
      - message
    ExecutionStatus:
      type: object
      properties:
        state:
          type: string
          enum:
          - RUNNING
          - COMPLETED
          - FAILED
          description: The current state of the computation model.
      required:
      - state
    ExecutionEnvironmentVariables:
      type: object
      properties:
        global:
          type: object
          additionalProperties:
            type: string
          description: Global environment variables that apply to all compute nodes in the pipeline execution.
        computeNodes:
          type: object
          additionalProperties:
            type: object
            additionalProperties:
              type: string
          description: Per-compute-node environment variable overrides. Each entry maps a compute node name to its environment variable overrides.
    PipelineExecutionSummary:
      type: object
      properties:
        pipelineExecutionId:
          type: string
          description: The unique identifier of the pipeline execution.
        pipelineVersion:
          type: string
          description: The pipeline version this execution ran against.
        status:
          $ref: '#/components/schemas/PipelineExecutionStatus'
        executionPriority:
          type: integer
          description: Scheduling priority for the execution. When not specified, defaults to lowest priority.
        startTime:
          type: string
          format: date-time
          description: The time the pipeline execution started, in Unix epoch time.
        endTime:
          type: string
          format: date-time
          description: The time the pipeline execution completed, in Unix epoch time.
      required:
      - pipelineExecutionId
      - pipelineVersion
      - status
    StartPipelineExecutionResponse:
      type: object
      properties:
        pipelineExecutionId:
          type: string
          description: The unique identifier of the created pipeline execution.
      required:
      - pipelineExecutionId
    ExecutionSummary:
      type: object
      properties:
        executionId:
          type: string
          description: The ID of the execution.
        actionType:
          type: string
          description: The type of action exectued.
        targetResource:
          $ref: '#/components/schemas/TargetResource'
        targetResourceVersion:
          type: string
          description: The version of the target resource.
        resolveTo:
          $ref: '#/components/schemas/ResolveTo'
        executionStartTime:
          type: string
          format: date-time
          description: The time the process started.
        executionEndTime:
          type: string
          format: date-time
          description: The time the process ended.
        executionStatus:
          $ref: '#/components/schemas/ExecutionStatus'
        executionEntityVersion:
          type: string
          description: The execution entity version associated with the summary.
      required:
      - executionId
      - targetResource
      - targetResourceVersion
      - executionStartTime
      - executionStatus
    Mount:
      type: object
      properties:
        name:
          type: string
          description: A unique name for the mount within the task.
        relativePath:
          type: string
          description: The relative path under the service-owned mount root where this mount is attached inside the container.
        source:
          $ref: '#/components/schemas/MountSource'
        storageType:
          type: string
          enum:
          - SHARED_STORAGE
          description: The type of storage used for the mount.
      required:
      - name
      - relativePath
      - source
      - storageType
    MountSource:
      type: object
      properties:
        s3AccessPoint:
          $ref: '#/components/schemas/S3AccessPointSource'
      description: Exactly one member is set.
    ThrottlingException:
      type: object
      properties:
        message:
          type: string
      required:
      - message
    DescribeExecutionRequest:
      type: object
      properties:
        executionId:
          type: string
          description: The ID of the execution.
      required:
      - executionId
    InternalFailureException:
      type: object
      properties:
        message:
          type: string
      required:
      - message
    DetailedPipelineError:
      type: object
      properties:
        code:
          type: string
          enum:
          - VALIDATION_ERROR
          - INTERNAL_FAILURE
          - EXECUTION_ERROR
          - TIMED_OUT
          description: The error code.
        message:
          type: string
          description: The associated error message.
      required:
      - code
      - message
    ListExecutionsResponse:
      type: object
      properties:
        executionSummaries:
          type: array
          items:
            $ref: '#/components/schemas/ExecutionSummary'
          description: Contains the list of execution summaries of the computation models.
        nextToken:
          type: string
          description: The token for the next set of results, or null if there are no additional results.
      required:
      - executionSummaries
  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: iotsitewise
x-provenance:
  method: harvested
  publisher: Amazon Web Services
  source: https://raw.githubusercontent.com/aws/api-models-aws/582e55931c45b944739742a2c1620b6026dd2d13/models/iotsitewise/service/2019-12-02/iotsitewise-2019-12-02.json
  note: converted by smithy-to-openapi.py from AWS's Smithy model (roadmap#1001)