Figure Eight Workflow Data Upload/Download API
Upload data to run through a Workflow. Download reports.
Upload data to run through a Workflow. Download reports.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/figure-eight-workflow-data-upload-download-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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: 3.2.0
info:
title: Appen Platform Workflow Data Upload/Download 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 Data Upload/Download
description: Upload data to run through a Workflow. Download reports.
paths:
/workflows/{workflow_id}/upload:
servers:
- url: https://api-beta.appen.com/v2
description: Production Server - Latest API
post:
tags:
- Workflow Data Upload/Download
summary: Upload data for the workflow
description: 'Archive the file to the cloud, verify the structure is compatible with the workflow input step, and make the rows available to launch. Available file formats: CSV, TSV, JSON, JSONL, XLS, XLSX, ODS.'
parameters:
- $ref: '#/components/parameters/workflow_id_param'
- $ref: '#/components/parameters/api_key'
responses:
'201':
description: Data uploaded successfully
content:
application/json:
schema:
$ref: '#/components/schemas/DataOrder'
'404':
$ref: '#/components/responses/404'
'422':
$ref: '#/components/responses/422'
requestBody:
content:
multipart/form-data:
schema:
type: object
properties:
file:
description: The file to upload.
type: string
format: binary
required:
- file
x-code-samples:
- lang: Shell
label: cURL
source: 'curl -X POST \
"https://api-beta.appen.com/v2/workflows/{workflow_id}/upload" \
-H "Authorization: Token token={api_key}" \
-F file=@"./path/to/data/file.csv"
'
operationId: postWorkflowsByWorkflowIdUpload
x-operation-id-source: derived
/workflows/{workflow_id}/report/download:
servers:
- url: https://api-beta.appen.com/v2
description: Production Server - Latest API
get:
tags:
- Workflow Data Upload/Download
summary: Download Full or Source data workflow report
description: Generated workflow in Zip archive if report link is present and report file exists. Full report is in CSV format and contains data from each Workflow Step. Source report contains original uploaded files in Zip archive.
parameters:
- $ref: '#/components/parameters/workflow_id_param'
- name: type
in: query
required: true
description: Report type. can be 'full' or 'source'
schema:
type: string
example: full
responses:
'404':
description: No report link to download
content:
application/json:
schema:
type: object
properties:
message:
type: string
example: 'Error: No TYPE report generated for workflow ID'
'204':
description: Generation is in progress
content:
application/json:
schema:
type: object
properties:
message:
type: string
example: TYPE report for workflow ID is being generated
'200':
description: Report ready for download, zipped report contents in body
content:
application/octet-stream:
schema:
type: string
format: binary
x-code-samples:
- lang: Shell
label: cURL
source: 'curl -vOJ \
"https://api-beta.appen.com/v2/workflows/{workflow_id}/report/download" \
-H "Authorization: Token token={api_key}" \
2&>1 | grep -e HTTP -e filename
'
operationId: getWorkflowsByWorkflowIdReportDownload
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
api_key:
name: key
in: query
required: true
description: "Your personal Appen API key; used to access the Appen platform. Can be found in your [account settings](https://client.appen.com/account/api). Variable name: `{api_key}`. \n"
schema:
type: string
responses:
'404':
description: 'Not Found. The resource you are referencing does not exist, or you don''''t own it.
'
'422':
description: 'Unprocessable Entity. A request parameter was malformed or missing.
'
schemas:
DataOrder:
type: object
properties:
id:
type: integer
example: 72
readOnly: true
data_upload_id:
type: integer
example: 1
readOnly: true
workflow_id:
type: integer
example: 47
readOnly: true
state:
type: string
example: Some name or description or title, etc...
created_at:
type: string
format: date-time
readOnly: true
updated_at:
type: string
format: date-time
readOnly: true