API reference/Client billing
Get monthly invoice settings
Try itWhether invoices are made automatically each month (off / drafts / made and sent), on which day and with how long to pay — and, for every live site, what this month's run does with it.
GET
/api/v1/monthly-invoicesAuthentication
An API key as Authorization: Bearer or x-api-key. It needs the invoices:read scope — read client invoices, monthly invoice settings and card autopay.
invoices:readRead onlyMCP tool: get_monthly_invoices
Parameters
Named placeholders go in the path; the rest in the query string.
No parameters.
Response
200 with JSON on success (schema on the right). Errors use the standard envelope.
curl -X GET 'https://websites.workflowcorp.com/api/v1/monthly-invoices' \
-H "Authorization: Bearer $WEBSITEBUDDY_API_KEY"{}{
"type": "object",
"properties": {
"mode": {
"type": "string",
"enum": [
"off",
"draft",
"send"
],
"description": "off = none · draft = made as drafts to check and send · send = made, sent and emailed to the client."
},
"day": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "Day of the month (1–28, the account's time zone) the run makes them."
},
"due_days": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "Days the client has to pay."
},
"card_payments": {
"type": "boolean",
"description": "The account takes cards (Stripe connected): sent invoices get a pay link and autopay can start."
},
"period": {
"type": "string",
"description": "This month, YYYY-MM."
},
"sites": {
"type": "array",
"items": {
"type": "object",
"properties": {
"site_id": {
"type": "string"
},
"site_name": {
"type": "string"
},
"client_name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"amount_cents": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"state": {
"type": "string",
"enum": [
"will-invoice",
"has-invoice",
"no-client",
"no-price",
"excluded"
],
"description": "will-invoice = the next run makes one · has-invoice = this month has one · no-client / no-price / excluded (left out on the site page) = skipped."
},
"invoice_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"autopay": {
"anyOf": [
{
"type": "string",
"enum": [
"pending",
"active",
"past_due",
"canceled"
]
},
{
"type": "null"
}
]
},
"is_sample": {
"type": "boolean"
}
},
"required": [
"site_id",
"site_name",
"client_name",
"amount_cents",
"state",
"invoice_id",
"autopay",
"is_sample"
],
"additionalProperties": false
},
"description": "Every live site and what this month's run does with it."
}
},
"required": [
"mode",
"day",
"due_days",
"card_payments",
"period",
"sites"
],
"additionalProperties": false
}