API · Read
Get mandate
Pulls the active Investment Policy Statement as a structured bundle. Always call this before sizing a proposal — the response tells you exactly what's allowed.
GET
/api/agent/v1/mandatescope: readRequest
No parameters.
bash
curl -H "Authorization: Bearer ac_live_…" \
https://api.advisorscrypto.com/api/agent/v1/mandateResponse
The fields you’ll use most often:
limits— the hard bands. Allocation min/target/max per sleeve, cash floor, max drawdown, max slippage.snapshot— current portfolio state used in the most recent evaluation.utilization— how much of each band is already used. The agent’s sizing dial.
200 OK
{
"hasIps": true,
"ipsVersion": 7,
"tier": 2,
"limits": {
"cryptoMin": 0.10,
"cryptoTarget": 0.20,
"cryptoMax": 0.35,
"tradfiMin": 0.55,
"tradfiTarget": 0.65,
"tradfiMax": 0.80,
"cashFloor": 0.05,
"maxDrawdown": 0.25,
"maxSlippage": 0.01
},
"snapshot": {
"totalValue": 482310,
"cryptoValue": 106108.20,
"tradfiValue": 342440.10,
"cashValue": 33761.70,
"cryptoPct": 0.22,
"tradfiPct": 0.71,
"cashPct": 0.07,
"snapshotDate": "2026-06-14",
"currentDrawdownPct": 0.136
},
"utilization": {
"cryptoUsedPct": 0.48,
"tradfiUsedPct": 0.64,
"driftFromTarget": 0.02,
"drawdownHeadroomPct": 0.114
}
}No active IPS
If the user has not encoded an IPS, hasIps is false and the typed limits/snapshot/utilization fields are null. Every validate_trade from this user will return a no_active_ips violation. Tell the user to finish onboarding.
Errors
401 Unauthorized
{ "statusCode": 401, "message": "Missing scope: read" }Last updated 2026-06-15