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"