Amazon EMR Emr Step API

The Emr Step API from Amazon EMR — 3 operation(s) for emr step.

Operations 3

POST /#CancelSteps Cancel Steps #
POST /#DescribeStep Describe Step #
POST /#ListSteps List Steps #

Specifications

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-emr:amazon-emr-step-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-emr-step-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Amazon EMR Step API
  version: '2009-03-31'
  description: Generated from AWS's published Smithy model for Amazon EMR. 3 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://elasticmapreduce.{region}.amazonaws.com
  variables:
    region:
      default: us-east-1
security:
- sigv4: []
tags:
- name: Step
paths:
  /#CancelSteps:
    post:
      operationId: CancelSteps
      summary: Cancel Steps
      description: Cancels a pending step or steps in a running cluster. Available only in Amazon EMR versions 4.8.0 and later, excluding version 5.0.0. A maximum of 256 steps are allowed in each CancelSteps request. CancelSteps is idempotent but asynchronous; it does not guarantee that a step will be canceled, even if the request is successfully submitted. When you use Amazon EMR releases 5.28.0 and later, you can cancel steps that are in a PENDING or RUNNING state. In earlier versions of Amazon EMR, you can only cancel steps that are in a PENDING state.
      responses:
        '200':
          description: Success
          content:
            application/x-amz-json-1.1:
              schema:
                $ref: '#/components/schemas/CancelStepsOutput'
        '500':
          description: InternalServerError
          content:
            application/x-amz-json-1.1:
              schema:
                $ref: '#/components/schemas/InternalServerError'
        '400':
          description: InvalidRequestException
          content:
            application/x-amz-json-1.1:
              schema:
                $ref: '#/components/schemas/InvalidRequestException'
      parameters:
      - name: X-Amz-Target
        in: header
        required: true
        schema:
          type: string
          enum:
          - ElasticMapReduce.CancelSteps
      requestBody:
        required: true
        content:
          application/x-amz-json-1.1:
            schema:
              $ref: '#/components/schemas/CancelStepsInput'
      tags:
      - Step
  /#DescribeStep:
    post:
      operationId: DescribeStep
      summary: Describe Step
      description: Provides more detail about the cluster step.
      responses:
        '200':
          description: Success
          content:
            application/x-amz-json-1.1:
              schema:
                $ref: '#/components/schemas/DescribeStepOutput'
        '500':
          description: InternalServerException
          content:
            application/x-amz-json-1.1:
              schema:
                $ref: '#/components/schemas/InternalServerException'
        '400':
          description: InvalidRequestException
          content:
            application/x-amz-json-1.1:
              schema:
                $ref: '#/components/schemas/InvalidRequestException'
      parameters:
      - name: X-Amz-Target
        in: header
        required: true
        schema:
          type: string
          enum:
          - ElasticMapReduce.DescribeStep
      requestBody:
        required: true
        content:
          application/x-amz-json-1.1:
            schema:
              $ref: '#/components/schemas/DescribeStepInput'
      tags:
      - Step
  /#ListSteps:
    post:
      operationId: ListSteps
      summary: List Steps
      description: Provides a list of steps for the cluster in reverse order unless you specify stepIds with the request or filter by StepStates. You can specify a maximum of 10 stepIDs. The CLI automatically paginates results to return a list greater than 50 steps. To return more than 50 steps using the CLI, specify a Marker, which is a pagination token that indicates the next set of steps to retrieve.
      responses:
        '200':
          description: Success
          content:
            application/x-amz-json-1.1:
              schema:
                $ref: '#/components/schemas/ListStepsOutput'
        '500':
          description: InternalServerException
          content:
            application/x-amz-json-1.1:
              schema:
                $ref: '#/components/schemas/InternalServerException'
        '400':
          description: InvalidRequestException
          content:
            application/x-amz-json-1.1:
              schema:
                $ref: '#/components/schemas/InvalidRequestException'
      parameters:
      - name: X-Amz-Target
        in: header
        required: true
        schema:
          type: string
          enum:
          - ElasticMapReduce.ListSteps
      requestBody:
        required: true
        content:
          application/x-amz-json-1.1:
            schema:
              $ref: '#/components/schemas/ListStepsInput'
      tags:
      - Step
