# Getting started

Welcome to the Moneybird API integration guide. This guide helps you get started and covers some of the most common integration patterns.

## Before you begin

Make sure you have:

1. A Moneybird account and an administration to test with
2. An access token (or OAuth) and the administration ID
3. Basic REST knowledge (HTTP methods, headers, JSON)

See [Authentication](/authentication) if you need help obtaining an access token.

## Base URL and headers

Use your administration ID in the path and send your access token via the Authorization header.

```bash
curl -X GET "https://moneybird.com/api/v2/{ADMINISTRATION_ID}/contacts.json" \
  -H "Authorization: Bearer {ACCESS_TOKEN}"
```

Replace placeholders like `{ADMINISTRATION_ID}` and `{ACCESS_TOKEN}` with your values.

## Make your first request

Fetch a single contact to verify access:

```bash
curl -X GET "https://moneybird.com/api/v2/{ADMINISTRATION_ID}/contacts.json?per_page=1" \
  -H "Authorization: Bearer {ACCESS_TOKEN}"
```

You should receive a 200 response with a JSON array (possibly empty if there are no contacts yet).

## What you can build next

- [Creating Sales Invoices](/integration/creating-sales-invoices): generate and send invoices
- [Importing External Invoices](/integration/importing-external-invoices): import invoices from other systems
- [Sending Invoices with Peppol](/integration/sending-sales-invoices-peppol): for B2B invoices
- [Managing Subscriptions](/integration/managing-subscriptions): set up recurring billing with full API control
- [Hosted Subscription Management](/integration/hosted-subscription-management): use Moneybird's hosted checkout and customer portal

Also consider setting up [Webhooks](/webhooks/getting-started) to react to status changes in real time.
