Create an invoice with an SMS payment link
POST
/invoices
const url = 'https://api.bizzle.my/v1/invoices';const options = { method: 'POST', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"customer_phone":"example","amount":1,"currency":"TZS","description":"example","due_date":"example","metadata":{}}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://api.bizzle.my/v1/invoices \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "customer_phone": "example", "amount": 1, "currency": "TZS", "description": "example", "due_date": "example", "metadata": {} }'Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Header Parameters
Section titled “Header Parameters”Idempotency-Key
string
Unique identifier used to replay requests safely.
Request Body
Section titled “Request Body”Media typeapplication/json
object
customer_phone
required
string
amount
required
integer
currency
string
description
string
due_date
required
string
metadata
object
Responses
Section titled “Responses”Invoice created.
Error response.
Media typeapplication/json
object
error
required
string
message
string
code
string
details
object
Example generated
{ "error": "example", "message": "example", "code": "example", "details": {}}Too many requests.
Media typeapplication/json
object
error
required
string
message
string
code
string
details
object
Example generated
{ "error": "example", "message": "example", "code": "example", "details": {}}Headers
Section titled “Headers”RateLimit-Limit
integer
Maximum requests per window.
RateLimit-Remaining
integer
Requests remaining in the current window.
RateLimit-Reset
integer
Unix seconds when the window resets.
Retry-After
integer
Seconds to wait before retrying (on 429/handled outages).