Skip to content

Check that every receipt still says what it said when it was written

GET
/api/v1/receipts/verify
curl --request GET \
--url http://localhost:11044/api/v1/receipts/verify \
--header 'X-Embabel-Api-Key: <X-Embabel-Api-Key>'

Walks the chain: each receipt must follow the one before it and hash to what it says it does.

How many receipts, whether the chain is intact, and where it first breaks

Media typeapplication/json

Whether the signed-in user’s receipt chain still says what it said when written, and where it first breaks; answered by GET /receipts/verify. It shows an edit, not that the record is complete

object
brokenAt

The seq of the first receipt that breaks the chain; null when intact

integer format: int64
intact
required

True when every receipt follows the one before it and hashes to what it says

boolean
receipts
required

How many receipts the owner’s chain holds

integer format: int32
why

Why the chain breaks there: the receipt does not follow the one before it, or it was changed after it was written. Null when intact

string

Example generated

{
"brokenAt": 1,
"intact": true,
"receipts": 1,
"why": "example"
}

No authenticated principal

One of:

A refusal with a machine-readable code and a plain-language message. ApiErrorAdvice answers it for a failed validation, a missing resource or a conflicting state, and some controllers answer it directly

object
code
required

Machine-readable key to branch on, such as validation_failed, unknown_field, not_found or conflict. Open: a surface may answer codes of its own

string
detail

Extra context where there is some, such as the fields a body may carry; null otherwise

string
message
required

A plain-language explanation, written to be shown. Never carries an exception message

string

Example generated

{
"code": "example",
"detail": "example",
"message": "example"
}