Docs
API 2026-05-27.dahlia Dashboard

API reference

3 operations, with parameters and examples.

The Account is the calling store's own profile as Fluveo knows it. A store reading its own Account gets no requirements and no company field: a field missing from the answer is not sent, and does not mean null. What the store must still do before it can take live payments, and why live mode is blocked, show in the Dashboard.

Send every request to https://api.fluveo.com/v1 with your secret key as a Bearer token. This page lists only what Fluveo serves; the OpenAPI file holds the same operations.

An operation or a parameter marked Preview works, but it is not locked yet and may change: what Preview means.

Retrieves the calling store's own AccountPreview#

GET/v1/accountrak_account_read

Preview: this operation works, but it is not locked yet; it may change.

Headers
  • Fluveo-VersionenumOptional

    Optional. The only version Fluveo serves is 2026-05-27.dahlia; any other value is refused with a 400. Every answer names that version in its own Fluveo-Version header, except the refusals Fluveo gives before it reads the request (no key, an unknown key, an unknown URL, a body that is not a form) and a file's bytes, which name no version and no Request-Id.

    One of: 2026-05-27.dahlia.

Returns a account object.

Request
curl https://api.fluveo.com/v1/account \
  -H "Authorization: Bearer sk_test_..."
const response = await fetch("https://api.fluveo.com/v1/account", {
  method: "GET",
  headers: {
    "Authorization": "Bearer sk_test_...",
  },
});
console.log(await response.json());
import requests

response = requests.get(
    "https://api.fluveo.com/v1/account",
    headers={"Authorization": "Bearer sk_test_..."},
)
print(response.json())
<?php
$ch = curl_init("https://api.fluveo.com/v1/account");
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => "GET",
    CURLOPT_HTTPHEADER => [
        "Authorization: Bearer sk_test_...",
    ],
]);
echo curl_exec($ch);

Retrieves the calling store's own Account by its own id. Any other id is refused with 403 account_invalid: an api_error for an id shaped as an account id (acct_ or mch_), else an invalid_request_errorPreview#

GET/v1/accounts/{account}No restricted key

Preview: this operation works, but it is not locked yet; it may change.

Path parameters
  • accountstringRequired

    The calling store's own Account id (the id GET /v1/account returns).

Headers
  • Fluveo-VersionenumOptional

    Optional. The only version Fluveo serves is 2026-05-27.dahlia; any other value is refused with a 400. Every answer names that version in its own Fluveo-Version header, except the refusals Fluveo gives before it reads the request (no key, an unknown key, an unknown URL, a body that is not a form) and a file's bytes, which name no version and no Request-Id.

    One of: 2026-05-27.dahlia.

Returns a account object.

Request
curl https://api.fluveo.com/v1/accounts/mch_123 \
  -H "Authorization: Bearer sk_test_..."
const response = await fetch("https://api.fluveo.com/v1/accounts/mch_123", {
  method: "GET",
  headers: {
    "Authorization": "Bearer sk_test_...",
  },
});
console.log(await response.json());
import requests

response = requests.get(
    "https://api.fluveo.com/v1/accounts/mch_123",
    headers={"Authorization": "Bearer sk_test_..."},
)
print(response.json())
<?php
$ch = curl_init("https://api.fluveo.com/v1/accounts/mch_123");
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => "GET",
    CURLOPT_HTTPHEADER => [
        "Authorization: Bearer sk_test_...",
    ],
]);
echo curl_exec($ch);

Lists the calling store's own bank accounts by its own id. Numbers are masked to the last four digits; the id is the destination POST /v1/payouts takes. Any other id is refused as on GET /v1/accounts/{account}Preview#

GET/v1/accounts/{account}/external_accountsNo restricted key

Preview: this operation works, but it is not locked yet; it may change.

Path parameters
  • accountstringRequired

    The calling store's own Account id (the id GET /v1/account returns).

Query parameters
  • ending_beforestringOptional

    Cursor: the id of the first object of the current page, to get the previous page. Do not send it with starting_after.

  • limitintegerOptional

    How many objects to return, from 1 to 100. Default 10.

  • objectenumOptional

    bank_account or card. A store's external accounts are bank accounts, so card lists none.

    One of: bank_account, card.

  • starting_afterstringOptional

    Cursor: the id of the last object of the previous page, to get the next page. Do not send it with ending_before.

Headers
  • Fluveo-VersionenumOptional

    Optional. The only version Fluveo serves is 2026-05-27.dahlia; any other value is refused with a 400. Every answer names that version in its own Fluveo-Version header, except the refusals Fluveo gives before it reads the request (no key, an unknown key, an unknown URL, a body that is not a form) and a file's bytes, which name no version and no Request-Id.

    One of: 2026-05-27.dahlia.

Returns a list of bank_account objects.

Request
curl https://api.fluveo.com/v1/accounts/mch_123/external_accounts \
  -H "Authorization: Bearer sk_test_..."
const response = await fetch("https://api.fluveo.com/v1/accounts/mch_123/external_accounts", {
  method: "GET",
  headers: {
    "Authorization": "Bearer sk_test_...",
  },
});
console.log(await response.json());
import requests

response = requests.get(
    "https://api.fluveo.com/v1/accounts/mch_123/external_accounts",
    headers={"Authorization": "Bearer sk_test_..."},
)
print(response.json())
<?php
$ch = curl_init("https://api.fluveo.com/v1/accounts/mch_123/external_accounts");
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => "GET",
    CURLOPT_HTTPHEADER => [
        "Authorization: Bearer sk_test_...",
    ],
]);
echo curl_exec($ch);

The account object#

Ids start with mch_.

Attributes

The bank_account object#

Ids start with ba_.

Attributes