**To start using the Papo Global API (https://papo.global/), you need to generate a secret key in the dashboard, authenticate requests with the Authorization header, and make REST calls to the base `https://app.papo.global/api/v1`. The first practical test is to list Extrator contacts with a simple cURL command.**

The Papo API is REST, uses JSON, and accepts requests from any origin (CORS enabled). With it, you connect CRMs, automation platforms (such as n8n), ERPs, or your own backend to Papo’s support, sales, and AI ecosystem.

## Summary of essential elements

| Element | Description |
|---|---|
| Public key (`pk_live_…`) | Fixed identifier of your account, can be exposed on the front end |
| Secret key (`sk_live_…`) | Authentication token, must be kept secret and used only on the server |
| Authentication | Header `Authorization: Bearer sk_live_...` (or `X-Papo-Secret-Key`) on all calls except GET `/api/v1` |
| Base URL | `https://app.papo.global/api/v1` |
| Example endpoint | `GET /api/v1/contacts` — lists extracted contacts (Extrator), with pagination |

## Step by step for the first call

### 1. Create your API keys
Go to the developers page in the Papo dashboard (available at `app.papo.global/developers`). There you can generate a named secret key — for example, “first-test” — and copy it immediately. The key is shown only once; after that you can only revoke it and create another.

The public key (`pk_live_…`) is fixed per account and is visible on that same page at any time. Although optional in requests, if you send it, it must be associated with the same account as the secret key.

### 2. Choose the endpoint
For this guide, we will use `GET /api/v1/contacts`, which lists leads extracted by the Extrator module. You can paginate the results with the `page` (default 1) and `per_page` (1 to 100, default 20) parameters. A text query with `q` is also accepted to search by company, phone, or email.

### 3. Make the call with cURL
With the secret key in hand, build the request. The following example lists up to 20 contacts:

```
curl "https://app.papo.global/api/v1/contacts?page=1&per_page=20" \
  -H "Authorization: Bearer sk_live_…"
```

Replace `sk_live_…` with your secret key. If you want to use the alternative header, do:

```
curl "https://app.papo.global/api/v1/contacts" \
  -H "X-Papo-Secret-Key: sk_live_…"
```

The response is a JSON with `success: true` and the data inside the `data` object. If there is an error, the JSON will contain `success: false` and an `error` object with an explanatory code and message.

From here, you can explore other endpoints documented on the [API page](https://papo.global/pt/docs), such as sending messages (`POST /api/v1/messages`), account details (`GET /api/v1/me`), or completing texts with AI (`POST /api/ai/v1/complete`).

## Who this guide is for
This content is aimed at developers who want to integrate Papo with external systems — CRMs, automation tools (n8n, for example), or their own applications. If you are an end user who just wants to connect channels and provide support, the Help Center offers other, more suitable articles.

## FAQ

### Do I need to send the public key on every call?
No. The public key is optional. If you choose to send it, it must match the account of the secret key used.

### Does the secret key expire?
It does not expire automatically. You can revoke it at any time from the dashboard and create a new one if you suspect a leak.

### Can I test the API with a free account?
Yes. The first Papo user is free, and you can generate keys to explore the API. Access to modules such as Extrator may consume balance depending on usage, but key creation and basic read calls can be tested at no additional cost.

### What should I do if I lose the secret key?
Create a new named key in the developers dashboard. The previous key cannot be recovered; it can only be revoked for security.

### Can I use the API to send bulk messages?
Yes, the `POST /api/v1/messages` endpoint allows you to send text messages. However, respect the platform’s consent policies and terms of use.

### Does the API list only Extrator contacts?
The `GET /api/v1/contacts` endpoint returns extracted contacts. To manage the unified CRM base (search, create, and update any contact), you can consult the complete API documentation.

Read also: [How to use the Papo API to create a signup form and automatically populate the CRM](/hc/papo/articles/how-to-use-papo-api-signup-form-populate-crm) · [How to use the Papo API to monitor credit consumption and white label reseller invoices](/hc/papo/articles/how-to-use-papo-api-monitor-credits-white-label-invoices)

---

**[Start free on Papo Global →](https://papo.global/?utm_source=helpcenter&utm_medium=article&utm_campaign=how-to-get-started-with-papo-api-authentication-first-call&utm_content=en)**

First user R$ 0, no card. Learn more at [papo.global](https://papo.global).