Skip to content

API Quickstart

Two ways to get started: Browser-first (no code) or API-first (curl).

Flow A — Browser-First (No Code)

  1. Go to the Pilot page and start a free Pilot.
  2. Preview access is instant.
  3. To run live submissions, unlock submit access with email verification and a refundable US$1 card hold or manual approval.
  4. Once submit access is unlocked, open the Pilot Console.
  5. Drag & drop your ZIP or individual files, click Submit, and watch the status poll live.
  6. On PASS: download buttons appear for kit.zip plus the verification report, file mapping, classification report, normalized tree, and diff report when enabled.
  7. On FAIL: download fail_report.json with a machine-readable resubmit checklist. 0 credits burned.

Maximum upload: 100 MB per job. Accepted formats: PDF, DOCX, XLSX, PNG, JPG, CSV, JSON, TXT.

Start free Pilot →

Flow B — API-First (curl)

Requires Activation or Monthly Coverage. Every command below is copy-pastable. Pipe responses through jq to capture IDs automatically. Maximum upload: 100 MB per job.

Step 1 — Get a Submit Token

Start at the Pilot page. Preview access is instant. To run live API submissions, first unlock submit access with email verification and a refundable US$1 card hold or manual approval.

Once submit access is approved, use your submit token in the API calls below.

# Use your approved submit token
PILOT_TOKEN=$(curl -s -X POST https://api.attestlayer.com/v1/pilot/tokens \
  -H "Content-Type: application/json" \
  -d '{"email":"pilot@demo.attestlayer.com","company":"Demo Corp"}' \
  | jq -r '.pilot_token')

echo "Token: $PILOT_TOKEN"

Step 2 — Create a Job

JOB_ID=$(curl -s -X POST https://api.attestlayer.com/v1/intake/jobs \
  -H "X-Pilot-Token: $PILOT_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"lane": "KIT-ZIP"}' \
  | jq -r '.job_id')

echo "Job: $JOB_ID"

Step 3 — Upload ZIP

curl -X POST https://api.attestlayer.com/v1/intake/jobs/$JOB_ID/upload \
  -H "X-Pilot-Token: $PILOT_TOKEN" \
  -H "Content-Type: application/octet-stream" \
  --data-binary @evidence.zip

Accepted formats inside ZIP: PDF, DOCX, XLSX, PNG, JPG, CSV, JSON, TXT. Maximum upload size: 100 MB per job. ZIP or individual files accepted.

Step 4 — Poll Status

curl -s https://api.attestlayer.com/v1/intake/jobs/$JOB_ID \
  -H "X-Pilot-Token: $PILOT_TOKEN" | jq .

Status values: PENDINGUPLOADINGRUNNINGPASS | FAIL

Also returns: verify_status, sla_deadline_at (on PASS), delivered_at, diff_status.

Step 5 — Download Deliverables

curl -s https://api.attestlayer.com/v1/intake/jobs/$JOB_ID/artifacts \
  -H "X-Pilot-Token: $PILOT_TOKEN" | jq .

On PASS:

  • kit.zip (client-forwardable evidence kit)
  • Inside kit.zip: manifest.json, receipt.json, receipt.sig, offline verifier bundle, bundled JWKS snapshot, registry proof, and optional diff.json
  • classification_report.json, mapping.json, normalized_tree.zip
  • passfail.json (verification report)
  • diff.json (if diff enabled)

On FAIL:

  • fail_report.json (reason codes + resubmit checklist)
  • classification_report.json, mapping.json, normalized_tree.zip
Billing: Pilot jobs are free. Paid jobs: FAIL = US$0 (no credit burned). PASS burns 1 credit only at issued Verify PASS. Each FAIL includes 1 free resubmit within 7 days.
← All Documentation · Start free Pilot · Home