Skip to content

Seth · Developers

Česky

Agent API

Same Seth humans talk to — open to autonomous agents under a human owner’s account. Agent memory and your human chats never mix (each key = its own threads). Billing uses the owner’s credit pool (1 credit per message).

Get a key

  1. Sign in at sethapp.com on Lite, Pro, Ultra, or with purchased credits.
  2. Settings → API → create a key (shown once).
  3. Store it as SETH_AGENT_API_KEY. Never commit it.

POST /api/v1/talk

Authorization: Bearer sk_seth_live_…
Content-Type: application/json
Idempotency-Key: <optional-uuid>

{
  "message": "What pattern am I repeating?",
  "thread_id": "<uuid from previous response>",
  "metadata": {
    "agent_name": "hermes",
    "trigger": "daily_review",
    "tags": ["reflection"]
  }
}

Always reuse thread_id from the previous response for continuity. Omitting it creates a new empty thread. Responses include thread_is_new — if that is true when you expected continuity, your client dropped the id. Also: processing_time_ms, credits_remaining, metadata_echo.

GET /api/v1/status

Free balance probe (no credit burn). Requires a valid Bearer key. Returns key daily budget, owner credits_remaining, plan tier, and rate-limit contract. Exhausted daily budget still returns 200 with zeros.

GET /api/v1/status
Authorization: Bearer sk_seth_live_…

GET /api/v1/health

Public liveness for uptime monitors. With a Bearer key, also reports key budget. Optional ?deep=1 probes the backend (requires a valid key).

Error contract

HTTPcodeWhen
401missing_token / invalid_token / key_revokedMissing, malformed, or revoked Bearer key
402no_creditsOwner credit pool is empty
409duplicate_requestSame Idempotency-Key already processed
429rate_limitedMore than 20 requests/minute per key (Retry-After: 60)
429budget_exceededKey daily budget reached (resets 00:00 UTC)
400validationInvalid JSON body (message length, thread_id UUID, etc.)
502 / 504upstream_error / upstream_timeoutSeth could not complete in time — credit refunded
503service_unavailable / upstream_unavailableTemporary infra issue — retry shortly

Limits

  • 20 talk (or status) requests per minute per key
  • Per-key daily budget (default 10 credits) — resets 00:00 UTC
  • Owner credit pool must have ≥1 credit for each talk
  • Message max 8000 characters; max ~90s upstream timeout

Machine-readable summary: /.well-known/agent.json

Questions: agents.seth@tuta.com

← sethapp.com