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.
openapi: 3.2.0
info:
title: Appen Platform Monitor Contributors 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: Monitor Contributors
description: Monitor contributor status and settings.
externalDocs:
url: https://success.appen.com/hc/en-us/articles/202703435-Jobs-Resource-Attributes
paths:
/jobs/{job_id}/workers/{contributor_id}/bonus.json:
post:
tags:
- Monitor Contributors
summary: Pay a contributor bonus
description: 'Pay a Contributor Bonus. Deposits bonus payment amount specified in the
request into the indicated Contributor''s account. Corresponds to Award
Bonus button in the UI.'
parameters:
- $ref: '#/components/parameters/job_id'
- $ref: '#/components/parameters/api_key'
- $ref: '#/components/parameters/contributor_id'
- in: query
name: amount
description: A USD value specified in cents i.e. $5.00 == `amount=500`
required: true
schema:
type: integer
responses:
'200':
description: JSON application message indicating status of operation
x-code-samples:
- lang: Shell
label: cURL
source: "# pay a $5 USD bonus to worker identified by {contributor_id} \ncurl -X POST \\\n\"https://api.appen.com/v1/jobs/{job_id}/workers/{contributor_id}/bonus.json\" \\\n-d \"amount=500\" \\\n-H \"Authorization: Token token={api_key}\" \\\n"
operationId: postJobsByJobIdWorkersByContributorIdBonusJson
x-operation-id-source: derived
/jobs/{job_id}/workers/{contributor_id}/notify.json:
post:
tags:
- Monitor Contributors
summary: Send a message to a contributor
description: 'Notify a Contributor. Notifies a Contributor with the message provided
in the request. The notification appears in the Contributor''s
dashboard. Corresponds to the Notify Contributor button showns in the
UI.'
parameters:
- $ref: '#/components/parameters/job_id'
- $ref: '#/components/parameters/api_key'
- $ref: '#/components/parameters/contributor_id'
- in: query
name: message
required: true
schema:
type: string
responses:
'200':
description: JSON application message indicating status of operation
x-code-samples:
- lang: Shell
label: cURL
source: '# send praise to worker identified by {contributor_id};
curl -X POST \
"https://api.appen.com/v1/jobs/{job_id}/workers/{contributor_id}/notify.json" \
--data-urlencode "message=Nice work on X, thanks!!" \
-H "Authorization: Token token={api_key}" \
'
operationId: postJobsByJobIdWorkersByContributorIdNotifyJson
x-operation-id-source: derived
/jobs/{job_id}/workers/{contributor_id}.json:
put:
tags:
- Monitor Contributors
summary: Control contributor flags
description: Flag and unflag contributors on a job
parameters:
- $ref: '#/components/parameters/job_id'
- $ref: '#/components/parameters/api_key'
- $ref: '#/components/parameters/contributor_id'
- in: query
name: flag
required: false
description: 'Flags a contributor with the reason indicated in the request.
Corresponds to the Flag button on the Contributors page.
'
schema:
type: string
- in: query
name: unflag
required: false
description: Unflags a contributor with the reason indicated in the request
schema:
type: string
- in: query
name: persist
required: false
description: 'Flags a contributor with the reason indicated in the request across
all jobs for a user. Corresponds to the Flag button on the
Contributors page.
'
schema:
type: boolean
responses:
'200':
description: JSON application message indicating status of operation
x-code-samples:
- lang: Shell
label: cURL - flag
source: '# flag worker identified by {contributor_id};
curl -X PUT \
"https://api.appen.com/v1/jobs/{job_id}/workers/{contributor_id}.json" \
--data-urlencode "flag=All answers in Job 12345 were ASDFGHJK" \
-H "Authorization: Token token={api_key}"
'
- lang: Shell
label: cURL - unflag
source: '# flag worker identified by {contributor_id};
curl -X PUT \
"https://api.appen.com/v1/jobs/{job_id}/workers/{contributor_id}.json" \
--data-urlencode "unflag=There was an encoding issue that garbled their answers" \
-H "Authorization: Token token={api_key}" \
'
operationId: putJobsByJobIdWorkers{contributorId}Json
x-operation-id-source: derived
/jobs/{job_id}/workers/{contributor_id}/reject.json:
put:
tags:
- Monitor Contributors
summary: Reject a contributor
description: Rejects a contributor with the reason indicated in the request.
parameters:
- $ref: '#/components/parameters/job_id'
- $ref: '#/components/parameters/api_key'
- $ref: '#/components/parameters/contributor_id'
- in: query
name: reason
required: false
description: 'Flags a contributor with the reason indicated in the request.
Corresponds to the Flag button on the Contributors page.
'
schema:
type: string
- in: query
name: manual
required: true
description: Set to "true" for the reject to work...
schema:
type: boolean
responses:
'200':
description: JSON application message indicating status of operation
x-code-samples:
- lang: Shell
label: cURL
source: '# reject worker identified by {contributor_id}
curl -X PUT \
"https://api.appen.com/v1/jobs/{job_id}/workers/{contributor_id}/reject.json" \
-d "reason=All answers in Job 12345 were ASDFGHJK" \
-d "manual=true" \
-H "Authorization: Token token={api_key}"
'
operationId: putJobsByJobIdWorkersByContributorIdRejectJson
x-operation-id-source: derived
components:
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
contributor_id:
name: contributor_id
in: path
required: true
description: "A unique identifier for an individual contributor who provides judgements (annotations) on units. Variable name: `{contributor_id}`. \n"
schema:
type: integer
format: int32
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'
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