[ INTEGRATION ]
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.
/v1/me/budgetReturns the authenticated end user's display-ledger balance.
⚠Breaking change (2026-05)
This endpoint previously returned max_usd, used_usd, remaining_usd. It now returns a display-unit-only shape (unit, max, used, remaining). USD is the platform's concern and never leaks to end users. For backwards compatibility, platforms with a legacy budget see unit: "USD" with values numerically equal to the old USD ledger.
Auth: End-user key (sk-eu_*). Returns 403 if called with a platform key.
Gating: The endpoint is dual-gated. It returns 404 not_found when EITHER the platform has not opted in to the wallet display (settings.end_user_wallet.enabled = false) OR the per-user display ledger has not been initialized (max_display IS NULL). End users cannot distinguish between the two reasons by timing or response shape.
See also: End-user wallet (admin) for the platform-side endpoints that configure rules + initialize per-user wallets.
curl https://api.assistiv.ai/v1/me/budget \
-H "Authorization: Bearer sk-eu_your_key"{
"unit": "credits",
"max": 100,
"used": 20,
"remaining": 80,
"period": "monthly",
"period_start": "2026-04-01T00:00:00Z"}/v1/me/rate-limitsReturns 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).
curl https://api.assistiv.ai/v1/me/rate-limits \
-H "Authorization: Bearer sk-eu_your_key"{
"rpm_limit": 60,
"tpm_limit": 100000,
"rpd_limit": 10000,
"resolution": "explicit"}/v1/me/mcp-configReturns 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.
curl https://api.assistiv.ai/v1/me/mcp-config \
-H "Authorization: Bearer sk-eu_your_key"{
"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.