Every example assumes a signed-in session; how to get one is in Authentication
POST/api/agent-tokens/issue
Firm memberPermission: api-access:write
issueAgentToken
Parameters of issueAgentToken| Name | In | Type | Required |
|---|
name | Body | string 1–100 | Yes |
orgId | Body | string (uuid) | Yes |
scopes | Body | array of string 1–40give between 1 and 10 scopes | Yes |
ttlDays | Body | 30 | 90 | 365 | Yes |
curlcurl -X POST 'https://www.notificado.co/api/agent-tokens/issue' \
-b cookies.txt \
-H 'origin: https://www.notificado.co' \
-H 'content-type: application/json' \
-d '{"name":"<name>","orgId":"<orgId>","scopes":[],"ttlDays":30}'
TypeScriptconst response = await fetch('https://www.notificado.co/api/agent-tokens/issue', {
method: 'POST',
headers: { 'content-type': 'application/json', origin: 'https://www.notificado.co', cookie: sessionCookie },
body: JSON.stringify({
"name": "<name>",
"orgId": "<orgId>",
"scopes": [],
"ttlDays": 30
}),
});
const result = await response.json();
Example response
200{
"summary": {
"createdAt": "2026-09-25T15:00:00Z",
"createdAtBogota": "<createdAtBogota>",
"expiresAt": "2026-09-25T15:00:00Z",
"expiresAtBogota": "<expiresAtBogota>",
"id": "<id>",
"lastUsedAt": "2026-09-25T15:00:00Z",
"lastUsedAtBogota": "<lastUsedAtBogota>",
"name": "<name>",
"prefix": "<prefix>",
"revokedAt": "2026-09-25T15:00:00Z",
"revokedAtBogota": "<revokedAtBogota>",
"scopes": [
"cases:read"
],
"status": "active",
"userId": "<userId>"
},
"token": "<token>"
}
Errors
400 X_INPUT_INVALID403 policy denied422 X_BODY_INVALID
POST/api/agent-tokens/list
Firm memberPermission: api-access:read
listAgentTokens
Parameters of listAgentTokens| Name | In | Type | Required |
|---|
orgId | Body | string (uuid) | Yes |
curlcurl -X POST 'https://www.notificado.co/api/agent-tokens/list' \
-b cookies.txt \
-H 'origin: https://www.notificado.co' \
-H 'content-type: application/json' \
-d '{"orgId":"<orgId>"}'
TypeScriptconst response = await fetch('https://www.notificado.co/api/agent-tokens/list', {
method: 'POST',
headers: { 'content-type': 'application/json', origin: 'https://www.notificado.co', cookie: sessionCookie },
body: JSON.stringify({
"orgId": "<orgId>"
}),
});
const result = await response.json();
Example response
200{
"tokens": [
{
"createdAt": "2026-09-25T15:00:00Z",
"createdAtBogota": "<createdAtBogota>",
"expiresAt": "2026-09-25T15:00:00Z",
"expiresAtBogota": "<expiresAtBogota>",
"id": "<id>",
"lastUsedAt": "2026-09-25T15:00:00Z",
"lastUsedAtBogota": "<lastUsedAtBogota>",
"name": "<name>",
"prefix": "<prefix>",
"revokedAt": "2026-09-25T15:00:00Z",
"revokedAtBogota": "<revokedAtBogota>",
"scopes": [
"cases:read"
],
"status": "active",
"userId": "<userId>"
}
]
}
Errors
400 X_INPUT_INVALID403 policy denied422 X_BODY_INVALID
POST/api/agent-tokens/revoke
Firm memberPermission: api-access:write
revokeAgentToken
Parameters of revokeAgentToken| Name | In | Type | Required |
|---|
orgId | Body | string (uuid) | Yes |
tokenId | Body | string (uuid) | Yes |
curlcurl -X POST 'https://www.notificado.co/api/agent-tokens/revoke' \
-b cookies.txt \
-H 'origin: https://www.notificado.co' \
-H 'content-type: application/json' \
-d '{"orgId":"<orgId>","tokenId":"<tokenId>"}'
TypeScriptconst response = await fetch('https://www.notificado.co/api/agent-tokens/revoke', {
method: 'POST',
headers: { 'content-type': 'application/json', origin: 'https://www.notificado.co', cookie: sessionCookie },
body: JSON.stringify({
"orgId": "<orgId>",
"tokenId": "<tokenId>"
}),
});
const result = await response.json();
Example response
200{
"createdAt": "2026-09-25T15:00:00Z",
"createdAtBogota": "<createdAtBogota>",
"expiresAt": "2026-09-25T15:00:00Z",
"expiresAtBogota": "<expiresAtBogota>",
"id": "<id>",
"lastUsedAt": "2026-09-25T15:00:00Z",
"lastUsedAtBogota": "<lastUsedAtBogota>",
"name": "<name>",
"prefix": "<prefix>",
"revokedAt": "2026-09-25T15:00:00Z",
"revokedAtBogota": "<revokedAtBogota>",
"scopes": [
"cases:read"
],
"status": "active",
"userId": "<userId>"
}
Errors
400 X_INPUT_INVALID403 policy denied422 X_BODY_INVALID