> ## 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.

# POST /analyses/:profileId/analyze

> Trigger AI-powered analysis on a profile's items. Runs asynchronously and returns an analysis ID immediately.

## Endpoint

```
POST /v1/analyses/{profileId}/analyze
```

## Request

```bash theme={null}
curl -X POST "http://client-omni-api.argosidentity.com/v1/analyses/{profileId}/analyze" \
  -H "x-api-key: your-api-key-here" \
  -H "Content-Type: application/json" \
  -d '{
    "targetItems": [
      { "itemId": "item_abc123" },
      { "itemId": "item_def456" }
    ]
  }'
```

## Request Body

<ResponseField name="targetItems" type="array" required>
  Array of items to include in the analysis. Must contain at least one item.
</ResponseField>

<ResponseField name="targetItems[].itemId" type="string" required>
  Item ID to include in the analysis (`item_` prefix). The item must belong to the specified profile and be in `ACTIVE` status.
</ResponseField>

***

## Response (202 Accepted)

```json theme={null}
{
  "id": "analysis_xyz789"
}
```

<ResponseField name="id" type="string" required>
  Unique analysis ID (`analysis_` prefix). Use this ID with [GET /analyses/:analysisId](/en/omni/api-reference/get-analysis) to check analysis status and retrieve results.
</ResponseField>

***

## Important Notes

<Note>
  Analysis runs **asynchronously**. The endpoint returns immediately with an analysis ID. Use [GET /v1/analyses/:analysisId](/en/omni/api-reference/get-analysis) to poll for status and retrieve results once completed.
</Note>

<Warning>
  A maximum of **5 analyses** are retained per profile. When this limit is exceeded, the oldest analysis is automatically deleted to make room for the new one.
</Warning>

* All target items must be in `ACTIVE` status. Items in other statuses will be rejected.
* Only **one analysis can run at a time** per profile. Attempting to start a second analysis while one is in progress will return a `409` error.

***

## Error Codes

| Status | Code                   | Description                                                              |
| ------ | ---------------------- | ------------------------------------------------------------------------ |
| 400    | `INVALID_ITEM_IDS`     | One or more items do not exist or do not belong to the specified profile |
| 404    | `PROFILE_NOT_FOUND`    | The specified profile was not found                                      |
| 409    | `ANALYSIS_IN_PROGRESS` | An analysis is already running for this profile                          |
