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

# Make your first request

> Read your company and page through jobs in a few minutes.

Use this read-only API to build operational and financial reports and maintain your own reporting store. Examples use fictional records and placeholder credentials.

The production base URL is `https://api.getbreezyapp.com/v1`. The API uses ordinary REST GET requests and JSON responses.

## 1. Supply your company API key

Set `BREEZY_API_KEY` in your environment to the key you were issued.

Ask your Breezy contact for an API key if you do not have one. Read [Authentication](/authentication) before sharing a key with a reporting tool.

## 2. Identify your company and read jobs

```sh theme={"theme":{"light":"github-light","dark":"github-dark"}}
BREEZY_API_ORIGIN=https://api.getbreezyapp.com
: "${BREEZY_API_KEY:?Set BREEZY_API_KEY to your issued API key}"
curl --fail-with-body --silent --show-error "$BREEZY_API_ORIGIN/v1/company" \
  --header "Authorization: Bearer $BREEZY_API_KEY" \
  --header 'Accept: application/json'
curl --fail-with-body --silent --show-error "$BREEZY_API_ORIGIN/v1/jobs?limit=2" \
  --header "Authorization: Bearer $BREEZY_API_KEY" \
  --header 'Accept: application/json'
```

A successful request returns HTTP 200. `/company` returns the company in `data`, including its `timezone`; a jobs collection returns `data` and `pagination`.

## 3. Continue to the next page

Read the company ID and timezone from `/company`. Store each job from the page's `data` array by its `id`. To continue, use the returned `pagination.next_cursor` with the same endpoint and filters; stop when it is null. For example, after assigning the returned token to `BREEZY_CURSOR`:

```sh theme={"theme":{"light":"github-light","dark":"github-dark"}}
curl --fail-with-body --silent --show-error --get "$BREEZY_API_ORIGIN/v1/jobs" \
  --header "Authorization: Bearer $BREEZY_API_KEY" \
  --header 'Accept: application/json' \
  --data-urlencode 'limit=2' --data-urlencode "cursor=$BREEZY_CURSOR"
```

Keep already stored pages when a request fails. For a 429, wait the response's `Retry-After` seconds and retry the same request. A first collection pass accumulates records; later refreshes can target [supported edit/date filters and known IDs](/reporting-store). Cursors do not provide a snapshot or a complete change feed.

<CardGroup cols={2}>
  <Card title="Build your reporting store" icon="database" href="/reporting-store">Choose joins and a refresh strategy for your own database.</Card>
  <Card title="Choose a business measure" icon="chart-no-axes-combined" href="/choose-your-data">Find the right records and summaries for each report.</Card>
</CardGroup>

Download the [OpenAPI specification](/openapi.json) for the complete reference, or give an agent the [documentation index](https://developers.getbreezyapp.com/llms.txt).
