# Install and verify

## Before you start

- `node`: `>=18.0.0`.

Use a project with a `package.json`. Check the runtime and package manager:

```bash
node --version
npm --version
```

## Install the documented version

```bash
npm install @qentrah/sdk@3.0.0-beta.31
```

## Confirm the installation

```bash
npm ls @qentrah/sdk
```

The output should show `@qentrah/sdk@3.0.0-beta.31`. Commit the lockfile so another developer installs the same dependency tree.

## Quick start

```ts
import { createClient } from '@qentrah/sdk'

const qentrah = createClient({
  url: 'https://cms.example.com',
  apiKey: process.env.QENTRAH_API_KEY,
})

const { data, meta } = await qentrah.content.list({
  limit: 20,
  status: 'published',
})
```

Authenticate with JWT credentials when an API key is not available:

```ts
const qentrah = createClient({ url: 'https://cms.example.com' })
await qentrah.auth.login({ email: 'admin@example.com', password: 'secret' })
```

## Expected result

A configured client sends requests to your running CMS. Replace `cms.example.com` with your own server; installation does not start or deploy a CMS.