Read ACI Risk Indicators over HTTP.
A versioned REST API for ACI Risk Indicators under ACI Framework v1.0, a band-only public endpoint, and a connector for Claude.
Access
API access is available on Professional and Enterprise plans.
API credentials are issued from Settings → API keys on eligible Professional and Enterprise accounts. They are not issued automatically at subscription checkout: an authorised Contract Admin must first accept the applicable API terms, and the key is created only after that acceptance is recorded.
Requests authenticate with an x-api-key request header. A valid credential without the entitlement receives 403.
x-api-key: sk_live_your_key_here
GET /api/public/scores needs no credential. Plans and sign-up are on the pricing page: Sandbox, Analyst and Professional are self-serve, and Enterprise is arranged through sales.
Endpoints
| Method | Endpoint | Description | Requires |
|---|---|---|---|
| GET | /api/v1/scores | All provider Risk Indicators. Optional: ?planner_type= | Professional+ |
| GET | /api/v1/scores/{providerId} | One provider, including criterion breakdown and decision object | Professional+ |
| GET | /api/v1/methodology | Framework version, module weights and hard rules | Professional+ |
| GET | /api/v1/computation/{id} | Computation package for a published Risk Indicator | Enterprise |
| GET | /api/v1/status | Service status and framework version | Public |
| GET | /api/public/scores | Every active provider: name, module, risk band and score_status (band only, for every caller). Rate limited by IP. | Public |
Code examples
Read the band-only public endpoint. It answers every caller with name, module and risk band for each provider.
curl https://aethoncredit.com/api/public/scores
Response shape
The fields of a GET /api/public/scores response. Authenticated endpoints at Professional and above return the ACI Risk Indicator value and additional fields: aci_decision_object, criterion_scores and score_commentary.
| Field | Type | Description |
|---|---|---|
| data | array | One row per active provider, in alphabetical order. The providers with a current ACI Risk Indicator are the rows whose score_status is PUBLISHED. |
| data[].name | string | Provider name. |
| data[].planner_type | string | Module code: btc, fiat, stablecoin, infrastructure, market_neutral, venture, tokenised_rwa, volatility or digital_asset_etp. |
| data[].risk_band | string or null | LOW, MEDIUM, ELEVATED or HIGH, the four bands of the methodology; NO_CURRENT_INDICATOR where every criterion was not applicable, so there is no current ACI Risk Indicator (displayed as “No current ACI Risk Indicator: criteria not applicable”); null where score_status is not PUBLISHED, or where no band is stored. NOT_RATED was renamed NO_CURRENT_INDICATOR on 2026-10-08; requests using NOT_RATED are accepted until 2027-01-06. |
| data[].score_status | string | PUBLISHED: the provider has a current ACI Risk Indicator. WITHHELD, RETIRED, AWAITING_CERTIFICATION or NOT_ASSESSED: there is no current ACI Risk Indicator, so risk_band and certified_at are null. |
| data[].certified_at | string or null | The date ACI’s CRO signed off the provider’s current ACI Risk Indicator, set only when the CRO has; otherwise null. |
| limitations_disclosure | string | The limitations disclosure, verbatim. |
| cached | boolean | true when the response was served from the cache. |
A response trimmed to two rows. Each row’s values are illustrative (fictional providers).
{
"data": [
{
"name": "Example Provider",
"planner_type": "btc",
"risk_band": "MEDIUM",
"score_status": "PUBLISHED",
"certified_at": null
},
{
"name": "Example Lender",
"planner_type": "stablecoin",
"risk_band": null,
"score_status": "NOT_ASSESSED",
"certified_at": null
}
],
"limitations_disclosure": "…",
"cached": true
}Errors
| Status | When | Body |
|---|---|---|
| 401 | An /api/v1 request without a signed-in ACI session. The x-api-key header is missing or not recognised. | { "error": "Unauthorized", "message": "Authentication required" }{ "meta": { … }, "error": { "code": "INVALID_API_KEY", "message": "…" } } |
| 403 | The key is valid, but the plan does not include API access. The account has not confirmed the professional user acknowledgment. | { "meta": { … }, "error": { "code": "FORBIDDEN", "message": "…" } }, message: This API key is valid but the subscription plan does not include read-only API access. Contact help@aethoncredit.com to enable it.{ "error": "Forbidden", "message": "…" }, message: Access to ACI Output requires the professional user acknowledgment. Sign in to the dashboard and confirm the acknowledgment, then retry. |
| 429 | Too many requests to /api/public/scores from one IP address. Retry after the number of seconds in the Retry-After header. | { "error": "Rate limit exceeded", "resetSeconds": …, "limitations_disclosure": "…" } |
Determinism
Risk Indicator calculations are deterministic when the approved inputs, methodology version, engine version and configuration are held constant.
OpenAPI specification
The endpoints above are described by a machine-readable OpenAPI 3.1 specification.
ACI connector for Claude
The ACI connector gives Claude read-only tools over ACI Risk Indicators. Its server URL is https://mcp.aethoncredit.com/mcp. What each plan sees:
| Tool | No sign-in | Sandbox | Analyst | Professional | Enterprise |
|---|---|---|---|---|---|
| list_modules | public catalogue only | public catalogue only | public catalogue only | Included | Included |
| search_providers | public catalogue only | public catalogue only | public catalogue only | Included | Included |
| get_risk_score | sign-in | Not on this plan | Not on this plan | Included | Included |
| get_provider_detail | sign-in | Not on this plan | Not on this plan | Included | Included |
| compare_providers | sign-in | Not on this plan | Not on this plan | Included | Included |
| assess_portfolio_risk | sign-in | Not on this plan | Not on this plan | Included | Included |
| resolve_exposures | sign-in | Not on this plan | Not on this plan | Included | Included |
- No sign-in: list_modules, search_providers. The Professional plan adds get_risk_score, get_provider_detail, compare_providers, assess_portfolio_risk, resolve_exposures.
- Signed out and below the Professional plan, list_modules returns each module's code, name and description only, with no provider or criteria counts.
- Signed out and below the Professional plan, search_providers returns each active provider's name and module only, and refuses the risk_band filter.
- Accounts on the Sandbox and Analyst plans see what a signed-out caller sees.
- “sign-in”: calling the tool starts the sign-in. “—”: the tool returns a message that names the plan it needs.
Setup for Claude and Claude Code, the tools and example prompts: ACI for Claude. How the connector handles your data: the connector privacy policy.
ACI Framework v1.0 · aethoncredit.com · Quantitative risk analytics outputs for independent analysis