Figure Eight Workflow Steps API

Manage Workflow Steps

Operations 4

POST /workflows/{workflow_id}/steps Create Workflow Steps #
GET /workflows/{workflow_id}/steps Collection of Workflow Steps #
PATCH /workflows/{workflow_id}/steps/{step_id} Update a Workflow Step #
DELETE /workflows/{workflow_id}/steps/{step_id} Delete a workflow step #

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/figure-eight-workflow-steps-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

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

figure-eight-workflow-steps-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Appen Platform Workflow Steps API
  version: 1.0.0
  description: '# Introduction

    Hello, and welcome to Appen, the leading data annotation platform for Machine Learning.'
  license:
    name: Licensed under Apache 2.0
    url: http://www.apache.org/licenses/LICENSE-2.0.html
  termsOfService: https://www.appen.com/privacy-statement/
  contact:
    email: help@appen.com
servers:
- url: https://api.appen.com/v1
  description: Production Server
tags:
- name: Workflow Steps
  description: Manage Workflow Steps
paths:
  /workflows/{workflow_id}/steps:
    post:
      tags:
      - Workflow Steps
      summary: Create Workflow Steps
      description: Create a new **WorkflowStep** to allow routing data between various data processors. Note only job_id, mlapi_id or script_id must be provided.
      parameters:
      - $ref: '#/components/parameters/workflow_id_param'
      responses:
        '201':
          description: The response of a workflow step
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WorkflowStepNew'
        '422':
          description: Unprocessable Entity. A request parameter was malformed or missing.
          content:
            application/json:
              schema:
                properties:
                  job_id:
                    type: string
                    example: must be present
      requestBody:
        content:
          application/json:
            schema:
              properties:
                job_id:
                  description: ID of the Job
                  type: integer
                  example: 1234567
                mlapi_id:
                  description: ID of the Model
                  type: integer
                  example: 2345
                script_id:
                  description: ID of the Script
                  type: integer
                  example: 3456
        description: List of steps
        required: true
      operationId: postWorkflowsByWorkflowIdSteps
      x-operation-id-source: derived
    get:
      tags:
      - Workflow Steps
      summary: Collection of Workflow Steps
      parameters:
      - $ref: '#/components/parameters/workflow_id_param'
      responses:
        '200':
          $ref: '#/components/responses/WorkflowStepsResponse'
      operationId: getWorkflowsByWorkflowIdSteps
      x-operation-id-source: derived
  /workflows/{workflow_id}/steps/{step_id}:
    patch:
      tags:
      - Workflow Steps
      summary: Update a Workflow Step
      description: Change the data processor info _(i.e. `job_id`)_ or `step_number` of an existing **WorkflowStep** to allow routing data between various data processors.
      parameters:
      - $ref: '#/components/parameters/workflow_id_param'
      - $ref: '#/components/parameters/workflow_step_id_param'
      responses:
        '200':
          $ref: '#/components/responses/WorkflowStepResponse'
        '422':
          description: Unprocessable Entity. A request parameter was malformed or missing.
          content:
            application/json:
              schema:
                properties:
                  job_id:
                    type: string
                    example: must be present
      requestBody:
        content:
          application/json:
            schema:
              properties:
                data_processor_type:
                  type: string
                  example: Builder::Job
                data_processor_id:
                  type: string
                  example: '1234567'
        required: true
      operationId: patchWorkflowsByWorkflowIdStepsByStepId
      x-operation-id-source: derived
    delete:
      tags:
      - Workflow Steps
      summary: Delete a workflow step
      description: Delete the **WorkflowStep** record from the **Workflow**
      parameters:
      - $ref: '#/components/parameters/workflow_id_param'
      - $ref: '#/components/parameters/workflow_step_id_param'
      responses:
        '200':
          description: Step deleted
        '404':
          description: Workflow or step specified by id params not found in database.
      operationId: deleteWorkflowsByWorkflowIdStepsByStepId
      x-operation-id-source: derived
components:
  schemas:
    WorkflowStep:
      type: object
      required:
      - workflow_id
      - data_processor_type
      - data_processor_id
      properties:
        id:
          type: integer
          example: 79
          readOnly: true
        data_processor_id:
          type: string
          example: '1234567'
        data_processor_type:
          type: string
          readOnly: true
          example: Builder::Job
        created_at:
          type: string
          format: date-time
          readOnly: true
        updated_at:
          type: string
          format: date-time
          readOnly: true
        step_options:
          type: object
          example: {}
        routes:
          type: array
          items:
            $ref: '#/components/schemas/StepRoute'
    WorkflowStepNew:
      type: object
      properties:
        id:
          type: integer
          example: 79
          readOnly: true
        data_processor_id:
          type: string
          example: '1234567'
        data_processor_type:
          type: string
          readOnly: true
          example: Builder::Job
        created_at:
          type: string
          format: date-time
          readOnly: true
        updated_at:
          type: string
          format: date-time
          readOnly: true
        step_options:
          type: object
          example: {}
        routes:
          type: array
          items:
            $ref: '#/components/schemas/StepRoute'
          example: []
    FilterRule:
      type: object
      required:
      - comparison_field
      - comparison_value
      - comparison_operation
      - rule_connector
      properties:
        id:
          type: integer
          example: 956
          readOnly: true
        comparison_field:
          type: string
          example: img_is_cat
        comparison_operation:
          type: string
          enum:
          - ==
          - <
          - '>'
          - '!='
          - =~
          - <=
          - '>='
          example: ==
        comparison_value:
          type: string
          example: 'true'
        rule_connector:
          type: string
          enum:
          - all
          - and
          - or
          - rnd
          - csp
          - els
          example: and
        created_at:
          type: string
          format: date-time
          readOnly: true
        updated_at:
          type: string
          format: date-time
          readOnly: true
    StepRoute:
      type: object
      required:
      - workflow_step_id
      - destination_step_id
      properties:
        id:
          type: integer
          example: 197
          readOnly: true
        workflow_step_id:
          type: integer
          example: 79
        destination_step_id:
          type: integer
          example: 80
        created_at:
          type: string
          format: date-time
          readOnly: true
        updated_at:
          type: string
          format: date-time
          readOnly: true
        filter_rules:
          type: array
          items:
            $ref: '#/components/schemas/FilterRule'
  responses:
    WorkflowStepsResponse:
      description: The response of a workflow steps
      content:
        application/json:
          schema:
            type: array
            items:
              $ref: '#/components/schemas/WorkflowStep'
    WorkflowStepResponse:
      description: The response of a workflow step
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/WorkflowStep'
  parameters:
    workflow_id_param:
      in: path
      name: workflow_id
      required: true
      schema:
        type: integer
      description: The `id` of a **Workflow** belonging to the **Requestor** or accessible to the **Admin**.
      example: 123
    workflow_step_id_param:
      in: path
      name: step_id
      required: true
      description: Workflow Step database ID
      schema:
        type: integer
      example: 2345