Account
Billing
Read your usage totals for a billing period and the current unit prices.
These read-only routes report what your account has used and what each billable item costs. All money values are decimal amounts in US dollars, not cents.
| Endpoint | Request |
|---|---|
| Get usage summary | GET/v1/billing/usage |
| Get pricing | GET/v1/billing/pricing |
The usage summary object
Fields use camelCase, but the keys inside usageByType are snake_case usage types.
Attributes
billingPeriodobjectrequiredThe period covered, described below.
usageByTypeobjectrequiredUsage per type, described below.
totalAmountnumberrequiredThe total charge across all usage types, in US dollars.
totalRecordsintegerrequiredThe total number of usage records across all types.
billingPeriod attributes
startstringrequiredISO 8601 start of the period.
endstringrequiredISO 8601 end of the period.
yearintegerrequiredThe UTC year of the period's start.
monthintegerrequiredThe UTC month of the period's start, from 1 to 12.
Each key in usageByType holds an object with three fields:
Usage type attributes
quantitynumberrequiredThe units used. See the unit for each type below.
totalAmountnumberrequiredThe charge for this type, in US dollars.
recordCountintegerrequiredThe number of usage records for this type.
usageByType keys
call_minutesobjectCalls.
quantity is in minutes, and each call's duration is rounded up to a whole minute when it's billed.structured_output_analysisobjectCall analysis.
quantity counts analysis results.phone_number_purchaseobjectOne-time phone number charges.
phone_number_monthlyobjectMonthly phone number charges.
voice_clone_instantobjectInstant voice clones.
voice_clone_professionalobjectProfessional voice clones.
message_sentobjectMessages sent.
Get usage summary
GET
/v1/billing/usageread keyReturns usage totals for a period. Every usage type is present, with zeros when there is no usage.
Query parameters
periodstringdefault current_monthcurrent_month runs from the start of this UTC month until now. last_month is the whole previous UTC month. last_30_days is the 30 days up to now.An unknown period returns 400.
curl "https://backend.synthesys.app/api/v1/billing/usage?period=last_month" \
-H "SYNTH_API_KEY: YOUR_API_KEY"{
"success": true,
"data": {
"billingPeriod": {
"start": "2026-09-01T00:00:00.000Z",
"end": "2026-09-30T23:59:59.999Z",
"year": 2026,
"month": 9
},
"usageByType": {
"call_minutes": { "quantity": 412, "totalAmount": 123.6, "recordCount": 96 },
"structured_output_analysis": { "quantity": 96, "totalAmount": 9.6, "recordCount": 96 },
"phone_number_purchase": { "quantity": 0, "totalAmount": 0, "recordCount": 0 },
"phone_number_monthly": { "quantity": 0, "totalAmount": 0, "recordCount": 0 },
"voice_clone_instant": { "quantity": 0, "totalAmount": 0, "recordCount": 0 },
"voice_clone_professional": { "quantity": 0, "totalAmount": 0, "recordCount": 0 },
"message_sent": { "quantity": 0, "totalAmount": 0, "recordCount": 0 }
},
"totalAmount": 133.2,
"totalRecords": 192
}
}Get pricing
GET
/v1/billing/pricingread keyReturns the current unit prices as an object that maps each price type to a number in US dollars. The response doesn't include a currency field.
Price types
call_per_minutenumberrequiredPrice per minute of a call.
phone_number_purchasenumberrequiredOne-time fee per phone number.
phone_number_monthlynumberrequiredMonthly fee per phone number.
voice_clone_instantnumberrequiredPrice per instant voice clone.
voice_clone_professionalnumberrequiredPrice per professional voice clone.
message_per_messagenumberrequiredPrice per message.
structured_output_analysisnumberrequiredPrice per call analysis result.
The sample below shows the format, so read the route for current prices.
curl https://backend.synthesys.app/api/v1/billing/pricing \
-H "SYNTH_API_KEY: YOUR_API_KEY"{
"success": true,
"data": {
"call_per_minute": 0.3,
"phone_number_purchase": 0,
"phone_number_monthly": 20,
"voice_clone_instant": 1,
"voice_clone_professional": 5,
"message_per_message": 0.05,
"structured_output_analysis": 0.1
}
}