Billing
Show the company's billing page
Returns the authenticated company’s billing contact and payment instrument, and, when invoicing is true, its upcoming charge, issued invoices, and contracted terms. Every company can read it; a Droplet token cannot.
GET
/
api
/
settings
/
billing
Show the company's billing page
curl --request GET \
--url https://api.fluid.app/api/settings/billing \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.fluid.app/api/settings/billing"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.fluid.app/api/settings/billing', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.fluid.app/api/settings/billing",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.fluid.app/api/settings/billing"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.fluid.app/api/settings/billing")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.fluid.app/api/settings/billing")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"billing": {
"invoicing": true,
"upcoming": {
"total_cents": 18420,
"scheduled_at": "2026-10-01T06:00:00Z",
"groups": [
{
"label": "Payments",
"amount_cents": 12870,
"entries": [
{
"product_code": "txn_fee",
"description": "Transaction fee",
"quantity": "429.0",
"unit": "transaction",
"amount_cents": 12870
}
]
},
{
"label": "Mist",
"amount_cents": 5550,
"entries": [
{
"product_code": "mist_ai",
"description": "Mist AI usage",
"quantity": "5550.0",
"unit": "unit",
"amount_cents": 5550
}
]
}
]
},
"invoices": [
{
"number": "FLB-1405-2026-0008",
"period_start": "2026-08-01T00:00:00Z",
"period_end": "2026-09-01T00:00:00Z",
"total_cents": 21630,
"owed_cents": 21630,
"collected_at_source_cents": 0,
"paid_with_credits_cents": 0,
"status": "finalized",
"paid_cents": 21630,
"balance_cents": 0,
"processing_cents": 0,
"groups": [
{
"label": "Payments",
"amount_cents": 21630,
"entries": [
{
"product_code": "txn_fee",
"description": "Transaction fee",
"quantity": "721.0",
"unit": "transaction",
"amount_cents": 21630
}
]
}
]
}
],
"billing_email": "angela.martin@dundermifflin.com",
"payment_method": {
"status": "usable",
"method": "auto_debit",
"bank": "PNC Bank",
"mask": "••••6789",
"bank_account_id": 3187,
"instrument_type": "us_bank_account",
"display": {
"bank_name": "PNC Bank",
"last4": "6789"
}
},
"transaction_rates": {
"reset_period": "monthly_calendar",
"accumulated_cents": 4829150,
"minimum_volume_cents": null,
"tiers": [
{
"threshold_cents": 0,
"rate_percent": "2.9",
"fixed_cents": 30,
"current": true
},
{
"threshold_cents": 10000000,
"rate_percent": "2.5",
"fixed_cents": 30,
"current": false
}
]
},
"pull_schedule": {
"frequency": "weekly",
"next_pull_at": "2026-10-01T06:00:00Z"
}
},
"status": 200,
"meta": {
"request_id": "f3b8c2d1-6a4e-4f7b-9c1d-2e5a8b7c4d90",
"timestamp": "2026-09-30T14:05:11Z"
}
}{
"message": "<string>",
"error": "<string>",
"error_message": "<string>",
"errors": "<string>",
"meta": {
"request_id": "<string>",
"timestamp": "2023-11-07T05:31:56Z"
}
}{
"message": "<string>",
"error": "<string>",
"error_message": "<string>",
"errors": "<string>",
"meta": {
"request_id": "<string>",
"timestamp": "2023-11-07T05:31:56Z"
}
}Authorizations
Bearer token authentication
Response
Success
The merchant billing page.
Everything the merchant billing page renders. Every company reads it. When invoicing is false, platform billing is left out: the upcoming charge is zero with no groups and no scheduled date, there are no invoices, transaction_rates is null, and the pull schedule is null.
Show child attributes
Show child attributes
⌘I
Show the company's billing page
curl --request GET \
--url https://api.fluid.app/api/settings/billing \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.fluid.app/api/settings/billing"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.fluid.app/api/settings/billing', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.fluid.app/api/settings/billing",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.fluid.app/api/settings/billing"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.fluid.app/api/settings/billing")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.fluid.app/api/settings/billing")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"billing": {
"invoicing": true,
"upcoming": {
"total_cents": 18420,
"scheduled_at": "2026-10-01T06:00:00Z",
"groups": [
{
"label": "Payments",
"amount_cents": 12870,
"entries": [
{
"product_code": "txn_fee",
"description": "Transaction fee",
"quantity": "429.0",
"unit": "transaction",
"amount_cents": 12870
}
]
},
{
"label": "Mist",
"amount_cents": 5550,
"entries": [
{
"product_code": "mist_ai",
"description": "Mist AI usage",
"quantity": "5550.0",
"unit": "unit",
"amount_cents": 5550
}
]
}
]
},
"invoices": [
{
"number": "FLB-1405-2026-0008",
"period_start": "2026-08-01T00:00:00Z",
"period_end": "2026-09-01T00:00:00Z",
"total_cents": 21630,
"owed_cents": 21630,
"collected_at_source_cents": 0,
"paid_with_credits_cents": 0,
"status": "finalized",
"paid_cents": 21630,
"balance_cents": 0,
"processing_cents": 0,
"groups": [
{
"label": "Payments",
"amount_cents": 21630,
"entries": [
{
"product_code": "txn_fee",
"description": "Transaction fee",
"quantity": "721.0",
"unit": "transaction",
"amount_cents": 21630
}
]
}
]
}
],
"billing_email": "angela.martin@dundermifflin.com",
"payment_method": {
"status": "usable",
"method": "auto_debit",
"bank": "PNC Bank",
"mask": "••••6789",
"bank_account_id": 3187,
"instrument_type": "us_bank_account",
"display": {
"bank_name": "PNC Bank",
"last4": "6789"
}
},
"transaction_rates": {
"reset_period": "monthly_calendar",
"accumulated_cents": 4829150,
"minimum_volume_cents": null,
"tiers": [
{
"threshold_cents": 0,
"rate_percent": "2.9",
"fixed_cents": 30,
"current": true
},
{
"threshold_cents": 10000000,
"rate_percent": "2.5",
"fixed_cents": 30,
"current": false
}
]
},
"pull_schedule": {
"frequency": "weekly",
"next_pull_at": "2026-10-01T06:00:00Z"
}
},
"status": 200,
"meta": {
"request_id": "f3b8c2d1-6a4e-4f7b-9c1d-2e5a8b7c4d90",
"timestamp": "2026-09-30T14:05:11Z"
}
}{
"message": "<string>",
"error": "<string>",
"error_message": "<string>",
"errors": "<string>",
"meta": {
"request_id": "<string>",
"timestamp": "2023-11-07T05:31:56Z"
}
}{
"message": "<string>",
"error": "<string>",
"error_message": "<string>",
"errors": "<string>",
"meta": {
"request_id": "<string>",
"timestamp": "2023-11-07T05:31:56Z"
}
}