Figure Eight Job Ontology API
Read and Update the Ontology for a job
Read and Update the Ontology for a job
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-job-ontology-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 Job Ontology 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: Job Ontology
description: Read and Update the Ontology for a job
externalDocs:
url: https://success.appen.com/hc/en-us/articles/360015150252-Guide-To-Ontology-Manager
paths:
/jobs/{job_id}/ontology:
get:
servers:
- url: https://api-proxy.appen.com/v1
description: Production Server
tags:
- Job Ontology
summary: Get Job Ontology
description: Get the Ontology from a Job in JSON format.
parameters:
- $ref: '#/components/parameters/job_id'
- $ref: '#/components/parameters/api_key'
responses:
'200':
description: JSON Array describing the Ontology
content:
application/json:
schema:
$ref: '#/components/schemas/ontology'
x-code-samples:
- lang: Shell
label: cURL
source: 'curl -X GET \
"https://api-proxy.appen.com/v1/jobs/{job_id}/ontology"
-H "Authorization: Token token={api_key}"
'
operationId: getJobsByJobIdOntology
x-operation-id-source: derived
put:
servers:
- url: https://api-proxy.appen.com/v1
description: Production Server
tags:
- Job Ontology
summary: Update Job Ontology
description: 'Update the Ontology for a Job. If the Ontology doesn''t exist then a new Ontology
is created. (Note: Not all Job types accept a JSON formatted Ontology, please
refer to the documentation
for more information).'
parameters:
- $ref: '#/components/parameters/job_id'
- $ref: '#/components/parameters/api_key'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ontology'
responses:
'200':
description: OK - The Ontology was updated.
x-code-samples:
- lang: Shell
label: cURL
source: "curl -X PUT \\\n\"https://api-proxy.appen.com/v1/jobs/{job_id}/ontology\"\\\n-H \"Authorization: Token token={api_key}\" \\\n--data-raw '[\n {\n \"description\": \"Ego vehicle, parking, static objects (trash bins), dynamic (garbage on sidewalk), bridge... etc. (see job description if unsure)\",\n \"class_name\": \"void\",\n \"display_color\": \"#000000\",\n \"children\": [\n {\n \"description\": \"Children of the void class\",\n \"class_name\": \"children\",\n \"display_color\": \"#ca03fc\"\n }\n ]\n }\n]'\n"
operationId: putJobsByJobIdOntology
x-operation-id-source: derived
/jobs/{job_id}/ontology.csv:
get:
servers:
- url: https://api-proxy.appen.com/v1
description: Production Server
tags:
- Job Ontology
summary: Get Job Ontology (CSV)
description: Get the Ontology from a Job in CSV format.
parameters:
- $ref: '#/components/parameters/job_id'
- $ref: '#/components/parameters/api_key'
responses:
'200':
description: The Ontology data formated in CSV.
content:
text/plain:
schema:
type: string
example: 'description,class_name,display_color,
"NOT Ego vehicle, parking, static objects (trash bins), dynamic (garbage on sidewalk), bridge... etc. (see job description if unsure)",not_void,#000000
'
x-code-samples:
- lang: Shell
label: cURL
source: 'curl -X GET \
"https://api-proxy.appen.com/v1/jobs/{job_id}/ontology.csv"
-H "Authorization: Token token={api_key}"
'
operationId: getJobsByJobIdOntologyCsv
x-operation-id-source: derived
put:
servers:
- url: https://api-proxy.appen.com/v1
description: Production Server
tags:
- Job Ontology
summary: Update Job Ontology (CSV)
description: 'Update the Ontology for a Job. If the Ontology doesn''t exist then a new Ontology
is created. (Note: Not all Job types accept a CSV formatted Ontology, please
refer to the documentation
for more information).'
parameters:
- $ref: '#/components/parameters/job_id'
- $ref: '#/components/parameters/api_key'
requestBody:
description: 'A **CSV** formatted file of the Ontology to upload to the Job.
'
content:
multipart/form-data:
schema:
type: string
format: binary
responses:
'200':
description: OK - The Ontology was updated.
x-code-samples:
- lang: Shell
label: cURL
source: 'curl -X PUT \
"https://api-proxy.appen.com/v1/jobs/{job_id}/ontology"\
-H "Authorization: Token token={api_key}" \
--form ''file=@{path_to_csv}''
'
operationId: putJobsByJobIdOntologyCsv
x-operation-id-source: derived
components:
schemas:
new_job_id:
description: Integer identifier of the requested resource (Job, Unit, Workflow) used in API request paths and response bodies.
type: integer
format: int64
readOnly: true
minimum: 1
maximum: 9223372036854776000
example: 1234567
ontology:
description: A JSON array representing the Ontology.
type: array
items:
type: object
properties:
class_name:
type: string
display_color:
description: Must be a hex color string e.g. (#F42069)
type: string
description:
type: string
required:
- class_name
parameters:
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
job_id:
in: path
name: job_id
description: "A unique identifier for a job or task that is distributed to contributors. Variable name: `{job_id}`. \n"
required: true
schema:
$ref: '#/components/schemas/new_job_id'