Recurring
6 operations. All areas
- POST /v1/recurring-templates
- GET /v1/recurring-templates
- GET /v1/recurring-templates/{id}
- POST /v1/recurring-templates/{id}/update
- POST /v1/recurring-templates/{id}/run
- POST /v1/recurring/run
POST/v1/recurring-templates
Schedule a recurring invoice or bill. Nothing posts until the schedule is run; each occurrence then goes through the same governance as any invoice or bill, once per date.
- Operation
createRecurringTemplate - Scope: propose
- Write: needs Idempotency-Key (or dry_run)
- Request body
namestring, requiredkind"invoice" | "bill", requiredfrequency"weekly" | "monthly" | "quarterly" | "yearly", requiredinterval_countinteger Every N weeks/months/quarters/years (default 1)start_datestring, required The first occurrence; months clamp to the month endend_datestring Calendar date, YYYY-MM-DD.requestobject, required
- Responses
201Created (object)- Errors
400,401,403,409,422,429,500(Error:error.type,message)
GET/v1/recurring-templates
Recurring templates with their next occurrence
- Operation
listRecurringTemplates - Scope: read
- Read
- Parameters
activequery, boolean
- Responses
200Templates (object)- Errors
400,401,403,429,500(Error:error.type,message)
GET/v1/recurring-templates/{id}
A recurring template with every occurrence generated so far
- Operation
getRecurringTemplate - Scope: read
- Read
- Parameters
idpath, string, required
- Responses
200Template (object)- Errors
400,401,403,404,429,500(Error:error.type,message)
POST/v1/recurring-templates/{id}/update
Pause or resume a template, or change its end date (anything else: a new template)
- Operation
updateRecurringTemplate - Scope: propose
- Write: needs Idempotency-Key (or dry_run)
- Parameters
idpath, string, required
- Request body
activebooleanend_datestring | null Calendar date, YYYY-MM-DD.reasonstring
- Responses
200Updated (object)- Errors
400,401,403,404,409,422,429,500(Error:error.type,message)
POST/v1/recurring-templates/{id}/run
Generate every occurrence due through a date (default: the server's today) that has not been generated yet, through the governed path (agents: within policy it posts, else a proposal). Idempotent per occurrence. dry_run previews.
- Operation
runRecurringTemplate - Scope: propose
- Write: needs Idempotency-Key (or dry_run)
- Parameters
idpath, string, required
- Request body
throughstring Calendar date, YYYY-MM-DD.dry_runboolean
- Responses
200Occurrences generated, queued or refused (or previewed) (RecurringRunResult)- Errors
400,401,403,404,409,422,429,500(Error:error.type,message)
POST/v1/recurring/run
Run every active recurring template through a date (default: the server's today): what a scheduler agent calls daily
- Operation
runDueRecurring - Scope: propose
- Write: needs Idempotency-Key (or dry_run)
- Request body
throughstring Calendar date, YYYY-MM-DD.dry_runboolean
- Responses
200Per template (object)- Errors
400,401,403,409,422,429,500(Error:error.type,message)