REST API — v1

API Documentation

Access your invoices and clients programmatically. Available on the Business plan.

Authentication

All requests must include your API key in the Authorization header. Create and manage your keys in Account → API Keys.

curl https://paycivo.com/api/v1/invoices \
  -H "Authorization: Bearer pv_live_YOUR_KEY_HERE"

Base URL

https://paycivo.com/api/v1

All responses are JSON. All request bodies should be Content-Type: application/json.

Error Codes

NameDescription
200OK — request succeeded
201Created — resource was created
400Bad Request — missing or invalid fields
401Unauthorized — missing or invalid API key
403Forbidden — feature not available on your plan
404Not Found — resource does not exist
500Server Error — something went wrong on our end

Endpoints

GET/api/v1/invoicesList Invoices

Returns a paginated list of invoices for the authenticated user.

Parameters

NameTypeRequiredDescription
statusstringoptionalFilter by status: draft | sent | paid | overdue
limitnumberoptionalMax results to return (default 50, max 100)
offsetnumberoptionalPagination offset (default 0)

Example Response

{
  "data": [ { "id": "...", "invoice_number": "INV-2026-0001", "status": "paid", "total": 1500, ... } ],
  "total": 24,
  "limit": 50,
  "offset": 0
}
GET/api/v1/invoices/:idGet Invoice

Returns a single invoice by ID.

Parameters

NameTypeRequiredDescription
:idstringrequiredThe invoice UUID

Example Response

{ "data": { "id": "...", "invoice_number": "INV-2026-0001", "status": "paid", ... } }
PATCH/api/v1/invoices/:idUpdate Invoice

Update an invoice's status, notes, or due date.

Parameters

NameTypeRequiredDescription
:idstringrequiredThe invoice UUID
statusstringoptionalNew status: draft | sent | paid | overdue
notesstringoptionalUpdated notes
due_datestringoptionalUpdated due date (YYYY-MM-DD)

Example Response

{ "data": { "id": "...", "status": "paid", ... } }
POST/api/v1/invoicesCreate Invoice

Creates a new invoice.

Parameters

NameTypeRequiredDescription
invoice_numberstringrequiredUnique invoice number (e.g. INV-2026-0001)
issue_datestringrequiredIssue date (YYYY-MM-DD)
due_datestringrequiredDue date (YYYY-MM-DD)
line_itemsarrayrequiredArray of { description, quantity, rate }
client_idstringoptionalClient UUID (from /api/v1/clients)
tax_ratenumberoptionalTax percentage (e.g. 8.5)
discount_percentnumberoptionalDiscount percentage (e.g. 10)
currencystringoptionalISO currency code (default USD)
notesstringoptionalOptional notes

Example Response

{ "data": { "id": "...", "invoice_number": "INV-2026-0001", "status": "draft", "total": 1500, ... } }
GET/api/v1/clientsList Clients

Returns a paginated list of clients.

Parameters

NameTypeRequiredDescription
limitnumberoptionalMax results (default 50, max 100)
offsetnumberoptionalPagination offset (default 0)

Example Response

{
  "data": [ { "id": "...", "name": "Acme Corp", "email": "billing@acme.com", ... } ],
  "total": 12,
  "limit": 50,
  "offset": 0
}
GET/api/v1/clients/:idGet Client

Returns a single client by ID.

Parameters

NameTypeRequiredDescription
:idstringrequiredThe client UUID

Example Response

{ "data": { "id": "...", "name": "Acme Corp", "email": "billing@acme.com", ... } }

Ready to build?

Sign up for Paycivo Business and get your API key in minutes.

Get started free →

Questions? Email us at support@paycivo.com