Risk API
REST reference for cases, assessments, evidence, and reports.
Base URL: https://api.geteridian.com/v1. Keys: eridian_sk_. Models: gpt, gemini, auto.
Scopes
| Scope | Access |
|---|---|
risk:read | GET cases, evidence metadata, assessments, reports |
risk:write | Open cases, attach evidence, draft assessments and reports |
risk:approve | Approve gated Risk actions (or governance:manage) |
audit:read | Evidence export |
Cases
| Method | Path |
|---|---|
POST | /v1/risk/cases |
GET | /v1/risk/cases |
GET | /v1/risk/cases/{id} |
POST | /v1/risk/cases/{id}/assign |
POST | /v1/risk/cases/{id}/status |
POST | /v1/risk/cases/{id}/notes |
PATCH | /v1/risk/cases/{id}/fc |
POST | /v1/risk/cases/{id}/fc/brief |
POST | /v1/risk/cases/{id}/hold |
Evidence, controls, assessments, reports
| Method | Path |
|---|---|
POST | /v1/risk/cases/{id}/evidence |
GET | /v1/risk/cases/{id}/evidence |
GET | /v1/risk/evidence/{id} |
GET | /v1/risk/evidence/{id}/content |
GET | /v1/risk/controls |
POST | /v1/risk/controls/map |
POST | /v1/risk/controls/map/{id}/gap |
POST | /v1/risk/assessments |
POST | /v1/risk/assessments/{id}/submit |
POST | /v1/risk/reports |
GET | /v1/risk/reports/{id}/content |
Approvals: Dual Control /v1/approvals.
Objects
object | Id prefix |
|---|---|
eridian.risk.case | cse_ |
eridian.risk.evidence | evd_ |
eridian.risk.assessment | ras_ |
eridian.risk.control_map | cem_ |
eridian.risk.report | rpt_ |
eridian.risk.fc.brief | fcb_ |
Errors
| HTTP | Code | When |
|---|---|---|
| 409 | segregation_of_duties | Assignee equals reviewer |
| 409 | evidence_immutable | Byte mutate |
| 403 | dual_control_required | Gated action |
| 409 | case_held | Destructive write under hold |
| 422 | structured_output_failed | Assessment without citations |
Python
from eridian import Eridian
client = Eridian(api_key="eridian_sk_...", project_id="prj_risk_001")
case = client.risk.cases.create(
title="Unusual outbound series on desk PX-12",
typology="fraud",
severity="high",
model="auto",
triage=True,
)
print(case.id, case.status, case.eridian.route)
TypeScript
import { Eridian } from "@eridian/sdk";
const client = new Eridian({
apiKey: process.env.ERIDIAN_API_KEY!,
projectId: "prj_risk_001",
});
const report = await client.risk.reports.create({
caseId: "cse_0912",
templateId: "tpl_fc_narrative_v2",
model: "gpt",
evidenceIds: ["evd_01", "evd_02"],
});
See Pagination and Idempotency.
Production API credentials are issued with an institution workspace. Contact sales if you need access.