# Overview

> Product: **Pabbly Subscription Billing** (v1)
> Base URL: `https://payments.pabbly.com/api/v1`
> Auth: Basic via `Authorization` header
> Canonical: `/subscription-billing/guides/overview`

The Pabbly Subscription Billing API lets you programmatically manage customers, subscriptions, plans, invoices, coupons, payment methods, checkout pages, and more. Build custom billing flows, sync customer and payment data with your own systems, and automate subscription lifecycle actions over standard HTTPS.

*Example request*

```bash
curl https://payments.pabbly.com/api/v1/customer/cus_example \
  -u {{YOUR_API_KEY}}:{{YOUR_SECRET_KEY}}
```

## Base URL

All endpoints are relative to the base URL below. Combine the base URL with the path on each endpoint to get the full request URL.

*Base URL*

```text
https://payments.pabbly.com/api/v1
```

## Requests and responses

The API accepts JSON request bodies and returns JSON responses. Send `Content-Type: application/json` on every request that has a body. Path parameters are interpolated into the URL; query parameters and body fields are documented per endpoint.

*Success response*

```json
{
  "success": true,
  "data": { /* … */ }
}
```

## Errors

When a request fails, the response status code reflects the error category and the body carries a human-readable message. Treat any non-2xx status as a failure.

| Status | Meaning |
|---|---|
| 200, 201 | Success |
| 400 | Bad request — missing or malformed parameters |
| 401 | Unauthorized — missing or invalid API credentials |
| 404 | Not found — the resource does not exist |
| 429 | Too many requests |
| 5xx | Server error — retry with backoff |

*Error response*

```json
{
  "success": false,
  "error": "A human-readable explanation"
}
```

