Recurring Invoices
Recurring invoice series management
List recurring invoice series
AuthorizationBearer <token>
Session JWT or OAuth2 access token
In: header
Query Parameters
cursor?string
Pagination cursor
limit?integer
Number of items per page (1-100)
Default
20Range
1 <= value <= 100status?string
Value in
"active" | "paused" | "cancelled" | "completed"customer_id?string
Response Body
application/json
application/json
curl -X GET "https://api.expensicat.com/api/v1/recurring-invoices"{
"data": [
{
"id": "string",
"organization_id": "string",
"customer_id": "string",
"frequency": "weekly",
"start_date": "string",
"end_date": "string",
"max_invoices": 0,
"invoices_generated": 0,
"items": [
{
"name": "string",
"description": "string",
"quantity": 0,
"price": 0
}
],
"notes": "string",
"auto_send": true,
"status": "active",
"next_generation_date": "string",
"last_generated_date": "string",
"created_by": "string",
"created_at": "string",
"updated_at": "string",
"customer": {
"id": "string",
"name": "string",
"email": "string"
}
}
],
"meta": {
"count": 0,
"next_cursor": "string"
}
}{
"error": {
"code": "string",
"message": "string",
"details": {
"property1": null,
"property2": null
}
}
}Create recurring invoice series
AuthorizationBearer <token>
Session JWT or OAuth2 access token
In: header
Request Body
application/json
customer_id*string
frequency*string
Value in
"weekly" | "biweekly" | "monthly" | "quarterly" | "yearly"start_date*string
end_date?|
max_invoices?|
items*array<>
notes?|
auto_send?boolean
Response Body
application/json
application/json
curl -X POST "https://api.expensicat.com/api/v1/recurring-invoices" \ -H "Content-Type: application/json" \ -d '{ "customer_id": "string", "frequency": "weekly", "start_date": "string", "items": [ { "name": "string", "quantity": 0, "price": 0 } ] }'{
"data": {
"id": "string",
"organization_id": "string",
"customer_id": "string",
"frequency": "weekly",
"start_date": "string",
"end_date": "string",
"max_invoices": 0,
"invoices_generated": 0,
"items": [
{
"name": "string",
"description": "string",
"quantity": 0,
"price": 0
}
],
"notes": "string",
"auto_send": true,
"status": "active",
"next_generation_date": "string",
"last_generated_date": "string",
"created_by": "string",
"created_at": "string",
"updated_at": "string",
"customer": {
"id": "string",
"name": "string",
"email": "string"
}
}
}{
"error": {
"code": "string",
"message": "string",
"details": {
"property1": null,
"property2": null
}
}
}Get recurring invoice series
AuthorizationBearer <token>
Session JWT or OAuth2 access token
In: header
Path Parameters
id*string
Response Body
application/json
application/json
application/json
curl -X GET "https://api.expensicat.com/api/v1/recurring-invoices/string"{
"data": {
"id": "string",
"organization_id": "string",
"customer_id": "string",
"frequency": "weekly",
"start_date": "string",
"end_date": "string",
"max_invoices": 0,
"invoices_generated": 0,
"items": [
{
"name": "string",
"description": "string",
"quantity": 0,
"price": 0
}
],
"notes": "string",
"auto_send": true,
"status": "active",
"next_generation_date": "string",
"last_generated_date": "string",
"created_by": "string",
"created_at": "string",
"updated_at": "string",
"customer": {
"id": "string",
"name": "string",
"email": "string"
}
}
}{
"error": {
"code": "string",
"message": "string",
"details": {
"property1": null,
"property2": null
}
}
}{
"error": {
"code": "string",
"message": "string",
"details": {
"property1": null,
"property2": null
}
}
}Update recurring invoice series
AuthorizationBearer <token>
Session JWT or OAuth2 access token
In: header
Path Parameters
id*string
Request Body
application/json
frequency?string
Value in
"weekly" | "biweekly" | "monthly" | "quarterly" | "yearly"end_date?|
max_invoices?|
items?array<>
notes?|
auto_send?boolean
Response Body
application/json
application/json
application/json
curl -X PATCH "https://api.expensicat.com/api/v1/recurring-invoices/string" \ -H "Content-Type: application/json" \ -d '{}'{
"data": {
"id": "string",
"organization_id": "string",
"customer_id": "string",
"frequency": "weekly",
"start_date": "string",
"end_date": "string",
"max_invoices": 0,
"invoices_generated": 0,
"items": [
{
"name": "string",
"description": "string",
"quantity": 0,
"price": 0
}
],
"notes": "string",
"auto_send": true,
"status": "active",
"next_generation_date": "string",
"last_generated_date": "string",
"created_by": "string",
"created_at": "string",
"updated_at": "string",
"customer": {
"id": "string",
"name": "string",
"email": "string"
}
}
}{
"error": {
"code": "string",
"message": "string",
"details": {
"property1": null,
"property2": null
}
}
}{
"error": {
"code": "string",
"message": "string",
"details": {
"property1": null,
"property2": null
}
}
}Delete recurring invoice series
AuthorizationBearer <token>
Session JWT or OAuth2 access token
In: header
Path Parameters
id*string
Response Body
application/json
application/json
curl -X DELETE "https://api.expensicat.com/api/v1/recurring-invoices/string"Empty
{
"error": {
"code": "string",
"message": "string",
"details": {
"property1": null,
"property2": null
}
}
}{
"error": {
"code": "string",
"message": "string",
"details": {
"property1": null,
"property2": null
}
}
}Get generated invoices
AuthorizationBearer <token>
Session JWT or OAuth2 access token
In: header
Path Parameters
id*string
Response Body
application/json
application/json
application/json
curl -X GET "https://api.expensicat.com/api/v1/recurring-invoices/string/invoices"{
"data": [
{
"id": "string",
"number": "string",
"status": "string",
"date": "string",
"due_date": "string",
"total": 0,
"scheduled_send_at": "string",
"created_at": "string"
}
]
}{
"error": {
"code": "string",
"message": "string",
"details": {
"property1": null,
"property2": null
}
}
}{
"error": {
"code": "string",
"message": "string",
"details": {
"property1": null,
"property2": null
}
}
}Update series status
AuthorizationBearer <token>
Session JWT or OAuth2 access token
In: header
Path Parameters
id*string
Request Body
application/json
status*string
Value in
"active" | "paused" | "cancelled"Response Body
application/json
application/json
application/json
curl -X PATCH "https://api.expensicat.com/api/v1/recurring-invoices/string/status" \ -H "Content-Type: application/json" \ -d '{ "status": "active" }'{
"data": {
"id": "string",
"organization_id": "string",
"customer_id": "string",
"frequency": "weekly",
"start_date": "string",
"end_date": "string",
"max_invoices": 0,
"invoices_generated": 0,
"items": [
{
"name": "string",
"description": "string",
"quantity": 0,
"price": 0
}
],
"notes": "string",
"auto_send": true,
"status": "active",
"next_generation_date": "string",
"last_generated_date": "string",
"created_by": "string",
"created_at": "string",
"updated_at": "string",
"customer": {
"id": "string",
"name": "string",
"email": "string"
}
}
}{
"error": {
"code": "string",
"message": "string",
"details": {
"property1": null,
"property2": null
}
}
}{
"error": {
"code": "string",
"message": "string",
"details": {
"property1": null,
"property2": null
}
}
}