Assistiv Docs

Self-Service

These endpoints let end users query their own state directly. Auth: end-user key only. Safe for frontend use — the key is scoped to one user's data.

GET/v1/me/budget

Returns the authenticated end user's current budget.

Auth: End-user key (sk-eu_*). Returns 403 if called with a platform key. Returns 404 if no active budget exists. Returns the row even when is_suspended=true so your UI can render an "account paused" state.

bash
curl https://api.assistiv.ai/v1/me/budget \
  -H "Authorization: Bearer sk-eu_your_key"
json
{
  "id": "uuid",
  "platform_id": "uuid",
  "end_user_id": "uuid",
  "max_usd": 10.00,
  "used_usd": 1.50,
  "remaining_usd": 8.50,
  "period": "monthly",
  "period_start": "2026-04-01T00:00:00Z",
  "auto_replenish": true,
  "is_active": true,
  "is_suspended": false
}
GET/v1/me/rate-limits

Returns the effective rate limits for the authenticated end user.

Auth: End-user key (sk-eu_*). Returns 403 if called with a platform key.

resolution indicates where the limits come from: "explicit" (user has an override), "default" (platform default), or "none" (no limits configured).

bash
curl https://api.assistiv.ai/v1/me/rate-limits \
  -H "Authorization: Bearer sk-eu_your_key"
json
{
  "rpm_limit": 60,
  "tpm_limit": 100000,
  "rpd_limit": 10000,
  "resolution": "explicit"}
GET/v1/me/mcp-config

Returns per-app MCP URLs for the authenticated end user.

Auth: End-user key (sk-eu_*). Returns 403 if called with a platform key.

Returns per-app MCP URLs for the authenticated end user. See MCP / Tools for full details.

bash
curl https://api.assistiv.ai/v1/me/mcp-config \
  -H "Authorization: Bearer sk-eu_your_key"
json
{
  "standard": {
    "github": {
      "transport": "streamable_http",
      "url": "https://mcp.assistiv.ai/mcp/github",
      "headers": { "Authorization": "Bearer sk-eu_..."}
    }
  },
  "openai": [
    {
      "type": "mcp",
      "server_label": "github",
      "server_url": "https://mcp.assistiv.ai/mcp/github",
      "authorization": "Bearer sk-eu_..."}
  ]
}

Prefer webhooks over polling

If you're subscribed to budget webhooks, re-fetch on webhook arrival instead of polling.