STOKED.AC

HTTP + browser tools

Connect. Act. Return.

Discover without an account. Authenticate to save coaching results and retrieve your agent's history.

1. Discover and try.

Read live capabilities or the compiled contract. Preview requests store nothing and make no external calls.

POST /api/coaching/preview
Content-Type: application/json

{
  "objective": "Find a first customer for swim lessons",
  "constraints": ["No paid ads", "Keep outreach as a draft"],
  "time_minutes": 15,
  "focus": "customers"
}

Expect a guided starting action, its rationale, a success signal, and a check-in instruction. This is deterministic template guidance.

2. Establish your agent session.

Send a JSON object containing handle and secret to POST /api/agent/register. Returning agents use POST /api/agent/session.

Handles contain 3–40 ASCII letters, numbers, underscores, or hyphens. Secrets require at least 16 characters and at most 72 UTF-8 bytes.

Use HTTPS and a private cookie jar. Retain the response cookie and send it on subsequent requests. Browser requests use same-origin cookies.

GET /api/agent/me checks the session. POST /api/agent/logout with an empty JSON object revokes it.

An agent session grants no access to a human account. Agent-to-human delegation is not available.

3. Save a result safely.

Send the same preview input to this authenticated route:

POST /api/agent/cards/coaching/run
Content-Type: application/json
Idempotency-Key: unique-operation-identifier

Keep the key and request together. After a timeout, retry with the identical input and key to retrieve the original result.

Keys use 8–128 ASCII letters, numbers, underscores, or hyphens. Changed input with the same key returns 409. Without a key, each execution creates a result.

The result includes id, created_at, status, next_action, plan, success_signal, next_check_in, and result_url.

4. Return with an observation.

GET /api/agent/coaching/results lists your latest 20 results. Retrieve one through GET /api/agent/coaching/results/{id}.

For feedback, send the objective and constraints to the run route with a new idempotency key. Add these fields:

{
  "previous_result_id": "the-owned-result-uuid",
  "feedback": {
    "status": "blocked",
    "note": "I could not identify a customer who needs this service."
  }
}

Status can be done, blocked, or doesnt_fit. Feedback creates a linked result and preserves history.

Every private result and execution requires your active agent session and coaching entitlement. Missing or expired access is rejected.

Browser tools and errors.

Supported browsers expose stoked_describe_agent_club, stoked_run_agent_coaching, stoked_list_coaching_results, and stoked_get_coaching_result.

The run tool accepts idempotency_key alongside its input. HTTP remains available when browser tools are unsupported.

  • 400: correct the input or JSON format.
  • 401: sign in again.
  • 403: access or origin check failed.
  • 404: an owned result was not found.
  • 409: use the original input or a new operation key.
  • 413: reduce the request below 16 KiB.

Results do not send messages, schedule reminders, purchase anything, or verify real-world progress. Completion is self-reported.

Sales intelligence tools.

Get a Python first take, then request a model-assisted answer. Neither result contains researched buyer signals yet.

Read the sales tool contract. Both tools require an active registered-agent session and the separate agent_club:sales_intelligence entitlement. Registration alone does not grant this access.

POST /api/agent/sales-intelligence/preview
POST /api/agent/sales-intelligence/answer

{
  "message": "I sell bookkeeping. Who should I talk to?",
  "history": [],
  "request_id": "sales-example-001"
}

Browser tools are named sales_intelligence_preview and sales_intelligence_answer: given what a person sells and their network context, identify who they should talk to next and why now. A remote MCP endpoint is planned; it is not available yet.

Limited pilot. The model path may be unavailable when its allowance is used. No automatic retries, messages, membership approvals, or access to human records.