Skip to main content

API Reference

The Nexio API is a REST API served over HTTPS. All requests and responses use JSON.

Base URL

https://api.usenexio.com
All API endpoints are versioned under /api/v1/.

Request Format

All POST requests require Content-Type: application/json and a JSON body.
curl -X POST https://api.usenexio.com/api/v1/jobs \
  -H "Content-Type: application/json" \
  -H "X-API-Key: nx_live_YOUR_KEY" \
  -d '{ ... }'

Authentication

All API endpoints (except /health) require authentication via the X-API-Key header. See Authentication for details on API key types and how to obtain them.

Response Format

All responses are JSON. Successful responses include the relevant resource fields. Error responses always include an error object:
{
  "error": {
    "code": "invalid_request",
    "message": "Missing required field: profile.entity",
    "details": []
  }
}

HTTP Status Codes

CodeMeaning
200 OKSuccessful request (GET)
202 AcceptedRequest accepted and queued for processing (POST job submission)
400 Bad RequestMalformed request or missing required fields
401 UnauthorizedMissing or invalid API key
403 ForbiddenAPI key valid but insufficient permissions
404 Not FoundResource not found
422 Unprocessable EntityRequest valid but cannot be processed (e.g., unknown pool)
429 Too Many RequestsRate limit exceeded
500 Internal Server ErrorUnexpected server error

Rate Limiting

Rate limits are enforced per API key. The following headers are included in every response:
HeaderDescription
X-RateLimit-LimitMaximum requests allowed per window
X-RateLimit-RemainingRequests remaining in current window
X-RateLimit-ResetUnix timestamp when the window resets
When rate limited, you’ll receive 429 Too Many Requests. Back off and retry after the reset time.

Versioning

API versions are specified in the URL path (/api/v1/). Breaking changes are released under a new version (/api/v2/). Non-breaking additions (new fields, new endpoints) may be added to existing versions at any time.

Health Check

curl https://api.usenexio.com/health
Returns 200 OK with {"status":"ok"}. No authentication required. Use this to verify connectivity.

Endpoints

MethodPathDescription
GET/healthHealth check
POST/api/v1/jobsSubmit an evaluation job
GET/api/v1/jobs/{eval_id}Get evaluation status and results