> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.recurrente.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.recurrente.com/_mcp/server.

# Introduction

> Get started with the Recurrente API

The Recurrente API lets you create checkout sessions, manage your products, subscriptions, and customers, transfer money between different Recurrente accounts, and much more.

## Your first test payment

Follow [First test payment](/guides-english/getting-started/first-test-payment) to open a Sandbox, get a TEST key, and verify your first payment and webhook. You can start before activating live payments.

## Getting Started

* [Create an account](http://app.recurrente.com/bienvenida) on Recurrente.
* The API responds in JSON format. When it returns an error, the error is sent in an *error key* in JSON.

## Base URL

```
https://app.recurrente.com/api
```

## Quick Start

1. **Get your API keys** from the Recurrente dashboard under **Settings → API Keys**
2. **Test your credentials** with a simple GET request:

```bash
curl https://app.recurrente.com/api/test \
  -H "X-SECRET-KEY: your_secret_key"
```

3. **Create your first checkout:**

```bash
curl -X POST https://app.recurrente.com/api/checkouts \
  -H "X-SECRET-KEY: your_secret_key" \
  -H "Content-Type: application/json" \
  -d '{
    "items": [{
      "name": "T-Shirt",
      "amount_in_cents": 15000,
      "currency": "GTQ",
      "quantity": 1
    }],
    "success_url": "https://yoursite.com/success",
    "cancel_url": "https://yoursite.com/cancel"
  }'
```

This returns a `checkout_url` — redirect your customer there to complete the payment.

For inline amounts, `amount_in_cents` must respect the currency minimum: 500 for GTQ (Q5) or 100 for USD (\$1).

## What can you do with the API?

| Feature           | Description                     |
| ----------------- | ------------------------------- |
| **Checkouts**     | Create hosted payment pages     |
| **Products**      | Manage your catalog and pricing |
| **Subscriptions** | Handle recurring billing        |
| **Customers**     | Track and manage your buyers    |
| **Refunds**       | Process refunds on payments     |
| **Transfers**     | Send money between accounts     |
| **Webhooks**      | Get notified about events       |

## Sandbox and Test Payments

Each Sandbox is an isolated environment with its own members, TEST keys, webhooks,
objects, activity, and simulated balances. You can test a subscription's complete
lifecycle—initial charge, renewal, decline, recovery, refund, and cancellation—without
real money or LIVE data.

Use `4242 4242 4242 4242` for success or `4000 0000 0000 0002` for a decline.
Normal events are delivered only to that Sandbox's endpoints with `live_mode: false`
and `sandbox_id`.

Card charges, subscriptions, and refunds follow the documented simulated paths.
Transfers, splits, swaps, and withdrawals are blocked; 3DS, bank settlement, and POS
hardware are not simulated. To test only a webhook consumer,
`/test_helpers/webhook_events` can emit any published event; to test behavior, use
the real flow and its natural events.

See the [Sandboxes guide](/guides-english/guides/sandboxes-and-test-clocks) to create an environment,
use Test Clocks, and run the end-to-end scenario.

## **Need help?**

* If you're using WordPress, we recommend using [our plugin](https://ayuda.recurrente.com/es/articles/8971522-como-instalo-el-plugin-de-recurrente-en-woocommerce).
* Join and ask in our [Discord](https://discord.gg/QhKPEkSKp2).
* Or send us an email at [soporte@recurrente.com](https://mailto:soporte@recurrente.com)