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

# Get Registration Attempt History

> Read a bounded page of immutable submission attempt or event metadata for the request lineage.

Use the owning account's API key to read registration attempt and event metadata. The server scopes records to the account, request lineage, provider, and configured environment. This endpoint does not return private submission packets, captured pages, or raw provider feedback.

## Query parameters

| Parameter | Meaning                                                                                                                    |
| --------- | -------------------------------------------------------------------------------------------------------------------------- |
| `kind`    | `attempts` (default) or `events`. Attempts are oldest first; events are newest first.                                      |
| `limit`   | Integer from 1 to 100; defaults to 100.                                                                                    |
| `from`    | Inclusive ISO UTC start; defaults to 30 days before `until`.                                                               |
| `until`   | Inclusive ISO UTC end; defaults to now. The range must be positive, no longer than 366 days, and cannot end in the future. |
| `cursor`  | Opaque `nextCursor` from the previous response for this account, lineage, kind, and environment. Reuse it unchanged.       |

The cursor retains the original time window. Do not mix cursors between accounts or record kinds, infer their contents, or change query bounds halfway through a page sequence.

## Response

The response contains `schemaVersion`, `kind`, `records`, `nextCursor`, `completeWindow`, `from`, `until`, `rootRequestId`, `provider`, and `environment`. `nextCursor` is `null` when the page sequence is complete; `records: []` means no matching recorded history in the selected window. Current exports cover the `infobip` provider.

`completeWindow` is `true` only when the response contains the full selected time window in a single page: the request supplied no `cursor` parameter and the response has no `nextCursor`. A final cursor page still has `completeWindow: false`. Preserve the response envelope and time bounds when assessing results; raw record arrays, or a missing next cursor by itself, cannot substantiate verified target or completeness claims.

Attempt metadata includes saved attempt and review identifiers, content digests, action, timestamps, and provenance. Event metadata includes the observed stage, source, observation timestamps, feedback digest, and safe correlation details. Records retain their stored field names, such as `attempt_id` and `review_id`. Retain these identifiers when requesting support; they are not payloads to replay against a carrier.

Missing history or incomplete measurement anchors do not prove that a prior submission never happened. An observation alone is not confirmation of a successful submission. Keep the existing request ID and reconcile uncertain outcomes before taking another action. For the current findings and server permissions, read [Registration Readiness](/api-reference/v2/number-requests/get-readiness).

## Errors

| HTTP | Code                           | Meaning                                                                            |
| ---- | ------------------------------ | ---------------------------------------------------------------------------------- |
| 400  | `invalid_history_query`        | Invalid record kind, limit, cursor, or time range.                                 |
| 404  | `not_found`                    | The request does not belong to the authenticated account.                          |
| 503  | `campaign_history_unavailable` | History could not be read. Retry this read later; do not repeat a provider action. |
