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

# Quickstart

> Create your first checkout session in minutes.

## Log in into your account

If you have been invited, you should receive an email from us about account verification.

<img src="https://mintcdn.com/clink/peBNaRlFWIQS8vOQ/images/invitation.png?fit=max&auto=format&n=peBNaRlFWIQS8vOQ&q=85&s=7ffc2f7b8cb3f7494534393338e746f2" alt="invitation" width="665" height="340" data-path="images/invitation.png" />

Follow the instructions to set your password, and then log in use your email address.

Upon first login, you will need an authenticator app for TOTP registration. We recommend the **Microsoft/Google Authenticator** app.

## Generate API key

Go to the **Developers** tab. Click on **Initialize Key**, and make sure you copy the SK as it will only appear once.

<AccordionGroup>
  <Accordion icon="code" title="Generate API Key">
    <img src="https://mintcdn.com/clink/peBNaRlFWIQS8vOQ/images/empty_key.png?fit=max&auto=format&n=peBNaRlFWIQS8vOQ&q=85&s=e7c912986938e46a3c33cd39c37d707f" alt="key" width="1399" height="495" data-path="images/empty_key.png" />
  </Accordion>
</AccordionGroup>

## Create first product (Optional)

Go to the **Products** tab. The name, icon, prices are required to create a product. We will display this information to your customers.

<AccordionGroup>
  <Accordion icon="package-search" title="Product Drawer">
    <img src="https://mintcdn.com/clink/peBNaRlFWIQS8vOQ/images/product_drawer.png?fit=max&auto=format&n=peBNaRlFWIQS8vOQ&q=85&s=ddf4981c3ab382dff0305a1f44678a0d" alt="product" width="594" height="979" data-path="images/product_drawer.png" />
  </Accordion>

  <Accordion icon="coins" title="Price Drawer">
    <img src="https://mintcdn.com/clink/peBNaRlFWIQS8vOQ/images/price_drawer.png?fit=max&auto=format&n=peBNaRlFWIQS8vOQ&q=85&s=50b3d1fc2eda5e154ff43b91e4254a95" alt="price" width="590" height="976" data-path="images/price_drawer.png" />
  </Accordion>
</AccordionGroup>

## Create a checkout session

Follow the API reference to create a checkout session!

<AccordionGroup>
  <Accordion icon="file-json" title="Sample Code">
    <Danger>Please test your code before hitting production!</Danger>

    <CodeGroup>
      ```json without a Product theme={null}
      curl --location --request POST 'https://uat-api.clinkbill.com/api/checkout/session' \
      --header 'X-Timestamp: ${currentMillisecondsTimestamp}' \
      --header 'X-API-Key: ${sk_key}' \
      --header 'Content-Type: application/json' \
      --data-raw '{
          "customerEmail": "customer@example.com",
          "originalAmount": ${amount},
          "originalCurrency": "USD",
          "uiMode": "hostedPage",
          "priceDataList":[
              {
                  "name":"A One-time purchase",
                  "quantity": 1,
                  "unitAmount":${unitAmount},
                  "currency":"USD"
              }
          ]
      }'
      ```

      ```json with a Product created theme={null}
      curl --location --request POST 'https://api.clinkbill.com/api/checkout/session' \
      --header 'X-Timestamp: ${currentMillisecondsTimestamp}' \
      --header 'X-API-Key: ${sk_key}' \
      --header 'Content-Type: application/json' \
      --data-raw '{
          "customerEmail": "customer@example.com",
          "originalAmount": ${amount},
          "originalCurrency": "USD",
          "uiMode": "hostedPage",
          "priceId": "${price_id}",
          "productId": "${prd_id}"
      }'
      ```
    </CodeGroup>
  </Accordion>
</AccordionGroup>

If you are creating a session for embedded checkout, set `uiMode` to `elements` and include `returnUrl`. A common pattern is `https://YOUR_DOMAIN/complete.html?session_id={ELEMENTS_SESSION_ID}`, where Clink replaces `{ELEMENTS_SESSION_ID}` with the created session ID.
