Mint Attestation
Legacy alias for POST /v1/attestations.
Kept for backward compatibility and rewritten by the gateway.
Supported Content Payloads
Attestations can be minted for any file type. Include the SHA-256 hash in thedocument_hash parameter to verify offline file integrity.
Credential Schema Catalogue
Theschema parameter determines the credential type and expected JSON claims structure.
Document hash for file integrity
When attesting a document or file, include thedocument_hash parameter with the hex-encoded SHA-256 hash of the original file. Verifiers can then confirm the file has not been altered by comparing their computed hash against the stored value — without needing the full payload.
The platform resolves the document hash using the following priority:
claims.document.sha256inside the JSON payload- The explicit
document_hashfield on the request body - Auto-computed SHA-256 of the raw payload bytes (fallback)
document_hash_hex to the Verify endpoint to confirm file integrity without re-uploading the file.
document_hash and don’t include claims.document.sha256 in your payload, the platform computes the hash automatically from the raw payload bytes. Passing it explicitly is recommended because it ensures the hash matches the original file before any base64url encoding.Example: Email Credential Delivery (B2C)
Issuer mints via API
recipient_email in the request bodyAccount Lookup
Delivery & Notification
recipient_email is entirely optional. If omitted, you must deliver the
attestation URLs to your users manually.Authorizations
API key for machine-to-machine authentication
Headers
Body
The UUID of the issuer creating the attestation
"550e8400-e29b-41d4-a716-446655440000"
Key identifier for the signing key
"es256-key-1"
Cryptographic algorithm used for signing
Ed25519, ES256, ES384, ES512, RS256, RS384, RS512, PS256, PS384, PS512 "ES256"
Credential schema type (e.g. verifiable-id, passport, degree, aml-kyc). See full list below.
verifiable-id, passport, drivers-license, government-id, self-sovereign-id, employment-verification, professional-role, membership-card, professional-certification, license, accreditation, degree, completion-cert, course-credit, transcript, micro-credential, training-completion, medical-license, dea-registration, board-certification, health-credential, vaccination-record, aml-kyc, security-clearance, sam-gov, jurisdiction-approval, attestation-of-will, bank-verification, credit-attestation, income-verification, skill-badge, competency, industry-cert, product-authenticity, chain-of-custody, origin-verification, custom, attestation "verifiable-id"
The structured claims for this credential. Fields depend on the selected schema. See schema catalogue below.
Email address of the credential recipient. When provided, the platform sends a notification email with a link to view the attestation on the consumer portal (verify.truthlocks.com). If the recipient does not have a consumer portal account, they receive an invitation to sign up. This enables B2C credential delivery workflows.
Hex-encoded SHA-256 hash of the document or file being attested. Used for document integrity verification — verifiers can recompute the hash of the original file and compare it against this stored value. If omitted, the system checks for claims.document.sha256 in the payload, and if that is also absent, auto-computes the SHA-256 of the raw payload bytes. For best results, compute the hash client-side before base64url-encoding the payload.
UUID of the verification pack to link this attestation to. The pack must be in 'active' status. When provided, the pack's verifications_count is automatically incremented. Use this to organize attestations by verification program and track analytics per pack.
MIME type of the payload. Supported: application/json (default), application/pdf, image/png, image/jpeg, image/webp, image/tiff, video/mp4, video/webm, audio/mpeg, audio/wav, application/octet-stream. Max payload size: 50 MB.
"application/json"

