# Verify Ai Content

> 200 { matches } (similarity 1.0; empty when nothing matches).

Source: https://shopassist.coec.dk/docs/api/reference/ai-content/verify-ai-content · Updated 2026-11-03

`POST /v1/ai-content/verify`

- Scope: `conversations:read`
- Rate limit: 600 requests/min per API key (test keys: 60/min)

`200 { matches }` (`similarity` 1.0; empty when nothing matches).

## Parameters [#parameters]

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `Idempotency-Key` | header | `string \| null` | no | Optional (03 §2.9) |

## Request body (AiContentVerifyRequest) [#request-body]

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `text` | `string` | yes | 1–10000 characters |

## Example request [#example-request]

```bash
curl -X POST "https://api.shopassist.coec.dk/v1/ai-content/verify" \
  -H "Authorization: Bearer $SHOPASSIST_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text":"string"}'
```

## Response 200 (AiContentVerifyResponse) [#response]

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `matches` | `AiContentMatch[]` | yes |  |
| `matches[].conversation_id` | `string` | yes | pattern `^conv_[0-9a-hjkmnp-tv-z]{26}$` |
| `matches[].created_at` | `string` | yes | format date-time |
| `matches[].message_id` | `string` | yes | pattern `^msg_[0-9a-hjkmnp-tv-z]{26}$` |
| `matches[].similarity` | `number` | yes | Always 1.0: exact match only in v1 · ≥ 0 · ≤ 1 · default 1 |
| `matches[].store_id` | `string` | yes | pattern `^sto_[0-9a-hjkmnp-tv-z]{26}$` |

```json
{
  "matches": [
    {
      "conversation_id": "conv_01j8000000e008000000000000",
      "created_at": "2026-09-28T10:15:30.123Z",
      "message_id": "msg_01j8000000e008000000000000",
      "similarity": 0,
      "store_id": "sto_01j8000000e008000000000000"
    }
  ]
}
```

## Errors [#errors]

| Status | Meaning |
| --- | --- |
| 400 | Bad Request ([error codes](/docs/api/errors)) |
| 401 | Unauthorized ([error codes](/docs/api/errors)) |
| 403 | Forbidden ([error codes](/docs/api/errors)) |
| 422 | Unprocessable Content ([error codes](/docs/api/errors)) |
| 429 | Too Many Requests ([error codes](/docs/api/errors)) |
