Skip to main content
Chat-based onboarding lets you embed a guided, conversational document collection experience into your customer-facing product. Instead of presenting a static upload form, you create a flow where an AI-driven chat interface guides applicants through submitting their KYC and income documents step by step. The Atlas onboarding API manages the conversation state, document acceptance, and extraction results. This guide covers the authentication lifecycle (including token refresh), document upload, and the structured formatted_address field available on address-bearing documents.

Authentication

The onboarding service uses the same Client-Id / Client-Secret credential pattern as other Atlas APIs, but the token response also includes a refresh_token. This matters for customer-facing flows that may run longer than the access token’s 3600-second lifespan.
1

Generate a token

Response
2

Upload documents

Once authenticated, upload documents on behalf of the applicant using the multiupload endpoint. Pass the flow_uuid from your initialized flow along with one or more S3-hosted file URLs.
Response — one entry per uploaded file

Supported document types in onboarding

The onboarding flow supports a broad set of KYC and income verification documents. Common types include:
  • Identity: AADHAAR, PAN, DRIVING_LICENSE, VOTER_ID, PASSPORT
  • Business: GST_CERT, SHOP_ACT_LICENSE, UDYAM_CERT, FSSAI_CERTIFICATE
  • Financial: BANK_STATEMENT, PURCHASE_ORDER
  • Property: SALE_DEED, INDEX_2, RENT_AGREEMENT, SATBARA
  • Address proof: EBILL (electricity bill)
The document type is auto-detected from the image. See Supported Documents for a complete list of recognized document types.

The formatted_address field

For documents that contain address information — AADHAAR, EBILL, SHOP_ACT_LICENSE, and others — Atlas returns both a raw address string and a structured formatted_address object. The structured form makes it easy to extract specific components for downstream processing or address matching. Example Aadhaar formatted_address
formatted_address components
Use formatted_address.postcode and formatted_address.city as lightweight sanity checks before running a full address match via the Atlas Address Match API.