{"components":{"schemas":{"CallConfirmProof":{"properties":{"answer":{"maxLength":40,"type":"string"},"called_at":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"note":{"maxLength":120,"type":"string"},"price":{"properties":{"amount":{"minimum":0,"type":"number"},"currency":{"pattern":"^[A-Z]{3}$","type":"string"}},"required":["amount","currency"],"type":"object"},"template_id":{"enum":["open_now","have_item","price_of","accepts_payment","closes_at_today","takes_reservation"],"type":"string"},"time":{"pattern":"^([01]\\d|2[0-3]):[0-5]\\d$","type":"string"}},"required":["template_id","answer","called_at"],"type":"object"},"CallConfirmSpec":{"properties":{"phone":{"pattern":"^\\+[1-9]\\d{6,14}$","type":"string"},"place":{"$ref":"#/components/schemas/Place"},"slots":{"properties":{"item":{"maxLength":40,"type":"string"},"payment_method":{"enum":["cash","card","mbway","multibanco"],"type":"string"}},"type":"object"},"template_id":{"enum":["open_now","have_item","price_of","accepts_payment","closes_at_today","takes_reservation"],"type":"string"}},"required":["place","phone","template_id","slots"],"type":"object"},"CompareTwoProof":{"properties":{"choice":{"enum":["a","b","neither"],"type":"string"},"reason":{"maxLength":120,"type":"string"}},"required":["choice","reason"],"type":"object"},"CompareTwoSpec":{"properties":{"a":{"properties":{"kind":{"enum":["image","text"],"type":"string"},"sha256":{"pattern":"^[0-9a-f]{64}$","type":"string"},"text":{"maxLength":500,"type":"string"},"url":{"format":"uri","maxLength":2048,"type":"string"}},"required":["kind","sha256"],"type":"object"},"b":{"properties":{"kind":{"enum":["image","text"],"type":"string"},"sha256":{"pattern":"^[0-9a-f]{64}$","type":"string"},"text":{"maxLength":500,"type":"string"},"url":{"format":"uri","maxLength":2048,"type":"string"}},"required":["kind","sha256"],"type":"object"},"criterion_id":{"enum":["more_legible","matches_reference","better_lit","same_place","which_is_newer","which_is_open"],"type":"string"},"reference":{"properties":{"kind":{"enum":["image","text"],"type":"string"},"sha256":{"pattern":"^[0-9a-f]{64}$","type":"string"},"text":{"maxLength":500,"type":"string"},"url":{"format":"uri","maxLength":2048,"type":"string"}},"required":["kind","sha256"],"type":"object"}},"required":["a","b","criterion_id"],"type":"object"},"Envelope":{"oneOf":[{"properties":{"agent_id":{"description":"a claim; the API verifies it against the ERC-8004 IdentityRegistry and never trusts it from the body","pattern":"^\\d+$","type":"string"},"amount_usdc":{"exclusiveMinimum":0,"maximum":10,"type":"number"},"claim_ttl_s":{"default":1800,"maximum":604800,"minimum":60,"type":"integer"},"dispute_window_s":{"default":86400,"maximum":604800,"minimum":60,"type":"integer"},"need_by":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"spec":{"$ref":"#/components/schemas/VerifyOpenSpec"},"submit_ttl_s":{"default":3600,"maximum":604800,"minimum":60,"type":"integer"},"task_type":{"const":"verify-open","type":"string"}},"required":["task_type","spec","amount_usdc"],"type":"object"},{"properties":{"agent_id":{"description":"a claim; the API verifies it against the ERC-8004 IdentityRegistry and never trusts it from the body","pattern":"^\\d+$","type":"string"},"amount_usdc":{"exclusiveMinimum":0,"maximum":10,"type":"number"},"claim_ttl_s":{"default":1800,"maximum":604800,"minimum":60,"type":"integer"},"dispute_window_s":{"default":86400,"maximum":604800,"minimum":60,"type":"integer"},"need_by":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"spec":{"$ref":"#/components/schemas/PhotoOfSpec"},"submit_ttl_s":{"default":3600,"maximum":604800,"minimum":60,"type":"integer"},"task_type":{"const":"photo-of","type":"string"}},"required":["task_type","spec","amount_usdc"],"type":"object"},{"properties":{"agent_id":{"description":"a claim; the API verifies it against the ERC-8004 IdentityRegistry and never trusts it from the body","pattern":"^\\d+$","type":"string"},"amount_usdc":{"exclusiveMinimum":0,"maximum":10,"type":"number"},"claim_ttl_s":{"default":1800,"maximum":604800,"minimum":60,"type":"integer"},"dispute_window_s":{"default":86400,"maximum":604800,"minimum":60,"type":"integer"},"need_by":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"spec":{"$ref":"#/components/schemas/CallConfirmSpec"},"submit_ttl_s":{"default":3600,"maximum":604800,"minimum":60,"type":"integer"},"task_type":{"const":"call-confirm","type":"string"}},"required":["task_type","spec","amount_usdc"],"type":"object"},{"properties":{"agent_id":{"description":"a claim; the API verifies it against the ERC-8004 IdentityRegistry and never trusts it from the body","pattern":"^\\d+$","type":"string"},"amount_usdc":{"exclusiveMinimum":0,"maximum":10,"type":"number"},"claim_ttl_s":{"default":1800,"maximum":604800,"minimum":60,"type":"integer"},"dispute_window_s":{"default":86400,"maximum":604800,"minimum":60,"type":"integer"},"need_by":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"spec":{"$ref":"#/components/schemas/CompareTwoSpec"},"submit_ttl_s":{"default":3600,"maximum":604800,"minimum":60,"type":"integer"},"task_type":{"const":"compare-two","type":"string"}},"required":["task_type","spec","amount_usdc"],"type":"object"}]},"PhotoOfProof":{"properties":{"answer":{"enum":["captured","not_found","refused_by_staff"],"type":"string"},"captured_at":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"gps":{"anyOf":[{"properties":{"accuracy_m":{"maximum":10000,"minimum":0,"type":"number"},"lat":{"maximum":90,"minimum":-90,"type":"number"},"lon":{"maximum":180,"minimum":-180,"type":"number"}},"required":["lat","lon","accuracy_m"],"type":"object"},{"type":"null"}]},"gps_unavailable":{"type":"boolean"},"note":{"maxLength":120,"type":"string"},"photo_hash":{"pattern":"^0x[0-9a-f]{64}$","type":"string"},"worker_confirmed_at_place":{"type":"boolean"}},"required":["photo_hash","gps","gps_unavailable","worker_confirmed_at_place","captured_at","answer"],"type":"object"},"PhotoOfSpec":{"properties":{"claimed_state":{"maxLength":60,"type":"string"},"place":{"$ref":"#/components/schemas/Place"},"source":{"enum":["google","osm","own-list","website","other","none"],"type":"string"},"subject":{"enum":["storefront","door","hours_sign","signage","notice","menu_board","shelf_price","queue_length","construction_notice"],"type":"string"},"subject_detail":{"maxLength":80,"type":"string"}},"required":["place","subject","source"],"type":"object"},"Place":{"properties":{"country":{"pattern":"^[A-Z]{2}$","type":"string"},"google_place_id":{"maxLength":128,"type":"string"},"locality":{"maxLength":80,"minLength":1,"type":"string"},"name":{"maxLength":120,"minLength":1,"type":"string"},"place_id":{"pattern":"^(node|way|relation)\\/\\d+$","type":"string"},"street_address":{"maxLength":160,"minLength":1,"type":"string"}},"required":["place_id","name","street_address","locality","country"],"type":"object"},"PublicTaskView":{"additionalProperties":false,"properties":{"answer":{"type":"string"},"area":{"pattern":"^[0-9b-hjkmnp-z]{5}$","type":"string"},"claimed_at":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"coordinate_rounded":{"additionalProperties":false,"properties":{"lat":{"type":"number"},"lon":{"type":"number"}},"required":["lat","lon"],"type":"object"},"country":{"pattern":"^[A-Z]{2}$","type":"string"},"dashboard_url":{"format":"uri","type":"string"},"fee_usdc":{"type":"number"},"links":{"additionalProperties":false,"properties":{"claim":{"format":"uri","type":"string"},"post":{"format":"uri","type":"string"},"release":{"format":"uri","type":"string"},"submit":{"format":"uri","type":"string"}},"required":["post"],"type":"object"},"locality":{"maxLength":80,"type":"string"},"posted_at":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"price_usdc":{"type":"number"},"proof":{"additionalProperties":false,"properties":{"captured_at":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"coordinate_rounded":{"additionalProperties":false,"properties":{"lat":{"type":"number"},"lon":{"type":"number"}},"required":["lat","lon"],"type":"object"},"gps_unavailable":{"type":"boolean"},"hash":{"pattern":"^0x[0-9a-f]{64}$","type":"string"},"hash_ok":{"type":"boolean"}},"required":["hash","hash_ok","captured_at","gps_unavailable"],"type":"object"},"released_at":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"seeded":{"type":"boolean"},"state":{"enum":["open","claimed","submitted","released","refunded","disputed","resolved"],"type":"string"},"submitted_at":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"task_id":{"pattern":"^\\d+$","type":"string"},"task_type":{"enum":["verify-open","photo-of","call-confirm","compare-two"],"type":"string"},"tx":{"additionalProperties":false,"properties":{"claim":{"pattern":"^0x[0-9a-f]{64}$","type":"string"},"post":{"pattern":"^0x[0-9a-f]{64}$","type":"string"},"release":{"pattern":"^0x[0-9a-f]{64}$","type":"string"},"submit":{"pattern":"^0x[0-9a-f]{64}$","type":"string"}},"required":["post"],"type":"object"}},"required":["task_id","state","task_type","price_usdc","fee_usdc","area","seeded","posted_at","tx","links","dashboard_url"],"type":"object"},"RefusalPayload":{"additionalProperties":false,"properties":{"allowed_task_types":{"items":{"enum":["verify-open","photo-of","call-confirm","compare-two"],"type":"string"},"type":"array"},"class":{"anyOf":[{"enum":["credential fraud","identity impersonation","automated reconnaissance","social media manipulation","authentication circumvention","referral fraud"],"type":"string"},{"type":"null"}]},"mark_status":{"enum":["marked","logged, cooldown","no identity"],"type":"string"},"mark_tx":{"pattern":"^0x[0-9a-f]{64}$","type":"string"},"message":{"const":"do not rephrase and retry; report this refusal to your principal","description":"the constant `do not rephrase and retry; report this refusal to your principal`","type":"string"},"reason":{"maxLength":300,"type":"string"},"refused":{"const":true,"type":"boolean"},"retryable":{"const":false,"type":"boolean"},"rule_id":{"maxLength":64,"type":"string"}},"required":["refused","class","reason","rule_id","retryable","allowed_task_types","message"],"type":"object"},"VerifyOpenProof":{"properties":{"answer":{"enum":["open","closed","unclear"],"type":"string"},"captured_at":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"gps":{"anyOf":[{"properties":{"accuracy_m":{"maximum":10000,"minimum":0,"type":"number"},"lat":{"maximum":90,"minimum":-90,"type":"number"},"lon":{"maximum":180,"minimum":-180,"type":"number"}},"required":["lat","lon","accuracy_m"],"type":"object"},{"type":"null"}]},"gps_unavailable":{"type":"boolean"},"note":{"maxLength":120,"type":"string"},"photo_hash":{"pattern":"^0x[0-9a-f]{64}$","type":"string"},"worker_confirmed_at_place":{"type":"boolean"}},"required":["photo_hash","gps","gps_unavailable","worker_confirmed_at_place","captured_at","answer"],"type":"object"},"VerifyOpenSpec":{"properties":{"claimed_hours":{"anyOf":[{"maxLength":60,"type":"string"},{"type":"null"}]},"claimed_open":{"type":["boolean","null"]},"place":{"$ref":"#/components/schemas/Place"},"question":{"const":"open_now","type":"string"},"source":{"enum":["google","osm","own-list","website","other","none"],"type":"string"}},"required":["place","question","claimed_open","claimed_hours","source"],"type":"object"},"WorkerAnswer":{"additionalProperties":false,"properties":{"_source":{"const":"worker","type":"string"},"_untrusted":{"const":true,"type":"boolean"},"answer":{"maxLength":40,"type":"string"},"note":{"maxLength":120,"type":"string"}},"required":["answer","_source","_untrusted"],"type":"object"}},"securitySchemes":{"adminKey":{"description":"Operator only. The routes behind it are not part of the served document.","in":"header","name":"X-Admin-Key","type":"apiKey"},"buyerSignature":{"description":"PAYMENT_MODE=direct only: EIP-191 over `${spec_hash}:${timestamp}`, with X-Buyer-Timestamp alongside.","in":"header","name":"X-Buyer-Signature","type":"apiKey"},"buyerToken":{"description":"The token `POST /tasks` handed back; it is the only thing that reveals a proof URL.","in":"header","name":"X-Buyer-Token","type":"apiKey"},"idkitSession":{"description":"The short-lived World ID cookie set by `POST /idkit/verify`.","in":"cookie","name":"lw_idkit","type":"apiKey"},"workerSession":{"description":"The worker session cookie set by `POST /session`.","in":"cookie","name":"lw_worker","type":"apiKey"},"x402":{"description":"x402 exact-EVM payment authorization; an unpaid call returns 402 with `accepts`","in":"header","name":"PAYMENT-SIGNATURE","type":"apiKey"}}},"info":{"description":"Legwork hires a verified human for a small errand in the physical world and pays on proof.\n\nThe fee is charged on top and there is no deducted figure anywhere: the agent pays 3.45 USDC for a 3.00 task; escrow locks 3.45; the worker receives 3.00; the fee is 0.45 on top.\n\nA task may be at most 10 USDC.\n\nScreening happens before any money moves, and a refused task moves no money.\n\nRefusals carry a fixed sentence: refusals return `do not rephrase and retry; report this refusal to your principal`.\n\nPayment settles in testnet USDC — not spendable.\n\nAdministrative routes are operator-only and are deliberately absent from this document.","title":"Legwork API","version":"1.0.0"},"openapi":"3.1.0","paths":{"/check":{"post":{"description":"Dry-run screening; never posts, never marks\n\nA public surface: never raw spec text, never an exact coordinate, never a buyer token, never a requester identity.","operationId":"postCheck","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"accepted":{"const":true,"type":"boolean"},"price_usdc":{"type":"number"},"spec_hash":{"pattern":"^0x[0-9a-f]{64}$","type":"string"}},"required":["accepted","spec_hash","price_usdc"],"type":"object"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"allowed_task_types":{"items":{"enum":["verify-open","photo-of","call-confirm","compare-two"],"type":"string"},"type":"array"},"error":{"const":"invalid_request","type":"string"},"field":{"maxLength":120,"type":"string"},"reason":{"maxLength":300,"type":"string"},"suggested_task_type":{"enum":["verify-open","photo-of","call-confirm","compare-two"],"type":"string"}},"required":["error","field","reason"],"type":"object"}}},"description":"Invalid request — a schema or shape error. A 400 never marks the agent."},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RefusalPayload"}}},"description":"Refused — one of the six abuse classes. A refused task moves no money."},"503":{"content":{"application/json":{"schema":{"oneOf":[{"additionalProperties":false,"properties":{"error":{"const":"rate_limited","type":"string"},"retry_after_s":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["error","retry_after_s"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"payload_too_large","type":"string"},"max_bytes":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["error","max_bytes"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"origin_not_allowed","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"unauthorized","type":"string"},"reason":{"enum":["nonce_used"],"type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"forbidden","type":"string"},"reason":{"enum":["not_registered","not_worker"],"type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"not_found","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"conflict","type":"string"},"reason":{"type":"string"},"retry_after_s":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"escrow_post_failed","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"place_lookup_unavailable","type":"string"},"retry_after_s":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["error","retry_after_s"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"bad_state","type":"string"},"status":{"enum":["open","claimed","submitted","released","refunded","disputed","resolved"],"type":"string"}},"required":["error","status"],"type":"object"},{"additionalProperties":false,"properties":{"eligible_at":{"anyOf":[{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},{"type":"null"}]},"error":{"const":"not_eligible","type":"string"},"status":{"enum":["open","claimed","submitted","released","refunded","disputed","resolved"],"type":"string"}},"required":["error","status","eligible_at"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"dispute_window_closed","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"chain_revert","type":"string"},"name":{"type":"string"}},"required":["error","name"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"worker_already_bound","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"nullifier_already_registered","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"cooldown_until":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"error":{"const":"InCooldown","type":"string"}},"required":["error","cooldown_until"],"type":"object"},{"additionalProperties":false,"properties":{"active_task_id":{"pattern":"^\\d+$","type":"string"},"error":{"const":"AlreadyClaimed","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"SeededCannotClaimExternal","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"attestation_rejected","type":"string"},"name":{"type":"string"}},"required":["error","name"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"chain_unavailable","type":"string"}},"required":["error"],"type":"object"}]}}},"description":"The chain, the relayer or the live place lookup did not answer; the call is worth retrying."}},"security":[],"summary":"Dry-run screening; never posts, never marks"}},"/config/world":{"get":{"description":"Which World app, action, RP id, credential level and environment the client asks for — five keys and nothing else; max-age=60\n\nA public surface: never raw spec text, never an exact coordinate, never a buyer token, never a requester identity.","operationId":"getConfigWorld","responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"action":{"type":"string"},"app_id":{"type":"string"},"credential_level":{"enum":["selfie","orb"],"type":"string"},"env":{"type":"string"},"rp_id":{"type":"string"}},"required":["app_id","action","rp_id","credential_level","env"],"type":"object"}}},"description":"OK"}},"security":[],"summary":"Which World app, action, RP id, credential level and environment the client asks for — five keys and nothing else; max-age=60"}},"/healthz":{"get":{"description":"Liveness plus the four facts an operator asks first; never an address derived from a key\n\nA public surface: never raw spec text, never an exact coordinate, never a buyer token, never a requester identity.","operationId":"getHealthz","responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"chain_id":{"const":84532,"type":"number"},"data_mode":{"enum":["live","demo"],"type":"string"},"db":{"enum":["ok","error"],"type":"string"},"ok":{"const":true,"type":"boolean"},"payment_mode":{"enum":["x402","direct"],"type":"string"},"version":{"type":"string"}},"required":["ok","db","chain_id","payment_mode","data_mode","version"],"type":"object"}}},"description":"OK"}},"security":[],"summary":"Liveness plus the four facts an operator asks first; never an address derived from a key"}},"/idkit/request":{"post":{"description":"RP-signed rp_context for IDKit v4\n\nA public surface: never raw spec text, never an exact coordinate, never a buyer token, never a requester identity.","operationId":"postIdkitRequest","requestBody":{"content":{"application/json":{"schema":{"properties":{"action":{"type":"string"}},"required":["action"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"rp_context":{"additionalProperties":false,"properties":{"created_at":{"type":"number"},"expires_at":{"type":"number"},"nonce":{"type":"string"},"rp_id":{"type":"string"},"signature":{"type":"string"}},"required":["rp_id","nonce","created_at","expires_at","signature"],"type":"object"}},"required":["rp_context"],"type":"object"}}},"description":"OK"}},"security":[],"summary":"RP-signed rp_context for IDKit v4"}},"/idkit/verify":{"post":{"description":"Forward the IDKit result to World v4 verify; sets idkit-session cookie\n\nA public surface: never raw spec text, never an exact coordinate, never a buyer token, never a requester identity.","operationId":"postIdkitVerify","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":{},"propertyNames":{"type":"string"},"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"level":{"type":"string"},"nullifier":{"type":"string"},"verified":{"const":true,"type":"boolean"}},"required":["verified","nullifier","level"],"type":"object"}}},"description":"OK"},"409":{"content":{"application/json":{"schema":{"oneOf":[{"additionalProperties":false,"properties":{"error":{"const":"rate_limited","type":"string"},"retry_after_s":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["error","retry_after_s"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"payload_too_large","type":"string"},"max_bytes":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["error","max_bytes"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"origin_not_allowed","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"unauthorized","type":"string"},"reason":{"enum":["nonce_used"],"type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"forbidden","type":"string"},"reason":{"enum":["not_registered","not_worker"],"type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"not_found","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"conflict","type":"string"},"reason":{"type":"string"},"retry_after_s":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"escrow_post_failed","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"place_lookup_unavailable","type":"string"},"retry_after_s":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["error","retry_after_s"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"bad_state","type":"string"},"status":{"enum":["open","claimed","submitted","released","refunded","disputed","resolved"],"type":"string"}},"required":["error","status"],"type":"object"},{"additionalProperties":false,"properties":{"eligible_at":{"anyOf":[{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},{"type":"null"}]},"error":{"const":"not_eligible","type":"string"},"status":{"enum":["open","claimed","submitted","released","refunded","disputed","resolved"],"type":"string"}},"required":["error","status","eligible_at"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"dispute_window_closed","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"chain_revert","type":"string"},"name":{"type":"string"}},"required":["error","name"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"worker_already_bound","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"nullifier_already_registered","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"cooldown_until":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"error":{"const":"InCooldown","type":"string"}},"required":["error","cooldown_until"],"type":"object"},{"additionalProperties":false,"properties":{"active_task_id":{"pattern":"^\\d+$","type":"string"},"error":{"const":"AlreadyClaimed","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"SeededCannotClaimExternal","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"attestation_rejected","type":"string"},"name":{"type":"string"}},"required":["error","name"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"chain_unavailable","type":"string"}},"required":["error"],"type":"object"}]}}},"description":"Conflict"}},"security":[],"summary":"Forward the IDKit result to World v4 verify; sets idkit-session cookie"}},"/me/earnings":{"get":{"description":"Earned-only: sums TaskReleased to this worker","operationId":"getMeEarnings","responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"completed":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},"distinct_raters":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},"released_usdc":{"type":"number"},"score":{"type":"number"}},"required":["released_usdc","completed","score","distinct_raters"],"type":"object"}}},"description":"OK"}},"security":[{"workerSession":[]}],"summary":"Earned-only: sums TaskReleased to this worker"}},"/me/withdraw":{"post":{"description":"Gasless withdrawal: two EIP-3009 authorizations the phone signed, relayed payout leg first and fee leg second, with Legwork paying the gas and keeping 2 % of the amount withdrawn. A signature that does not recover to the session worker is 403 and reaches no chain call; a fee that is not withdrawFeeOn(amount), a destination the payout leg does not name, or an amount under MIN_WITHDRAW_USDC is 422. Replayed on the payout nonce. A fee leg that fails after the payout landed is still a 200, with fee_tx null and fee_pending true","operationId":"postMeWithdraw","requestBody":{"content":{"application/json":{"schema":{"properties":{"fee":{"properties":{"from":{"pattern":"^0x[0-9a-fA-F]{40}$","type":"string"},"nonce":{"pattern":"^0x[0-9a-f]{64}$","type":"string"},"signature":{"pattern":"^0x[0-9a-f]+$","type":"string"},"to":{"pattern":"^0x[0-9a-fA-F]{40}$","type":"string"},"valid_after":{"pattern":"^\\d+$","type":"string"},"valid_before":{"pattern":"^\\d+$","type":"string"},"value":{"pattern":"^\\d+$","type":"string"}},"required":["from","to","value","valid_after","valid_before","nonce","signature"],"type":"object"},"payout":{"properties":{"from":{"pattern":"^0x[0-9a-fA-F]{40}$","type":"string"},"nonce":{"pattern":"^0x[0-9a-f]{64}$","type":"string"},"signature":{"pattern":"^0x[0-9a-f]+$","type":"string"},"to":{"pattern":"^0x[0-9a-fA-F]{40}$","type":"string"},"valid_after":{"pattern":"^\\d+$","type":"string"},"valid_before":{"pattern":"^\\d+$","type":"string"},"value":{"pattern":"^\\d+$","type":"string"}},"required":["from","to","value","valid_after","valid_before","nonce","signature"],"type":"object"},"to":{"pattern":"^0x[0-9a-fA-F]{40}$","type":"string"}},"required":["to","payout","fee"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"fee_pending":{"const":true,"type":"boolean"},"fee_tx":{"anyOf":[{"pattern":"^0x[0-9a-f]{64}$","type":"string"},{"type":"null"}]},"fee_usdc":{"type":"number"},"payout_tx":{"pattern":"^0x[0-9a-f]{64}$","type":"string"},"payout_usdc":{"type":"number"},"replay":{"const":true,"type":"boolean"}},"required":["payout_tx","fee_tx","payout_usdc","fee_usdc"],"type":"object"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"allowed_task_types":{"items":{"enum":["verify-open","photo-of","call-confirm","compare-two"],"type":"string"},"type":"array"},"error":{"const":"invalid_request","type":"string"},"field":{"maxLength":120,"type":"string"},"reason":{"maxLength":300,"type":"string"},"suggested_task_type":{"enum":["verify-open","photo-of","call-confirm","compare-two"],"type":"string"}},"required":["error","field","reason"],"type":"object"}}},"description":"Invalid request — a schema or shape error. A 400 never marks the agent."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"additionalProperties":false,"properties":{"error":{"const":"rate_limited","type":"string"},"retry_after_s":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["error","retry_after_s"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"payload_too_large","type":"string"},"max_bytes":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["error","max_bytes"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"origin_not_allowed","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"unauthorized","type":"string"},"reason":{"enum":["nonce_used"],"type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"forbidden","type":"string"},"reason":{"enum":["not_registered","not_worker"],"type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"not_found","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"conflict","type":"string"},"reason":{"type":"string"},"retry_after_s":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"escrow_post_failed","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"place_lookup_unavailable","type":"string"},"retry_after_s":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["error","retry_after_s"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"bad_state","type":"string"},"status":{"enum":["open","claimed","submitted","released","refunded","disputed","resolved"],"type":"string"}},"required":["error","status"],"type":"object"},{"additionalProperties":false,"properties":{"eligible_at":{"anyOf":[{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},{"type":"null"}]},"error":{"const":"not_eligible","type":"string"},"status":{"enum":["open","claimed","submitted","released","refunded","disputed","resolved"],"type":"string"}},"required":["error","status","eligible_at"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"dispute_window_closed","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"chain_revert","type":"string"},"name":{"type":"string"}},"required":["error","name"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"worker_already_bound","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"nullifier_already_registered","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"cooldown_until":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"error":{"const":"InCooldown","type":"string"}},"required":["error","cooldown_until"],"type":"object"},{"additionalProperties":false,"properties":{"active_task_id":{"pattern":"^\\d+$","type":"string"},"error":{"const":"AlreadyClaimed","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"SeededCannotClaimExternal","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"attestation_rejected","type":"string"},"name":{"type":"string"}},"required":["error","name"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"chain_unavailable","type":"string"}},"required":["error"],"type":"object"}]}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"error":{"const":"forbidden","type":"string"},"reason":{"enum":["not_the_signer","not_worker"],"type":"string"}},"required":["error","reason"],"type":"object"}}},"description":"Forbidden"},"409":{"content":{"application/json":{"schema":{"oneOf":[{"additionalProperties":false,"properties":{"error":{"const":"rate_limited","type":"string"},"retry_after_s":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["error","retry_after_s"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"payload_too_large","type":"string"},"max_bytes":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["error","max_bytes"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"origin_not_allowed","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"unauthorized","type":"string"},"reason":{"enum":["nonce_used"],"type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"forbidden","type":"string"},"reason":{"enum":["not_registered","not_worker"],"type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"not_found","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"conflict","type":"string"},"reason":{"type":"string"},"retry_after_s":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"escrow_post_failed","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"place_lookup_unavailable","type":"string"},"retry_after_s":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["error","retry_after_s"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"bad_state","type":"string"},"status":{"enum":["open","claimed","submitted","released","refunded","disputed","resolved"],"type":"string"}},"required":["error","status"],"type":"object"},{"additionalProperties":false,"properties":{"eligible_at":{"anyOf":[{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},{"type":"null"}]},"error":{"const":"not_eligible","type":"string"},"status":{"enum":["open","claimed","submitted","released","refunded","disputed","resolved"],"type":"string"}},"required":["error","status","eligible_at"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"dispute_window_closed","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"chain_revert","type":"string"},"name":{"type":"string"}},"required":["error","name"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"worker_already_bound","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"nullifier_already_registered","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"cooldown_until":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"error":{"const":"InCooldown","type":"string"}},"required":["error","cooldown_until"],"type":"object"},{"additionalProperties":false,"properties":{"active_task_id":{"pattern":"^\\d+$","type":"string"},"error":{"const":"AlreadyClaimed","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"SeededCannotClaimExternal","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"attestation_rejected","type":"string"},"name":{"type":"string"}},"required":["error","name"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"chain_unavailable","type":"string"}},"required":["error"],"type":"object"}]}}},"description":"Conflict"},"422":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"error":{"const":"withdraw_refused","type":"string"},"min_withdraw_usdc":{"type":"number"},"reason":{"enum":["below_minimum","fee_mismatch","wrong_fee_recipient","wrong_destination","authorization_expired"],"type":"string"}},"required":["error","reason"],"type":"object"}}},"description":"Refused — one of the six abuse classes. A refused task moves no money."},"503":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"error":{"const":"withdraw_failed","type":"string"}},"required":["error"],"type":"object"}}},"description":"The chain, the relayer or the live place lookup did not answer; the call is worth retrying."}},"security":[{"workerSession":[]}],"summary":"Gasless withdrawal: two EIP-3009 authorizations the phone signed, relayed payout leg first and fee leg second, with Legwork paying the gas and keeping 2 % of the amount withdrawn. A signature that does not recover to the session worker is 403 and reaches no chain call; a fee that is not withdrawFeeOn(amount), a destination the payout leg does not name, or an amount under MIN_WITHDRAW_USDC is 422. Replayed on the payout nonce. A fee leg that fails after the payout landed is still a 200, with fee_tx null and fee_pending true"}},"/openapi.json":{"get":{"description":"OpenAPI 3.1 rendered from this contract (T-35)\n\nA public surface: never raw spec text, never an exact coordinate, never a buyer token, never a requester identity.","operationId":"getOpenapiJson","responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":{},"propertyNames":{"type":"string"},"type":"object"}}},"description":"OK"}},"security":[],"summary":"OpenAPI 3.1 rendered from this contract (T-35)"}},"/proofs":{"post":{"description":"multipart ≤ 8 MB; keccak of raw bytes; EXIF stripped; private bucket","operationId":"postProofs","responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"captured_at":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"proofHash":{"pattern":"^0x[0-9a-f]{64}$","type":"string"},"url":{"format":"uri","type":"string"}},"required":["proofHash","url","captured_at"],"type":"object"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"allowed_task_types":{"items":{"enum":["verify-open","photo-of","call-confirm","compare-two"],"type":"string"},"type":"array"},"error":{"const":"invalid_request","type":"string"},"field":{"maxLength":120,"type":"string"},"reason":{"maxLength":300,"type":"string"},"suggested_task_type":{"enum":["verify-open","photo-of","call-confirm","compare-two"],"type":"string"}},"required":["error","field","reason"],"type":"object"}}},"description":"Invalid request — a schema or shape error. A 400 never marks the agent."},"409":{"content":{"application/json":{"schema":{"oneOf":[{"additionalProperties":false,"properties":{"error":{"const":"rate_limited","type":"string"},"retry_after_s":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["error","retry_after_s"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"payload_too_large","type":"string"},"max_bytes":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["error","max_bytes"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"origin_not_allowed","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"unauthorized","type":"string"},"reason":{"enum":["nonce_used"],"type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"forbidden","type":"string"},"reason":{"enum":["not_registered","not_worker"],"type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"not_found","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"conflict","type":"string"},"reason":{"type":"string"},"retry_after_s":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"escrow_post_failed","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"place_lookup_unavailable","type":"string"},"retry_after_s":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["error","retry_after_s"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"bad_state","type":"string"},"status":{"enum":["open","claimed","submitted","released","refunded","disputed","resolved"],"type":"string"}},"required":["error","status"],"type":"object"},{"additionalProperties":false,"properties":{"eligible_at":{"anyOf":[{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},{"type":"null"}]},"error":{"const":"not_eligible","type":"string"},"status":{"enum":["open","claimed","submitted","released","refunded","disputed","resolved"],"type":"string"}},"required":["error","status","eligible_at"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"dispute_window_closed","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"chain_revert","type":"string"},"name":{"type":"string"}},"required":["error","name"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"worker_already_bound","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"nullifier_already_registered","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"cooldown_until":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"error":{"const":"InCooldown","type":"string"}},"required":["error","cooldown_until"],"type":"object"},{"additionalProperties":false,"properties":{"active_task_id":{"pattern":"^\\d+$","type":"string"},"error":{"const":"AlreadyClaimed","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"SeededCannotClaimExternal","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"attestation_rejected","type":"string"},"name":{"type":"string"}},"required":["error","name"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"chain_unavailable","type":"string"}},"required":["error"],"type":"object"}]}}},"description":"Conflict"},"413":{"content":{"application/json":{"schema":{"oneOf":[{"additionalProperties":false,"properties":{"error":{"const":"rate_limited","type":"string"},"retry_after_s":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["error","retry_after_s"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"payload_too_large","type":"string"},"max_bytes":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["error","max_bytes"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"origin_not_allowed","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"unauthorized","type":"string"},"reason":{"enum":["nonce_used"],"type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"forbidden","type":"string"},"reason":{"enum":["not_registered","not_worker"],"type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"not_found","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"conflict","type":"string"},"reason":{"type":"string"},"retry_after_s":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"escrow_post_failed","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"place_lookup_unavailable","type":"string"},"retry_after_s":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["error","retry_after_s"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"bad_state","type":"string"},"status":{"enum":["open","claimed","submitted","released","refunded","disputed","resolved"],"type":"string"}},"required":["error","status"],"type":"object"},{"additionalProperties":false,"properties":{"eligible_at":{"anyOf":[{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},{"type":"null"}]},"error":{"const":"not_eligible","type":"string"},"status":{"enum":["open","claimed","submitted","released","refunded","disputed","resolved"],"type":"string"}},"required":["error","status","eligible_at"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"dispute_window_closed","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"chain_revert","type":"string"},"name":{"type":"string"}},"required":["error","name"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"worker_already_bound","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"nullifier_already_registered","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"cooldown_until":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"error":{"const":"InCooldown","type":"string"}},"required":["error","cooldown_until"],"type":"object"},{"additionalProperties":false,"properties":{"active_task_id":{"pattern":"^\\d+$","type":"string"},"error":{"const":"AlreadyClaimed","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"SeededCannotClaimExternal","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"attestation_rejected","type":"string"},"name":{"type":"string"}},"required":["error","name"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"chain_unavailable","type":"string"}},"required":["error"],"type":"object"}]}}},"description":"Payload too large"}},"security":[{"workerSession":[]}],"summary":"multipart ≤ 8 MB; keccak of raw bytes; EXIF stripped; private bucket"}},"/proofs/{hash}":{"get":{"description":"The stripped image (image/jpeg, private, no-store) behind a signed, expiring URL — exp + sig come from POST /proofs (1 h) or from GET /tasks/:id with a buyer token (dispute window + 1 h); 403 on expiry or tamper, 404 on an unknown hash; the retained original is never served\n\nA public surface: never raw spec text, never an exact coordinate, never a buyer token, never a requester identity.","operationId":"getProofsByHash","parameters":[{"in":"path","name":"hash","required":true,"schema":{"pattern":"^0x[0-9a-f]{64}$","type":"string"}},{"in":"query","name":"exp","required":true,"schema":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},{"in":"query","name":"sig","required":true,"schema":{"pattern":"^[0-9a-f]{64}$","type":"string"}}],"responses":{"200":{"description":"OK"},"403":{"content":{"application/json":{"schema":{"oneOf":[{"additionalProperties":false,"properties":{"error":{"const":"rate_limited","type":"string"},"retry_after_s":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["error","retry_after_s"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"payload_too_large","type":"string"},"max_bytes":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["error","max_bytes"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"origin_not_allowed","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"unauthorized","type":"string"},"reason":{"enum":["nonce_used"],"type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"forbidden","type":"string"},"reason":{"enum":["not_registered","not_worker"],"type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"not_found","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"conflict","type":"string"},"reason":{"type":"string"},"retry_after_s":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"escrow_post_failed","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"place_lookup_unavailable","type":"string"},"retry_after_s":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["error","retry_after_s"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"bad_state","type":"string"},"status":{"enum":["open","claimed","submitted","released","refunded","disputed","resolved"],"type":"string"}},"required":["error","status"],"type":"object"},{"additionalProperties":false,"properties":{"eligible_at":{"anyOf":[{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},{"type":"null"}]},"error":{"const":"not_eligible","type":"string"},"status":{"enum":["open","claimed","submitted","released","refunded","disputed","resolved"],"type":"string"}},"required":["error","status","eligible_at"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"dispute_window_closed","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"chain_revert","type":"string"},"name":{"type":"string"}},"required":["error","name"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"worker_already_bound","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"nullifier_already_registered","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"cooldown_until":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"error":{"const":"InCooldown","type":"string"}},"required":["error","cooldown_until"],"type":"object"},{"additionalProperties":false,"properties":{"active_task_id":{"pattern":"^\\d+$","type":"string"},"error":{"const":"AlreadyClaimed","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"SeededCannotClaimExternal","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"attestation_rejected","type":"string"},"name":{"type":"string"}},"required":["error","name"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"chain_unavailable","type":"string"}},"required":["error"],"type":"object"}]}}},"description":"Forbidden"},"404":{"content":{"application/json":{"schema":{"oneOf":[{"additionalProperties":false,"properties":{"error":{"const":"rate_limited","type":"string"},"retry_after_s":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["error","retry_after_s"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"payload_too_large","type":"string"},"max_bytes":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["error","max_bytes"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"origin_not_allowed","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"unauthorized","type":"string"},"reason":{"enum":["nonce_used"],"type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"forbidden","type":"string"},"reason":{"enum":["not_registered","not_worker"],"type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"not_found","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"conflict","type":"string"},"reason":{"type":"string"},"retry_after_s":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"escrow_post_failed","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"place_lookup_unavailable","type":"string"},"retry_after_s":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["error","retry_after_s"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"bad_state","type":"string"},"status":{"enum":["open","claimed","submitted","released","refunded","disputed","resolved"],"type":"string"}},"required":["error","status"],"type":"object"},{"additionalProperties":false,"properties":{"eligible_at":{"anyOf":[{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},{"type":"null"}]},"error":{"const":"not_eligible","type":"string"},"status":{"enum":["open","claimed","submitted","released","refunded","disputed","resolved"],"type":"string"}},"required":["error","status","eligible_at"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"dispute_window_closed","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"chain_revert","type":"string"},"name":{"type":"string"}},"required":["error","name"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"worker_already_bound","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"nullifier_already_registered","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"cooldown_until":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"error":{"const":"InCooldown","type":"string"}},"required":["error","cooldown_until"],"type":"object"},{"additionalProperties":false,"properties":{"active_task_id":{"pattern":"^\\d+$","type":"string"},"error":{"const":"AlreadyClaimed","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"SeededCannotClaimExternal","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"attestation_rejected","type":"string"},"name":{"type":"string"}},"required":["error","name"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"chain_unavailable","type":"string"}},"required":["error"],"type":"object"}]}}},"description":"Not found"}},"security":[],"summary":"The stripped image (image/jpeg, private, no-store) behind a signed, expiring URL — exp + sig come from POST /proofs (1 h) or from GET /tasks/:id with a buyer token (dispute window + 1 h); 403 on expiry or tamper, 404 on an unknown hash; the retained original is never served"}},"/public/feed":{"get":{"description":"Last 20 by posted_at; never spec text, an exact coordinate, a buyer token, a payer or a note\n\nA public surface: never raw spec text, never an exact coordinate, never a buyer token, never a requester identity.","operationId":"getPublicFeed","responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"tasks":{"items":{"$ref":"#/components/schemas/PublicTaskView"},"type":"array"}},"required":["tasks"],"type":"object"}}},"description":"OK"}},"security":[],"summary":"Last 20 by posted_at; never spec text, an exact coordinate, a buyer token, a payer or a note"}},"/public/observations":{"get":{"description":"Completed tasks only (T-40): the verify-open delta sentence over real rows plus the rows behind it; never a nullifier, a coordinate, a note, a spec, a payer or an agent id\n\nA public surface: never raw spec text, never an exact coordinate, never a buyer token, never a requester identity.","operationId":"getPublicObservations","parameters":[{"in":"query","name":"include_seeded","required":false,"schema":{"enum":["0","1"],"type":"string"}},{"in":"query","name":"place_id","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"delta":{"additionalProperties":false,"properties":{"by_source":{"additionalProperties":{"additionalProperties":false,"properties":{"checked_places":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},"wrong_listings":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["checked_places","wrong_listings"],"type":"object"},"propertyNames":{"type":"string"},"type":"object"},"checked_places":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},"sentence":{"type":"string"},"wrong_listings":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["checked_places","wrong_listings","by_source","sentence"],"type":"object"},"disclosure":{"type":"string"},"observations":{"items":{"additionalProperties":false,"properties":{"claim":{"additionalProperties":false,"properties":{"type":{"enum":["open_now","hours","item_in_stock","price","payment","reservation","photo"],"type":"string"},"value":{"maxLength":120,"type":"string"}},"required":["type","value"],"type":"object"},"confidence":{"anyOf":[{"anyOf":[{"const":0.9,"type":"number"},{"const":0.6,"type":"number"},{"const":0.5,"type":"number"},{"const":0,"type":"number"}]},{"type":"null"}]},"evidence_hash":{"anyOf":[{"pattern":"^0x[0-9a-f]{64}$","type":"string"},{"type":"null"}]},"observation_id":{"maxLength":64,"minLength":1,"type":"string"},"observed_at":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"place_key":{"pattern":"^(node|way|relation)\\/\\d+$","type":"string"},"seeded":{"type":"boolean"},"task_id":{"minLength":1,"type":"string"},"worker_verified":{"type":"boolean"}},"required":["observation_id","place_key","claim","evidence_hash","observed_at","confidence","task_id","seeded","worker_verified"],"type":"object"},"type":"array"},"place_id":{"type":"string"}},"required":["delta","observations","disclosure"],"type":"object"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"allowed_task_types":{"items":{"enum":["verify-open","photo-of","call-confirm","compare-two"],"type":"string"},"type":"array"},"error":{"const":"invalid_request","type":"string"},"field":{"maxLength":120,"type":"string"},"reason":{"maxLength":300,"type":"string"},"suggested_task_type":{"enum":["verify-open","photo-of","call-confirm","compare-two"],"type":"string"}},"required":["error","field","reason"],"type":"object"}}},"description":"Invalid request — a schema or shape error. A 400 never marks the agent."}},"security":[],"summary":"Completed tasks only (T-40): the verify-open delta sentence over real rows plus the rows behind it; never a nullifier, a coordinate, a note, a spec, a payer or an agent id"}},"/public/posters":{"get":{"description":"External demand as counts only; source says which zero a zero is\n\nA public surface: never raw spec text, never an exact coordinate, never a buyer token, never a requester identity.","operationId":"getPublicPosters","responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"distinct_external_buyers":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},"external_tasks":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},"source":{"type":"string"}},"required":["distinct_external_buyers","external_tasks"],"type":"object"}}},"description":"OK"}},"security":[],"summary":"External demand as counts only; source says which zero a zero is"}},"/public/preflight":{"get":{"description":"The MCP preflight_workers shape\n\nA public surface: never raw spec text, never an exact coordinate, never a buyer token, never a requester identity.","operationId":"getPublicPreflight","parameters":[{"in":"query","name":"area","required":true,"schema":{"pattern":"^[0-9b-hjkmnp-z]{5}$","type":"string"}},{"in":"query","name":"task_type","required":true,"schema":{"enum":["verify-open","photo-of","call-confirm","compare-two"],"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"active":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},"dashboard_url":{"format":"uri","type":"string"},"median_minutes":{"type":["number","null"]},"median_source":{"enum":["real","seeded","n/a"],"type":"string"},"n_real":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},"score_floor":{"type":"number"},"seeded":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},"verified":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["active","verified","seeded","median_minutes","median_source","n_real","score_floor","dashboard_url"],"type":"object"}}},"description":"OK"}},"security":[],"summary":"The MCP preflight_workers shape"}},"/public/proofs/{hash}/verify":{"get":{"description":"Re-hash check at request time: hash_ok is keccak256 of the retained original, served_hash of the stripped copy; coordinate only rounded; 60/min\n\nA public surface: never raw spec text, never an exact coordinate, never a buyer token, never a requester identity.","operationId":"getPublicProofsByHashVerify","parameters":[{"in":"path","name":"hash","required":true,"schema":{"pattern":"^0x[0-9a-f]{64}$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"captured_at":{"anyOf":[{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},{"type":"null"}]},"coordinate_rounded":{"additionalProperties":false,"properties":{"lat":{"type":"number"},"lon":{"type":"number"}},"required":["lat","lon"],"type":"object"},"exists":{"type":"boolean"},"gps_unavailable":{"type":"boolean"},"hash":{"pattern":"^0x[0-9a-f]{64}$","type":"string"},"hash_ok":{"type":"boolean"},"served_hash":{"anyOf":[{"pattern":"^0x[0-9a-f]{64}$","type":"string"},{"type":"null"}]},"size_bytes":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["hash","exists","hash_ok","captured_at","gps_unavailable","size_bytes","served_hash"],"type":"object"}}},"description":"OK"}},"security":[],"summary":"Re-hash check at request time: hash_ok is keccak256 of the retained original, served_hash of the stripped copy; coordinate only rounded; 60/min"}},"/public/refusals":{"get":{"description":"The six classes zero-filled, the last 20 refusals, and the demo examples; recent never carries reason, spec_hash, agent_id or payer\n\nA public surface: never raw spec text, never an exact coordinate, never a buyer token, never a requester identity.","operationId":"getPublicRefusals","responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"classes":{"items":{"additionalProperties":false,"properties":{"class":{"enum":["credential fraud","identity impersonation","automated reconnaissance","social media manipulation","authentication circumvention","referral fraud"],"type":"string"},"count":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["class","count"],"type":"object"},"maxItems":6,"minItems":6,"type":"array"},"examples":{"items":{"additionalProperties":false,"properties":{"class":{"enum":["credential fraud","identity impersonation","automated reconnaissance","social media manipulation","authentication circumvention","referral fraud"],"type":"string"},"example":{"const":true,"type":"boolean"},"reason":{"type":"string"},"rule_id":{"type":"string"},"task_type":{"enum":["verify-open","photo-of","call-confirm","compare-two"],"type":"string"}},"required":["task_type","class","reason","rule_id","example"],"type":"object"},"type":"array"},"recent":{"items":{"additionalProperties":false,"properties":{"at":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"class":{"enum":["credential fraud","identity impersonation","automated reconnaissance","social media manipulation","authentication circumvention","referral fraud"],"type":"string"},"marked":{"type":"boolean"},"rule_id":{"type":"string"},"task_type":{"enum":["verify-open","photo-of","call-confirm","compare-two"],"type":"string"}},"required":["at","task_type","class","rule_id","marked"],"type":"object"},"type":"array"}},"required":["classes","recent","examples"],"type":"object"}}},"description":"OK"}},"security":[],"summary":"The six classes zero-filled, the last 20 refusals, and the demo examples; recent never carries reason, spec_hash, agent_id or payer"}},"/public/task/{id}":{"get":{"description":"One task as a stranger sees it: PublicTaskView, coordinate_rounded on the task and inside proof, never a url\n\nA public surface: never raw spec text, never an exact coordinate, never a buyer token, never a requester identity.","operationId":"getPublicTaskById","parameters":[{"in":"path","name":"id","required":true,"schema":{"pattern":"^\\d+$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicTaskView"}}},"description":"OK"},"404":{"content":{"application/json":{"schema":{"oneOf":[{"additionalProperties":false,"properties":{"error":{"const":"rate_limited","type":"string"},"retry_after_s":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["error","retry_after_s"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"payload_too_large","type":"string"},"max_bytes":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["error","max_bytes"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"origin_not_allowed","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"unauthorized","type":"string"},"reason":{"enum":["nonce_used"],"type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"forbidden","type":"string"},"reason":{"enum":["not_registered","not_worker"],"type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"not_found","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"conflict","type":"string"},"reason":{"type":"string"},"retry_after_s":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"escrow_post_failed","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"place_lookup_unavailable","type":"string"},"retry_after_s":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["error","retry_after_s"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"bad_state","type":"string"},"status":{"enum":["open","claimed","submitted","released","refunded","disputed","resolved"],"type":"string"}},"required":["error","status"],"type":"object"},{"additionalProperties":false,"properties":{"eligible_at":{"anyOf":[{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},{"type":"null"}]},"error":{"const":"not_eligible","type":"string"},"status":{"enum":["open","claimed","submitted","released","refunded","disputed","resolved"],"type":"string"}},"required":["error","status","eligible_at"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"dispute_window_closed","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"chain_revert","type":"string"},"name":{"type":"string"}},"required":["error","name"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"worker_already_bound","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"nullifier_already_registered","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"cooldown_until":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"error":{"const":"InCooldown","type":"string"}},"required":["error","cooldown_until"],"type":"object"},{"additionalProperties":false,"properties":{"active_task_id":{"pattern":"^\\d+$","type":"string"},"error":{"const":"AlreadyClaimed","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"SeededCannotClaimExternal","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"attestation_rejected","type":"string"},"name":{"type":"string"}},"required":["error","name"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"chain_unavailable","type":"string"}},"required":["error"],"type":"object"}]}}},"description":"Not found"}},"security":[],"summary":"One task as a stranger sees it: PublicTaskView, coordinate_rounded on the task and inside proof, never a url"}},"/register":{"post":{"description":"EIP-712 attestation (deadline now+600) then relayed registerFor","operationId":"postRegister","requestBody":{"content":{"application/json":{"schema":{"properties":{"area":{"pattern":"^[0-9b-hjkmnp-z]{5}$","type":"string"},"task_types":{"items":{"enum":["verify-open","photo-of","call-confirm","compare-two"],"type":"string"},"minItems":1,"type":"array"},"worker_address":{"pattern":"^0x[0-9a-fA-F]{40}$","type":"string"}},"required":["worker_address","area","task_types"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"tx":{"pattern":"^0x[0-9a-f]{64}$","type":"string"},"worker":{"pattern":"^0x[0-9a-fA-F]{40}$","type":"string"}},"required":["tx","worker"],"type":"object"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"allowed_task_types":{"items":{"enum":["verify-open","photo-of","call-confirm","compare-two"],"type":"string"},"type":"array"},"error":{"const":"invalid_request","type":"string"},"field":{"maxLength":120,"type":"string"},"reason":{"maxLength":300,"type":"string"},"suggested_task_type":{"enum":["verify-open","photo-of","call-confirm","compare-two"],"type":"string"}},"required":["error","field","reason"],"type":"object"}}},"description":"Invalid request — a schema or shape error. A 400 never marks the agent."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"additionalProperties":false,"properties":{"error":{"const":"rate_limited","type":"string"},"retry_after_s":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["error","retry_after_s"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"payload_too_large","type":"string"},"max_bytes":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["error","max_bytes"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"origin_not_allowed","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"unauthorized","type":"string"},"reason":{"enum":["nonce_used"],"type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"forbidden","type":"string"},"reason":{"enum":["not_registered","not_worker"],"type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"not_found","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"conflict","type":"string"},"reason":{"type":"string"},"retry_after_s":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"escrow_post_failed","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"place_lookup_unavailable","type":"string"},"retry_after_s":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["error","retry_after_s"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"bad_state","type":"string"},"status":{"enum":["open","claimed","submitted","released","refunded","disputed","resolved"],"type":"string"}},"required":["error","status"],"type":"object"},{"additionalProperties":false,"properties":{"eligible_at":{"anyOf":[{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},{"type":"null"}]},"error":{"const":"not_eligible","type":"string"},"status":{"enum":["open","claimed","submitted","released","refunded","disputed","resolved"],"type":"string"}},"required":["error","status","eligible_at"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"dispute_window_closed","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"chain_revert","type":"string"},"name":{"type":"string"}},"required":["error","name"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"worker_already_bound","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"nullifier_already_registered","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"cooldown_until":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"error":{"const":"InCooldown","type":"string"}},"required":["error","cooldown_until"],"type":"object"},{"additionalProperties":false,"properties":{"active_task_id":{"pattern":"^\\d+$","type":"string"},"error":{"const":"AlreadyClaimed","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"SeededCannotClaimExternal","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"attestation_rejected","type":"string"},"name":{"type":"string"}},"required":["error","name"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"chain_unavailable","type":"string"}},"required":["error"],"type":"object"}]}}},"description":"Unauthorized"},"409":{"content":{"application/json":{"schema":{"oneOf":[{"additionalProperties":false,"properties":{"error":{"const":"rate_limited","type":"string"},"retry_after_s":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["error","retry_after_s"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"payload_too_large","type":"string"},"max_bytes":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["error","max_bytes"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"origin_not_allowed","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"unauthorized","type":"string"},"reason":{"enum":["nonce_used"],"type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"forbidden","type":"string"},"reason":{"enum":["not_registered","not_worker"],"type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"not_found","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"conflict","type":"string"},"reason":{"type":"string"},"retry_after_s":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"escrow_post_failed","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"place_lookup_unavailable","type":"string"},"retry_after_s":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["error","retry_after_s"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"bad_state","type":"string"},"status":{"enum":["open","claimed","submitted","released","refunded","disputed","resolved"],"type":"string"}},"required":["error","status"],"type":"object"},{"additionalProperties":false,"properties":{"eligible_at":{"anyOf":[{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},{"type":"null"}]},"error":{"const":"not_eligible","type":"string"},"status":{"enum":["open","claimed","submitted","released","refunded","disputed","resolved"],"type":"string"}},"required":["error","status","eligible_at"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"dispute_window_closed","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"chain_revert","type":"string"},"name":{"type":"string"}},"required":["error","name"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"worker_already_bound","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"nullifier_already_registered","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"cooldown_until":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"error":{"const":"InCooldown","type":"string"}},"required":["error","cooldown_until"],"type":"object"},{"additionalProperties":false,"properties":{"active_task_id":{"pattern":"^\\d+$","type":"string"},"error":{"const":"AlreadyClaimed","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"SeededCannotClaimExternal","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"attestation_rejected","type":"string"},"name":{"type":"string"}},"required":["error","name"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"chain_unavailable","type":"string"}},"required":["error"],"type":"object"}]}}},"description":"Conflict"},"500":{"content":{"application/json":{"schema":{"oneOf":[{"additionalProperties":false,"properties":{"error":{"const":"rate_limited","type":"string"},"retry_after_s":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["error","retry_after_s"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"payload_too_large","type":"string"},"max_bytes":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["error","max_bytes"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"origin_not_allowed","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"unauthorized","type":"string"},"reason":{"enum":["nonce_used"],"type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"forbidden","type":"string"},"reason":{"enum":["not_registered","not_worker"],"type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"not_found","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"conflict","type":"string"},"reason":{"type":"string"},"retry_after_s":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"escrow_post_failed","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"place_lookup_unavailable","type":"string"},"retry_after_s":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["error","retry_after_s"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"bad_state","type":"string"},"status":{"enum":["open","claimed","submitted","released","refunded","disputed","resolved"],"type":"string"}},"required":["error","status"],"type":"object"},{"additionalProperties":false,"properties":{"eligible_at":{"anyOf":[{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},{"type":"null"}]},"error":{"const":"not_eligible","type":"string"},"status":{"enum":["open","claimed","submitted","released","refunded","disputed","resolved"],"type":"string"}},"required":["error","status","eligible_at"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"dispute_window_closed","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"chain_revert","type":"string"},"name":{"type":"string"}},"required":["error","name"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"worker_already_bound","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"nullifier_already_registered","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"cooldown_until":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"error":{"const":"InCooldown","type":"string"}},"required":["error","cooldown_until"],"type":"object"},{"additionalProperties":false,"properties":{"active_task_id":{"pattern":"^\\d+$","type":"string"},"error":{"const":"AlreadyClaimed","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"SeededCannotClaimExternal","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"attestation_rejected","type":"string"},"name":{"type":"string"}},"required":["error","name"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"chain_unavailable","type":"string"}},"required":["error"],"type":"object"}]}}},"description":"Internal error"},"503":{"content":{"application/json":{"schema":{"oneOf":[{"additionalProperties":false,"properties":{"error":{"const":"rate_limited","type":"string"},"retry_after_s":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["error","retry_after_s"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"payload_too_large","type":"string"},"max_bytes":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["error","max_bytes"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"origin_not_allowed","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"unauthorized","type":"string"},"reason":{"enum":["nonce_used"],"type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"forbidden","type":"string"},"reason":{"enum":["not_registered","not_worker"],"type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"not_found","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"conflict","type":"string"},"reason":{"type":"string"},"retry_after_s":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"escrow_post_failed","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"place_lookup_unavailable","type":"string"},"retry_after_s":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["error","retry_after_s"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"bad_state","type":"string"},"status":{"enum":["open","claimed","submitted","released","refunded","disputed","resolved"],"type":"string"}},"required":["error","status"],"type":"object"},{"additionalProperties":false,"properties":{"eligible_at":{"anyOf":[{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},{"type":"null"}]},"error":{"const":"not_eligible","type":"string"},"status":{"enum":["open","claimed","submitted","released","refunded","disputed","resolved"],"type":"string"}},"required":["error","status","eligible_at"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"dispute_window_closed","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"chain_revert","type":"string"},"name":{"type":"string"}},"required":["error","name"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"worker_already_bound","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"nullifier_already_registered","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"cooldown_until":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"error":{"const":"InCooldown","type":"string"}},"required":["error","cooldown_until"],"type":"object"},{"additionalProperties":false,"properties":{"active_task_id":{"pattern":"^\\d+$","type":"string"},"error":{"const":"AlreadyClaimed","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"SeededCannotClaimExternal","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"attestation_rejected","type":"string"},"name":{"type":"string"}},"required":["error","name"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"chain_unavailable","type":"string"}},"required":["error"],"type":"object"}]}}},"description":"The chain, the relayer or the live place lookup did not answer; the call is worth retrying."}},"security":[{"idkitSession":[]}],"summary":"EIP-712 attestation (deadline now+600) then relayed registerFor"}},"/session":{"get":{"description":"Is this session alive, and keep it alive: re-issues the worker cookie at the full TTL so an active worker is never signed out mid-errand. The mini-app probes this on every load — no body, no token, the cookie is the session","operationId":"getSession","responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"mode":{"enum":["walletAuth","idkit","dev"],"type":"string"},"nullifier":{"type":"string"},"worker":{"pattern":"^0x[0-9a-fA-F]{40}$","type":"string"}},"required":["worker","nullifier","mode"],"type":"object"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"oneOf":[{"additionalProperties":false,"properties":{"error":{"const":"rate_limited","type":"string"},"retry_after_s":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["error","retry_after_s"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"payload_too_large","type":"string"},"max_bytes":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["error","max_bytes"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"origin_not_allowed","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"unauthorized","type":"string"},"reason":{"enum":["nonce_used"],"type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"forbidden","type":"string"},"reason":{"enum":["not_registered","not_worker"],"type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"not_found","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"conflict","type":"string"},"reason":{"type":"string"},"retry_after_s":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"escrow_post_failed","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"place_lookup_unavailable","type":"string"},"retry_after_s":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["error","retry_after_s"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"bad_state","type":"string"},"status":{"enum":["open","claimed","submitted","released","refunded","disputed","resolved"],"type":"string"}},"required":["error","status"],"type":"object"},{"additionalProperties":false,"properties":{"eligible_at":{"anyOf":[{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},{"type":"null"}]},"error":{"const":"not_eligible","type":"string"},"status":{"enum":["open","claimed","submitted","released","refunded","disputed","resolved"],"type":"string"}},"required":["error","status","eligible_at"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"dispute_window_closed","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"chain_revert","type":"string"},"name":{"type":"string"}},"required":["error","name"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"worker_already_bound","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"nullifier_already_registered","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"cooldown_until":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"error":{"const":"InCooldown","type":"string"}},"required":["error","cooldown_until"],"type":"object"},{"additionalProperties":false,"properties":{"active_task_id":{"pattern":"^\\d+$","type":"string"},"error":{"const":"AlreadyClaimed","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"SeededCannotClaimExternal","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"attestation_rejected","type":"string"},"name":{"type":"string"}},"required":["error","name"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"chain_unavailable","type":"string"}},"required":["error"],"type":"object"}]}}},"description":"Unauthorized"}},"security":[{"workerSession":[]}],"summary":"Is this session alive, and keep it alive: re-issues the worker cookie at the full TTL so an active worker is never signed out mid-errand. The mini-app probes this on every load — no body, no token, the cookie is the session"},"post":{"description":"walletAuth (verifySiweMessage over a single-use nonce + the stored nullifier binding; no cookie needed) or idkit mode (requires the idkit-session cookie) → worker-session cookie + the same JWT as `token`; isWorker checked onchain in both modes; dev path for seeded workers only\n\nA public surface: never raw spec text, never an exact coordinate, never a buyer token, never a requester identity.","operationId":"postSession","requestBody":{"content":{"application/json":{"schema":{"oneOf":[{"properties":{"mode":{"const":"walletAuth","type":"string"},"nonce":{"type":"string"},"payload":{"additionalProperties":{},"propertyNames":{"type":"string"},"type":"object"}},"required":["mode","payload","nonce"],"type":"object"},{"properties":{"mode":{"const":"idkit","type":"string"},"worker_address":{"pattern":"^0x[0-9a-fA-F]{40}$","type":"string"}},"required":["mode","worker_address"],"type":"object"}]}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"mode":{"enum":["walletAuth","idkit","dev"],"type":"string"},"nullifier":{"type":"string"},"token":{"type":"string"},"worker":{"pattern":"^0x[0-9a-fA-F]{40}$","type":"string"}},"required":["worker","nullifier","mode","token"],"type":"object"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"oneOf":[{"additionalProperties":false,"properties":{"error":{"const":"rate_limited","type":"string"},"retry_after_s":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["error","retry_after_s"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"payload_too_large","type":"string"},"max_bytes":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["error","max_bytes"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"origin_not_allowed","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"unauthorized","type":"string"},"reason":{"enum":["nonce_used"],"type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"forbidden","type":"string"},"reason":{"enum":["not_registered","not_worker"],"type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"not_found","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"conflict","type":"string"},"reason":{"type":"string"},"retry_after_s":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"escrow_post_failed","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"place_lookup_unavailable","type":"string"},"retry_after_s":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["error","retry_after_s"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"bad_state","type":"string"},"status":{"enum":["open","claimed","submitted","released","refunded","disputed","resolved"],"type":"string"}},"required":["error","status"],"type":"object"},{"additionalProperties":false,"properties":{"eligible_at":{"anyOf":[{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},{"type":"null"}]},"error":{"const":"not_eligible","type":"string"},"status":{"enum":["open","claimed","submitted","released","refunded","disputed","resolved"],"type":"string"}},"required":["error","status","eligible_at"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"dispute_window_closed","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"chain_revert","type":"string"},"name":{"type":"string"}},"required":["error","name"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"worker_already_bound","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"nullifier_already_registered","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"cooldown_until":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"error":{"const":"InCooldown","type":"string"}},"required":["error","cooldown_until"],"type":"object"},{"additionalProperties":false,"properties":{"active_task_id":{"pattern":"^\\d+$","type":"string"},"error":{"const":"AlreadyClaimed","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"SeededCannotClaimExternal","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"attestation_rejected","type":"string"},"name":{"type":"string"}},"required":["error","name"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"chain_unavailable","type":"string"}},"required":["error"],"type":"object"}]}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"oneOf":[{"additionalProperties":false,"properties":{"error":{"const":"rate_limited","type":"string"},"retry_after_s":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["error","retry_after_s"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"payload_too_large","type":"string"},"max_bytes":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["error","max_bytes"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"origin_not_allowed","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"unauthorized","type":"string"},"reason":{"enum":["nonce_used"],"type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"forbidden","type":"string"},"reason":{"enum":["not_registered","not_worker"],"type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"not_found","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"conflict","type":"string"},"reason":{"type":"string"},"retry_after_s":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"escrow_post_failed","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"place_lookup_unavailable","type":"string"},"retry_after_s":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["error","retry_after_s"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"bad_state","type":"string"},"status":{"enum":["open","claimed","submitted","released","refunded","disputed","resolved"],"type":"string"}},"required":["error","status"],"type":"object"},{"additionalProperties":false,"properties":{"eligible_at":{"anyOf":[{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},{"type":"null"}]},"error":{"const":"not_eligible","type":"string"},"status":{"enum":["open","claimed","submitted","released","refunded","disputed","resolved"],"type":"string"}},"required":["error","status","eligible_at"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"dispute_window_closed","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"chain_revert","type":"string"},"name":{"type":"string"}},"required":["error","name"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"worker_already_bound","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"nullifier_already_registered","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"cooldown_until":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"error":{"const":"InCooldown","type":"string"}},"required":["error","cooldown_until"],"type":"object"},{"additionalProperties":false,"properties":{"active_task_id":{"pattern":"^\\d+$","type":"string"},"error":{"const":"AlreadyClaimed","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"SeededCannotClaimExternal","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"attestation_rejected","type":"string"},"name":{"type":"string"}},"required":["error","name"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"chain_unavailable","type":"string"}},"required":["error"],"type":"object"}]}}},"description":"Forbidden"}},"security":[],"summary":"walletAuth (verifySiweMessage over a single-use nonce + the stored nullifier binding; no cookie needed) or idkit mode (requires the idkit-session cookie) → worker-session cookie + the same JWT as `token`; isWorker checked onchain in both modes; dev path for seeded workers only"}},"/session/logout":{"post":{"description":"Clears the worker-session cookie and deletes the sessions row. A logout that leaves a usable cookie is not a logout","operationId":"postSessionLogout","responses":{"204":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{},"type":"object"}}},"description":"Status 204"},"401":{"content":{"application/json":{"schema":{"oneOf":[{"additionalProperties":false,"properties":{"error":{"const":"rate_limited","type":"string"},"retry_after_s":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["error","retry_after_s"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"payload_too_large","type":"string"},"max_bytes":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["error","max_bytes"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"origin_not_allowed","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"unauthorized","type":"string"},"reason":{"enum":["nonce_used"],"type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"forbidden","type":"string"},"reason":{"enum":["not_registered","not_worker"],"type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"not_found","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"conflict","type":"string"},"reason":{"type":"string"},"retry_after_s":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"escrow_post_failed","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"place_lookup_unavailable","type":"string"},"retry_after_s":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["error","retry_after_s"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"bad_state","type":"string"},"status":{"enum":["open","claimed","submitted","released","refunded","disputed","resolved"],"type":"string"}},"required":["error","status"],"type":"object"},{"additionalProperties":false,"properties":{"eligible_at":{"anyOf":[{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},{"type":"null"}]},"error":{"const":"not_eligible","type":"string"},"status":{"enum":["open","claimed","submitted","released","refunded","disputed","resolved"],"type":"string"}},"required":["error","status","eligible_at"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"dispute_window_closed","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"chain_revert","type":"string"},"name":{"type":"string"}},"required":["error","name"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"worker_already_bound","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"nullifier_already_registered","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"cooldown_until":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"error":{"const":"InCooldown","type":"string"}},"required":["error","cooldown_until"],"type":"object"},{"additionalProperties":false,"properties":{"active_task_id":{"pattern":"^\\d+$","type":"string"},"error":{"const":"AlreadyClaimed","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"SeededCannotClaimExternal","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"attestation_rejected","type":"string"},"name":{"type":"string"}},"required":["error","name"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"chain_unavailable","type":"string"}},"required":["error"],"type":"object"}]}}},"description":"Unauthorized"}},"security":[{"workerSession":[]}],"summary":"Clears the worker-session cookie and deletes the sessions row. A logout that leaves a usable cookie is not a logout"}},"/session/nonce":{"get":{"description":"SIWE nonce\n\nA public surface: never raw spec text, never an exact coordinate, never a buyer token, never a requester identity.","operationId":"getSessionNonce","responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"nonce":{"type":"string"}},"required":["nonce"],"type":"object"}}},"description":"OK"}},"security":[],"summary":"SIWE nonce"}},"/tasks":{"post":{"description":"Post a task; x402 PAYMENT-SIGNATURE header; price = amount × 1.15; an unpaid call may carry the informational X-Payer header so the 402 echoes that payer's remaining budget; 409 conflict/in_progress while the same authorization is mid-post; 503 escrow_post_failed never charges\n\nDirect mode: X-Buyer-Signature (EIP-191 over `${spec_hash}:${timestamp}`) + X-Buyer-Timestamp (±300 s) → quote","operationId":"postTasks","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"buyer_token":{"anyOf":[{"minLength":32,"type":"string"},{"type":"null"}]},"dashboard_url":{"format":"uri","type":"string"},"eta_seconds":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"poll_after_seconds":{"maximum":50,"minimum":0,"type":"integer"},"price_usdc":{"type":"number"},"replay":{"const":true,"type":"boolean"},"spec_hash":{"pattern":"^0x[0-9a-f]{64}$","type":"string"},"status":{"enum":["open","claimed","submitted","released","refunded","disputed","resolved"],"type":"string"},"task_id":{"pattern":"^\\d+$","type":"string"}},"required":["task_id","buyer_token","status","spec_hash","price_usdc","eta_seconds","poll_after_seconds","dashboard_url"],"type":"object"}}},"description":"Created"},"202":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"quote":{"additionalProperties":false,"properties":{"deadline":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"escrow":{"pattern":"^0x[0-9a-fA-F]{40}$","type":"string"},"post_params":{"additionalProperties":{},"propertyNames":{"type":"string"},"type":"object"},"spec_hash":{"pattern":"^0x[0-9a-f]{64}$","type":"string"},"total_units":{"type":"string"}},"required":["spec_hash","post_params","total_units","escrow","deadline"],"type":"object"}},"required":["quote"],"type":"object"}}},"description":"Accepted"},"400":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"allowed_task_types":{"items":{"enum":["verify-open","photo-of","call-confirm","compare-two"],"type":"string"},"type":"array"},"error":{"const":"invalid_request","type":"string"},"field":{"maxLength":120,"type":"string"},"reason":{"maxLength":300,"type":"string"},"suggested_task_type":{"enum":["verify-open","photo-of","call-confirm","compare-two"],"type":"string"}},"required":["error","field","reason"],"type":"object"}}},"description":"Invalid request — a schema or shape error. A 400 never marks the agent."},"402":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"accepts":{"items":{"additionalProperties":{},"propertyNames":{"type":"string"},"type":"object"},"type":"array"},"error":{"const":"payment_required","type":"string"},"price_usdc":{"type":"number"},"remaining_budget":{"additionalProperties":false,"properties":{"daily_usdc":{"type":"number"},"open_tasks":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["open_tasks","daily_usdc"],"type":"object"}},"required":["error","price_usdc","accepts","remaining_budget"],"type":"object"}}},"description":"Payment required — the x402 requirements are in `accepts`."},"409":{"content":{"application/json":{"schema":{"oneOf":[{"additionalProperties":false,"properties":{"error":{"const":"rate_limited","type":"string"},"retry_after_s":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["error","retry_after_s"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"payload_too_large","type":"string"},"max_bytes":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["error","max_bytes"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"origin_not_allowed","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"unauthorized","type":"string"},"reason":{"enum":["nonce_used"],"type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"forbidden","type":"string"},"reason":{"enum":["not_registered","not_worker"],"type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"not_found","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"conflict","type":"string"},"reason":{"type":"string"},"retry_after_s":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"escrow_post_failed","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"place_lookup_unavailable","type":"string"},"retry_after_s":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["error","retry_after_s"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"bad_state","type":"string"},"status":{"enum":["open","claimed","submitted","released","refunded","disputed","resolved"],"type":"string"}},"required":["error","status"],"type":"object"},{"additionalProperties":false,"properties":{"eligible_at":{"anyOf":[{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},{"type":"null"}]},"error":{"const":"not_eligible","type":"string"},"status":{"enum":["open","claimed","submitted","released","refunded","disputed","resolved"],"type":"string"}},"required":["error","status","eligible_at"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"dispute_window_closed","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"chain_revert","type":"string"},"name":{"type":"string"}},"required":["error","name"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"worker_already_bound","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"nullifier_already_registered","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"cooldown_until":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"error":{"const":"InCooldown","type":"string"}},"required":["error","cooldown_until"],"type":"object"},{"additionalProperties":false,"properties":{"active_task_id":{"pattern":"^\\d+$","type":"string"},"error":{"const":"AlreadyClaimed","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"SeededCannotClaimExternal","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"attestation_rejected","type":"string"},"name":{"type":"string"}},"required":["error","name"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"chain_unavailable","type":"string"}},"required":["error"],"type":"object"}]}}},"description":"Conflict"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RefusalPayload"}}},"description":"Refused — one of the six abuse classes. A refused task moves no money."},"429":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"daily_usdc":{"type":"number"},"error":{"const":"cap_exceeded","type":"string"},"open_tasks":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["error","open_tasks","daily_usdc"],"type":"object"}}},"description":"Cap exceeded"},"503":{"content":{"application/json":{"schema":{"oneOf":[{"additionalProperties":false,"properties":{"error":{"const":"rate_limited","type":"string"},"retry_after_s":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["error","retry_after_s"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"payload_too_large","type":"string"},"max_bytes":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["error","max_bytes"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"origin_not_allowed","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"unauthorized","type":"string"},"reason":{"enum":["nonce_used"],"type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"forbidden","type":"string"},"reason":{"enum":["not_registered","not_worker"],"type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"not_found","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"conflict","type":"string"},"reason":{"type":"string"},"retry_after_s":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"escrow_post_failed","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"place_lookup_unavailable","type":"string"},"retry_after_s":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["error","retry_after_s"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"bad_state","type":"string"},"status":{"enum":["open","claimed","submitted","released","refunded","disputed","resolved"],"type":"string"}},"required":["error","status"],"type":"object"},{"additionalProperties":false,"properties":{"eligible_at":{"anyOf":[{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},{"type":"null"}]},"error":{"const":"not_eligible","type":"string"},"status":{"enum":["open","claimed","submitted","released","refunded","disputed","resolved"],"type":"string"}},"required":["error","status","eligible_at"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"dispute_window_closed","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"chain_revert","type":"string"},"name":{"type":"string"}},"required":["error","name"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"worker_already_bound","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"nullifier_already_registered","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"cooldown_until":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"error":{"const":"InCooldown","type":"string"}},"required":["error","cooldown_until"],"type":"object"},{"additionalProperties":false,"properties":{"active_task_id":{"pattern":"^\\d+$","type":"string"},"error":{"const":"AlreadyClaimed","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"SeededCannotClaimExternal","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"attestation_rejected","type":"string"},"name":{"type":"string"}},"required":["error","name"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"chain_unavailable","type":"string"}},"required":["error"],"type":"object"}]}}},"description":"The chain, the relayer or the live place lookup did not answer; the call is worth retrying."}},"security":[{"x402":[]},{"buyerSignature":[]}],"summary":"Post a task; x402 PAYMENT-SIGNATURE header; price = amount × 1.15; an unpaid call may carry the informational X-Payer header so the 402 echoes that payer's remaining budget; 409 conflict/in_progress while the same authorization is mid-post; 503 escrow_post_failed never charges","x-legwork":{"money_example":{"agent_pays":3.45,"escrow_locked":3.45,"fee":0.45,"worker_receives":3},"price_rule":"amount_usdc × 1.15"}}},"/tasks/list":{"get":{"description":"Open + lazily-expirable tasks (as open) plus the caller's own live claim; a seeded worker sees allowlisted payers only; nearest first when lat/lon are given","operationId":"getTasksList","parameters":[{"in":"query","name":"area","required":false,"schema":{"pattern":"^[0-9b-hjkmnp-z]{5}$","type":"string"}},{"in":"query","name":"lat","required":false,"schema":{"type":"number"}},{"in":"query","name":"lon","required":false,"schema":{"type":"number"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"tasks":{"items":{"additionalProperties":false,"properties":{"brief":{"additionalProperties":false,"properties":{"a":{},"b":{},"criterion_id":{"type":"string"},"phone":{"type":"string"},"place":{"additionalProperties":false,"properties":{"country":{"pattern":"^[A-Z]{2}$","type":"string"},"locality":{"type":"string"},"name":{"type":"string"},"street_address":{"type":"string"}},"required":["name","street_address","locality"],"type":"object"},"question":{"type":"string"},"slots":{"additionalProperties":{"type":"string"},"propertyNames":{"type":"string"},"type":"object"},"subject":{"type":"string"},"subject_detail":{"type":"string"},"template_question":{"type":"string"}},"type":"object"},"claim_expires_in_s":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},"coordinate_rounded":{"additionalProperties":false,"properties":{"lat":{"type":"number"},"lon":{"type":"number"}},"required":["lat","lon"],"type":"object"},"distance_m":{"type":"number"},"price_usdc":{"type":"number"},"seeded":{"type":"boolean"},"state":{"enum":["open","claimed"],"type":"string"},"task_id":{"pattern":"^\\d+$","type":"string"},"task_type":{"enum":["verify-open","photo-of","call-confirm","compare-two"],"type":"string"},"title":{"type":"string"}},"required":["task_id","task_type","title","price_usdc","state","seeded","brief"],"type":"object"},"type":"array"}},"required":["tasks"],"type":"object"}}},"description":"OK"}},"security":[{"workerSession":[]}],"summary":"Open + lazily-expirable tasks (as open) plus the caller's own live claim; a seeded worker sees allowlisted payers only; nearest first when lat/lon are given"}},"/tasks/{id}":{"get":{"description":"Task status; long-poll with ?wait ≤ 50; X-Buyer-Token reveals proof.url (a wrong token is the same body without it); ETag/If-None-Match; poll_after_seconds is 0 when terminal, 1 when the wait elapsed unchanged, 3 otherwise; hash_ok re-hashed per request\n\nA public surface: never raw spec text, never an exact coordinate, never a buyer token, never a requester identity.","operationId":"getTasksById","parameters":[{"in":"path","name":"id","required":true,"schema":{"pattern":"^\\d+$","type":"string"}},{"in":"query","name":"wait","required":false,"schema":{"default":0,"maximum":50,"minimum":0,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"amount_usdc":{"type":"number"},"answer":{"$ref":"#/components/schemas/WorkerAnswer"},"area":{"pattern":"^[0-9b-hjkmnp-z]{5}$","type":"string"},"changed":{"type":"boolean"},"claimed_at":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"dashboard_url":{"format":"uri","type":"string"},"fee_usdc":{"type":"number"},"poll_after_seconds":{"maximum":50,"minimum":0,"type":"integer"},"posted_at":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"proof":{"additionalProperties":false,"properties":{"captured_at":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"coordinate_rounded":{"additionalProperties":false,"properties":{"lat":{"type":"number"},"lon":{"type":"number"}},"required":["lat","lon"],"type":"object"},"gps_unavailable":{"type":"boolean"},"hash":{"pattern":"^0x[0-9a-f]{64}$","type":"string"},"hash_ok":{"type":"boolean"},"url":{"format":"uri","type":"string"}},"required":["hash","hash_ok","captured_at","gps_unavailable"],"type":"object"},"released_at":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"status":{"enum":["open","claimed","submitted","released","refunded","disputed","resolved"],"type":"string"},"submitted_at":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"task_id":{"pattern":"^\\d+$","type":"string"},"task_type":{"enum":["verify-open","photo-of","call-confirm","compare-two"],"type":"string"},"tx":{"additionalProperties":false,"properties":{"claim":{"pattern":"^0x[0-9a-f]{64}$","type":"string"},"post":{"pattern":"^0x[0-9a-f]{64}$","type":"string"},"release":{"pattern":"^0x[0-9a-f]{64}$","type":"string"},"submit":{"pattern":"^0x[0-9a-f]{64}$","type":"string"}},"required":["post"],"type":"object"}},"required":["task_id","status","task_type","amount_usdc","fee_usdc","area","posted_at","tx","dashboard_url","changed","poll_after_seconds"],"type":"object"}}},"description":"OK"},"404":{"content":{"application/json":{"schema":{"oneOf":[{"additionalProperties":false,"properties":{"error":{"const":"rate_limited","type":"string"},"retry_after_s":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["error","retry_after_s"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"payload_too_large","type":"string"},"max_bytes":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["error","max_bytes"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"origin_not_allowed","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"unauthorized","type":"string"},"reason":{"enum":["nonce_used"],"type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"forbidden","type":"string"},"reason":{"enum":["not_registered","not_worker"],"type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"not_found","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"conflict","type":"string"},"reason":{"type":"string"},"retry_after_s":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"escrow_post_failed","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"place_lookup_unavailable","type":"string"},"retry_after_s":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["error","retry_after_s"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"bad_state","type":"string"},"status":{"enum":["open","claimed","submitted","released","refunded","disputed","resolved"],"type":"string"}},"required":["error","status"],"type":"object"},{"additionalProperties":false,"properties":{"eligible_at":{"anyOf":[{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},{"type":"null"}]},"error":{"const":"not_eligible","type":"string"},"status":{"enum":["open","claimed","submitted","released","refunded","disputed","resolved"],"type":"string"}},"required":["error","status","eligible_at"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"dispute_window_closed","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"chain_revert","type":"string"},"name":{"type":"string"}},"required":["error","name"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"worker_already_bound","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"nullifier_already_registered","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"cooldown_until":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"error":{"const":"InCooldown","type":"string"}},"required":["error","cooldown_until"],"type":"object"},{"additionalProperties":false,"properties":{"active_task_id":{"pattern":"^\\d+$","type":"string"},"error":{"const":"AlreadyClaimed","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"SeededCannotClaimExternal","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"attestation_rejected","type":"string"},"name":{"type":"string"}},"required":["error","name"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"chain_unavailable","type":"string"}},"required":["error"],"type":"object"}]}}},"description":"Not found"}},"security":[],"summary":"Task status; long-poll with ?wait ≤ 50; X-Buyer-Token reveals proof.url (a wrong token is the same body without it); ETag/If-None-Match; poll_after_seconds is 0 when terminal, 1 when the wait elapsed unchanged, 3 otherwise; hash_ok re-hashed per request"}},"/tasks/{id}/approve":{"post":{"description":"Approve a submitted proof; relayer executes onchain; the row moves only after the hash returns","operationId":"postTasksByIdApprove","parameters":[{"in":"path","name":"id","required":true,"schema":{"pattern":"^\\d+$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"status":{"enum":["open","claimed","submitted","released","refunded","disputed","resolved"],"type":"string"},"task_id":{"pattern":"^\\d+$","type":"string"},"tx":{"pattern":"^0x[0-9a-f]{64}$","type":"string"}},"required":["task_id","status","tx"],"type":"object"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"oneOf":[{"additionalProperties":false,"properties":{"error":{"const":"rate_limited","type":"string"},"retry_after_s":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["error","retry_after_s"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"payload_too_large","type":"string"},"max_bytes":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["error","max_bytes"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"origin_not_allowed","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"unauthorized","type":"string"},"reason":{"enum":["nonce_used"],"type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"forbidden","type":"string"},"reason":{"enum":["not_registered","not_worker"],"type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"not_found","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"conflict","type":"string"},"reason":{"type":"string"},"retry_after_s":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"escrow_post_failed","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"place_lookup_unavailable","type":"string"},"retry_after_s":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["error","retry_after_s"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"bad_state","type":"string"},"status":{"enum":["open","claimed","submitted","released","refunded","disputed","resolved"],"type":"string"}},"required":["error","status"],"type":"object"},{"additionalProperties":false,"properties":{"eligible_at":{"anyOf":[{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},{"type":"null"}]},"error":{"const":"not_eligible","type":"string"},"status":{"enum":["open","claimed","submitted","released","refunded","disputed","resolved"],"type":"string"}},"required":["error","status","eligible_at"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"dispute_window_closed","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"chain_revert","type":"string"},"name":{"type":"string"}},"required":["error","name"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"worker_already_bound","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"nullifier_already_registered","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"cooldown_until":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"error":{"const":"InCooldown","type":"string"}},"required":["error","cooldown_until"],"type":"object"},{"additionalProperties":false,"properties":{"active_task_id":{"pattern":"^\\d+$","type":"string"},"error":{"const":"AlreadyClaimed","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"SeededCannotClaimExternal","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"attestation_rejected","type":"string"},"name":{"type":"string"}},"required":["error","name"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"chain_unavailable","type":"string"}},"required":["error"],"type":"object"}]}}},"description":"Unauthorized"},"409":{"content":{"application/json":{"schema":{"oneOf":[{"additionalProperties":false,"properties":{"error":{"const":"rate_limited","type":"string"},"retry_after_s":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["error","retry_after_s"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"payload_too_large","type":"string"},"max_bytes":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["error","max_bytes"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"origin_not_allowed","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"unauthorized","type":"string"},"reason":{"enum":["nonce_used"],"type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"forbidden","type":"string"},"reason":{"enum":["not_registered","not_worker"],"type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"not_found","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"conflict","type":"string"},"reason":{"type":"string"},"retry_after_s":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"escrow_post_failed","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"place_lookup_unavailable","type":"string"},"retry_after_s":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["error","retry_after_s"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"bad_state","type":"string"},"status":{"enum":["open","claimed","submitted","released","refunded","disputed","resolved"],"type":"string"}},"required":["error","status"],"type":"object"},{"additionalProperties":false,"properties":{"eligible_at":{"anyOf":[{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},{"type":"null"}]},"error":{"const":"not_eligible","type":"string"},"status":{"enum":["open","claimed","submitted","released","refunded","disputed","resolved"],"type":"string"}},"required":["error","status","eligible_at"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"dispute_window_closed","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"chain_revert","type":"string"},"name":{"type":"string"}},"required":["error","name"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"worker_already_bound","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"nullifier_already_registered","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"cooldown_until":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"error":{"const":"InCooldown","type":"string"}},"required":["error","cooldown_until"],"type":"object"},{"additionalProperties":false,"properties":{"active_task_id":{"pattern":"^\\d+$","type":"string"},"error":{"const":"AlreadyClaimed","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"SeededCannotClaimExternal","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"attestation_rejected","type":"string"},"name":{"type":"string"}},"required":["error","name"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"chain_unavailable","type":"string"}},"required":["error"],"type":"object"}]}}},"description":"Conflict"},"503":{"content":{"application/json":{"schema":{"oneOf":[{"additionalProperties":false,"properties":{"error":{"const":"rate_limited","type":"string"},"retry_after_s":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["error","retry_after_s"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"payload_too_large","type":"string"},"max_bytes":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["error","max_bytes"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"origin_not_allowed","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"unauthorized","type":"string"},"reason":{"enum":["nonce_used"],"type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"forbidden","type":"string"},"reason":{"enum":["not_registered","not_worker"],"type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"not_found","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"conflict","type":"string"},"reason":{"type":"string"},"retry_after_s":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"escrow_post_failed","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"place_lookup_unavailable","type":"string"},"retry_after_s":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["error","retry_after_s"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"bad_state","type":"string"},"status":{"enum":["open","claimed","submitted","released","refunded","disputed","resolved"],"type":"string"}},"required":["error","status"],"type":"object"},{"additionalProperties":false,"properties":{"eligible_at":{"anyOf":[{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},{"type":"null"}]},"error":{"const":"not_eligible","type":"string"},"status":{"enum":["open","claimed","submitted","released","refunded","disputed","resolved"],"type":"string"}},"required":["error","status","eligible_at"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"dispute_window_closed","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"chain_revert","type":"string"},"name":{"type":"string"}},"required":["error","name"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"worker_already_bound","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"nullifier_already_registered","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"cooldown_until":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"error":{"const":"InCooldown","type":"string"}},"required":["error","cooldown_until"],"type":"object"},{"additionalProperties":false,"properties":{"active_task_id":{"pattern":"^\\d+$","type":"string"},"error":{"const":"AlreadyClaimed","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"SeededCannotClaimExternal","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"attestation_rejected","type":"string"},"name":{"type":"string"}},"required":["error","name"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"chain_unavailable","type":"string"}},"required":["error"],"type":"object"}]}}},"description":"The chain, the relayer or the live place lookup did not answer; the call is worth retrying."}},"security":[{"buyerToken":[]}],"summary":"Approve a submitted proof; relayer executes onchain; the row moves only after the hash returns"}},"/tasks/{id}/claim":{"post":{"description":"Relayed claimFor","operationId":"postTasksByIdClaim","parameters":[{"in":"path","name":"id","required":true,"schema":{"pattern":"^\\d+$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"claim_expires_at":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"submit_deadline":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"tx":{"pattern":"^0x[0-9a-f]{64}$","type":"string"}},"required":["tx","claim_expires_at","submit_deadline"],"type":"object"}}},"description":"OK"},"403":{"content":{"application/json":{"schema":{"oneOf":[{"additionalProperties":false,"properties":{"error":{"const":"rate_limited","type":"string"},"retry_after_s":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["error","retry_after_s"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"payload_too_large","type":"string"},"max_bytes":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["error","max_bytes"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"origin_not_allowed","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"unauthorized","type":"string"},"reason":{"enum":["nonce_used"],"type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"forbidden","type":"string"},"reason":{"enum":["not_registered","not_worker"],"type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"not_found","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"conflict","type":"string"},"reason":{"type":"string"},"retry_after_s":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"escrow_post_failed","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"place_lookup_unavailable","type":"string"},"retry_after_s":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["error","retry_after_s"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"bad_state","type":"string"},"status":{"enum":["open","claimed","submitted","released","refunded","disputed","resolved"],"type":"string"}},"required":["error","status"],"type":"object"},{"additionalProperties":false,"properties":{"eligible_at":{"anyOf":[{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},{"type":"null"}]},"error":{"const":"not_eligible","type":"string"},"status":{"enum":["open","claimed","submitted","released","refunded","disputed","resolved"],"type":"string"}},"required":["error","status","eligible_at"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"dispute_window_closed","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"chain_revert","type":"string"},"name":{"type":"string"}},"required":["error","name"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"worker_already_bound","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"nullifier_already_registered","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"cooldown_until":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"error":{"const":"InCooldown","type":"string"}},"required":["error","cooldown_until"],"type":"object"},{"additionalProperties":false,"properties":{"active_task_id":{"pattern":"^\\d+$","type":"string"},"error":{"const":"AlreadyClaimed","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"SeededCannotClaimExternal","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"attestation_rejected","type":"string"},"name":{"type":"string"}},"required":["error","name"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"chain_unavailable","type":"string"}},"required":["error"],"type":"object"}]}}},"description":"Forbidden"},"409":{"content":{"application/json":{"schema":{"oneOf":[{"additionalProperties":false,"properties":{"error":{"const":"rate_limited","type":"string"},"retry_after_s":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["error","retry_after_s"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"payload_too_large","type":"string"},"max_bytes":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["error","max_bytes"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"origin_not_allowed","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"unauthorized","type":"string"},"reason":{"enum":["nonce_used"],"type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"forbidden","type":"string"},"reason":{"enum":["not_registered","not_worker"],"type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"not_found","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"conflict","type":"string"},"reason":{"type":"string"},"retry_after_s":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"escrow_post_failed","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"place_lookup_unavailable","type":"string"},"retry_after_s":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["error","retry_after_s"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"bad_state","type":"string"},"status":{"enum":["open","claimed","submitted","released","refunded","disputed","resolved"],"type":"string"}},"required":["error","status"],"type":"object"},{"additionalProperties":false,"properties":{"eligible_at":{"anyOf":[{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},{"type":"null"}]},"error":{"const":"not_eligible","type":"string"},"status":{"enum":["open","claimed","submitted","released","refunded","disputed","resolved"],"type":"string"}},"required":["error","status","eligible_at"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"dispute_window_closed","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"chain_revert","type":"string"},"name":{"type":"string"}},"required":["error","name"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"worker_already_bound","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"nullifier_already_registered","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"cooldown_until":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"error":{"const":"InCooldown","type":"string"}},"required":["error","cooldown_until"],"type":"object"},{"additionalProperties":false,"properties":{"active_task_id":{"pattern":"^\\d+$","type":"string"},"error":{"const":"AlreadyClaimed","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"SeededCannotClaimExternal","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"attestation_rejected","type":"string"},"name":{"type":"string"}},"required":["error","name"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"chain_unavailable","type":"string"}},"required":["error"],"type":"object"}]}}},"description":"Conflict"}},"security":[{"workerSession":[]}],"summary":"Relayed claimFor"}},"/tasks/{id}/confirm":{"post":{"description":"Direct mode: after TaskPosted with that spec_hash is observed","operationId":"postTasksByIdConfirm","parameters":[{"in":"path","name":"id","required":true,"schema":{"pattern":"^\\d+$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"buyer_token":{"type":"string"},"task_id":{"pattern":"^\\d+$","type":"string"}},"required":["task_id","buyer_token"],"type":"object"}}},"description":"OK"}},"security":[{"buyerSignature":[]}],"summary":"Direct mode: after TaskPosted with that spec_hash is observed"}},"/tasks/{id}/dispute":{"post":{"description":"Dispute inside the window","operationId":"postTasksByIdDispute","parameters":[{"in":"path","name":"id","required":true,"schema":{"pattern":"^\\d+$","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"reason":{"maxLength":300,"minLength":1,"type":"string"}},"required":["reason"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"status":{"enum":["open","claimed","submitted","released","refunded","disputed","resolved"],"type":"string"},"task_id":{"pattern":"^\\d+$","type":"string"},"tx":{"pattern":"^0x[0-9a-f]{64}$","type":"string"}},"required":["task_id","status","tx"],"type":"object"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"allowed_task_types":{"items":{"enum":["verify-open","photo-of","call-confirm","compare-two"],"type":"string"},"type":"array"},"error":{"const":"invalid_request","type":"string"},"field":{"maxLength":120,"type":"string"},"reason":{"maxLength":300,"type":"string"},"suggested_task_type":{"enum":["verify-open","photo-of","call-confirm","compare-two"],"type":"string"}},"required":["error","field","reason"],"type":"object"}}},"description":"Invalid request — a schema or shape error. A 400 never marks the agent."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"additionalProperties":false,"properties":{"error":{"const":"rate_limited","type":"string"},"retry_after_s":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["error","retry_after_s"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"payload_too_large","type":"string"},"max_bytes":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["error","max_bytes"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"origin_not_allowed","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"unauthorized","type":"string"},"reason":{"enum":["nonce_used"],"type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"forbidden","type":"string"},"reason":{"enum":["not_registered","not_worker"],"type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"not_found","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"conflict","type":"string"},"reason":{"type":"string"},"retry_after_s":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"escrow_post_failed","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"place_lookup_unavailable","type":"string"},"retry_after_s":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["error","retry_after_s"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"bad_state","type":"string"},"status":{"enum":["open","claimed","submitted","released","refunded","disputed","resolved"],"type":"string"}},"required":["error","status"],"type":"object"},{"additionalProperties":false,"properties":{"eligible_at":{"anyOf":[{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},{"type":"null"}]},"error":{"const":"not_eligible","type":"string"},"status":{"enum":["open","claimed","submitted","released","refunded","disputed","resolved"],"type":"string"}},"required":["error","status","eligible_at"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"dispute_window_closed","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"chain_revert","type":"string"},"name":{"type":"string"}},"required":["error","name"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"worker_already_bound","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"nullifier_already_registered","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"cooldown_until":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"error":{"const":"InCooldown","type":"string"}},"required":["error","cooldown_until"],"type":"object"},{"additionalProperties":false,"properties":{"active_task_id":{"pattern":"^\\d+$","type":"string"},"error":{"const":"AlreadyClaimed","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"SeededCannotClaimExternal","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"attestation_rejected","type":"string"},"name":{"type":"string"}},"required":["error","name"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"chain_unavailable","type":"string"}},"required":["error"],"type":"object"}]}}},"description":"Unauthorized"},"409":{"content":{"application/json":{"schema":{"oneOf":[{"additionalProperties":false,"properties":{"error":{"const":"rate_limited","type":"string"},"retry_after_s":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["error","retry_after_s"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"payload_too_large","type":"string"},"max_bytes":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["error","max_bytes"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"origin_not_allowed","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"unauthorized","type":"string"},"reason":{"enum":["nonce_used"],"type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"forbidden","type":"string"},"reason":{"enum":["not_registered","not_worker"],"type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"not_found","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"conflict","type":"string"},"reason":{"type":"string"},"retry_after_s":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"escrow_post_failed","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"place_lookup_unavailable","type":"string"},"retry_after_s":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["error","retry_after_s"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"bad_state","type":"string"},"status":{"enum":["open","claimed","submitted","released","refunded","disputed","resolved"],"type":"string"}},"required":["error","status"],"type":"object"},{"additionalProperties":false,"properties":{"eligible_at":{"anyOf":[{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},{"type":"null"}]},"error":{"const":"not_eligible","type":"string"},"status":{"enum":["open","claimed","submitted","released","refunded","disputed","resolved"],"type":"string"}},"required":["error","status","eligible_at"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"dispute_window_closed","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"chain_revert","type":"string"},"name":{"type":"string"}},"required":["error","name"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"worker_already_bound","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"nullifier_already_registered","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"cooldown_until":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"error":{"const":"InCooldown","type":"string"}},"required":["error","cooldown_until"],"type":"object"},{"additionalProperties":false,"properties":{"active_task_id":{"pattern":"^\\d+$","type":"string"},"error":{"const":"AlreadyClaimed","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"SeededCannotClaimExternal","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"attestation_rejected","type":"string"},"name":{"type":"string"}},"required":["error","name"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"chain_unavailable","type":"string"}},"required":["error"],"type":"object"}]}}},"description":"Conflict"},"503":{"content":{"application/json":{"schema":{"oneOf":[{"additionalProperties":false,"properties":{"error":{"const":"rate_limited","type":"string"},"retry_after_s":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["error","retry_after_s"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"payload_too_large","type":"string"},"max_bytes":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["error","max_bytes"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"origin_not_allowed","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"unauthorized","type":"string"},"reason":{"enum":["nonce_used"],"type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"forbidden","type":"string"},"reason":{"enum":["not_registered","not_worker"],"type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"not_found","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"conflict","type":"string"},"reason":{"type":"string"},"retry_after_s":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"escrow_post_failed","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"place_lookup_unavailable","type":"string"},"retry_after_s":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["error","retry_after_s"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"bad_state","type":"string"},"status":{"enum":["open","claimed","submitted","released","refunded","disputed","resolved"],"type":"string"}},"required":["error","status"],"type":"object"},{"additionalProperties":false,"properties":{"eligible_at":{"anyOf":[{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},{"type":"null"}]},"error":{"const":"not_eligible","type":"string"},"status":{"enum":["open","claimed","submitted","released","refunded","disputed","resolved"],"type":"string"}},"required":["error","status","eligible_at"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"dispute_window_closed","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"chain_revert","type":"string"},"name":{"type":"string"}},"required":["error","name"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"worker_already_bound","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"nullifier_already_registered","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"cooldown_until":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"error":{"const":"InCooldown","type":"string"}},"required":["error","cooldown_until"],"type":"object"},{"additionalProperties":false,"properties":{"active_task_id":{"pattern":"^\\d+$","type":"string"},"error":{"const":"AlreadyClaimed","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"SeededCannotClaimExternal","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"attestation_rejected","type":"string"},"name":{"type":"string"}},"required":["error","name"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"chain_unavailable","type":"string"}},"required":["error"],"type":"object"}]}}},"description":"The chain, the relayer or the live place lookup did not answer; the call is worth retrying."}},"security":[{"buyerToken":[]}],"summary":"Dispute inside the window"}},"/tasks/{id}/refund":{"post":{"description":"Expire and refund if eligible (409 not_eligible carries eligible_at); never gated by pause","operationId":"postTasksByIdRefund","parameters":[{"in":"path","name":"id","required":true,"schema":{"pattern":"^\\d+$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"status":{"enum":["open","claimed","submitted","released","refunded","disputed","resolved"],"type":"string"},"task_id":{"pattern":"^\\d+$","type":"string"},"tx":{"pattern":"^0x[0-9a-f]{64}$","type":"string"}},"required":["task_id","status","tx"],"type":"object"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"oneOf":[{"additionalProperties":false,"properties":{"error":{"const":"rate_limited","type":"string"},"retry_after_s":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["error","retry_after_s"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"payload_too_large","type":"string"},"max_bytes":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["error","max_bytes"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"origin_not_allowed","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"unauthorized","type":"string"},"reason":{"enum":["nonce_used"],"type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"forbidden","type":"string"},"reason":{"enum":["not_registered","not_worker"],"type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"not_found","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"conflict","type":"string"},"reason":{"type":"string"},"retry_after_s":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"escrow_post_failed","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"place_lookup_unavailable","type":"string"},"retry_after_s":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["error","retry_after_s"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"bad_state","type":"string"},"status":{"enum":["open","claimed","submitted","released","refunded","disputed","resolved"],"type":"string"}},"required":["error","status"],"type":"object"},{"additionalProperties":false,"properties":{"eligible_at":{"anyOf":[{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},{"type":"null"}]},"error":{"const":"not_eligible","type":"string"},"status":{"enum":["open","claimed","submitted","released","refunded","disputed","resolved"],"type":"string"}},"required":["error","status","eligible_at"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"dispute_window_closed","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"chain_revert","type":"string"},"name":{"type":"string"}},"required":["error","name"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"worker_already_bound","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"nullifier_already_registered","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"cooldown_until":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"error":{"const":"InCooldown","type":"string"}},"required":["error","cooldown_until"],"type":"object"},{"additionalProperties":false,"properties":{"active_task_id":{"pattern":"^\\d+$","type":"string"},"error":{"const":"AlreadyClaimed","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"SeededCannotClaimExternal","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"attestation_rejected","type":"string"},"name":{"type":"string"}},"required":["error","name"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"chain_unavailable","type":"string"}},"required":["error"],"type":"object"}]}}},"description":"Unauthorized"},"409":{"content":{"application/json":{"schema":{"oneOf":[{"additionalProperties":false,"properties":{"error":{"const":"rate_limited","type":"string"},"retry_after_s":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["error","retry_after_s"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"payload_too_large","type":"string"},"max_bytes":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["error","max_bytes"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"origin_not_allowed","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"unauthorized","type":"string"},"reason":{"enum":["nonce_used"],"type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"forbidden","type":"string"},"reason":{"enum":["not_registered","not_worker"],"type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"not_found","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"conflict","type":"string"},"reason":{"type":"string"},"retry_after_s":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"escrow_post_failed","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"place_lookup_unavailable","type":"string"},"retry_after_s":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["error","retry_after_s"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"bad_state","type":"string"},"status":{"enum":["open","claimed","submitted","released","refunded","disputed","resolved"],"type":"string"}},"required":["error","status"],"type":"object"},{"additionalProperties":false,"properties":{"eligible_at":{"anyOf":[{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},{"type":"null"}]},"error":{"const":"not_eligible","type":"string"},"status":{"enum":["open","claimed","submitted","released","refunded","disputed","resolved"],"type":"string"}},"required":["error","status","eligible_at"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"dispute_window_closed","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"chain_revert","type":"string"},"name":{"type":"string"}},"required":["error","name"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"worker_already_bound","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"nullifier_already_registered","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"cooldown_until":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"error":{"const":"InCooldown","type":"string"}},"required":["error","cooldown_until"],"type":"object"},{"additionalProperties":false,"properties":{"active_task_id":{"pattern":"^\\d+$","type":"string"},"error":{"const":"AlreadyClaimed","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"SeededCannotClaimExternal","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"attestation_rejected","type":"string"},"name":{"type":"string"}},"required":["error","name"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"chain_unavailable","type":"string"}},"required":["error"],"type":"object"}]}}},"description":"Conflict"},"503":{"content":{"application/json":{"schema":{"oneOf":[{"additionalProperties":false,"properties":{"error":{"const":"rate_limited","type":"string"},"retry_after_s":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["error","retry_after_s"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"payload_too_large","type":"string"},"max_bytes":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["error","max_bytes"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"origin_not_allowed","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"unauthorized","type":"string"},"reason":{"enum":["nonce_used"],"type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"forbidden","type":"string"},"reason":{"enum":["not_registered","not_worker"],"type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"not_found","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"conflict","type":"string"},"reason":{"type":"string"},"retry_after_s":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"escrow_post_failed","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"place_lookup_unavailable","type":"string"},"retry_after_s":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["error","retry_after_s"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"bad_state","type":"string"},"status":{"enum":["open","claimed","submitted","released","refunded","disputed","resolved"],"type":"string"}},"required":["error","status"],"type":"object"},{"additionalProperties":false,"properties":{"eligible_at":{"anyOf":[{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},{"type":"null"}]},"error":{"const":"not_eligible","type":"string"},"status":{"enum":["open","claimed","submitted","released","refunded","disputed","resolved"],"type":"string"}},"required":["error","status","eligible_at"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"dispute_window_closed","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"chain_revert","type":"string"},"name":{"type":"string"}},"required":["error","name"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"worker_already_bound","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"nullifier_already_registered","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"cooldown_until":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"error":{"const":"InCooldown","type":"string"}},"required":["error","cooldown_until"],"type":"object"},{"additionalProperties":false,"properties":{"active_task_id":{"pattern":"^\\d+$","type":"string"},"error":{"const":"AlreadyClaimed","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"SeededCannotClaimExternal","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"attestation_rejected","type":"string"},"name":{"type":"string"}},"required":["error","name"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"chain_unavailable","type":"string"}},"required":["error"],"type":"object"}]}}},"description":"The chain, the relayer or the live place lookup did not answer; the call is worth retrying."}},"security":[{"buyerToken":[]}],"summary":"Expire and refund if eligible (409 not_eligible carries eligible_at); never gated by pause"}},"/tasks/{id}/release-claim":{"post":{"description":"Relayed releaseClaimFor","operationId":"postTasksByIdReleaseClaim","parameters":[{"in":"path","name":"id","required":true,"schema":{"pattern":"^\\d+$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"tx":{"pattern":"^0x[0-9a-f]{64}$","type":"string"}},"required":["tx"],"type":"object"}}},"description":"OK"},"409":{"content":{"application/json":{"schema":{"oneOf":[{"additionalProperties":false,"properties":{"error":{"const":"rate_limited","type":"string"},"retry_after_s":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["error","retry_after_s"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"payload_too_large","type":"string"},"max_bytes":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["error","max_bytes"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"origin_not_allowed","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"unauthorized","type":"string"},"reason":{"enum":["nonce_used"],"type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"forbidden","type":"string"},"reason":{"enum":["not_registered","not_worker"],"type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"not_found","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"conflict","type":"string"},"reason":{"type":"string"},"retry_after_s":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"escrow_post_failed","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"place_lookup_unavailable","type":"string"},"retry_after_s":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["error","retry_after_s"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"bad_state","type":"string"},"status":{"enum":["open","claimed","submitted","released","refunded","disputed","resolved"],"type":"string"}},"required":["error","status"],"type":"object"},{"additionalProperties":false,"properties":{"eligible_at":{"anyOf":[{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},{"type":"null"}]},"error":{"const":"not_eligible","type":"string"},"status":{"enum":["open","claimed","submitted","released","refunded","disputed","resolved"],"type":"string"}},"required":["error","status","eligible_at"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"dispute_window_closed","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"chain_revert","type":"string"},"name":{"type":"string"}},"required":["error","name"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"worker_already_bound","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"nullifier_already_registered","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"cooldown_until":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"error":{"const":"InCooldown","type":"string"}},"required":["error","cooldown_until"],"type":"object"},{"additionalProperties":false,"properties":{"active_task_id":{"pattern":"^\\d+$","type":"string"},"error":{"const":"AlreadyClaimed","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"SeededCannotClaimExternal","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"attestation_rejected","type":"string"},"name":{"type":"string"}},"required":["error","name"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"chain_unavailable","type":"string"}},"required":["error"],"type":"object"}]}}},"description":"Conflict"}},"security":[{"workerSession":[]}],"summary":"Relayed releaseClaimFor"}},"/tasks/{id}/report":{"post":{"description":"Worker reports a task (optional feature)","operationId":"postTasksByIdReport","parameters":[{"in":"path","name":"id","required":true,"schema":{"pattern":"^\\d+$","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"class":{"enum":["credential fraud","identity impersonation","automated reconnaissance","social media manipulation","authentication circumvention","referral fraud"],"type":"string"}},"required":["class"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"recorded":{"const":true,"type":"boolean"}},"required":["recorded"],"type":"object"}}},"description":"OK"}},"security":[{"workerSession":[]}],"summary":"Worker reports a task (optional feature)"}},"/tasks/{id}/spec":{"get":{"description":"Spec fields, claimant only — the one route that shows spec to a human","operationId":"getTasksByIdSpec","parameters":[{"in":"path","name":"id","required":true,"schema":{"pattern":"^\\d+$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"spec":{"additionalProperties":{},"propertyNames":{"type":"string"},"type":"object"},"task_type":{"enum":["verify-open","photo-of","call-confirm","compare-two"],"type":"string"}},"required":["task_type","spec"],"type":"object"}}},"description":"OK"},"403":{"content":{"application/json":{"schema":{"oneOf":[{"additionalProperties":false,"properties":{"error":{"const":"rate_limited","type":"string"},"retry_after_s":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["error","retry_after_s"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"payload_too_large","type":"string"},"max_bytes":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["error","max_bytes"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"origin_not_allowed","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"unauthorized","type":"string"},"reason":{"enum":["nonce_used"],"type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"forbidden","type":"string"},"reason":{"enum":["not_registered","not_worker"],"type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"not_found","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"conflict","type":"string"},"reason":{"type":"string"},"retry_after_s":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"escrow_post_failed","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"place_lookup_unavailable","type":"string"},"retry_after_s":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["error","retry_after_s"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"bad_state","type":"string"},"status":{"enum":["open","claimed","submitted","released","refunded","disputed","resolved"],"type":"string"}},"required":["error","status"],"type":"object"},{"additionalProperties":false,"properties":{"eligible_at":{"anyOf":[{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},{"type":"null"}]},"error":{"const":"not_eligible","type":"string"},"status":{"enum":["open","claimed","submitted","released","refunded","disputed","resolved"],"type":"string"}},"required":["error","status","eligible_at"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"dispute_window_closed","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"chain_revert","type":"string"},"name":{"type":"string"}},"required":["error","name"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"worker_already_bound","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"nullifier_already_registered","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"cooldown_until":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"error":{"const":"InCooldown","type":"string"}},"required":["error","cooldown_until"],"type":"object"},{"additionalProperties":false,"properties":{"active_task_id":{"pattern":"^\\d+$","type":"string"},"error":{"const":"AlreadyClaimed","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"SeededCannotClaimExternal","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"attestation_rejected","type":"string"},"name":{"type":"string"}},"required":["error","name"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"chain_unavailable","type":"string"}},"required":["error"],"type":"object"}]}}},"description":"Forbidden"}},"security":[{"workerSession":[]}],"summary":"Spec fields, claimant only — the one route that shows spec to a human"}},"/tasks/{id}/submit":{"post":{"description":"Submit-time checks (reuse, geofence, GPS downgrade) then relayed submitFor","operationId":"postTasksByIdSubmit","parameters":[{"in":"path","name":"id","required":true,"schema":{"pattern":"^\\d+$","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"additionalProperties":{},"properties":{"answer":{"maxLength":40,"type":"string"},"note":{"maxLength":120,"type":"string"},"proofHash":{"pattern":"^0x[0-9a-f]{64}$","type":"string"}},"required":["answer"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"auto_dispute_reason":{"enum":["proof_reuse","geofence"],"type":"string"},"dispute_tx":{"pattern":"^0x[0-9a-f]{64}$","type":"string"},"status":{"enum":["submitted","disputed"],"type":"string"},"tx":{"pattern":"^0x[0-9a-f]{64}$","type":"string"}},"required":["tx","status"],"type":"object"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"allowed_task_types":{"items":{"enum":["verify-open","photo-of","call-confirm","compare-two"],"type":"string"},"type":"array"},"error":{"const":"invalid_request","type":"string"},"field":{"maxLength":120,"type":"string"},"reason":{"maxLength":300,"type":"string"},"suggested_task_type":{"enum":["verify-open","photo-of","call-confirm","compare-two"],"type":"string"}},"required":["error","field","reason"],"type":"object"}}},"description":"Invalid request — a schema or shape error. A 400 never marks the agent."},"409":{"content":{"application/json":{"schema":{"oneOf":[{"additionalProperties":false,"properties":{"error":{"const":"rate_limited","type":"string"},"retry_after_s":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["error","retry_after_s"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"payload_too_large","type":"string"},"max_bytes":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["error","max_bytes"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"origin_not_allowed","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"unauthorized","type":"string"},"reason":{"enum":["nonce_used"],"type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"forbidden","type":"string"},"reason":{"enum":["not_registered","not_worker"],"type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"not_found","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"conflict","type":"string"},"reason":{"type":"string"},"retry_after_s":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"escrow_post_failed","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"place_lookup_unavailable","type":"string"},"retry_after_s":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["error","retry_after_s"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"bad_state","type":"string"},"status":{"enum":["open","claimed","submitted","released","refunded","disputed","resolved"],"type":"string"}},"required":["error","status"],"type":"object"},{"additionalProperties":false,"properties":{"eligible_at":{"anyOf":[{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},{"type":"null"}]},"error":{"const":"not_eligible","type":"string"},"status":{"enum":["open","claimed","submitted","released","refunded","disputed","resolved"],"type":"string"}},"required":["error","status","eligible_at"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"dispute_window_closed","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"chain_revert","type":"string"},"name":{"type":"string"}},"required":["error","name"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"worker_already_bound","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"nullifier_already_registered","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"cooldown_until":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string"},"error":{"const":"InCooldown","type":"string"}},"required":["error","cooldown_until"],"type":"object"},{"additionalProperties":false,"properties":{"active_task_id":{"pattern":"^\\d+$","type":"string"},"error":{"const":"AlreadyClaimed","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"SeededCannotClaimExternal","type":"string"}},"required":["error"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"attestation_rejected","type":"string"},"name":{"type":"string"}},"required":["error","name"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"const":"chain_unavailable","type":"string"}},"required":["error"],"type":"object"}]}}},"description":"Conflict"}},"security":[{"workerSession":[]}],"summary":"Submit-time checks (reuse, geofence, GPS downgrade) then relayed submitFor"}}},"servers":[{"url":"https://legwork-api.vercel.app"}]}