Microworker · Schema

TaskUpdate

MarketplaceData EntryTestingSurveysSocial Media Engagement

Properties

Name Type Description
title string
instructions string
proofs array
category_id integernull
target_countries arraynull
target_devices arraynull
audience string
hiring boolean
project_id integernull null takes the draft out of its project.
backup_hours integer
max_per_country integernull null clears it. Checked against the worker count the edit leaves: at or above it, it is stored as null.
target_profile object null clears it (anybody).
x_check boolean Turn X checks on or off on a draft; `fee_minor` follows. 503 `x_check_unavailable` / 422 `x_check_no_target` as on create.
action string `pause` (open → paused), `unpause` (paused → open, once its links answer again) or `cancel` (draft, open or paused → cancelled, the unspent escrow refunded). Any other field sent with it is ignored.
View JSON Schema on GitHub

JSON Schema

microworker-task-update-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/microworker/main/json-schema/microworker-task-update-schema.json",
  "title": "TaskUpdate",
  "x-generated": "2026-10-22",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/_original/microworker-v1-openapi.json#/components/schemas/TaskUpdate",
  "type": "object",
  "properties": {
    "title": {
      "type": "string",
      "minLength": 5,
      "maxLength": 140
    },
    "instructions": {
      "type": "string",
      "minLength": 20,
      "maxLength": 8000
    },
    "proofs": {
      "type": "array",
      "minItems": 1,
      "maxItems": 5,
      "items": {
        "$ref": "#/$defs/ProofRequirement"
      }
    },
    "category_id": {
      "type": [
        "integer",
        "null"
      ]
    },
    "target_countries": {
      "type": [
        "array",
        "null"
      ],
      "items": {
        "type": "string"
      }
    },
    "target_devices": {
      "type": [
        "array",
        "null"
      ],
      "items": {
        "type": "string",
        "enum": [
          "android",
          "ios",
          "desktop",
          "windows",
          "mac"
        ]
      }
    },
    "audience": {
      "type": "string",
      "enum": [
        "everyone",
        "my_workers",
        "project"
      ]
    },
    "hiring": {
      "type": "boolean"
    },
    "project_id": {
      "type": [
        "integer",
        "null"
      ],
      "description": "null takes the draft out of its project."
    },
    "backup_hours": {
      "type": "integer",
      "enum": [
        0,
        6,
        24,
        72
      ]
    },
    "max_per_country": {
      "type": [
        "integer",
        "null"
      ],
      "minimum": 1,
      "description": "null clears it. Checked against the worker count the edit leaves: at or above it, it is stored as null."
    },
    "target_profile": {
      "$ref": "#/$defs/TargetProfile",
      "description": "null clears it (anybody)."
    },
    "x_check": {
      "type": "boolean",
      "description": "Turn X checks on or off on a draft; `fee_minor` follows. 503 `x_check_unavailable` / 422 `x_check_no_target` as on create."
    },
    "action": {
      "type": "string",
      "enum": [
        "pause",
        "unpause",
        "cancel"
      ],
      "description": "`pause` (open → paused), `unpause` (paused → open, once its links answer again) or `cancel` (draft, open or paused → cancelled, the unspent escrow refunded). Any other field sent with it is ignored."
    }
  },
  "$defs": {
    "ProofRequirement": {
      "type": "object",
      "required": [
        "type"
      ],
      "properties": {
        "must_show": {
          "type": "string",
          "maxLength": 100,
          "description": "Screenshot rows only: text the screenshot must show (a group or channel name, a username). We read each screenshot on our own server and hold a submission that does not show it."
        },
        "type": {
          "type": "string",
          "enum": [
            "screenshot",
            "text",
            "url",
            "file",
            "code"
          ],
          "description": "`code`: a completion code you show at the end of your own flow; a matching code pays on the spot. At most one per task."
        },
        "note": {
          "type": "string",
          "maxLength": 500,
          "description": "What the proof must show. Workers are judged against it."
        },
        "answer": {
          "type": "string",
          "maxLength": 200,
          "writeOnly": true,
          "description": "For `code` only: the code (5–64 letters or digits). Stored hashed and never returned; on an edit, omit it to keep the stored one."
        }
      }
    },
    "TargetProfile": {
      "type": [
        "object",
        "null"
      ],
      "description": "Who can do this (2026-10-07): only workers whose Skills & assets match see the task and can claim it (others get 403 `profile_not_matching`). Within a part ANY choice will do; every part given must be met. null or every part empty = anybody. Each part given raises the price guide ×1.2, at most ×2.",
      "properties": {
        "languages": {
          "type": "array",
          "maxItems": 5,
          "items": {
            "type": "object",
            "required": [
              "code"
            ],
            "properties": {
              "code": {
                "type": "string",
                "enum": [
                  "en",
                  "ar",
                  "arq",
                  "arz",
                  "ary",
                  "kab",
                  "tzm",
                  "fr",
                  "es",
                  "pt",
                  "de",
                  "it",
                  "nl",
                  "pl",
                  "ro",
                  "ru",
                  "uk",
                  "tr",
                  "fa",
                  "ps",
                  "ur",
                  "sd",
                  "pa",
                  "hi",
                  "bn",
                  "ne",
                  "si",
                  "ta",
                  "te",
                  "mr",
                  "gu",
                  "ml",
                  "kn",
                  "id",
                  "ms",
                  "fil",
                  "vi",
                  "th",
                  "my",
                  "zh",
                  "ja",
                  "ko",
                  "sw",
                  "ha",
                  "yo",
                  "ig",
                  "pcm",
                  "am",
                  "so",
                  "om",
                  "zu",
                  "xh",
                  "af",
                  "tw"
                ]
              },
              "min": {
                "type": "string",
                "enum": [
                  "basic",
                  "good",
                  "fluent",
                  "native"
                ],
                "default": "good",
                "description": "This level or better."
              }
            }
          }
        },
        "skills": {
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "video_editing",
              "graphic_design",
              "writing",
              "translation",
              "transcription",
              "voice",
              "photos",
              "data_entry",
              "research",
              "social_media",
              "app_testing",
              "ai_rating",
              "coding"
            ]
          }
        },
        "wants": {
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "games",
              "surveys",
              "social",
              "signups",
              "testing",
              "videos",
              "clipping",
              "ai_data",
              "writing",
              "research"
            ]
          },
          "description": "The kinds of work they asked for."
        },
        "game_platforms": {
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "android",
              "ios",
              "pc",
              "console"
            ]
          }
        },
        "apps": {
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "tiktok",
              "instagram",
              "youtube",
              "facebook",
              "x",
              "telegram",
              "whatsapp",
              "snapchat",
              "discord",
              "reddit",
              "linkedin",
              "pinterest",
              "threads",
              "twitch"
            ]
          }
        },
        "channel": {
          "type": [
            "object",
            "null"
          ],
          "description": "Runs a page or channel of at least `min_followers` (a band), on one of `platforms` (empty = any).",
          "properties": {
            "platforms": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "youtube",
                  "tiktok",
                  "instagram",
                  "facebook",
                  "x",
                  "telegram",
                  "twitch",
                  "snapchat",
                  "other"
                ]
              }
            },
            "min_followers": {
              "type": "string",
              "enum": [
                "under_1k",
                "1k_10k",
                "10k_100k",
                "100k_1m",
                "over_1m"
              ],
              "default": "under_1k"
            }
          }
        }
      }
    }
  }
}

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.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/microworker-task-update"
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.