Properties
| Name | Type | Description |
|---|---|---|
| id | integer | |
| worker_id | integer | |
| worker_name | string | |
| status | string | |
| proof_text | stringnull | |
| proof_url | stringnull | |
| screenshot_paths | array | |
| reward_minor | integer | |
| rejection_reason | stringnull | |
| submitted_at | stringnull | |
| reviewed_at | stringnull | |
| created_at | string | |
| verify_status | stringnull | How the platform verified it by itself (a code, a Telegram join), if it did. |
| verify_detail | stringnull | |
| check_status | stringnull | |
| check_flags | array | |
| worker_username | stringnull | |
| claimed_at | stringnull | |
| auto_approve_at | stringnull | The end of its review window. |
| auto_pay_at | stringnull | When it will be paid automatically; null when it will not be (held, decided, a conversion waiting for confirmation, or a task under staff review). |
| time_on_task_sec | integernull | Seconds between the worker first opening the task (or claiming it) and sending this. |
| time_on_task_from | stringnull | |
| in_team | boolean | The worker is one of your saved workers (the ones a `my_workers` task is for). |
| worker_approved | integer | The worker's approved submissions across the platform. |
| worker_rejected | integer | The worker's rejected submissions across the platform. |
| project_ids | array | Your projects (not archived) this worker is already in. |
| fix | object | A conversion task only: the fix you asked for, while it is open (else absent or null). |
| reversed_at | stringnull | A conversion task only: when you took the pay back as not done. |
| click | stringnull | A conversion task only: the worker's click code (mwc_…), so your server can find the submission of work it has not confirmed yet. |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/microworker/main/json-schema/microworker-submission-schema.json",
"title": "Submission",
"x-generated": "2026-10-22",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/_original/microworker-v1-openapi.json#/components/schemas/Submission",
"type": "object",
"properties": {
"id": {
"type": "integer"
},
"worker_id": {
"type": "integer"
},
"worker_name": {
"type": "string"
},
"status": {
"type": "string",
"enum": [
"claimed",
"pending",
"approved",
"rejected",
"auto_approved"
]
},
"proof_text": {
"type": [
"string",
"null"
]
},
"proof_url": {
"type": [
"string",
"null"
]
},
"screenshot_paths": {
"type": "array",
"items": {
"type": "string"
}
},
"reward_minor": {
"type": "integer"
},
"rejection_reason": {
"type": [
"string",
"null"
]
},
"submitted_at": {
"type": [
"string",
"null"
]
},
"reviewed_at": {
"type": [
"string",
"null"
]
},
"created_at": {
"type": "string"
},
"verify_status": {
"type": [
"string",
"null"
],
"description": "How the platform verified it by itself (a code, a Telegram join), if it did."
},
"verify_detail": {
"type": [
"string",
"null"
]
},
"check_status": {
"type": [
"string",
"null"
],
"enum": [
"clear",
"warn",
"hold",
"released",
null
]
},
"check_flags": {
"type": "array",
"items": {
"$ref": "#/$defs/CheckFlag"
}
},
"worker_username": {
"type": [
"string",
"null"
]
},
"claimed_at": {
"type": [
"string",
"null"
]
},
"auto_approve_at": {
"type": [
"string",
"null"
],
"description": "The end of its review window."
},
"auto_pay_at": {
"type": [
"string",
"null"
],
"description": "When it will be paid automatically; null when it will not be (held, decided, a conversion waiting for confirmation, or a task under staff review)."
},
"time_on_task_sec": {
"type": [
"integer",
"null"
],
"description": "Seconds between the worker first opening the task (or claiming it) and sending this."
},
"time_on_task_from": {
"type": [
"string",
"null"
],
"enum": [
"view",
"claim",
null
]
},
"in_team": {
"type": "boolean",
"description": "The worker is one of your saved workers (the ones a `my_workers` task is for)."
},
"worker_approved": {
"type": "integer",
"description": "The worker's approved submissions across the platform."
},
"worker_rejected": {
"type": "integer",
"description": "The worker's rejected submissions across the platform."
},
"project_ids": {
"type": "array",
"items": {
"type": "integer"
},
"description": "Your projects (not archived) this worker is already in."
},
"fix": {
"$ref": "#/$defs/ConversionFix",
"description": "A conversion task only: the fix you asked for, while it is open (else absent or null)."
},
"reversed_at": {
"type": [
"string",
"null"
],
"description": "A conversion task only: when you took the pay back as not done."
},
"click": {
"type": [
"string",
"null"
],
"description": "A conversion task only: the worker's click code (mwc_…), so your server can find the submission of work it has not confirmed yet."
}
},
"$defs": {
"CheckFlag": {
"type": "object",
"additionalProperties": true,
"properties": {
"c": {
"type": "string",
"description": "What was found: copied_proof, reused_own_proof, example_image, blank_image, duplicate_file, tiny_image, unreadable_image, same_text, same_link, link_from_task, placeholder_text, too_fast (sent in `e` seconds; the task asks for `n`); on geo-tunnel tasks also tunnel_unused (the tunnel carried no real traffic for this claim), tunnel_wrong_country (`t` is the task's country, `seen` where the exit actually was) and tunnel_geo_split (`seen` lists the countries the geo vendors disagreed between)."
},
"s": {
"type": "string",
"enum": [
"warn",
"hold"
]
},
"same_task": {
"type": "boolean"
}
}
},
"ConversionFix": {
"type": [
"object",
"null"
],
"properties": {
"note": {
"type": "string"
},
"due_at": {
"type": "string",
"description": "ISO UTC: the end of the time to fix it."
},
"kind": {
"type": "string",
"enum": [
"paid",
"unpaid"
],
"description": "`paid`: confirm it again before `due_at` or the pay is taken back; `unpaid`: nothing is paid until you confirm it."
}
}
}
}
}
Work with this as data
Every JSON Schema 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 schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.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.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/microworker-submission"
All schemas
curl "https://apis.io/api/v1/json-schemas?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.