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

# Messages, documents, and events

> Communicate about an order and read fulfillment output.

Use order child resources to track fulfillment from your integration.

## Messages

List messages:

```bash theme={null}
curl "$ARCHIVE_ORDER_BASE_URL/orders/order_123/messages" \
  -H "Authorization: Bearer $ARCHIVE_ORDER_API_KEY"
```

Send a message:

```bash theme={null}
curl -X POST "$ARCHIVE_ORDER_BASE_URL/orders/order_123/messages" \
  -H "Authorization: Bearer $ARCHIVE_ORDER_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{
    "content": "Could you confirm whether the archive holds the 1892 register?"
  }'
```

Messages are scoped to a single order.

## Documents

List delivered documents:

```bash theme={null}
curl "$ARCHIVE_ORDER_BASE_URL/orders/order_123/documents" \
  -H "Authorization: Bearer $ARCHIVE_ORDER_API_KEY"
```

Example response:

```json theme={null}
[
  {
    "name": "birth-record.pdf",
    "url": "https://storage.example.com/signed-url"
  }
]
```

The `url` is a short-lived signed URL. Generate a fresh document list request when a URL expires.

## Events

List public event history:

```bash theme={null}
curl "$ARCHIVE_ORDER_BASE_URL/orders/order_123/events" \
  -H "Authorization: Bearer $ARCHIVE_ORDER_API_KEY"
```

Example response:

```json theme={null}
[
  {
    "id": "evt_123",
    "type": "order.created",
    "payload": {
      "id": "order_123"
    },
    "createdAt": "2026-06-18T12:00:00Z"
  }
]
```

Use events for audit trails and reconciliation. Use webhooks for push delivery.
