> ## Documentation Index
> Fetch the complete documentation index at: https://developers.argosidentity.com/llms.txt
> Use this file to discover all available pages before exploring further.

# GET /analyses/:profileId/analyses

> List all analyses for a profile with filtering, sorting, and cursor-based pagination.

## Endpoint

```
GET /v1/analyses/{profileId}/analyses
```

## Request

```bash theme={null}
curl -X GET "http://client-omni-api.argosidentity.com/v1/analyses/{profileId}/analyses?status=completed&sort=createdAt&order=desc&limit=20" \
  -H "x-api-key: your-api-key-here"
```

## Query Parameters

| Parameter | Type     | Required | Default     | Description                                                               |
| --------- | -------- | -------- | ----------- | ------------------------------------------------------------------------- |
| `status`  | `string` |          |             | Filter by analysis status: `pending`, `processing`, `completed`, `failed` |
| `sort`    | `string` |          | `createdAt` | Sort field: `createdAt`, `completedAt`, `requestedAt`                     |
| `order`   | `string` |          | `desc`      | Sort order: `asc`, `desc`                                                 |
| `cursor`  | `string` |          |             | Pagination cursor returned from a previous response                       |
| `limit`   | `number` |          | `20`        | Number of results per page (max 50)                                       |

***

## Response (200 OK)

```json theme={null}
{
  "count": 3,
  "nextCursor": "eyJjcmVhdGVkQXQiOiIyMDI1LTA1LTAxVDEyOjAwOjAwWiJ9",
  "items": [
    {
      "id": "analysis_abc123",
      "profileId": "profile_xyz789",
      "folderId": null,
      "engineId": null,
      "status": "completed",
      "verificationStatus": "approved",
      "riskAssessment": {
        "riskLevel": "low",
        "riskScore": 12
      },
      "processingTimeMs": 4523,
      "error": null,
      "requestedAt": "2025-05-01T12:00:00Z",
      "completedAt": "2025-05-01T12:00:04Z",
      "createdAt": "2025-05-01T12:00:00Z"
    }
  ]
}
```

***

## Response Fields

<ResponseField name="count" type="number" required>
  Total number of items in the current response page
</ResponseField>

<ResponseField name="nextCursor" type="string | null" required>
  Cursor for the next page. Pass this as the `cursor` query parameter to fetch the next page. `null` when there are no more results.
</ResponseField>

<ResponseField name="items" type="array" required>
  Array of analysis summary objects
</ResponseField>

### Item Fields

<ResponseField name="id" type="string" required>
  Unique analysis ID (`analysis_` prefix)
</ResponseField>

<ResponseField name="profileId" type="string" required>
  Profile ID this analysis belongs to
</ResponseField>

<ResponseField name="folderId" type="string | null" required>
  Target folder ID (`null` for full-profile analysis)
</ResponseField>

<ResponseField name="engineId" type="string | null" required>
  Engine ID used (`null` when using default engine)
</ResponseField>

<ResponseField name="status" type="string" required>
  Analysis status: `pending` / `processing` / `completed` / `failed`
</ResponseField>

<ResponseField name="verificationStatus" type="string" required>
  Final verification status: `pending_review` / `approved` / `rejected`
</ResponseField>

<ResponseField name="riskAssessment" type="object" required>
  Risk assessment summary
</ResponseField>

<ResponseField name="riskAssessment.riskLevel" type="string" required>
  Risk level: `low` / `medium` / `high`
</ResponseField>

<ResponseField name="riskAssessment.riskScore" type="number" required>
  Risk score (0–100, higher = riskier)
</ResponseField>

<ResponseField name="processingTimeMs" type="number" required>
  Processing time in milliseconds
</ResponseField>

<ResponseField name="error" type="string | null" required>
  Error message (`null` on success)
</ResponseField>

<ResponseField name="requestedAt" type="string" required>
  Analysis request time (ISO 8601)
</ResponseField>

<ResponseField name="completedAt" type="string | null" required>
  Analysis completion time (ISO 8601, `null` if not completed)
</ResponseField>

<ResponseField name="createdAt" type="string" required>
  Record creation time (ISO 8601)
</ResponseField>

***

## Pagination

This endpoint uses **cursor-based pagination**. To retrieve all results:

1. Make the initial request without a `cursor` parameter.
2. If the response includes a non-null `nextCursor`, pass it as the `cursor` query parameter in the next request.
3. Repeat until `nextCursor` is `null`.

<Note>
  The list endpoint returns summary objects. To retrieve full analysis details including extracted data, findings, and audit logs, use [GET /analyses/:analysisId](/en/omni/api-reference/get-analysis).
</Note>

***

## Error Codes

| Status | Code                | Description                         |
| ------ | ------------------- | ----------------------------------- |
| 404    | `PROFILE_NOT_FOUND` | The specified profile was not found |
