NFTPAYROLL Service API
A server-to-server API to push payroll data into the platform and mint each payroll as a verifiable NFT. Authenticate with a single API key, send your records, and track every mint to its on-chain transaction.
Be live in three steps
From zero to your first minted payroll.
Get your API key
Your company admin issues a service API key from the dashboard. Each key is scoped to one company.
Send payrolls
POST your records to /payrolls/bulk with the X-API-Key header. Employees are matched or created automatically.
Track the mint
Poll /payrolls/batches/{ref} to watch each record move from pending to sent.
One key, every request
Send your service API key in the X-API-Key header. The key determines the company (tenant) all records are created under.
Authorization: Bearer <key> is also accepted. Keys are hashed at rest and can be rotated or revoked at any time.Two ways to ingest
Pick direct import for speed, or review → submit for a validation gate.
Direct import
Records are validated, created and queued for minting in a single call.
- One request, immediate minting
- Per-record success / failure results
- Best for trusted, pre-validated data
Review → Submit
Preview a validated batch first, then submit to persist and mint.
- Inspect
ready/duplicate/failed - Approval-gated and high-volume friendly
- Nothing is created until you submit
Explore the API
Six endpoints cover the full lifecycle. Open any in the interactive reference to send a live request.
Bulk import payrollsPOST
POST /payrolls/bulkValidate, create and immediately queue a list of payrolls for NFT minting.
Get batch statusGET
GET /payrolls/batches/{ref}Track mint status, tx hash, token id and IPFS CID for every record in a batch.
Create review batchPOST
POST /payrolls/review-batchesValidate and preview records without creating them yet.
List review batchesGET
GET /payrolls/review-batchesReturn your last 100 review batches with summary counts.
Review batch detailGET
GET /payrolls/review-batches/{id}Inspect every record in a review batch before submitting.
Submit review batchPOST
POST /payrolls/review-batches/{id}/submitPersist a reviewed batch into payrolls and queue them for minting.
Rate limits
The default limit is 60 requests per minute per key. Exceeding it returns 429 Too Many Requests. Contact us to raise limits for high-volume integrations.
Error handling
401 invalid key · 404 not found · 409 already submitted · 422 validation · 429 rate limited. Errors return a JSON message.