---
title: "Fluveo documentation"
description: "Take card, Pix and Boleto payments through one /v1 API, with the same calls for every store."
url: https://docs.fluveo.com/
---

> Index of every page: https://docs.fluveo.com/llms.txt. Integrating Fluveo? Read https://docs.fluveo.com/agents/integrate.md first.

> Too long? This page with code in one language only: https://docs.fluveo.com/index.curl.md (cURL), https://docs.fluveo.com/index.node.md (Node.js), https://docs.fluveo.com/index.python.md (Python), https://docs.fluveo.com/index.php.md (PHP).

# Fluveo documentation

Take card, Pix and Boleto payments through one /v1 API, with the same calls for every store.

Fluveo is a payments processor. Its `/v1` REST API has PaymentIntents, Charges, Refunds, Disputes, Payouts and Events, with clear states, errors and events. You call it over plain HTTP with your own Fluveo keys. Every store uses the same API: card, Pix and Boleto are payment methods of the same call.

## Start from what you want to do

- [Accept a payment](https://docs.fluveo.com/payments/accept-a-payment.md): One call for card, Pix and Boleto.
- [Hosted checkout](https://docs.fluveo.com/payments/checkout.md): Send the buyer to a Fluveo page that takes the payment.
- [Refund a payment](https://docs.fluveo.com/payments/refunds.md): Return a whole payment to the buyer, or only part of it.
- [Balance and payouts](https://docs.fluveo.com/payments/payouts.md): See what your account holds and send it to your bank.
- [Receive webhooks](https://docs.fluveo.com/webhooks.md): Get events and check each one with its Fluveo-Signature header.
- [Test your integration](https://docs.fluveo.com/start/testing.md): Test keys and test values, and what each one does.
- [API reference](https://docs.fluveo.com/api/payment_intents.md): Every endpoint Fluveo serves, with parameters and request examples.
- [Build with AI agents](https://docs.fluveo.com/agents/integrate.md): Let an AI agent integrate Fluveo by reading these docs.
- [Fluveo MCP](https://docs.fluveo.com/agents/mcp.md): Connect an AI client to your test store through the MCP server.

## Your first request

Every request goes to `https://api.fluveo.com/v1` with your secret key as a Bearer token. This one reads your balance and changes nothing.

**Read your balance**

cURL:

```bash
curl https://api.fluveo.com/v1/balance \
  -H "Authorization: Bearer sk_test_..."
```

Node.js:

```javascript
const response = await fetch("https://api.fluveo.com/v1/balance", {
  headers: { Authorization: "Bearer sk_test_..." },
});
console.log(await response.json());
```

Python:

```python
import requests

response = requests.get(
    "https://api.fluveo.com/v1/balance",
    headers={"Authorization": "Bearer sk_test_..."},
)
print(response.json())
```

PHP:

```php
<?php
$ch = curl_init("https://api.fluveo.com/v1/balance");
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => ["Authorization: Bearer sk_test_..."],
]);
echo curl_exec($ch);
```

Replace `sk_test_...` with a test secret key from the [Fluveo Dashboard](https://dash.fluveo.com). Pick your language once: every example on every page follows it.

## Where your money is

Fluveo processes your payments and keeps your balance. `GET /v1/balance` tells you what you hold, and a payout takes it out to your bank. Every call goes to Fluveo and nowhere else. See [Balance and payouts](https://docs.fluveo.com/payments/payouts.md).

## Rules for every integration

- Call the API over plain HTTP: curl, `fetch`, `requests` or your language's HTTP client. Install no server SDK.
- Build and test only with `sk_test_` keys.
- Send an `Idempotency-Key` header on every POST, and reuse it when you retry that same request.
- Never send a header that acts for another account: each merchant uses its own keys.
- Verify every webhook with its `Fluveo-Signature` header before you act on it.

> **For AI agents:**
>
> You are reading the Fluveo docs as an AI agent. Read https://docs.fluveo.com/llms.txt before you write code: it lists every page as Markdown. Only what https://docs.fluveo.com/openapi.json lists exists; never assume an endpoint, header or parameter from another payments API works here. Stop and ask a human before you use a live key or move real money.
