ABS Core
API Reference

API Reference

REST API for ABS Core. All endpoints, authentication, rate limits, and error codes.

API Reference

The ABS Core API is organized around REST. All endpoints accept JSON request bodies, return JSON responses, and use standard HTTP response codes.

Base URL: https://api.abscore.app

Authentication: Bearer token in Authorization header. Get your token at abscore.app/dashboard.


Quick reference

MethodEndpointDescription
POST/v1/proxy/chat/completionsOpenAI-compatible governance proxy
POST/v1/decideEvaluate a decision without calling an LLM
GET/v1/eventsList audit events for an agent
POST/v1/eventsIngest a custom event
POST/v1/events/ingest/batchBatch ingest (up to 1,000 events/call)
GET/v1/telemetry/metricsSystem metrics: latency, blocks, volume
GET/v1/policiesList policy packs
POST/v1/policiesCreate or update a policy pack
GET/v1/agentsList registered agents
POST/v1/agentsRegister or update an agent profile

Authentication

# All requests require this header:
Authorization: Bearer <YOUR_ABS_PAT>

# Test your token:
curl https://api.abscore.app/v1/agents \
  -H "Authorization: Bearer $ABS_PAT"

See Authentication for token scopes, rotation, and IP allowlisting.


Rate limits

PlanRequests / minuteBurst
Community6010
Professional600100
EnterpriseUnlimited (contractual SLA)

Rate limit exceeded responses return HTTP 429 with a Retry-After header in seconds.


Error codes

HTTP codeMeaning
200Success
400Bad request — invalid JSON or missing required field
401Missing or invalid Authorization header
403Policy violation — request was blocked by ABS
404Resource not found (agent ID, policy ID, event ID)
429Rate limit exceeded
500Internal server error
503Upstream LLM provider unavailable (proxy only)

All errors return a consistent JSON envelope:

{
  "error": {
    "code":    403,
    "type":    "abs_policy_violation",
    "message": "Unauthorized data exfiltration pattern detected.",
    "rule":    "EXFIL-001",
    "traceId": "tr_1a2b3c4d5e6f7890"
  }
}

Pagination

List endpoints (/v1/events, /v1/agents, /v1/policies) support cursor-based pagination:

# First page
curl "https://api.abscore.app/v1/events?limit=50" \
  -H "Authorization: Bearer $ABS_PAT"

# Next page — use cursor from previous response
curl "https://api.abscore.app/v1/events?limit=50&cursor=evt_x7y8z9" \
  -H "Authorization: Bearer $ABS_PAT"
{
  "events": [...],
  "cursor": "evt_abc123",   // null if no more pages
  "total": 1842
}

Response headers (proxy endpoints)

Every response from the Magic Proxy includes:

HeaderExample valueDescription
x-abs-verdictALLOWEDALLOWED or DENIED
x-abs-trace-idtr_9f8e7d6cUnique decision ID — use for ledger lookup
x-abs-ruleEXFIL-001Rule that triggered the verdict (DENIED only)
x-abs-policydefault-v1Active policy version
x-abs-latency-ms14ABS governance overhead in milliseconds

Explore the endpoints

On this page