Skip to main content
This guide walks you through a complete Atlas verification workflow from first request to final results. By the end, you will have authenticated, created a flow, submitted documents for processing, and retrieved structured OCR and cross-check data.
Atlas provides a sandbox environment for testing. Contact your team for sandbox credentials and the sandbox base URL (/v1/docstream/...). Sandbox calls use the same authentication pattern.
1

Get your credentials

Contact the Atlas account team to receive your Client-Id and Client-Secret. Store these securely—you will exchange them for a JWT token in the next step.You will also receive:
  • The API base URL for your environment
  • Your provisioned product_type (for example, POC_CDL for consumer durable lending)
2

Generate an access token

Exchange your credentials for a JWT access token. The token expires after 3600 seconds (one hour).POST /v1/docstream/authtoken
curl --request POST \
  --url https://docstream.dev.kreditmind.com/v1/docstream/authtoken \
  --header "Client-Id: your-client-id" \
  --header "Client-Secret: your-client-secret"
Save the access_token. You will pass it as the Token header in every subsequent request.
3

Upload documents

Submit one or more document URLs for processing. Each document needs a file_url (a pre-signed URL pointing to the file in storage) and a document_id (your own reference for tracking).POST /v1/docstream/multiupload
FieldTypeRequiredDescription
product_typestringYesThe assigned product type for your company
file_urlsarrayYesList of file objects to process
file_urls[].file_urlstringYesPre-signed URL to the document file
file_urls[].document_idstringYesYour identifier for this document
curl --request POST \
  --url https://docstream.dev.kreditmind.com/v1/docstream/multiupload \
  --header "Token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..." \
  --header "Content-Type: application/json" \
  --data '{
    "product_type": "POC_CDL",
    "file_urls": [
      {
        "file_url": "https://your-bucket.s3.ap-south-1.amazonaws.com/uploads/invoice.jpg",
        "document_id": "1"
      },
      {
        "file_url": "https://your-bucket.s3.ap-south-1.amazonaws.com/uploads/delivery-order.jpg",
        "document_id": "2"
      },
      {
        "file_url": "https://your-bucket.s3.ap-south-1.amazonaws.com/uploads/aadhaar.jpg",
        "document_id": "3"
      }
    ]
  }'
Atlas begins processing immediately after upload. To get the data you can poll the extract endpoint in the next step.
4

Retrieve results

Poll this endpoint to monitor the state of your flow. You can use this alongside or instead of the callback.GET /v1/docstream/extracts?batch_id={batch_id}
curl --request GET \
  --url "https://docstream.dev.kreditmind.com/v1/docstream/extracts?batch_id=BATCH-42326-YSBHNW-2026043786734639" \
  --header "Token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."

What to build next

Now that you have end-to-end results, you can:
  • Set up your callback_url to receive results asynchronously and eliminate polling.
  • Set up your crosschecks to compare results and eliminate the need for human verification.
  • Map error_code values like INVALID_DOC and UNRECOGNISED into your exception handling workflow.
  • Apply similarity_score thresholds on cross_checks to automate accept/reject decisions.
  • Explore the full list of supported document types and their extracted fields in the Supported Documents reference.