After the direct upload succeeds, call POST /v1/verifications/{verification_id}/upload-complete to tell the platform the object is ready for validation and processing.

Endpoint

POST https://api.docufykit.com/v1/verifications/{verification_id}/upload-complete

Example request

curl -X POST "https://api.docufykit.com/v1/verifications/<verification_id>/upload-complete" \
  -H "X-API-Key: <your-api-key>"

What the server validates at this step

Before the job enters processing, the service checks that:

  • the uploaded object exists
  • the stored size is positive
  • the stored size matches the declared file_size_bytes
  • the detected file type is PDF
  • the uploaded bytes pass the safety checks needed for processing

If those checks pass, sync verifications are processed inline and async verifications are queued for background work.

Response behavior

  • 202 Accepted: an async upload was validated and queued for background work
  • 200 OK: a sync upload completed inline, or the job was already terminal
  • 409 Conflict: the uploaded object is missing, mismatched, unsafe, unsupported, or not ready to start
  • 402 Payment Required: billing capacity was exhausted before processing could start

Example success shape

{
  "verification_id": "ver_123",
  "status": "processing",
  "reason_code": "processing",
  "process_type": "async",
  "verification_result": {
    "verified": false,
    "fraud_detected": false
  }
}

Terminal responses include structured_data when extraction succeeds.

Next pages