components:
  schemas:
    DescribeStepOutput:
      type: object
      properties:
        Step:
          $ref: '#/components/schemas/Step'
    StepStateChangeReason:
      type: object
      properties:
        Code:
          type: string
          enum:
          - NONE
          description: 'The programmable code for the state change reason. Note: Currently, the service provides no code for the state change.'
        Message:
          type: string
          description: The descriptive message for the state change reason.
    StepStatus:
      type: object
      properties:
        State:
          type: string
          enum:
          - PENDING
          - CANCEL_PENDING
          - RUNNING
          - COMPLETED
          - CANCELLED
          - FAILED
          - INTERRUPTED
          description: The execution state of the cluster step.
        StateChangeReason:
          $ref: '#/components/schemas/StepStateChangeReason'
        FailureDetails:
          $ref: '#/components/schemas/FailureDetails'
        Timeline:
          $ref: '#/components/schemas/StepTimeline'
    Step:
      type: object
      properties:
        Id:
          type: string
          description: The identifier of the cluster step.
        Name:
          type: string
          description: The name of the cluster step.
        Config:
          $ref: '#/components/schemas/HadoopStepConfig'
        ActionOnFailure:
          type: string
          enum:
          - TERMINATE_JOB_FLOW
          - TERMINATE_CLUSTER
          - CANCEL_AND_WAIT
          - CONTINUE
          description: The action to take when the cluster step fails. Possible values are TERMINATE_CLUSTER, CANCEL_AND_WAIT, and CONTINUE. TERMINATE_JOB_FLOW is provided for backward compatibility. We recommend using TERMINATE_CLUSTER instead. If a cluster's StepConcurrencyLevel is greater than 1, do not use AddJobFlowSteps to submit a step with this parameter set to CANCEL_AND_WAIT or TERMINATE_CLUSTER. The step is not submitted and the action fails with a message that the ActionOnFailure setting is not valid. If you change a cluster's StepConcurrencyLevel to be greater than 1 while a step is running, the ActionO
        Status:
          $ref: '#/components/schemas/StepStatus'
        ExecutionRoleArn:
          type: string
          description: 'The Amazon Resource Name (ARN) of the runtime role for a step on the cluster. The runtime role can be a cross-account IAM role. The runtime role ARN is a combination of account ID, role name, and role type using the following format: arn:partition:service:region:account:resource. For example, arn:aws:IAM::1234567890:role/ReadOnly is a correctly formatted runtime role ARN.'
        LogUri:
          type: string
          description: The Amazon S3 destination URI for log publishing.
        EncryptionKeyArn:
          type: string
          description: The KMS key ARN to encrypt the logs published to the given Amazon S3 destination.
    ListStepsInput:
      type: object
      properties:
        ClusterId:
          type: string
          description: The identifier of the cluster for which to list the steps.
        StepStates:
          type: array
          items:
            type: string
            enum:
            - PENDING
            - CANCEL_PENDING
            - RUNNING
            - COMPLETED
            - CANCELLED
            - FAILED
            - INTERRUPTED
          description: The filter to limit the step list based on certain states.
        StepIds:
          type: array
          items:
            type: string
          description: The filter to limit the step list based on the identifier of the steps. You can specify a maximum of ten Step IDs. The character constraint applies to the overall length of the array.
        Marker:
          type: string
          description: The maximum number of steps that a single ListSteps action returns is 50. To return a longer list of steps, use multiple ListSteps actions along with the Marker parameter, which is a pagination token that indicates the next set of results to retrieve.
      required:
      - ClusterId
    ListStepsOutput:
      type: object
      properties:
        Steps:
          type: array
          items:
            $ref: '#/components/schemas/StepSummary'
          description: The filtered list of steps for the cluster.
        Marker:
          type: string
          description: The maximum number of steps that a single ListSteps action returns is 50. To return a longer list of steps, use multiple ListSteps actions along with the Marker parameter, which is a pagination token that indicates the next set of results to retrieve.
    CancelStepsInfo:
      type: object
      properties:
        StepId:
          type: string
          description: The encrypted StepId of a step.
        Status:
          type: string
          enum:
          - SUBMITTED
          - FAILED
          description: The status of a CancelSteps Request. The value may be SUBMITTED or FAILED.
        Reason:
          type: string
          description: The reason for the failure if the CancelSteps request fails.
    InternalServerException:
      type: object
      properties:
        Message:
          type: string
          description: The message associated with the exception.
    FailureDetails:
      type: object
      properties:
        Reason:
          type: string
          description: The reason for the step failure. In the case where the service cannot successfully determine the root cause of the failure, it returns "Unknown Error" as a reason.
        Message:
          type: string
          description: The descriptive message including the error the Amazon EMR service has identified as the cause of step failure. This is text from an error log that describes the root cause of the failure.
        LogFile:
          type: string
          description: The path to the log file where the step failure root cause was originally recorded.
    CancelStepsInput:
      type: object
      properties:
        ClusterId:
          type: string
          description: The ClusterID for the specified steps that will be canceled. Use RunJobFlow and ListClusters to get ClusterIDs.
        StepIds:
          type: array
          items:
            type: string
          description: The list of StepIDs to cancel. Use ListSteps to get steps and their states for the specified cluster.
        StepCancellationOption:
          type: string
          enum:
          - SEND_INTERRUPT
          - TERMINATE_PROCESS
          description: The option to choose to cancel RUNNING steps. By default, the value is SEND_INTERRUPT.
      required:
      - ClusterId
      - StepIds
    CancelStepsOutput:
      type: object
      properties:
        CancelStepsInfoList:
          type: array
          items:
            $ref: '#/components/schemas/CancelStepsInfo'
          description: A list of CancelStepsInfo, which shows the status of specified cancel requests for each StepID specified.
    InvalidRequestException:
      type: object
      properties:
        ErrorCode:
          type: string
          description: The error code associated with the exception.
        Message:
          type: string
          description: The message associated with the exception.
    StepSummary:
      type: object
      properties:
        Id:
          type: string
          description: The identifier of the cluster step.
        Name:
          type: string
          description: The name of the cluster step.
        Config:
          $ref: '#/components/schemas/HadoopStepConfig'
        ActionOnFailure:
          type: string
          enum:
          - TERMINATE_JOB_FLOW
          - TERMINATE_CLUSTER
          - CANCEL_AND_WAIT
          - CONTINUE
          description: The action to take when the cluster step fails. Possible values are TERMINATE_CLUSTER, CANCEL_AND_WAIT, and CONTINUE. TERMINATE_JOB_FLOW is available for backward compatibility.
        Status:
          $ref: '#/components/schemas/StepStatus'
        LogUri:
          type: string
          description: The Amazon S3 destination URI for log publishing.
        EncryptionKeyArn:
          type: string
          description: The KMS key ARN to encrypt the logs published to the given Amazon S3 destination.
    DescribeStepInput:
      type: object
      properties:
        ClusterId:
          type: string
          description: The identifier of the cluster with steps to describe.
        StepId:
          type: string
          description: The identifier of the step to describe.
      required:
      - ClusterId
      - StepId
    StepTimeline:
      type: object
      properties:
        CreationDateTime:
          type: string
          format: date-time
          description: The date and time when the cluster step was created.
        StartDateTime:
          type: string
          format: date-time
          description: The date and time when the cluster step execution started.
        EndDateTime:
          type: string
          format: date-time
          description: The date and time when the cluster step execution completed or failed.
    InternalServerError:
      type: object
      properties: {}
    HadoopStepConfig:
      type: object
      properties:
        Jar:
          type: string
          description: The path to the JAR file that runs during the step.
        Properties:
          type: object
          additionalProperties:
            type: string
          description: The list of Java properties that are set when the step runs. You can use these properties to pass key-value pairs to your main function.
        MainClass:
          type: string
          description: The name of the main class in the specified Java file. If not specified, the JAR file should specify a main class in its manifest file.
        Args:
          type: array
          items:
            type: string
          description: The list of command line arguments to pass to the JAR file's main function for execution.
  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: elasticmapreduce
x-provenance:
  method: harvested
  publisher: Amazon Web Services
  source: https://raw.githubusercontent.com/aws/api-models-aws/582e55931c45b944739742a2c1620b6026dd2d13/models/emr/service/2009-03-31/emr-2009-03-31.json
  note: converted by smithy-to-openapi.py from AWS's Smithy model (roadmap#1001)