Skip to main content
POST
Verify VP

Headers

API-Version
string

Pin request, response, and webhook shapes to a specific dated API version (YYYY-MM-DD). Omit to use the version pinned to your API key (set when the key is created; new keys default to the latest version). New integrations should target the latest version.

Pattern: ^\d{4}-\d{2}-\d{2}$
Example:

"2026-07-06"

Body

application/json
presentation
object

Signed W3C Verifiable Presentation (@context, type, holder, verifiableCredential, proof), exactly as returned by POST /credential/vp/:vcId — do not re-serialize or modify it. Provide this or presentationEncoded (at least one is required; presentationEncoded overrides and is recommended, since a base64 string avoids JSON formatting changes that can break the signature).

Example:
presentationEncoded
string

Base64-encoded JSON of the signed Verifiable Presentation above. Pass it back to POST /credential/verify as presentationEncoded (recommended) to avoid signature failures caused by JSON re-serialization in some HTTP clients.

Example:

"eyJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvbnMvY3JlZGVudGlhbHMvdjIiXX0="

executionParams
object

Params the agent intends to supply when invoking the action. Validated against the action's declared executionParams shape and exposed to CEL rules as executionParams.<field>.

Example:

Response

Verification allowed — decision + receipt.

decision
enum<string>
required

Verification outcome — always "allow" on this 201 response.

Available options:
allow
Example:

"allow"

credentialId
string
required

URN of the verified credential.

Example:

"urn:via:credential:550e8400-e29b-41d4-a716-446655440000"

evaluations
object[]
required

Per-rule evaluation results. Empty when the mandate has no action rules.

receipt
object
required

VERIFICATION_APPROVED receipt issued for this verification.