Accounts and profile
Your linked broker accounts and who the credential belongs to.
List linked broker accounts #
/v1/accounts scope readEvery broker account the user linked, sorted by id, with whether it can trade now (status), what it lacks (missing) and how order updates arrive (updates).
More about this
Never a credential.
Errors
| HTTP | Code | When |
|---|---|---|
| 401 | unauthorized | No credential, or the credential is invalid, expired or revoked. |
| 403 | forbidden | The credential may not use this route (missing scope, app-session-only route, IP not allowed). |
| 429 | rate_limited | Too many requests for this credential (or too many failed attempts); retry after the |
| 503 | service_unavailable | A dependency is temporarily unavailable, or the feature is off on this server; retry later. |
All fields (request and response schema)
Loading fields…
curl "https://cirrus.pocketful.in/v1/accounts" \
-H "Authorization: token $CIRRUS_API_KEY"import os
import requests
response = requests.get(
"https://cirrus.pocketful.in/v1/accounts",
headers={
"Authorization": f"token {os.environ['CIRRUS_API_KEY']}",
},
timeout=10,
)
print(response.status_code, response.json())const response = await fetch('https://cirrus.pocketful.in/v1/accounts', {
method: 'GET',
headers: {
Authorization: `token ${process.env.CIRRUS_API_KEY}`,
},
});
const body = await response.json();
console.log(response.status, body);{
"status": "success",
"data": {
"items": [
{
"account": "5P1",
"broker": "5paisa",
"broker_name": "5paisa",
"tag": null,
"multiplier": 1,
"supported": true,
"status": "login_required",
"missing": [
{
"field": "static_ip",
"label": "Static IP",
"required": false
}
],
"updates": "stream",
"static_ip": null,
"last_login_at": null,
"session_expires_at": null,
"seat_assigned": null,
"last_update_at": null,
"protection": {
"bracket": false,
"cover": false,
"gtt": false,
"gtt_two_leg": false
},
"warnings": []
},
{
"account": "MO1",
"broker": "motilaloswal",
"broker_name": "Motilal Oswal",
"tag": null,
"multiplier": 1,
"supported": true,
"status": "login_required",
"missing": [
{
"field": "static_ip",
"label": "Static IP",
"required": false
}
],
"updates": "stream",
"static_ip": null,
"last_login_at": null,
"session_expires_at": null,
"seat_assigned": null,
"last_update_at": null,
"protection": {
"bracket": false,
"cover": false,
"gtt": false,
"gtt_two_leg": false
},
"warnings": []
},
{
"account": "P1",
"broker": "paper",
"broker_name": "Paper",
"tag": null,
"multiplier": 1,
"supported": true,
"status": "ready",
"missing": [],
"updates": "postback",
"static_ip": null,
"last_login_at": null,
"session_expires_at": null,
"seat_assigned": null,
"last_update_at": null,
"protection": {
"bracket": true,
"cover": true,
"gtt": true,
"gtt_two_leg": true
},
"warnings": []
},
{
"account": "P2",
"broker": "paper",
"broker_name": "Paper",
"tag": null,
"multiplier": 2,
"supported": true,
"status": "ready",
"missing": [],
"updates": "postback",
"static_ip": null,
"last_login_at": null,
"session_expires_at": null,
"seat_assigned": null,
"last_update_at": null,
"protection": {
"bracket": true,
"cover": true,
"gtt": true,
"gtt_two_leg": true
},
"warnings": []
},
{
"account": "PF1",
"broker": "pocketful",
"broker_name": "Pocketful",
"tag": null,
"multiplier": 1,
"supported": true,
"status": "login_required",
"missing": [],
"updates": "stream",
"static_ip": null,
"last_login_at": null,
"session_expires_at": null,
"seat_assigned": null,
"last_update_at": null,
"protection": {
"bracket": true,
"cover": true,
"gtt": true,
"gtt_two_leg": false
},
"warnings": []
},
{
"account": "TJ1",
"broker": "tradejini",
"broker_name": "Tradejini",
"tag": null,
"multiplier": 1,
"supported": true,
"status": "ready",
"missing": [
{
"field": "static_ip",
"label": "Static IP",
"required": false
}
],
"updates": "stream",
"static_ip": null,
"last_login_at": null,
"session_expires_at": "2026-10-12T11:31:53Z",
"seat_assigned": null,
"last_update_at": "2026-10-12T10:31:53.299825Z",
"protection": {
"bracket": true,
"cover": true,
"gtt": true,
"gtt_two_leg": true
},
"warnings": []
},
{
"account": "U1",
"broker": "upstox",
"broker_name": "Upstox",
"tag": null,
"multiplier": 1,
"supported": true,
"status": "login_required",
"missing": [],
"updates": "stream",
"static_ip": null,
"last_login_at": null,
"session_expires_at": null,
"seat_assigned": null,
"last_update_at": null,
"protection": {
"bracket": false,
"cover": false,
"gtt": false,
"gtt_two_leg": false
},
"warnings": []
},
{
"account": "Z1",
"broker": "zerodha",
"broker_name": "Zerodha",
"tag": null,
"multiplier": 1,
"supported": true,
"status": "setup_incomplete",
"missing": [
{
"field": "api_key",
"label": "API Key",
"required": true
},
{
"field": "static_ip",
"label": "Static IP",
"required": false
}
],
"updates": "stream",
"static_ip": null,
"last_login_at": null,
"session_expires_at": null,
"seat_assigned": null,
"last_update_at": null,
"protection": {
"bracket": false,
"cover": false,
"gtt": true,
"gtt_two_leg": true
},
"warnings": []
}
]
},
"error": null
}One linked broker account #
/v1/accounts/{account} scope readThe account as in GET /v1/accounts, plus health: what its live worker last reported (order-update stream, polling, last book read, last broker error: its kind and last_error_message, safe to show the user).
Parameters
- account path · string required
Account id.
Errors
| HTTP | Code | When |
|---|---|---|
| 401 | unauthorized | No credential, or the credential is invalid, expired or revoked. |
| 403 | forbidden | The credential may not use this route (missing scope, app-session-only route, IP not allowed). |
| 404 | account_not_found | No linked broker account with this id for the caller. |
| 429 | rate_limited | Too many requests for this credential (or too many failed attempts); retry after the |
| 503 | service_unavailable | A dependency is temporarily unavailable, or the feature is off on this server; retry later. |
All fields (request and response schema)
Loading fields…
curl "https://cirrus.pocketful.in/v1/accounts/<account>" \
-H "Authorization: token $CIRRUS_API_KEY"import os
import requests
response = requests.get(
"https://cirrus.pocketful.in/v1/accounts/<account>",
headers={
"Authorization": f"token {os.environ['CIRRUS_API_KEY']}",
},
timeout=10,
)
print(response.status_code, response.json())const response = await fetch('https://cirrus.pocketful.in/v1/accounts/<account>', {
method: 'GET',
headers: {
Authorization: `token ${process.env.CIRRUS_API_KEY}`,
},
});
const body = await response.json();
console.log(response.status, body);{
"status": "success",
"data": {
"account": "TJ1",
"broker": "tradejini",
"broker_name": "Tradejini",
"tag": null,
"multiplier": 1,
"supported": true,
"status": "ready",
"missing": [
{
"field": "static_ip",
"label": "Static IP",
"required": false
}
],
"updates": "stream",
"static_ip": null,
"last_login_at": null,
"session_expires_at": "2026-10-06T06:33:54Z",
"seat_assigned": null,
"last_update_at": "2026-10-06T05:33:54.471247Z",
"protection": {
"bracket": true,
"cover": true,
"gtt": true,
"gtt_two_leg": true
},
"warnings": [],
"health": {
"stream": "up",
"polls": false,
"last_book_read_at": "2026-10-06T05:33:54.471247Z",
"open_orders": 2,
"last_error_kind": null,
"last_error_message": null,
"last_error_at": null
}
},
"error": null
}Who am I #
/v1/user/profile any credentialThe user and the credential of this request (session, API key or partner app) with its scopes.
More about this
Any valid credential may call it, whatever its scopes. Never returns a secret.
Errors
| HTTP | Code | When |
|---|---|---|
| 401 | unauthorized | No credential, or the credential is invalid, expired or revoked. |
| 403 | forbidden | The credential may not use this route (missing scope, app-session-only route, IP not allowed). |
| 429 | rate_limited | Too many requests for this credential (or too many failed attempts); retry after the |
| 503 | service_unavailable | A dependency is temporarily unavailable, or the feature is off on this server; retry later. |
All fields (request and response schema)
Loading fields…
curl "https://cirrus.pocketful.in/v1/user/profile" \
-H "Authorization: token $CIRRUS_API_KEY"import os
import requests
response = requests.get(
"https://cirrus.pocketful.in/v1/user/profile",
headers={
"Authorization": f"token {os.environ['CIRRUS_API_KEY']}",
},
timeout=10,
)
print(response.status_code, response.json())const response = await fetch('https://cirrus.pocketful.in/v1/user/profile', {
method: 'GET',
headers: {
Authorization: `token ${process.env.CIRRUS_API_KEY}`,
},
});
const body = await response.json();
console.log(response.status, body);{
"status": "success",
"data": {
"username": "user-01M3PGPS465224YW0C5Z5DBNFB",
"auth": {
"kind": "api_key",
"key_id": "ck_sVOtcTpQ3Y5d6VIRAE9Q",
"name": "Reporting",
"scopes": [
"read"
],
"ip_allowlist": [
"203.0.113.7"
]
}
},
"error": null
}