Skip to content

Verify the chain and its signed checkpoints

GET
/v1/audit/verify
curl --request GET \
--url https://example.com/v1/audit/verify \
--header 'Authorization: Bearer <token>'

Verifies the ledger chain structurally and verifies every signed checkpoint against the engine key. The verification is not itself recorded, so it does not grow the chain it inspects.

X-Olivares-Tenant
string format: uuid

Target tenant id; required when the principal can act in more than one tenant.

OK

Media type application/json
object
chain
object
break_at

Sequence of the first broken link, 0 when intact.

integer
checked

Links walked.

integer
ok
boolean
reason
string
checkpoints
object
count

Signed checkpoints found.

integer
first_bad_seq

Sequence of the first checkpoint that failed verification, 0 when none.

integer
latest_attested_seq

Highest sequence a valid checkpoint attests.

integer
ok

Strict: true only once at least one checkpoint exists AND every signature and link verified. It is false BOTH for an unattested ledger and for a tampered one — read status to tell them apart.

boolean
reason

“no-checkpoints” for the empty case, else the first failure.

string
status

The three answers (core/audit CheckpointStatus): verified, verified BAD, or pending — nothing attested yet, which is NOT a failure and must not be rendered as one.

string
Allowed values: ok failed pending
ok

The overall verdict: the structural chain verified over at least one link, and the checkpoints are not in a failed state. A ledger with nothing attested yet is still ok.

boolean
Example
{
"checkpoints": {
"status": "ok"
}
}

Bad request

Media type application/json
object
error
required
object
code
required
string
message
required
string
Example generated
{
"error": {
"code": "example",
"message": "example"
}
}

Unauthenticated

Media type application/json
object
error
required
object
code
required
string
message
required
string
Example generated
{
"error": {
"code": "example",
"message": "example"
}
}

Forbidden

Media type application/json
object
error
required
object
code
required
string
message
required
string
Example generated
{
"error": {
"code": "example",
"message": "example"
}
}

Not found

Media type application/json
object
error
required
object
code
required
string
message
required
string
Example generated
{
"error": {
"code": "example",
"message": "example"
}
}

Conflict / setup required

Media type application/json
object
error
required
object
code
required
string
message
required
string
Example generated
{
"error": {
"code": "example",
"message": "example"
}
}

Rate limited

Media type application/json
object
error
required
object
code
required
string
message
required
string
Example generated
{
"error": {
"code": "example",
"message": "example"
}
}