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.
| MIME Type | Extension | Category | Description |
|---|---|---|---|
application/pdf | .pdf | Documents | PDF documents, contracts, reports, invoices |
application/json | .json | Documents | Structured JSON claims (default) |
image/png | .png | Images | PNG images, screenshots, scanned documents |
image/jpeg | .jpg/.jpeg | Images | JPEG photos, ID scans, certificates |
image/webp | .webp | Images | WebP images |
image/tiff | .tiff | Images | TIFF images, high-resolution scans |
video/mp4 | .mp4 | Video | MP4 video recordings, depositions, evidence |
video/webm | .webm | Video | WebM video files |
audio/mpeg | .mp3 | Audio | MP3 audio recordings, voice attestations |
audio/wav | .wav | Audio | WAV uncompressed audio |
application/octet-stream | any | Other | Generic binary payload for any file type |
Credential Schema Catalogue
Theschema parameter determines the credential type and expected JSON claims structure.
| Schema ID | Name | Category | Claim Fields |
|---|---|---|---|
verifiable-id | Verifiable ID | Identity | full_name, employee_id, department, title, start_date |
passport | Passport | Identity | full_name, nationality, passport_number, date_of_birth, expiry_date, issuing_country |
drivers-license | Driver’s License | Identity | full_name, license_number, state, class, expiry_date, date_of_birth |
government-id | Government ID | Identity | full_name, id_number, id_type, issuing_authority, country, expiry_date |
self-sovereign-id | Self-Sovereign ID | Identity | did, display_name, created_at |
employment-verification | Employment Verification | Employment | employee_name, employer, position, department, employment_type, start_date, end_date |
professional-role | Professional Role | Employment | full_name, title, organization, department, effective_date |
membership-card | Membership Card | Employment | member_name, organization, membership_id, tier, valid_from, valid_to |
professional-certification | Professional Certification | Employment | holder_name, certification_name, issuing_body, certification_id, issued_date, expiry_date |
license | License | Employment | holder_name, license_type, license_number, issuing_authority, jurisdiction, issued_date, expiry_date |
accreditation | Accreditation | Employment | entity_name, accreditation_body, standard, scope, valid_from, valid_to |
degree | Degree | Education | student_name, institution, degree_type, field_of_study, graduation_date, honors |
completion-cert | Completion Certificate | Education | participant_name, program_name, institution, completion_date, hours |
course-credit | Course Credit | Education | student_name, course_name, institution, credits, grade, semester |
transcript | Transcript | Education | student_name, institution, program, gpa, total_credits, issue_date |
micro-credential | Micro-Credential | Education | earner_name, credential_name, issuer, skills, earned_date |
training-completion | Training Completion | Education | trainee_name, training_program, provider, completion_date, score, certificate_id |
medical-license | Medical License | Healthcare | practitioner_name, license_number, specialty, state, issued_date, expiry_date |
dea-registration | DEA Registration | Healthcare | registrant_name, dea_number, schedules, business_activity, expiry_date |
board-certification | Board Certification | Healthcare | physician_name, board, specialty, certification_date, expiry_date |
health-credential | Health Credential | Healthcare | patient_name, credential_type, provider, date, details |
vaccination-record | Vaccination Record | Healthcare | patient_name, vaccine_name, manufacturer, lot_number, date_administered, dose_number, site |
aml-kyc | AML/KYC Check | Compliance | entity_name, check_type, result, risk_level, verified_by, verified_at |
security-clearance | Security Clearance | Compliance | holder_name, clearance_level, granting_agency, granted_date, expiry_date |
sam-gov | SAM.gov Registration | Compliance | entity_name, cage_code, uei, registration_status, expiry_date |
jurisdiction-approval | Jurisdiction Approval | Compliance | entity_name, jurisdiction, approval_type, approved_date, conditions |
attestation-of-will | Attestation of Will | Compliance | declarant_name, declaration, witness, date |
bank-verification | Bank Verification | Financial | account_holder, bank_name, account_type, routing_number_last4, verified_date |
credit-attestation | Credit Attestation | Financial | entity_name, credit_score_range, reporting_agency, assessment_date |
income-verification | Income Verification | Financial | individual_name, employer, annual_income_range, verification_date, tax_year |
skill-badge | Skill Badge | Skills & Training | earner_name, skill_name, proficiency_level, assessed_by, earned_date |
competency | Competency Attestation | Skills & Training | individual_name, competency, level, assessor, assessment_date |
industry-cert | Industry Certification | Skills & Training | holder_name, certification, issuing_body, cert_id, issued_date, expiry_date |
product-authenticity | Product Authenticity | Supply Chain | product_name, sku, serial_number, manufacturer, manufactured_date, origin_country |
chain-of-custody | Chain of Custody | Supply Chain | item_description, from_entity, to_entity, transfer_date, location, condition |
origin-verification | Origin Verification | Supply Chain | product_name, origin_country, origin_region, certifying_body, verified_date |
custom | Custom | Other | subject, type, details |
attestation | Generic Attestation | Other | subject, claim, evidence |
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)
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.
{
"full_name": "",
"employee_id": "",
"department": "",
"title": "",
"start_date": ""
}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"

