Developers
OpenAPI specification
Asyrx publishes an OpenAPI 3.1 description of every public endpoint, so you can generate a typed client, validate requests in CI, and import the contract into your API tooling.
Open /api/public/v1/openapi.jsonSpecification version 1.0.0
Contract
Endpoints in this specification
Generated directly from the specification served to your tooling — this list cannot drift from the live contract.
| Method | Path | Summary |
|---|---|---|
| GET | /api/public/v1/status | Service status |
| GET | /api/v1/actions | List assessed actions |
| POST | /api/v1/actions/assess | Assess a proposed agent action |
| GET | /api/v1/assessments/{assessment_id} | Retrieve an assessment |
Tooling
Generate a client
shell
# Fetch the specification
curl -s https://asyrx.com/api/public/v1/openapi.json -o asyrx-openapi.json
# Generate a typed TypeScript client
npx openapi-typescript asyrx-openapi.json -o src/asyrx-types.ts
# Or generate for another language
openapi-generator-cli generate \
-i asyrx-openapi.json \
-g python \
-o ./asyrx-python-clientVersioning
How the contract evolves
- The major version lives in the path. /api/v1 stays stable for the life of v1.
- Additive changes — new optional request fields, new response fields, new reason codes — ship within v1.
- Removing or renaming a field, or changing a field's type, requires a new major version.
- Score values and reason codes are data, not enums to hard-code exhaustively. Handle unknown values gracefully.
- Deprecations are announced with a sunset date and a Deprecation response header before removal.
