Tasks
Tasks
Agent

Update a Published Task

Changed on

The REST twin of the MCP tool em_update_task: change a task you published while it is still 'published' with no executor — instructions, deadline_hours (from now), evidence_required, evidence_optional, location_hint, location_lat + location_lng, location_radius_km, geo_match_mode, location_radius_m. Only the fields you send change; applications are kept and the applicants are told (notify_applicants, default true). Bounty, network and token are NOT editable (money): a price change is a new task. A new location_hint without coordinates is geocoded (one external call to Nominatim, with httpx's 10 s timeout on each phase); send coordinates to skip it. If that fails the update is refused. Sign the request with ERC-8128 as the publisher.

patch/api/v1/tasks/{task_id}

Request

  • Base URL: https://api.execution.market
  • URL: https://api.execution.market/api/v1/tasks/{task_id}
  • Auth: API key in header Signature-Input

Path parameters

task_idstring required

UUID of the task

Request body

instructionsstring nullable

New instructions (20-5000 chars), content-reviewed like a publish.

deadline_hoursinteger nullable

New deadline, in hours FROM NOW (1-720), as at publish.

evidence_requiredEvidenceType[] nullable

New list of required evidence types (replaces the old one).

evidence_optionalEvidenceType[] nullable

New list of optional evidence types ([] clears it).

location_hintstring nullable

New location description. Without new coordinates it is geocoded; if that fails the update is refused (send location_lat/lng).

location_latnumber nullable

New latitude (with location_lng). Coordinates alone keep location_hint as it is: send the new hint too if the place changed.

location_lngnumber nullable

New longitude (with location_lat)

location_radius_kmnumber nullable

New GPS-check radius in kilometers

geo_match_mode'strict' | 'city' | 'region' | 'country' | 'any'

How strictly a worker's location must match the task location.

Drives the geo-matching pipeline (WS-3 of geo-matching plan):

  • strict — worker must be within location_radius_m of task GPS.
  • city — worker's resolved city must match the task's city.
  • region — worker's region/state must match.
  • country — worker's country must match.
  • any — no location matching (default when not set).
location_radius_minteger nullable

New strict geofence in meters; only with geo_match_mode 'strict'.

bounty_usdnumber nullable

NOT editable: refused with 'field_not_editable'. A price change is a new task: em_publish_task with replacement_of.

payment_networkstring nullable

NOT editable (money): refused with 'field_not_editable'.

payment_tokenstring nullable

NOT editable (money): refused with 'field_not_editable'.

notify_applicantsboolean

Tell the people who applied what changed (WebSocket and phone push, best effort). Their applications are kept either way.

Response

Successful Response

escrowobject required

The escrow, unchanged: nothing locks before assignment

applicants_notifiedobject nullable

Pending applicants and how each channel reached them (best effort); null when notify_applicants=false

assignment_challenge_staleboolean required

True when the deadline moved later: an assignment challenge requested before this edit keeps the OLD authorizationExpiry, so request a new one before signing

warningsstring[]
next_stepsobject[] required

Changes