> Documentation index: https://beezr.io/developers/api/llms.txt

# Quickstart: your first call

## Get your key

Create a key in Designer → Account settings → API Integration. Follow [the Designer API key guide](https://designer.beezr.io/docs/connect/api-keys/). Make `BEEZR_API_KEY` available in your server environment before running these samples. Never paste a real key into documentation or browser code.

## Find your names

The module card shows the table name under the module name. Open the module's Fields page and copy each field's System name. These samples use `cm_equipment_requests_base`, `title` and `priority`; use the names from your own module.

Use **Fill my values** to replace the host and module throughout the samples.

## Query your first page

All calls use `Content-Type: application/json` and `X-API-Key`. This request returns a page of matching records. `id` always comes back, even if it isn't in `fields`.

```curl
curl --fail-with-body --silent --show-error \
  'https://services.beezr.io/generic/api/v4/records/query' \
  -H "X-API-Key: $BEEZR_API_KEY" \
  -H 'Content-Type: application/json' \
  --data '{
  "module": "cm_equipment_requests_base",
  "fields": ["title","priority","needed_by"],
  "filters": {"and":[{"field":"priority","operator":"lte","value":2},{"field":"title","operator":"contains","value":"laptop"}]},
  "sort": [{"field":"needed_by","direction":"asc"}],
  "limit": 20,
  "offset": 0
}'
```

A successful query returns `success: true`, an array in `data`, and `meta` with `total`, `limit`, `offset` and `returned`. Continue while `offset + returned < total`.

## Create your first record

Send field System names as keys in `data`. Unknown fields are ignored; if none match, you get `INVALID_DATA`. Lookup, relation and user fields need an integer id.

```curl
curl --fail-with-body --silent --show-error \
  'https://services.beezr.io/generic/api/v1/records/create' \
  -H "X-API-Key: $BEEZR_API_KEY" \
  -H 'Content-Type: application/json' \
  --data '{
  "module": "cm_equipment_requests_base",
  "data": {"title":"Laptop for new hire","priority":2}
}'
```

A successful create returns HTTP 201 and the created record in `data`. Keep its integer `id` for later changes. Add an `Idempotency-Key` when retrying the same create; see [Safe retries](/developers/api/idempotency/).

## If your call fails

For `AUTHENTICATION_FAILED`, check that the key exists and isn't paused. For `MODULE_NOT_FOUND`, copy the module's table name again. For `INVALID_FILTER`, use field System names and a supported operator. [Errors](/developers/api/errors/) lists the fixes.

