---
title: Getting started
description: Authenticate a request and make your first call to the HeimPulse API.
order: 1
---

The HeimPulse API (`/v1`) lets you manage monitored services, create and resolve incidents, and
list available check regions programmatically - the same things you can do from the dashboard,
callable from a script, a CI pipeline, or your own infrastructure-as-code tooling.

## Base URL

```
https://api.heimpulse.com/v1
```

## Authenticate

Every request needs an `Authorization: Bearer` header carrying an API key:

```sh
curl https://api.heimpulse.com/v1/org \
  -H "Authorization: Bearer hpk_..."
```

Mint a key from the dashboard: **Settings → API keys**. A key belongs to your organization, not to
you personally - it keeps working even after the member who created it leaves the org. Keys are
shown in full exactly once, at creation - HeimPulse never stores or can re-display the plaintext
key, only its last 4 characters.

API keys require a **Business** plan. A key stops authenticating anything the moment the org's plan
no longer includes API access - no separate revocation step needed if you downgrade.

## Your first call

```sh
curl https://api.heimpulse.com/v1/org \
  -H "Authorization: Bearer hpk_..."
```

```json
{
  "id": "5b1e...",
  "name": "Acme Inc",
  "plan": "business",
  "scope": "read_write"
}
```

This confirms which org the key belongs to and what it's allowed to do. From here, see the
[API reference](/reference.html) for the full `/v1/services`, `/v1/incidents`, and `/v1/regions`
surface (the [Services](/guides/services) guide covers the few fields the reference can't show a
fixed schema for), or read on for [authentication and scopes](/guides/authentication) and
[rate limits and errors](/guides/rate-limits-and-errors).
