curl https://win.oneshotagent.com/v1/compute/3f2b9c1e-8d4a-4f6b-9e2a-7c1d5b8a0f42 \
-H "X-Agent-ID: 0xYourWalletAddress" \
-H "x-agent-proof: <base64 EIP-712 proof, scope read>"
const status = await agent.getComputeGoal(goalId);
console.log(status.status, status.budget?.remaining);
{
"success": true,
"data": {
"id": "3f2b9c1e-8d4a-4f6b-9e2a-7c1d5b8a0f42",
"status": "active",
"name": "Research AI agent frameworks, build comparison page, email results to team",
"objective": "Research the top 10 AI agent frameworks...",
"current_phase": "build",
"plan": "Research frameworks, build the comparison page, then email the link",
"budget": {
"total": "5.330000",
"spent": "0.010000",
"reserved": "0",
"remaining": "5.320000"
},
"soul_agent_id": null,
"deadline": null,
"started_at": "2026-01-15T12:00:00.000Z",
"completed_at": null,
"last_wake_at": "2026-01-15T12:05:30.000Z",
"next_wake_at": null,
"created_at": "2026-01-15T12:00:00.000Z"
}
}
Goals
Goal Status
Get the status and progress of a compute goal
GET
/
v1
/
compute
/
{goalId}
curl https://win.oneshotagent.com/v1/compute/3f2b9c1e-8d4a-4f6b-9e2a-7c1d5b8a0f42 \
-H "X-Agent-ID: 0xYourWalletAddress" \
-H "x-agent-proof: <base64 EIP-712 proof, scope read>"
const status = await agent.getComputeGoal(goalId);
console.log(status.status, status.budget?.remaining);
{
"success": true,
"data": {
"id": "3f2b9c1e-8d4a-4f6b-9e2a-7c1d5b8a0f42",
"status": "active",
"name": "Research AI agent frameworks, build comparison page, email results to team",
"objective": "Research the top 10 AI agent frameworks...",
"current_phase": "build",
"plan": "Research frameworks, build the comparison page, then email the link",
"budget": {
"total": "5.330000",
"spent": "0.010000",
"reserved": "0",
"remaining": "5.320000"
},
"soul_agent_id": null,
"deadline": null,
"started_at": "2026-01-15T12:00:00.000Z",
"completed_at": null,
"last_wake_at": "2026-01-15T12:05:30.000Z",
"next_wake_at": null,
"created_at": "2026-01-15T12:00:00.000Z"
}
}
Overview
Returns a compute goal’s status, current phase, plan, budget, and timing.Authentication
A signed read proof or an access token: see Authentication schemes. Only the wallet that created the goal can read it; other callers get a404.
Path Parameters
string
required
Goal ID (a UUID) from the create endpoint
Response
string
Goal ID
string
active, paused, awaiting_connection, awaiting_confirmation, completed, failed, or cancelled. awaiting_confirmation means the agent says the goal is complete, the goal has no done-check, and it is waiting for you to confirm.object
since and requires, with missing systems and connect_url.string
Short goal name (the quote’s plan summary)
string
Full objective text
string
Phase name the orchestrator last set, or
nullany
Plan the orchestrator last set, or
null. Free-form.object
total, spent, reserved, remaining (all USDC strings), or null if the goal has no budget recordstring
Soul agent ID when the goal was created with
soul_slug, else nullstring
The goal’s deadline, or
null. Once it passes, nothing new starts and the done-check decides (or, with no check, the goal waits for you).object
The goal’s done-check, or
null when its owner confirmsstring
The goal’s answer in the planner’s words, written when it finished: the values, findings or links you asked for.
null until then. result_at is when it was written. What the tasks produced (files, large tool results) is at the outputs endpoint.object
The latest evaluation, or
null before the first: kind, passed (null while waiting for the owner), observed, required, detail (one sentence, e.g. “Not met: at least 250 email(s) delivered. 120 of 250 so far.”), evaluated_at, attemptstring
Why the goal ended, or
null while it runs: check_passed, owner_confirmed, check_failed (check unmet after three attempts), budget_exhausted, deadline_passed (check unmet at the deadline), planner_failed, impossible (proof verified in code) or impossible_unverified (no verifiable proof; disputable). A goal out of budget ends failed with budget_exhausted, never completed. Funding such a goal sets it back to active with end_reason: null; every other ending is final.string
When the goal was created
string
When the goal completed, failed, or was cancelled
string
Last orchestrator wake
string
Next scheduled wake, if any
string
Creation timestamp
object
Recurring goals only:
cron, budget_per_run, max_runs, run_count, last_run_at, next_run_atcurl https://win.oneshotagent.com/v1/compute/3f2b9c1e-8d4a-4f6b-9e2a-7c1d5b8a0f42 \
-H "X-Agent-ID: 0xYourWalletAddress" \
-H "x-agent-proof: <base64 EIP-712 proof, scope read>"
const status = await agent.getComputeGoal(goalId);
console.log(status.status, status.budget?.remaining);
{
"success": true,
"data": {
"id": "3f2b9c1e-8d4a-4f6b-9e2a-7c1d5b8a0f42",
"status": "active",
"name": "Research AI agent frameworks, build comparison page, email results to team",
"objective": "Research the top 10 AI agent frameworks...",
"current_phase": "build",
"plan": "Research frameworks, build the comparison page, then email the link",
"budget": {
"total": "5.330000",
"spent": "0.010000",
"reserved": "0",
"remaining": "5.320000"
},
"soul_agent_id": null,
"deadline": null,
"started_at": "2026-01-15T12:00:00.000Z",
"completed_at": null,
"last_wake_at": "2026-01-15T12:05:30.000Z",
"next_wake_at": null,
"created_at": "2026-01-15T12:00:00.000Z"
}
}
Connection holds
Missing payer connections hold goals without sessions or spend.requires names systems and connect URLs. Connecting all requirements or starting anyway releases it. After 7 days, unused budget becomes account credit; unstarted goals recover the full charge including quote fee. Runtime holds retain spend and saved steps.