Skip to main content
The Bousol Enterprise API allows you to integrate payment collection and payout functionality into your applications.

Base URL

https://api.enterprise.bousol.app/v1
All API endpoints are relative to this base URL.

Supported Currencies

Bousol supports multiple currencies and digital assets on the Stellar blockchain:

Fiat-Pegged Assets

Asset CodeNameDescription
HTGHaitian GourdeDefault currency for Haiti. Tokenized HTG on Stellar.
USDUS DollarUSD-denominated transactions

Stablecoins

Asset CodeNameDescription
USDCUSD CoinCircle’s USD stablecoin
USDTTetherTether USD stablecoin
EURCEuro CoinCircle’s EUR stablecoin

Native Assets

Asset CodeNameDescription
XLMStellar LumensNative Stellar network asset

Default Currency

  • Invoices: Default to HTG (can be overridden per invoice)
  • Payouts: Specify asset code when creating payout
  • Organization: Each organization can set a default currency in Settings

Currency in API Requests

Specify the currency using the assetCode parameter:
{
  "amount": "500.00",
  "assetCode": "HTG"
}

Authentication

The API uses API keys for authentication. Include your API key in the Authorization header:
Authorization: Bearer sk_live_xxxxxxxxxxxxx
See Authentication for details on creating and managing API keys.

Request Format

Headers

HeaderRequiredDescription
AuthorizationYesBearer token with API key
Content-TypeYes (for POST/PUT)application/json

Request Body

Send JSON in the request body for POST and PUT requests:
{
  "field": "value"
}

Response Format

All responses return JSON:

Success Response

{
  "data": {
    "id": "uuid",
    "field": "value"
  }
}

List Response

{
  "data": [
    { "id": "uuid1", "field": "value" },
    { "id": "uuid2", "field": "value" }
  ],
  "pagination": {
    "total": 100,
    "page": 1,
    "limit": 20,
    "totalPages": 5
  }
}

Error Response

{
  "statusCode": 400,
  "message": "Validation failed",
  "error": "Bad Request"
}

HTTP Status Codes

CodeMeaning
200Success
201Created
400Bad Request — Invalid parameters
401Unauthorized — Invalid or missing API key
403Forbidden — Insufficient permissions
404Not Found — Resource doesn’t exist
429Too Many Requests — Rate limit exceeded
500Internal Server Error

Pagination

List endpoints support pagination:
ParameterTypeDefaultDescription
pagenumber1Page number
limitnumber20Items per page (max: 100)
Example:
GET /v1/invoices?page=2&limit=50

Filtering

Many list endpoints support filtering:
GET /v1/invoices?status=sent&clientId=uuid
See individual endpoint documentation for available filters.

Rate Limits

TierRequests per minute
Standard60
Enterprise300
Rate limit headers are included in responses:
X-RateLimit-Limit: 60
X-RateLimit-Remaining: 45
X-RateLimit-Reset: 1706180400

API Endpoints

Invoices

MethodEndpointDescription
GET/invoicesList invoices
GET/invoices/:idGet invoice
POST/invoicesCreate invoice
PUT/invoices/:idUpdate invoice
POST/invoices/:id/sendSend invoice
POST/invoices/:id/voidVoid invoice
MethodEndpointDescription
GET/payment-linksList payment links
GET/payment-links/:idGet payment link
POST/payment-linksCreate payment link
DELETE/payment-links/:idDelete payment link

Clients

MethodEndpointDescription
GET/clientsList clients
GET/clients/:idGet client
POST/clientsCreate client
PUT/clients/:idUpdate client
DELETE/clients/:idDelete client

Payouts

MethodEndpointDescription
GET/payoutsList payouts
GET/payouts/:idGet payout
POST/payoutsCreate payout

Disbursements

MethodEndpointDescription
GET/disbursementsList disbursements
GET/disbursements/:idGet disbursement
GET/disbursements/:id/itemsGet disbursement items
POST/disbursements/:id/submitSubmit for approval

Webhooks

MethodEndpointDescription
GET/webhook-endpointsList webhook endpoints
POST/webhook-endpointsCreate webhook endpoint
PUT/webhook-endpoints/:idUpdate webhook endpoint
DELETE/webhook-endpoints/:idDelete webhook endpoint

SDKs

Official SDKs are planned for:
  • Node.js / TypeScript
  • Python
  • PHP
Contact [email protected] for SDK availability.

Testing

Sandbox Environment

Use the sandbox environment for testing:
https://api.sandbox.bousol.app/v1
Sandbox API keys start with sk_test_.

Test Data

In sandbox mode:
  • No real funds are moved
  • Use test wallet addresses
  • Transactions simulate blockchain behavior

Support

  • Documentation issues: Report at [email protected]
  • API questions: Contact your account manager
  • Integration help: Schedule a call with our team

Next Steps