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

# Quickstart

> Get up and running with the Closient API in under 5 minutes.

## 1. Create an Account

Sign up at [closient.com/accounts/signup](https://www.closient.com/accounts/signup/) to create your free account. You'll land in your Dashboard where you can create an organization and generate API keys.

## 2. Generate an API Key

Navigate to **Settings > API Keys** in your [Dashboard](https://www.closient.com/dashboard/) and create a new key. Keys follow the format:

```
<prefix>_<body>_<checksum>
```

| Prefix | Type        | Use Case                                                  |
| ------ | ----------- | --------------------------------------------------------- |
| `csb`  | Business    | Server-side API access (full permissions)                 |
| `csu`  | User        | User-scoped API access                                    |
| `cpk`  | Publishable | Client-side embeds and widgets (rate-limited, org-scoped) |

The body is 32 random characters and the checksum is a CRC-32 hex digest for format validation.

<Warning>
  API keys are shown once at creation time. They're stored as SHA-256 hashes and cannot be retrieved — only revoked and replaced.
</Warning>

## 3. Look Up a Product by GTIN

<CodeGroup>
  ```bash cURL theme={null}
  curl -H "X-API-Key: YOUR_API_KEY" \
    https://www.closient.com/products/api/v1/products?gtin=00012345678905
  ```

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

  response = requests.get(
      "https://www.closient.com/products/api/v1/products",
      params={"gtin": "00012345678905"},
      headers={"X-API-Key": "YOUR_API_KEY"},
  )
  product = response.json()
  ```
</CodeGroup>

GTINs are always normalized to GTIN-14 (zero-padded). You can pass GTIN-8, GTIN-12 (UPC-A), GTIN-13 (EAN), or GTIN-14 — the API handles normalization.

## 4. Resolve a GS1 Digital Link

Any GTIN can be resolved via a GS1 Digital Link URI:

<CodeGroup>
  ```bash JSON response theme={null}
  curl -H "Accept: application/json" \
    https://www.closient.com/01/00012345678905
  ```

  ```bash GS1 Linkset theme={null}
  curl -H "Accept: application/linkset+json" \
    https://www.closient.com/01/00012345678905
  ```

  ```bash With batch and serial theme={null}
  curl -H "Accept: application/json" \
    https://www.closient.com/01/00012345678905/10/BATCH123/21/SERIAL001
  ```
</CodeGroup>

## 5. Understand the Response Envelope

All list endpoints return paginated results:

```json theme={null}
{
  "data": [
    {
      "id": "ack3p9tw6x7r",
      "gtin": "00012345678905",
      "product_name": "Example Product",
      "brand": "Example Brand",
      "data_source": "claimed",
      "confidence_score": 0.95
    }
  ],
  "pagination": {
    "page": 1,
    "page_size": 25,
    "total_count": 1,
    "total_pages": 1,
    "has_next": false,
    "has_previous": false
  }
}
```

## Next Steps

<CardGroup cols={2}>
  <Card title="Authentication" icon="lock" href="/authentication">
    API key types, RBAC roles, and security best practices.
  </Card>

  <Card title="Digital Link Resolution" icon="link" href="/guides/digital-link-resolution">
    Configure resolution rules, scope hierarchy, and time-based routing.
  </Card>

  <Card title="EPCIS 2.0" icon="route" href="/guides/epcis-events">
    Capture supply chain events with full vocabulary support.
  </Card>

  <Card title="API Reference" icon="code" href="/api-reference/overview">
    Browse all 18 APIs with interactive playgrounds.
  </Card>
</CardGroup>
