Skip to main content
POST
/
api
/
v1
/
payments
/
billing
/
internal
cURL
curl -sS -X POST "$FLUIDE_BASE_URL/api/v1/payments/billing/internal" \
  -H "Authorization: Bearer $FLUIDE_ACCESS_TOKEN" \
  -H "X-Fluide-Api-Key: $FLUIDE_API_KEY" \
  -H "X-Fluide-Client-Id: fluide-developer" \
  -H "X-Workspace-Id: $FLUIDE_WORKSPACE_ID" \
  -H "X-Acting-Company-Id: $FLUIDE_COMPANY_ID" \
  -H "Content-Type: application/json" \
  -d '{}'
{
  "success": true,
  "message": "Operation completed successfully",
  "data": {}
}

Authorizations

Authorization
string
header
required

Access token JWT. Use as Authorization: Bearer . In the API playground, paste the JWT only.

X-Fluide-Api-Key
string
header
default:fl_dev_your_key
required

Developer API key (fl_dev_...). Required on every API call with a machine access token.

X-Fluide-Client-Id
string
header
default:fluide-developer
required

First-party client audience. Must match the fluide_client_id claim on the JWT. Use fluide-developer for Connect.

Headers

X-Workspace-Id
string<uuid>

Partner / ISV only: UUID of the workspace that owns the client company. Required together with X-Acting-Company-Id when scoping product APIs to a merchant. See /getting-started/multi-tenancy.

X-Acting-Company-Id
string<uuid>

Partner / ISV only: UUID of the client company to act on. Must belong to the workspace in X-Workspace-Id.

Body

application/json
organizationId
string<uuid>
required
plan
enum<string>
required
Available options:
flex,
starter,
business,
growth,
enterprise
status
enum<string>
default:active
Available options:
active,
past_due,
suspended,
canceled
billingCurrency
string
Example:

"XAF"

billingProvider
enum<string>
Available options:
stripe,
flutterwave
providerCustomerId
string

External provider customer id (Stripe customer / Flutterwave customer)

providerSubscriptionId
string

External provider recurring contract id where applicable (e.g. Stripe)

discountCode
string

Promo code applied to recurring BASE invoices

Response

Billing record upserted

success
boolean
required

Whether the request succeeded

Example:

true

message
string
required

Human-readable outcome message (localized when i18n is configured)

Example:

"Operation completed successfully"

data
object

Endpoint-specific payload