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

# Asynchronous writes

> Contact writes return a transaction you poll.

Creating, updating, or batching contacts (`POST`/`PATCH /v1/contacts*`) is processed asynchronously. The call returns `200` with a **PENDING** transaction: an acknowledgement, not the finished contact.

```json theme={null}
{ "data": { "transactionId": "34-7e8009a7-2c91-409e-b5ac-0f1144a0cc7d", "status": "PENDING" },
  "meta": { "status": "SUCCESS" } }
```

Poll `GET /v1/contacts/transactions/{transactionId}` until `status` is `DONE`. A completed batch carries per-contact results:

```json theme={null}
{ "data": { "transactionId": "34-...", "status": "DONE",
    "data": { "results": [ { "email": "jane@acme.com", "status": "CREATED" } ] } } }
```

Per-contact `status` is one of `CREATED`, `UPDATED`, `NO_CHANGE`, or `FAILED`. An unknown transaction id returns `NOT_EXIST` (still HTTP 200).
