AIX Platform

API Documentation

Getting started with the AIX Platform API.

Authentication

All API endpoints require a Bearer token. API keys follow the format:

<orgPrefix>_<env>_<publicId>_<secret>

Example: el20_live_abc123_sk_xxxxxxxxxxxxxxxx

Include the full key in the Authorization header:

curl https://aix.neolaf.ai/api/v1/me \
  -H "Authorization: Bearer el20_live_abc123_sk_xxx"

Key Management

Create Key
POST /api/v1/keys
{ "name": "my-agent", "scopes": ["agents:read", "skills:read"] }
Rotate Key
POST /api/v1/keys/rotate
{ "keyId": "uuid" }
Revoke Key
POST /api/v1/keys/revoke
{ "keyId": "uuid", "reason": "compromised" }
Audit Log
GET /api/v1/keys/audit
?pageSize=50&orderBy=createdAt desc

API Scopes

agents:readagents:writeagents:configskills:readskills:writeresources:readresources:writeorgs:readorgs:membersusers:readusers:writewebhook:manageadmin:orgsadmin:platform

Response Format

All responses follow a standard envelope:

Single Resource
{
  "data": { ... },
  "metadata": {
    "orgSlug": "elite20",
    "requestId": "uuid",
    "timestamp": "2026-03-12T..."
  }
}
List Response
{
  "data": [ ... ],
  "nextPageToken": "base64...",
  "totalSize": 42,
  "metadata": { ... }
}

Quick Start: Register an Agent

# 1. Create an agent
curl -X POST https://aix.neolaf.ai/api/v1/agents \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "slug": "my-ai-agent",
    "displayName": "My AI Agent",
    "agentType": "ai_agent"
  }'

# 2. Bind an API key to it
curl -X POST https://aix.neolaf.ai/api/v1/agents/{id}/bind-key \
  -H "Authorization: Bearer $API_KEY" \
  -d '{ "apiKeyId": "key-uuid" }'

# 3. Grant skills
curl -X POST https://aix.neolaf.ai/api/v1/agents/{id}/skills \
  -H "Authorization: Bearer $API_KEY" \
  -d '{ "skillId": "skill-uuid", "grantLevel": "execute" }'

# 4. Send heartbeat
curl -X POST https://aix.neolaf.ai/api/v1/agents/{id}/heartbeat \
  -H "Authorization: Bearer $API_KEY"