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

# Quickstart

> Create a shoppable Incarts link from a single API request

This guide creates a Walmart add-to-cart link. Replace the placeholders with the `projectId` and API key Incarts issued for your integration, plus your retailer product IDs.

<Steps>
  <Step title="Set the base URL">
    ```bash theme={null}
    export INCARTS_API_BASE_URL="https://incarts-api-qob6vapoca-uc.a.run.app"
    ```
  </Step>

  <Step title="Set your API key">
    ```bash theme={null}
    export INCARTS_API_KEY="ic_live_your_key_here"
    ```

    Every authenticated endpoint expects the key in the `X-Incarts-API-Key` header. Incarts issues
    an API key with the scopes your integration needs.
  </Step>

  <Step title="Set your project ID">
    ```bash theme={null}
    export INCARTS_PROJECT_ID="proj_abc123"
    ```

    Incarts provides this value during onboarding. It identifies which project owns the created link.
  </Step>

  <Step title="Create a shoppable link">
    ```bash theme={null}
    curl --request POST "$INCARTS_API_BASE_URL/v1/links" \
      --header "Content-Type: application/json" \
      --header "X-Incarts-API-Key: $INCARTS_API_KEY" \
      --header "Idempotency-Key: link-create-20260521-001" \
      --data '{
        "projectId": "'"$INCARTS_PROJECT_ID"'",
        "name": "Summer grilling basket",
        "publicName": "Shop the grilling list",
        "retailer": "walmart",
        "intent": "add_to_cart",
        "products": [
          {
            "retailerProductId": "550098461",
            "quantity": 1,
            "backupProductIds": []
          }
        ],
        "fallbackUrl": "https://www.walmart.com/",
        "tracking": {
          "utm": {
            "source": "newsletter",
            "medium": "email",
            "campaign": "summer-grilling"
          },
          "tags": ["grilling", "q3"]
        }
      }'
    ```
  </Step>

  <Step title="Use the returned link">
    A successful request returns a `201` response with the created link resource and shareable
    `shortLink`. It also includes default QR metadata when best-effort QR generation succeeds. The
    response does not include the final retailer destination URL.
  </Step>
</Steps>

<Note>
  Walmart add-to-cart links can be created from product IDs alone. Include optional Walmart options
  only when you need advanced cart behavior.
</Note>

## Next steps

<CardGroup cols={2}>
  <Card title="Authentication" icon="key" href="/authentication">
    Pass API keys and retry write requests safely.
  </Card>

  <Card title="Get API access" icon="badge-check" href="/access">
    See where `projectId`, API keys, and scopes come from.
  </Card>

  <Card title="Link workflows" icon="diagram-project" href="/guides/create-links">
    Supported intents, shared fields, and retailer guides.
  </Card>

  <Card title="QR codes" icon="qrcode" href="/guides/qr-codes">
    Create additional QR codes for placements and channels.
  </Card>

  <Card title="Endpoint reference" icon="terminal" href="/api-reference/introduction">
    See schemas, examples, and response codes.
  </Card>
</CardGroup>
