Skip to Content

Billing API

Base path: https://gateway.useyona.com/b/v1


Get billing account

GET /b/v1/billing-accounts/me

Get your billing account details and credit balance.

bash
curl https://gateway.useyona.com/b/v1/billing-accounts/me \
  -H "Authorization: Bearer sk_test_your_key_here"

Check balance

GET /b/v1/billing-accounts/:id/check-balance

Check if your balance can cover a given number of credits.

Path parameters

ParameterTypeRequiredDescription
idstringYesBilling account UUID

Query parameters

ParameterTypeRequiredDescription
creditsnumberYesNumber of credits to check
bash
curl "https://gateway.useyona.com/b/v1/billing-accounts/1a2b3c4d-5e6f-7890-abcd-ef1234567890/check-balance?credits=100" \
  -H "Authorization: Bearer sk_test_your_key_here"

Create subscription

POST /b/v1/subscriptions

Subscribe to a plan. Uses planCode to identify the plan.

Request body

FieldTypeRequiredDescription
planCodestringYesPlan code, e.g. starter_monthly
intervalstringYesBilling interval: monthly or yearly
currencystringNoPayment currency
trialDaysnumberNoTrial period in days
bash
curl -X POST https://gateway.useyona.com/b/v1/subscriptions \
  -H "Authorization: Bearer sk_test_your_key_here" \
  -H "Content-Type: application/json" \
  -d '{ "planCode": "starter_monthly", "interval": "monthly" }'
StatusCodeTrigger
409RES002Active subscription already exists

Get active subscription

GET /b/v1/subscriptions/active

bash
curl https://gateway.useyona.com/b/v1/subscriptions/active \
  -H "Authorization: Bearer sk_test_your_key_here"

Cancel subscription

PUT /b/v1/subscriptions/:id/cancel

bash
curl -X PUT https://gateway.useyona.com/b/v1/subscriptions/sub_2b3c4d5e-6f7a-8901-bcde-f12345678901/cancel \
  -H "Authorization: Bearer sk_test_your_key_here"
StatusCodeTrigger
404RES001Subscription not found
409RES003Subscription already cancelled

Resume subscription

PUT /b/v1/subscriptions/:id/resume

bash
curl -X PUT https://gateway.useyona.com/b/v1/subscriptions/sub_2b3c4d5e-6f7a-8901-bcde-f12345678901/resume \
  -H "Authorization: Bearer sk_test_your_key_here"

Change plan

PUT /b/v1/subscriptions/:id/change-plan

Request body

FieldTypeRequiredDescription
newPlanCodestringYesTarget plan code
bash
curl -X PUT https://gateway.useyona.com/b/v1/subscriptions/sub_2b3c4d5e-6f7a-8901-bcde-f12345678901/change-plan \
  -H "Authorization: Bearer sk_test_your_key_here" \
  -H "Content-Type: application/json" \
  -d '{ "newPlanCode": "professional_monthly" }'

Purchase credits

POST /b/v1/payments/purchase

Buy a credit package. Returns a checkout URL to redirect the user.

Request body

FieldTypeRequiredDescription
packageIdstringYesCredit package ID
currencystringNoPayment currency
paymentMethodstringNoPayment method ID
successUrlstringNoRedirect URL after successful payment
cancelUrlstringNoRedirect URL if payment cancelled
useSavedPaymentMethodbooleanNoUse saved payment method
customCreditAmountnumberNoCustom credit amount
bash
curl -X POST https://gateway.useyona.com/b/v1/payments/purchase \
  -H "Authorization: Bearer sk_test_your_key_here" \
  -H "Content-Type: application/json" \
  -d '{ "packageId": "pkg_5000_credits", "currency": "NGN" }'

Subscription history

GET /b/v1/subscriptions/history

bash
curl https://gateway.useyona.com/b/v1/subscriptions/history \
  -H "Authorization: Bearer sk_test_your_key_here"

Payment history

GET /b/v1/payments/history

bash
curl https://gateway.useyona.com/b/v1/payments/history \
  -H "Authorization: Bearer sk_test_your_key_here"

Credit transfer

POST /b/v1/payments/transfer

Transfer PAYG credits between parent and child organizations. Both must be in payg or hybrid billing mode.

Request body

FieldTypeRequiredDescription
targetOrganizationIdstringYesChild organization UUID
amountnumberYesNumber of credits to transfer
descriptionstringNoTransfer description
bash
curl -X POST https://gateway.useyona.com/b/v1/payments/transfer \
  -H "Authorization: Bearer sk_live_your_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "targetOrganizationId": "e5f6a7b8-c9d0-1234-5678-90abcdef1234",
    "amount": 1000,
    "description": "Monthly credit allocation - May 2026"
  }'
StatusCodeTrigger
400BIZ001Insufficient credits for transfer

