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

# Getting Started

> Make your first SkillsDB REST API call in five minutes

<Info>
  **Quick Summary:** Create an API key in **Settings → API Credentials**, send it as a Bearer token, call `/api/v1/ping` to prove the connection, then make your first real call.
</Info>

## 1. Create an API key

A company administrator creates keys under **Settings → API Credentials**: give it a name, pick its **scopes** (for example `careers:read`), and choose the **acting person** — the API can never do more than that person could do in the app.

<Warning>
  The key is shown **exactly once** at creation. Copy it immediately — only a one-way hash is stored, and a lost key can only be replaced, never recovered.
</Warning>

## 2. Prove the connection

```bash theme={null}
curl https://prod.skillsdbnext.com/api/v1/ping \
  -H "Authorization: Bearer sdb_live_YOUR_KEY_HERE"
```

```json theme={null}
{ "data": { "status": "ok", "version": "v1", "time": "2026-08-20T11:00:00.000Z" } }
```

`/ping` requires a valid key but no scope — it is the scope-free connectivity check.

## 3. Make your first real call

```bash theme={null}
curl "https://prod.skillsdbnext.com/api/v1/careers?limit=5" \
  -H "Authorization: Bearer sdb_live_YOUR_KEY_HERE"
```

```json theme={null}
{
  "data": [
    { "id": "18", "name": "Maintenance Technician", "careerType": { "id": "3", "name": "Job Role" }, "levelCount": 3, "...": "..." }
  ],
  "meta": { "total": 42, "limit": 5, "offset": 0 }
}
```

## The conventions, in one paragraph

Every response is JSON with camelCase fields. Collections are `{ data: [...], meta: { total, limit, offset } }`; single resources are `{ data: {...} }`. Ids are opaque strings. Timestamps are ISO 8601 UTC with a `Z`. Nullable fields are always present with an explicit `null`. Errors are RFC 9457 problem+json — see the [error catalogue](/api-docs/errors/index). The machine-readable contract is at `/api/v1/openapi.json` (no authentication needed).

## Explore with Postman

A ready-made [Postman collection](/api-docs/skillsdb-public-api.postman_collection.json) is generated from the same contract. Import it, open the collection's **Variables** tab, paste your key into `apiKey` and point `baseUrl` at your environment — every request inherits the collection-level authentication and common headers, so nothing needs configuring per request. Write requests carry an optional, one-click `Idempotency-Key` header prefilled with a GUID, and request bodies come prefilled with working examples.

## Where next

* [Authentication](/api-docs/rest/authentication) — key lifecycle, rotation, revocation
* [Pagination](/api-docs/rest/pagination), [Filtering](/api-docs/rest/filtering), [Sorting](/api-docs/rest/sorting)
* [Idempotency](/api-docs/rest/idempotency) — safe retries for writes
* [Rate limits](/api-docs/rest/rate-limits)
* The endpoint reference in this section's sidebar — one section per resource, one page per operation
