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

# Quickstart

> Start verifying users with the no-code dashboard or the Partner API.

Cr3dentials gives you two ways to start verifying users:

* **No-code** through the Cr3dentials dashboard
* **API integration** for building verification into your product or backend

<Tabs>
  <Tab title="No-code (Dashboard)">
    <Steps>
      <Step title="Sign up">
        Email [info@cr3dentials.xyz](mailto:info@cr3dentials.xyz) to approve your email for a partner account, then sign up at [app.cr3dentials.xyz](https://app.cr3dentials.xyz).
      </Step>

      <Step title="Configure data sources">
        Open **Settings** and configure the data sources you want your users to verify from.
      </Step>

      <Step title="Create a verification session">
        Go to the **Reviewer** tab and click **New Request**. Fill in the applicant's details and the verification expiration time.

        The applicant receives an email or WhatsApp message with a link to verify their credentials.
      </Step>

      <Step title="View results">
        Once the applicant completes the session, results appear in your dashboard. You can download a copy or store the proof.
      </Step>
    </Steps>
  </Tab>

  <Tab title="API integration">
    Use this path to build Cr3dentials into your product flow or backend systems.

    <Steps>
      <Step title="Get your API key">
        1. Email [info@cr3dentials.xyz](mailto:info@cr3dentials.xyz) to approve your email for a partner account.
        2. Log into the [dashboard](https://app.cr3dentials.xyz).
        3. Go to the **Partner** section and click **Create a Team**.
        4. Open **View all keys**.
        5. Generate and copy your API key.

        Every request authenticates with this key:

        ```
        x-api-key: your_api_key_here
        ```
      </Step>

      <Step title="List available platforms">
        Platforms tell you which accounts can be verified. Use the returned `id` as `platformId`.

        ```bash theme={null}
        curl https://app.cr3dentials.xyz/v1/partner/browser-platforms \
          -H "x-api-key: $CR3D_API_KEY"
        ```
      </Step>

      <Step title="List supported countries">
        Get the countries you can run a verification from. Use a returned `country_code` for `location`.

        ```bash theme={null}
        curl https://app.cr3dentials.xyz/v1/partner/supported-countries \
          -H "x-api-key: $CR3D_API_KEY"
        ```
      </Step>

      <Step title="Create a browser session">
        ```bash theme={null}
        curl -X POST https://app.cr3dentials.xyz/v1/partner/browser-session \
          -H "x-api-key: $CR3D_API_KEY" \
          -H "Content-Type: application/json" \
          -d '{
            "platformId": 1,
            "receiverData": { "name": "John Doe", "email": "john@example.com" },
            "location": { "country": "ZA", "city": "johannesburg" },
            "expiresInHours": 24,
            "externalReferenceId": "user_abc123"
          }'
        ```

        <Warning>
          **`location` is required** — set it to where your applicant is (`country` as ISO-3166
          alpha-2, plus optional `region`/`city`). The verification runs from a residential IP in
          that country so the sign-in looks like your user, not a foreign datacenter.
        </Warning>

        The response contains an `embedUrl` and the resolved `location`:

        ```json theme={null}
        {
          "status": "success",
          "data": {
            "sessionId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
            "status": "CREATED",
            "embedUrl": "https://frame.cr3dentials.xyz/verify/a1b2c3d4...?token=xxx",
            "platformId": 1,
            "expiresAt": "2025-03-25T12:00:00.000Z",
            "createdAt": "2025-03-24T12:00:00.000Z",
            "location": { "country": "ZA", "city": "johannesburg" },
            "externalReferenceId": "user_abc123"
          }
        }
        ```
      </Step>

      <Step title="Embed the session">
        Render the `embedUrl` in an iframe. The user completes login and verification inside it.

        ```html theme={null}
        <iframe
          src="https://frame.cr3dentials.xyz/verify/a1b2c3d4...?token=xxx"
          allow="camera; microphone"
          style="width:100%;height:720px;border:0"
        ></iframe>
        ```
      </Step>

      <Step title="Get the result">
        Either poll the session or receive a [webhook](/essentials/webhooks) when it reaches a terminal status.

        ```bash theme={null}
        curl https://app.cr3dentials.xyz/v1/partner/browser-session/a1b2c3d4-e5f6-7890-abcd-ef1234567890 \
          -H "x-api-key: $CR3D_API_KEY"
        ```

        When `status` is `COMPLETED`, `extractedData` holds the verified account data and `hasAttestation` is `true`.
      </Step>
    </Steps>
  </Tab>
</Tabs>

<Card title="Explore the API" icon="code" href="/api-reference/introduction">
  See every endpoint, parameter, and response in the API reference.
</Card>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.