# Super Payments API Authentication Documentation

The Super Payments API uses API keys to authenticate requests. All API requests must be made over HTTPS - calls made over plain HTTP will fail, as will requests without a valid API key.

You can view and manage your API keys in the [Business Portal](https://business.superpayments.com/dashboard/integrations).

## API Keys

Super Payments uses two types of API key:

- **Secret key** (`sk_prod_` / `sk_test_`) : used for server-side API requests. Keep these secure and never expose them in public repositories, client-side code, or anywhere else publicly accessible.
- **Public key** (`PUB_`) : safe to use in client-side and front-end code.

## Authentication

Pass your secret key in the `Authorization` header of every request:

```shell
curl --location 'https://api.superpayments.com/2026-04-01/payments' \
--header 'Authorization: sk_prod_YOUR_SECRET_KEY' \
--header 'Content-Type: application/json'
```

For test environment requests, use your `sk_test_` key and the test base URL:

```shell
curl --location 'https://api.test.superpayments.com/2026-04-01/payments' \
--header 'Authorization: sk_test_YOUR_SECRET_KEY' \
--header 'Content-Type: application/json'
```

## Creating API Keys

1. Log in to the [Business Portal](https://business.superpayments.com/).
2. Navigate to **Integration & Tools** → **API Keys**.
3. Click the **Add** button to create a new key.
4. Copy your **Secret key** and **Public key** and store them securely.

> 📘
>
> ### **Note**  
> If you are using API version `v2025-06-01` or later, API keys are managed from a new location in the Business Portal. If you have existing keys from an earlier version, you will need to generate new ones from the Integrations page.

## Payment Initiator IDs

To create payments via the API you will need a **payment initiator ID**, which is passed in the request body alongside your other required fields.

To find your payment initiator ID:

1. Log in to the [Business Portal](https://business.superpayments.com/).
2. Navigate to **Integration & Tools** → **API Keys**.
3. If you have not already done so, create a custom integration - the payment initiator ID will be displayed once an integration has been created.
