| Purpose | Endpoint |
|---|---|
| Profiles in a workflow | GET /v1/workflows/{workflowId}/profiles |
| A single profile | GET /v1/profiles/{profileId} |
| Item processing status | GET /v1/profiles/{profileId}/items/status |
List profiles
GET /v1/workflows/{workflowId}/profiles
Query parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
search | string | Partial match on the profile name | |
sort | string | createdAt | name · createdAt · lastAnalysisAt |
order | string | desc | asc · desc |
cursor | string | The nextCursor from the previous response | |
limit | number | 10 | Items per page (max 100) |
curl "https://client-omni-api.argosidentity.com/v1/workflows/wf_3p8k2m5r9v1t/profiles?sort=createdAt&order=desc&limit=20" \
-H "x-api-key: your-api-key-here"
Response
{
"count": 1,
"nextCursor": null,
"items": [
{
"id": "pf_6h4y8s2f0v9n",
"workflowId": "wf_3p8k2m5r9v1t",
"name": "example",
"description": "Example profile for document verification",
"metadata": { "vendor_id": "VND-2026-0142" },
"itemsCount": 3,
"foldersCount": 1,
"lastAnalysisAt": "2026-09-10T05:41:09.220Z",
"createdAt": "2026-09-10T05:32:47.118Z",
"updatedAt": "2026-09-10T05:41:09.220Z"
}
]
}
| Field | Type | Description |
|---|---|---|
count | number | Number of items in this response |
nextCursor | string | null | Cursor for the next page. null on the last page |
items[].id | string | Profile ID (pf_ prefix) |
items[].workflowId | string | Parent workflow ID |
items[].name | string | Profile name |
items[].description | string | null | Description |
items[].metadata | object | null | Your own metadata |
items[].itemsCount | number | Total items across every folder |
items[].foldersCount | number | Number of folders |
items[].lastAnalysisAt | string | null | Time of the last analysis. null when there is no analysis history |
items[].createdAt | string | Creation time |
items[].updatedAt | string | Last update time |
Get a profile
GET /v1/profiles/{profileId}
curl "https://client-omni-api.argosidentity.com/v1/profiles/pf_6h4y8s2f0v9n" \
-H "x-api-key: your-api-key-here"
Response
Unlike a list item, this response carries afolders array instead of foldersCount.
{
"id": "pf_6h4y8s2f0v9n",
"workflowId": "wf_3p8k2m5r9v1t",
"name": "example",
"description": "Example profile for document verification",
"metadata": { "vendor_id": "VND-2026-0142" },
"itemsCount": 3,
"lastAnalysisAt": "2026-09-10T05:41:09.220Z",
"folders": [
{
"id": "fd_9pq2mklt83bx",
"name": "default",
"isDefault": true,
"itemsCount": 3,
"createdAt": "2026-09-10T05:32:47.118Z"
}
],
"recentAnalyses": [
{
"id": "analysis_lsc7icgm9cjd",
"status": "completed",
"verificationStatus": "verified",
"createdAt": "2026-09-10T05:41:09.220Z"
}
],
"createdAt": "2026-09-10T05:32:47.118Z",
"updatedAt": "2026-09-10T05:41:09.220Z"
}
| Field | Type | Description |
|---|---|---|
folders[].id | string | Folder ID (fd_ prefix) |
folders[].name | string | Folder name |
folders[].isDefault | boolean | Whether this is the default folder created with the profile |
folders[].itemsCount | number | Number of items in the folder |
folders[].createdAt | string | Creation time |
recentAnalyses | object[] | Most recent analyses (up to 5). Empty array when there are none |
recentAnalyses[].id | string | Analysis ID (analysis_ prefix) |
recentAnalyses[].status | string | pending · processing · completed · failed |
recentAnalyses[].verificationStatus | string | null | verified · pending_review · rejected. null while incomplete or after a failure |
recentAnalyses[].createdAt | string | Time the analysis was created |
Item status
GET /v1/profiles/{profileId}/items/status
curl "https://client-omni-api.argosidentity.com/v1/profiles/pf_6h4y8s2f0v9n/items/status" \
-H "x-api-key: your-api-key-here"
Response
{
"profileId": "pf_6h4y8s2f0v9n",
"isRagReady": true,
"summary": { "total": 3, "pending": 0, "active": 3, "failed": 0 },
"items": [
{
"id": "item_axfkh2noof85",
"name": "certificate of good standing",
"type": "text",
"status": "ACTIVE",
"processedAt": "2026-09-10T05:35:38.902Z"
}
]
}
| Field | Type | Description |
|---|---|---|
profileId | string | Profile ID |
isRagReady | boolean | true when every item is ACTIVE. Tells you whether an analysis can run |
summary.total | number | Total items |
summary.pending | number | Items in PENDING |
summary.active | number | Items in ACTIVE |
summary.failed | number | Items in FAILED |
items[].id | string | Item ID |
items[].name | string | Item name |
items[].type | string | file · text · json |
items[].status | string | PENDING · ACTIVE · FAILED |
items[].processedAt | string | null | Time processing finished. null while PENDING |
After you add items, poll this endpoint once per second and run the analysis when
isRagReady turns true. When summary.failed is not 0, delete the affected item and add it again.Error codes
| Status | Code | Description |
|---|---|---|
| 404 | OMNI_3003 | Workflow not found (list) |
| 404 | OMNI_3005 | Profile not found (single profile, item status) |