Node Variables
AUSTRALIAN_PAYSLIP_V2_SCHEMA
Section titled “AUSTRALIAN_PAYSLIP_V2_SCHEMA”Variable
AUSTRALIAN_PAYSLIP_V2_SCHEMA: "au.payslip.v2"australianAllowanceTypes
Section titled “australianAllowanceTypes”Variable
australianAllowanceTypes: readonly ["cents_per_km", "award_transport", "laundry", "overtime_meal", "travel", "tools", "tasks", "qualifications", "other"]australianDeductionTypes
Section titled “australianDeductionTypes”Variable
australianDeductionTypes: readonly ["union_professional_fees", "workplace_giving", "child_support_deduction", "child_support_garnishee", "other_post_tax"]australianEarningsTypes
Section titled “australianEarningsTypes”Variable
Known AU2 earnings discriminators, including paid leave and allowances. The API may add codes later.
australianEarningsTypes: readonly ["paid_leave", "allowance", "ordinary", "overtime", "bonus_commission", "directors_fees", "lump_sum", "return_to_work", "other"]australianEmploymentBases
Section titled “australianEmploymentBases”Variable
australianEmploymentBases: readonly ["full_time", "part_time", "casual", "labour_hire", "voluntary_agreement", "death_beneficiary", "non_employee"]australianEngagementTypes
Section titled “australianEngagementTypes”Variable
australianEngagementTypes: readonly ["permanent", "fixed_term"]australianOtherAllowanceCategories
Section titled “australianOtherAllowanceCategories”Variable
australianOtherAllowanceCategories: readonly ["home_office", "non_deductible", "transport_fares", "uniform", "private_vehicle", "general"]australianPaidLeaveTypes
Section titled “australianPaidLeaveTypes”Variable
australianPaidLeaveTypes: readonly ["cash_out_in_service", "unused_on_termination", "paid_parental", "workers_compensation", "ancillary_defence", "other_paid_leave"]australianPayFrequencies
Section titled “australianPayFrequencies”Variable
australianPayFrequencies: readonly ["weekly", "fortnightly", "monthly", "quarterly", "four_weekly", "semi_monthly"]australianSalarySacrificeTypes
Section titled “australianSalarySacrificeTypes”Variable
australianSalarySacrificeTypes: readonly ["super", "other"]australianSuperContributionTypes
Section titled “australianSuperContributionTypes”Variable
australianSuperContributionTypes: readonly ["superannuation_guarantee", "resc", "salary_sacrifice"]DEFAULT_ISSUER_BASE_URL
Section titled “DEFAULT_ISSUER_BASE_URL”Variable
Public origin constants, kept as named exports for API stability. Sourced
from ENVIRONMENTS so each literal lives in exactly one place.
DEFAULT_ISSUER_BASE_URL: stringDEFAULT_SCAN_BASE_URL
Section titled “DEFAULT_SCAN_BASE_URL”Variable
DEFAULT_SCAN_BASE_URL: stringIV_REUSED_CODE
Section titled “IV_REUSED_CODE”Variable
Error code the API returns for a record whose iv is already registered.
IV_REUSED_CODE: "IV_REUSED"KNOWN_BATCH_RECORD_STATUSES
Section titled “KNOWN_BATCH_RECORD_STATUSES”Variable
Per-record outcome statuses the API returns today: “created” for a newly registered record, “duplicate” for an idempotent resend of identical content, “error” for a per-record failure. Like the error codes, the API may add statuses over time, so an unknown status flows through rather than failing the whole response.
KNOWN_BATCH_RECORD_STATUSES: readonly ["created", "duplicate", "error"]KNOWN_VERIFIABL_ERROR_CODES
Section titled “KNOWN_VERIFIABL_ERROR_CODES”Variable
Error codes the API is known to return today. The API may add codes over time; treat anything not in this list as a generic failure rather than rejecting the response.
KNOWN_VERIFIABL_ERROR_CODES: readonly ["VALIDATION_FAILED", "DECRYPTION_FAILED", "UNAUTHORIZED", "FORBIDDEN", "CONFLICT", "IV_REUSED", "KEY_VERSION_UNAVAILABLE", "INTERNAL_ERROR", "SERVICE_UNAVAILABLE"]MAX_BATCH_RECORDS
Section titled “MAX_BATCH_RECORDS”Variable
Maximum records per batch request. Matches the API’s MAX_BATCH_RECORDS.
MAX_BATCH_RECORDS: 1000NEW_ZEALAND_PAYSLIP_V2_SCHEMA
Section titled “NEW_ZEALAND_PAYSLIP_V2_SCHEMA”Variable
NEW_ZEALAND_PAYSLIP_V2_SCHEMA: "nz.payslip.v2"newZealandAllowanceTypes
Section titled “newZealandAllowanceTypes”Variable
newZealandAllowanceTypes: readonly ["meal", "travel", "accommodation", "vehicle", "phone", "tools", "uniform", "on_call", "shift", "first_aid", "higher_duties", "qualification", "other"]newZealandDeductionTypes
Section titled “newZealandDeductionTypes”Variable
newZealandDeductionTypes: readonly ["union_fees", "payroll_donation", "attachment_order", "ir_arrears", "other_post_tax"]newZealandEarningsTypes
Section titled “newZealandEarningsTypes”Variable
Known NZ2 earnings discriminators, including paid leave and allowances. The API may add codes later.
newZealandEarningsTypes: readonly ["paid_leave", "allowance", "ordinary", "overtime", "penal_rate", "piece_work", "bonus_commission", "extra_pay", "schedular_payment", "directors_fees", "pay_as_you_go_holiday_pay", "leave_compensation_payment", "annual_holiday_cash_out", "alternative_holiday_cash_out", "holiday_pay_on_termination", "other"]newZealandLeaveBalanceUnits
Section titled “newZealandLeaveBalanceUnits”Variable
newZealandLeaveBalanceUnits: readonly ["hours", "days", "weeks"]newZealandPaidLeaveTypes
Section titled “newZealandPaidLeaveTypes”Variable
newZealandPaidLeaveTypes: readonly ["annual_holiday", "public_holiday", "alternative_holiday", "sick_leave", "bereavement_leave", "other_paid_leave"]PDF_PAYLOAD_XMP_NAMESPACE
Section titled “PDF_PAYLOAD_XMP_NAMESPACE”Variable
PDF metadata copy of the payload.
Write the barcode payload (buildBarcodePayload) into the payslip PDF’s XMP
metadata in addition to the QR code, so a verifier can read the payload even
when the QR itself cannot be scanned. The metadata copy must use the same
format as the QR code. Never write plaintext PII to metadata, which is not
encrypted.
Store the single payload string under the XMP property below. Write it with
any PDF toolchain that can set a custom XMP property; the SDK only provides
the keys. A verifier reads the value from either source and POSTs it to
/v1/verifications/payload.
XMP namespace: https://verifiabl.io/ns/ (property payload)
current value: “2|<verifiablReference>|<BASE32 encrypted PII>”
The namespace is permanent: it is embedded in already-issued PDFs, so it must not change.
PDF_PAYLOAD_XMP_NAMESPACE: "https://verifiabl.io/ns/"PDF_PAYLOAD_XMP_PROPERTY
Section titled “PDF_PAYLOAD_XMP_PROPERTY”Variable
PDF_PAYLOAD_XMP_PROPERTY: "payload"SANDBOX_ISSUER_BASE_URL
Section titled “SANDBOX_ISSUER_BASE_URL”Variable
SANDBOX_ISSUER_BASE_URL: stringSANDBOX_SCAN_BASE_URL
Section titled “SANDBOX_SCAN_BASE_URL”Variable
SANDBOX_SCAN_BASE_URL: stringSUPPORTED_HORIZONTAL_PNG_PIXEL_WIDTHS
Section titled “SUPPORTED_HORIZONTAL_PNG_PIXEL_WIDTHS”Variable
SUPPORTED_HORIZONTAL_PNG_PIXEL_WIDTHS: readonly [940, 1410, 1880, 2820]SUPPORTED_PNG_PIXEL_WIDTHS
Section titled “SUPPORTED_PNG_PIXEL_WIDTHS”Variable
SUPPORTED_PNG_PIXEL_WIDTHS: readonly [480, 720, 960, 1440]supportedCurrencies
Section titled “supportedCurrencies”Variable
ISO 4217 currencies with a minor-unit exponent of 2, which is what keeps every
*Cents field literally cents. JPY (exponent 0) and BHD (exponent 3) are
excluded on purpose: the same integer would mean a different scale and
silently misstate pay.
supportedCurrencies: readonly ["AUD", "NZD", "USD", "GBP", "EUR", "CAD", "SGD", "HKD", "CHF", "ZAR"]supportedV2Currencies
Section titled “supportedV2Currencies”Variable
ISO 4217 codes from SIX List One (published 2026-09-17), excluding fund codes and codes with no minor unit.
supportedV2Currencies: readonly ["AED", "AFN", "ALL", "AMD", "AOA", "ARS", "AUD", "AWG", "AZN", "BAM", "BBD", "BDT", "BHD", "BIF", "BMD", "BND", "BOB", "BRL", "BSD", "BTN", "BWP", "BYN", "BZD", "CAD", "CDF", "CHF", "CLP", "CNY", "COP", "CRC", "CUP", "CVE", "CZK", "DJF", "DKK", "DOP", "DZD", "EGP", "ERN", "ETB", "EUR", "FJD", "FKP", "GBP", "GEL", "GHS", "GIP", "GMD", "GNF", "GTQ", "GYD", "HKD", "HNL", "HTG", "HUF", "IDR", "ILS", "INR", "IQD", "IRR", "ISK", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LYD", "MAD", "MDL", "MGA", "MKD", "MMK", "MNT", "MOP", "MRU", "MUR", "MVR", "MWK", "MXN", "MYR", "MZN", "NAD", "NGN", "NIO", "NOK", "NPR", "NZD", "OMR", "PAB", "PEN", "PGK", "PHP", "PKR", "PLN", "PYG", "QAR", "RON", "RSD", "RUB", "RWF", "SAR", "SBD", "SCR", "SDG", "SEK", "SGD", "SHP", "SLE", "SOS", "SRD", "SSP", "STN", "SVC", "SYP", "SZL", "THB", "TJS", "TMT", "TND", "TOP", "TRY", "TTD", "TWD", "TZS", "UAH", "UGX", "USD", "UYU", "UZS", "VED", "VES", "VND", "VUV", "WST", "XAF", "XCD", "XCG", "XOF", "XPF", "YER", "ZAR", "ZMW", "ZWG"]