# Read a merchant's receipts

`GET /functions/v1/get-merchant-receipts-v2`

Authenticated with a first-party Sieve ID JWT, because the ownership model is that the Sieve ID user owns the merchant. A merchant API key is refused.

> Auth here is `Authorization: Bearer <Sieve ID JWT>`, not an API key. A merchant API key answers `403 sieve_id_jwt_required`.

## Query

| Parameter | Notes |
| --- | --- |
| merchant_id | required |
| limit | default 50 |
| receipt_code | One receipt instead of a list |

```
curl "https://api.sidaxis.com/functions/v1/get-merchant-receipts-v2?merchant_id=mrc_9f2c&limit=20" \
  -H "Authorization: Bearer <sieve id jwt>"
```

## Response

```
{
  "success": true,
  "merchant_id": "mrc_9f2c",
  "merchant_name": "Northwind",
  "total": 2,
  "receipts": [
    {
      "receipt_code": "RCP-4K2M-9QX7",
      "business": { "name": "Northwind", "merchant_id": "mrc_9f2c" },
      "client": { "subject_ref": "sr_2f91c8de44" },
      "assurance": { "level": "face_voice_doc" },
      "mandate": { "granted_to": "agt_3f77c1de", "agent_display_name": "Your travel assistant" },
      "vrc_confidence": 0.87,
      "immutability_seal": { "anchored": true, "chain": "polygon", "tx": "0x..." },
      "recipients": [],
      "timeline": [{ "at": "2026-09-16T12:01:42Z", "event": "authorised" }]
    }
  ]
}
```

Because the merchant is party to the transaction, this read includes the numeric `vrc_confidence`, which the public projection never shows.

## Errors

`400 missing_required_fields`, `401 unauthorized`, `403 caller_not_owner`, `404 unknown_merchant`.
