API ReferenceTasks
Submit a compute task
Queues a task for the operator network and returns a task_id to poll. The request is authenticated, load-shed against the queue capacity, then validated (field-level, then on-chain) before it is accepted. A 202 means the task was queued — poll GET /tasks/{task_id} until it is ready, then sign and submit the returned payload yourself.
Submission is rate limited per API key (60 requests per minute by default). Over the limit returns 429 with a Retry-After header.
Authorization
ApiKeyAuth AuthorizationBearer <token>
An API key for task submission and polling, sent as Authorization: Bearer gk_....
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/tasks" \ -H "Content-Type: application/json" \ -d '{ "body": { "target_address": "0x0000000000000000000000000000000000000001", "from_address": "0x0000000000000000000000000000000000000001", "call_data": [ 171, 205, 239, 1 ], "value": "0x0", "block_height": 1 } }'{ "task_id": "3f8c1e02-9a4b-4c7d-8e1f-2b6a5c9d0e11", "status": "queued"}{ "error": { "code": "INVALID_ADDRESS", "message": "target_address is zero" }}{ "error": { "code": "UNAUTHORIZED", "message": "Unauthorized" }}{ "error": { "code": "INVALID_REQUEST", "message": "Failed to deserialize the JSON body into the target type" }}{ "error": { "code": "RATE_LIMITED", "message": "Rate limit exceeded; retry after the indicated delay" }}{ "error": { "code": "INTERNAL", "message": "Internal error: task queue unavailable" }}{ "error": { "code": "QUEUE_FULL", "message": "Service at capacity, please try again in a few minutes" }}