> ## Documentation Index
> Fetch the complete documentation index at: https://docs.deepidv.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Quick Start

> Get up and running with deepidv in minutes

> Get from zero to a live identity verification in minutes — create your account, set up a workflow, launch a session, and start receiving results.

export const VideoEmbed = ({src, title = "Video"}) => <div className="deepidv-video-embed">
    <iframe src={src} title={title} allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowFullScreen />
  </div>;

<VideoEmbed src="https://www.youtube.com/embed/WZKB8tmmnFM?rel=0&playsinline=1" title="deepidv Platform Walkthrough" />

<Steps>
  <Step title="Set up your deepidv account">
    1. Head to [app.deepidv.com](https://app.deepidv.com) and sign up
    2. Create your **Organization** — this is the workspace where your team manages workflows, API credentials, and verification activity
    3. Make sure your account has a sufficient **token balance** to run verifications

    <Tip>
      Each verification service consumes tokens at its own rate. Check the [Pricing](/pricing) page for a full breakdown of per-check costs.
    </Tip>
  </Step>

  <Step title="Create a verification workflow">
    Open **Workflows** in the sidebar and click **Create New**. A workflow defines which checks run during a session:

    | Service                                  | What it does                                                                  |
    | ---------------------------------------- | ----------------------------------------------------------------------------- |
    | **ID Verification**                      | Validates government-issued documents and extracts key fields                 |
    | **Face Liveness**                        | Confirms the applicant is a real, live person                                 |
    | **Age Estimation**                       | Estimates the applicant's age from biometric data                             |
    | **PEP & Sanctions**                      | Screens against global watchlists and sanctions registries                    |
    | **Adverse Media**                        | Screens for negative news coverage and media mentions                         |
    | **Bank Statement Sync**                  | Retrieves bank statements via open banking                                    |
    | **AI Bank Analysis**                     | Runs AI-powered analysis on financial data                                    |
    | **Document Upload with Fraud Detection** | Collects uploaded documents and scans them for signs of tampering or fraud    |
    | **Custom Prompt Picture**                | Requests a photo from the applicant based on a custom prompt you define       |
    | **Custom Forms**                         | Adds custom questions or data collection fields to the verification flow      |
    | **Title Search**                         | Searches property title records for ownership and lien information            |
    | **Address Verification**                 | Uses AI-driven prompts to verify the applicant's location in real time        |
    | **Phone Verification**                   | Calls the applicant and verifies their identity through a spoken voice prompt |

    Toggle the services you need, name your workflow, and save it. You can create as many workflows as you like for different use cases.

    <VideoEmbed src="https://www.youtube.com/embed/mNr4SFCg_uM?rel=0&playsinline=1" title="deepidv Workflow Builder" />
  </Step>

  <Step title="Grab your API key">
    Go to **Settings → API Keys** in the Admin Console:

    1. Click **Generate API Key** and copy it somewhere safe
    2. Optionally, configure a **Webhook URL** to receive real-time status updates when sessions change

    <Warning>
      Your API key is a secret. Keep it server-side only — never expose it in frontend code or commit it to version control.
    </Warning>

    <Card title="Download Postman Collection" icon="download" href="https://deepidv-public-bucket.s3.us-east-1.amazonaws.com/api/DeepIDV-Open-API.postman_collection.json">
      Import our pre-built Postman collection to start testing every endpoint immediately. Just set the `api_key` variable and go.
    </Card>
  </Step>

  <Step title="Launch a verification session">
    **Option A — Verification sessions** (recommended)

    The fastest way to get started. Create a session through the Admin Console or programmatically via the API. Your applicant receives an email and/or SMS with a link to complete their verification.

    In the Console, click **"+"** → pick a workflow → enter applicant details. Or create sessions via code:

    <CodeGroup>
      ```bash cURL theme={null}
      curl -X POST https://api.deepidv.com/v1/sessions \
        -H "Content-Type: application/json" \
        -H "x-api-key: YOUR_API_KEY" \
        -d '{
          "firstName": "Jane",
          "lastName": "Smith",
          "email": "jane.smith@example.com",
          "phone": "+14165557890",
          "workflowId": "your-workflow-id"
        }'
      ```

      ```javascript Node.js theme={null}
      const response = await fetch("https://api.deepidv.com/v1/sessions", {
        method: "POST",
        headers: {
          "Content-Type": "application/json",
          "x-api-key": "YOUR_API_KEY",
        },
        body: JSON.stringify({
          firstName: "Jane",
          lastName: "Smith",
          email: "jane.smith@example.com",
          phone: "+14165557890",
          workflowId: "your-workflow-id",
        }),
      });

      const session = await response.json();
      console.log(session);
      ```

      ```python Python theme={null}
      import requests

      response = requests.post(
          "https://api.deepidv.com/v1/sessions",
          headers={
              "Content-Type": "application/json",
              "x-api-key": "YOUR_API_KEY",
          },
          json={
              "firstName": "Jane",
              "lastName": "Smith",
              "email": "jane.smith@example.com",
              "phone": "+14165557890",
              "workflowId": "your-workflow-id",
          },
      )

      print(response.json())
      ```
    </CodeGroup>

    <Note>
      Find your `workflowId` under **Workflows** in the Admin Console sidebar.
    </Note>

    A successful response returns a session ID and verification URL:

    ```json theme={null}
    {
      "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
      "session_url": "https://app.deepidv.com",
      "links": []
    }
    ```

    **Option B — Direct API calls**

    Call individual verification endpoints directly from your backend — no session required. Ideal for server-to-server pipelines, batch processing, and fully custom verification flows where you control the applicant experience end-to-end.

    Five endpoints are available under `/v1`:

    | Endpoint                     | Purpose                                                                |
    | ---------------------------- | ---------------------------------------------------------------------- |
    | `POST /v1/document/scan`     | Extract fields from a government-issued ID and run authenticity checks |
    | `POST /v1/face/detect`       | Detect a face in an image and return bounding box + landmarks          |
    | `POST /v1/face/compare`      | Compare two faces and return a similarity score                        |
    | `POST /v1/face/estimate-age` | Estimate age range from a single face image                            |
    | `POST /v1/identity/verify`   | Run document scan + face detect + face compare in a single call        |

    Each endpoint accepts images either as `multipart/form-data` (raw bytes) or as `application/json` with a presigned `fileKey`.

    ```bash cURL theme={null}
    curl -X POST https://api.deepidv.com/v1/face/detect \
      -H "x-api-key: YOUR_API_KEY" \
      -F "image=@selfie.jpg"
    ```

    See the [Server-to-Server overview](/api-reference/server-to-server/overview) for full details.
  </Step>

  <Step title="Track results">
    Once an applicant completes their verification, deepidv automatically processes the results. Sessions move through these statuses:

    | Status      | Meaning                                                                       |
    | ----------- | ----------------------------------------------------------------------------- |
    | `PENDING`   | Session created, awaiting applicant                                           |
    | `SUBMITTED` | Applicant completed the flow, results are processing                          |
    | `VERIFIED`  | All checks passed                                                             |
    | `REJECTED`  | One or more checks failed                                                     |
    | `VOIDED`    | Session manually cancelled by a reviewer                                      |
    | `EXPIRED`   | Session auto-expired before the applicant submitted                           |
    | `FAILED`    | Session auto-failed after the workflow's configured number of failed attempts |

    If you configured a webhook, deepidv sends events to your endpoint automatically — no polling required.

    You can also retrieve session results at any time via the [Retrieve Session](/api-reference/sessions/retrieve-session) endpoint.
  </Step>

  <Step title="Review and manage">
    Use the Admin Console to:

    * Monitor session progress in real time
    * Manually review and approve or reject flagged sessions
    * Export individual PDF reports or bulk CSV downloads
    * Filter sessions by status, date range, workflow, or applicant
    * View detailed analytics and token spend on the [Analytics](/settings/analytics) dashboard
  </Step>
</Steps>

## Need help?

<CardGroup cols={2}>
  <Card title="Email Support" icon="envelope" href="mailto:support@deepidv.com">
    Reach our team at [support@deepidv.com](mailto:support@deepidv.com)
  </Card>

  <Card title="API Reference" icon="code" href="/api-reference/sessions/create-session">
    Explore the full API documentation and endpoint specs.
  </Card>
</CardGroup>
