Reference / MCP tool reference
Reference
Get a compliance receipt
get_compliance_receipt: Returns an order's signed compliance receipt: an ES256 JWS with its decoded claims and a PDF link, covering records delivered, suppression removals, subscriber classes, TPS screening, Article 14 status, the licence and the file hash.
Returns an order's signed compliance receipt: an ES256 JWS with its decoded claims and a PDF link, covering records delivered, suppression removals, subscriber classes, TPS screening, Article 14 status, the licence and the file hash. Use it to prove to the user, a colleague or another agent that a list is licensed and screened; anyone can verify it with POST /v1/compliance/receipts/verify. Free; it needs orders:read. Lawful basis is UK GDPR Article 6(1)(f) legitimate interests; email audiences include corporate subscribers only by default (PECR), so sole traders and ordinary partnerships are left out unless the toggle is changed.
| Property | Value |
|---|---|
| Tool name | get_compliance_receipt |
| Position in tools/list | 22 of 22 |
| Cost | Free |
| Scope | orders:read |
| Annotations | readOnlyHint true, destructiveHint false, idempotentHint true, openWorldHint false |
| Kind | Read only; idempotent, not destructive, closed world |
| REST equivalent | GET /v1/orders/{id}/receipt |
Input
The schema sets additionalProperties to false, so a member that is not listed is refused.
| Member | Type | Required | Description |
|---|---|---|---|
order_id | string | yes | The order the receipt covers. |
Example call
The params of a tools/call request:
{
"name": "get_compliance_receipt",
"arguments": {
"order_id": "ord_01JB4N9S3W2X6Y7Z8A1B2C3D4E"
}
}Output
The result carries structuredContent that matches this schema, and one line of text that leads with the number.
| Member | Type | Always present | Description |
|---|---|---|---|
id | string | yes | Format: a compliance receipt id: rcpt_ followed by a 26 character ULID in upper case Crockford base32, such as rcpt_01JB4NA2Q5W8ZAK8Q2V7XN3M9R. |
order_id | string | yes | Format: an order id: ord_ followed by a 26 character ULID in upper case Crockford base32, such as ord_01JB4N9S3W2X6Y7Z8A1B2C3D4E. |
jws | string | yes | The receipt as a compact JWS signed with ES256. |
alg | ES256 | yes | |
kid | string | yes | The signing key id in jwks_url. |
jwks_url | string (uri) | yes | |
pdf_url | string (uri) | yes | The PDF twin at mydatahub.emailmovers.com/receipts/{id}. |
claims | ReceiptClaims | yes | The decoded payload of a compliance receipt. |
claims.receipt_id | string | yes | Format: a compliance receipt id: rcpt_ followed by a 26 character ULID in upper case Crockford base32, such as rcpt_01JB4NA2Q5W8ZAK8Q2V7XN3M9R. |
claims.order_id | string | yes | Format: an order id: ord_ followed by a 26 character ULID in upper case Crockford base32, such as ord_01JB4N9S3W2X6Y7Z8A1B2C3D4E. |
claims.issued_at | string (date-time) | yes | |
claims.dataset_version | string | yes | The immutable weekly build a count is bound to, such as 2026-W39. The last 52 stay queryable. |
claims.records_delivered | integer (0 or more) | yes | |
claims.removed_by_suppression | integer (0 or more) | yes | |
claims.counts | object | yes | |
claims.lawful_basis | enum: legitimate_interests_art6_1_f | yes | |
claims.lia_ref | string | yes | |
claims.licence | Licence | yes | Licence terms as data, on every quote, order, records page and receipt. Records stay usable, pushable and re-downloadable free until reuse_until. |
claims.residency_statement_version | string | yes | |
claims.sub_processor_list_version | string | yes | |
claims.verified_within_days | object | yes | Share of delivered emails verified within 30, 60 and 90 days. |
claims.content_sha256 | string | yes | SHA-256 of the delivered file, lower case hex. |
Errors
A failed call returns isError true. The text content leads with the sentence a person acts on, then the whole problem as JSON, with code, detail, next_step and did_you_mean. A 401 and a step-up 403 are answered at HTTP level so the client can start authorisation. See Errors.