Aira

API Reference

Complete reference for all Aira API endpoints.

Base URL

https://api.airaproof.com/api/v1

All endpoints are prefixed with /api/v1. Responses are JSON. All timestamps are ISO 8601 UTC.

Interactive Docs

The API also serves interactive documentation:

Endpoints Overview

Authentication

MethodEndpointDescription
POST/auth/registerCreate organization + first API key
POST/auth/loginGet JWT token for dashboard
POST/auth/oauthOAuth login (Google, GitHub, GitLab)

API Keys

MethodEndpointAuthDescription
POST/api-keysRequiredCreate new API key
GET/api-keysRequiredList all keys (masked)
DELETE/api-keys/{id}RequiredRevoke a key

Cases (Core)

MethodEndpointAuthDescription
POST/casesRequiredExecute consensus case
POST/cases/streamRequiredSubmit case with SSE streaming
GET/cases/{id}RequiredGet case run details
GET/casesRequiredList case runs (paginated)

Receipts

MethodEndpointAuthDescription
GET/receipts/{id}RequiredGet receipt details
GET/receipts/{id}/exportRequiredExport as JSON

Verification (Public)

MethodEndpointAuthDescription
GET/verify/{receipt_id}NoneVerify receipt by ID
GET/.well-known/keysNoneList signing public keys

BYOK (Bring Your Own Key)

MethodEndpointAuthDescription
POST/api-keys/{id}/byokRequiredSet provider API keys
GET/api-keys/{id}/byokRequiredGet BYOK status
DELETE/api-keys/{id}/byokRequiredRevert to managed keys

Custom Models

MethodEndpointAuthDescription
POST/models/customRequiredRegister custom model
GET/models/customRequiredList custom models
GET/models/custom/{id}RequiredGet custom model
PUT/models/custom/{id}RequiredUpdate custom model
DELETE/models/custom/{id}RequiredDelete custom model
POST/models/custom/{id}/testRequiredTest model endpoint

Webhooks

MethodEndpointAuthDescription
POST/webhooksRequiredCreate webhook
GET/webhooksRequiredList webhooks
DELETE/webhooks/{id}RequiredDelete webhook
GET/webhooks/{id}/deliveriesRequiredList delivery log

Usage

MethodEndpointAuthDescription
GET/usageRequiredGet usage summary
GET/usage/eventsRequiredList usage events

Models

MethodEndpointAuthDescription
GET/modelsOptionalList available models (9 built-in + custom)
GET/models/preferencesRequiredGet disabled models list
PUT/models/preferencesRequiredUpdate disabled models list

Config

MethodEndpointAuthDescription
GET/configNoneGet deployment configuration

Health

MethodEndpointAuthDescription
GET/healthNoneService health check

Common Headers

Request

Authorization: Bearer aira_live_xxxxx
Content-Type: application/json

Response

Content-Type: application/json
X-Request-ID: req_a1b2c3d4e5f6

Every response includes a request_id field for support and debugging.

Pagination

List endpoints return paginated results:

{
  "data": [...],
  "pagination": {
    "page": 1,
    "per_page": 20,
    "total": 245,
    "has_more": true
  },
  "request_id": "req_..."
}

Query parameters:

  • page (default: 1, min: 1)
  • per_page (default: 20, min: 1, max: 100)

Idempotency

The case execution endpoint supports idempotency keys to prevent duplicate processing on network retries:

{
  "details": "...",
  "models": ["..."],
  "options": {
    "idempotency_key": "loan-app-12345-v1"
  }
}

If the same idempotency_key is sent twice, the second request returns 409 DUPLICATE_REQUEST with the original case ID.

On this page