List payment methods

GET /b/v1/payment-methods

bash
curl https://gateway.useyona.com/b/v1/payment-methods \
  -H "Authorization: Bearer sk_test_your_key_here"

Add payment method

POST /b/v1/payment-methods

Returns a setup URL to add a new payment method.

bash
curl -X POST https://gateway.useyona.com/b/v1/payment-methods \
  -H "Authorization: Bearer sk_test_your_key_here" \
  -H "Content-Type: application/json" \
  -d '{ "provider": "paystack" }'

Remove payment method

DELETE /b/v1/payment-methods/:provider/:id

bash
curl -X DELETE https://gateway.useyona.com/b/v1/payment-methods/paystack/pm_4d5e6f7a-8b9c-0123-4567-890abcdef123 \
  -H "Authorization: Bearer sk_test_your_key_here"

Set default payment method

PUT /b/v1/payment-methods/:provider/default

bash
curl -X PUT https://gateway.useyona.com/b/v1/payment-methods/paystack/default \
  -H "Authorization: Bearer sk_test_your_key_here" \
  -H "Content-Type: application/json" \
  -d '{ "paymentMethodId": "pm_4d5e6f7a-8b9c-0123-4567-890abcdef123" }'

Credit transactions

GET /b/v1/transactions

List credit transaction history.

bash
curl "https://gateway.useyona.com/b/v1/transactions?page=1&limit=20" \
  -H "Authorization: Bearer sk_test_your_key_here"

List plans (public)

GET /b/v1/plans/subscriptions

No authentication required.

bash
curl https://gateway.useyona.com/b/v1/plans/subscriptions

List credit packages (public)

GET /b/v1/plans/packages

No authentication required.

bash
curl https://gateway.useyona.com/b/v1/plans/packages

List credit costs (public)

GET /b/v1/plans/credit-costs

No authentication required. Returns every billable action with its credit cost, label, and description. Sorted alphabetically by action for stable client-side diffing.

bash
curl https://gateway.useyona.com/b/v1/plans/credit-costs

Usage analytics

GET /b/v1/transactions/analytics/usage

bash
curl https://gateway.useyona.com/b/v1/transactions/analytics/usage \
  -H "Authorization: Bearer sk_test_your_key_here"

Consumption breakdown

GET /b/v1/transactions/breakdown/by-endpoint

bash
curl https://gateway.useyona.com/b/v1/transactions/breakdown/by-endpoint \
  -H "Authorization: Bearer sk_test_your_key_here"

Get account statistics

GET /b/v1/billing-accounts/:id/stats

Get aggregated statistics for a billing account.

Path parameters

ParameterTypeRequiredDescription
idstringYesBilling account UUID
bash
curl https://gateway.useyona.com/b/v1/billing-accounts/1a2b3c4d-5e6f-7890-abcd-ef1234567890/stats \
  -H "Authorization: Bearer sk_test_your_key_here"

Get single transaction

GET /b/v1/transactions/:id

Retrieve a single credit transaction by ID.

Path parameters

ParameterTypeRequiredDescription
idstringYesTransaction UUID
bash
curl https://gateway.useyona.com/b/v1/transactions/5e6f7a8b-9c0d-1234-5678-90abcdef1234 \
  -H "Authorization: Bearer sk_test_your_key_here"

Subscribe and pay

POST /b/v1/subscriptions/subscribe

Create a subscription and initiate payment in one step. Returns a checkout URL or client secret for payment completion.

Request body

FieldTypeRequiredDescription
planCodestringYesPlan code, e.g. starter_monthly
intervalstringYesBilling interval: monthly or yearly
currencystringNoPayment currency
successUrlstringYesRedirect URL after successful payment
cancelUrlstringYesRedirect URL if payment cancelled
bash
curl -X POST https://gateway.useyona.com/b/v1/subscriptions/subscribe \
  -H "Authorization: Bearer sk_test_your_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "planCode": "starter_monthly",
    "interval": "monthly",
    "currency": "NGN",
    "successUrl": "https://app.useyona.com/billing/success",
    "cancelUrl": "https://app.useyona.com/billing/cancel"
  }'

Renewal history

GET /b/v1/subscriptions/renewals

List subscription renewal history.

Query parameters

ParameterTypeRequiredDescription
pagenumberNoPage number
pageSizenumberNoResults per page
bash
curl "https://gateway.useyona.com/b/v1/subscriptions/renewals?page=1&pageSize=20" \
  -H "Authorization: Bearer sk_test_your_key_here"

Renewal statistics

GET /b/v1/subscriptions/renewals/stats

Get aggregated renewal statistics.

bash
curl https://gateway.useyona.com/b/v1/subscriptions/renewals/stats \
  -H "Authorization: Bearer sk_test_your_key_here"
Last updated on