Figure Eight Workflow Step Routes API

Manage Workflow Step Routes

Operations 4

POST /workflows/{workflow_id}/steps/{step_id}/routes Create a new workflow route #
GET /workflows/{workflow_id}/steps/{step_id}/routes View the list of routes associated with a Step #
PATCH /workflows/{workflow_id}/steps/{step_id}/routes/{route_id} Change route destination and filter rules #
DELETE /workflows/{workflow_id}/steps/{step_id}/routes/{route_id} Delete a route associated with a 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-step-routes-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-step-routes-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Appen Platform Workflow Step Routes 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 Step Routes
  description: Manage Workflow Step Routes
paths:
  /workflows/{workflow_id}/steps/{step_id}/routes:
    parameters:
    - $ref: '#/components/parameters/workflow_id_param'
    - $ref: '#/components/parameters/workflow_step_id_param'
    post:
      tags:
      - Workflow Step Routes
      summary: Create a new workflow route
      description: 'Create a configuration object for routing data coming out of the data processor in the step specified by `workflow_step_id` to the step specified by `destination_step_id`.

        Think of `workflow_step` and `destination_step` as _nodes_ in the Workflow''s configuration ''graph'' and this route as the _edge_ between them.'
      requestBody:
        content:
          application/json:
            schema:
              properties:
                destination_step_id:
                  type: integer
                  example: 19
                filter_rules_attributes:
                  type: array
                  items:
                    $ref: '#/components/schemas/FilterRuleNew'
        required: true
      responses:
        '201':
          description: Route created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StepRoute'
        '404':
          description: Workflow or step specified by id params not found in the database or does not belong to the customer.
        '422':
          description: Unprocessable Entity. A request parameter was malformed or missing.
          content:
            application/json:
              schema:
                properties:
                  destination_step_id:
                    type: string
                    example: must be present
      operationId: postWorkflowsByWorkflowIdStepsByStepIdRoutes
      x-operation-id-source: derived
    get:
      tags:
      - Workflow Step Routes
      summary: View the list of routes associated with a Step
      description: 'List routes for a Workflow Step. \

        Note that one workflow step can route to __multiple__ destination steps _(or the same step with different filter rules)_ by creating multiple StepRoutes'
      responses:
        '200':
          description: OK - List of Routes for moving data from step to step.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/StepRoute'
        '404':
          description: Workflow or step specified by id params not found in the database or does not belong to the customer.
      operationId: getWorkflowsByWorkflowIdStepsByStepIdRoutes
      x-operation-id-source: derived
  /workflows/{workflow_id}/steps/{step_id}/routes/{route_id}:
    parameters:
    - $ref: '#/components/parameters/workflow_id_param'
    - $ref: '#/components/parameters/workflow_step_id_param'
    - $ref: '#/components/parameters/route_id_path'
    patch:
      tags:
      - Workflow Step Routes
      summary: Change route destination and filter rules
      description: Update a step route by changing the destination step Think of `workflow_step` and `destination_step` as _nodes_ in the Workflow's configuration 'graph' and this route as the _edge_ between them.
      requestBody:
        content:
          application/json:
            schema:
              properties:
                destination_step_id:
                  type: integer
                  example: 19
                filter_rules_attributes:
                  type: array
                  items:
                    $ref: '#/components/schemas/FilterRulePatch'
        required: true
      responses:
        '200':
          description: Route updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StepRoute'
        '404':
          description: Workflow, step or route specified by id params not found in the database or does not belong to the customer.
        '422':
          description: Unprocessable Entity. A request parameter was malformed or missing.
          content:
            application/json:
              schema:
                properties:
                  destination_step_id:
                    type: string
                    example: must be present
      operationId: patchWorkflowsByWorkflowIdStepsByStepIdRoutesByRouteId
      x-operation-id-source: derived
    delete:
      tags:
      - Workflow Step Routes
      summary: Delete a route associated with a Step
      description: Delete the **StepRoute** record that joins two **Steps** and holds the rules for routing the data between steps.
      parameters:
      - $ref: '#/components/parameters/workflow_id_param'
      - $ref: '#/components/parameters/workflow_step_id_param'
      - $ref: '#/components/parameters/route_id_path'
      responses:
        '200':
          description: Route and its filter rules deleted
        '404':
          description: Workflow, step or route specified by id params not found in the database or does not belong to the customer.
      operationId: deleteWorkflowsByWorkflowIdStepsByStepIdRoutesByRouteId
      x-operation-id-source: derived
components:
  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
    route_id_path:
      name: route_id
      in: path
      required: true
      description: Step Route database ID
      schema:
        type: integer
      example: 3456
    workflow_step_id_param:
      in: path
      name: step_id
      required: true
      description: Workflow Step database ID
      schema:
        type: integer
      example: 2345
  schemas:
    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
    FilterRuleNew:
      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
    FilterRulePatch:
      type: object
      required:
      - id
      - comparison_field
      - comparison_value
      - comparison_operation
      - rule_connector
      properties:
        id:
          type: integer
          example: 956
        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
        _destroy:
          type: boolean
          example: true
          description: Indicates that this filter rule should be deleted
    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'