Skip to main content
This quickstart walks you through the minimum steps to process a document using the Resistant Documents API:
  1. Create a submission
  2. Upload the file bytes to the returned upload_url
  3. Poll /fraud until a terminal status is returned
If you need terminology (e.g., submission_id, stage/cell, status meanings), see Concepts.

Getting an access token

Token URLs and OAuth2 client credentials.

Domains to allowlist

Only needed if you’re behind a firewall/proxy.

Polling for results

Exponential backoff guidance and timeouts.

Prerequisites

  • You have a Client ID and Client Secret
  • You have a sample file ready (PDF or image)
  • If you are behind a firewall/proxy: confirm Domains to allowlist
This page uses the default EU endpoint (api.documents.resistant.ai). If your tenant is in another cell (e.g., us-1, ca-1, ap-2, ap-3), use the corresponding base URL described in Concepts.

1

Get an access token

Token URLs differ by stage/cell. Use the table on Getting an access token.
2

Create a submission

Response (example)
query_id must not contain PII. Use an internal opaque ID (e.g., UUID).
3

Upload the file bytes to upload_url

Upload failures are commonly caused by missing allowlist rules or incorrect Content-Type. See Domains to allowlist.
4

Poll for the fraud result

Polling behavior
  • Use exponential backoff (cap interval at 45 seconds)
  • Stop polling after 15 minutes (hard analysis timeout)
What responses mean
  • 200 → processing finished (success or terminal error included in payload)
  • 404 → result not ready yet (retry with backoff)
See Polling for results for a recommended backoff strategy and edge cases.
5

Store results

At minimum, store:
  • submission_id
  • query_id (if used)
  • analysis_time, sha256, score
  • the full JSON response body (store as a blob / document)
Optional:
  • View the result in the Web UI (deep link by submission_id)
  • Render results in the Offline iFrame viewer (if enabled)

Next steps

  • Enable additional outputs: quality, classification, decision
  • Switch from polling to Amazon SQS or Webhooks (optional add-ons)
  • Enable Submission characteristics (optional)
  • Enable Payload encryption (optional)