Skip to main content
The Pazy API lets you manage your accounts payable data programmatically. Use it to sync vendors, purchase orders, invoices, payments, and reimbursements with your own systems.

Base URL

Quickstart

1

Create an API key

In the Pazy app, go to Settings → Developer → Create API Key. If you run into trouble, contact customer-support@pazy.io.
Keep your API key secret. Do not expose it in client-side code or commit it to source control.
2

Make your first request

Send the key in the Authorization header. This request lists your first vendor:
3

Read the response

A successful response has ok: true and your vendors under data.vendors. Use data.context.nextCursor to fetch the next page.
4

Explore the endpoints

Pick a resource below. Each endpoint page lists its parameters, examples, and error responses.

Responses

Responses are JSON. Successful responses return ok: true with the result in data. Errors return ok: false with an error object.

Pagination

List endpoints accept limit and cursor query parameters. Pass the nextCursor value from the previous response as cursor to fetch the next page. See the pagination guide for a full example.

Rate limits

Limits apply per 60-second window, to every authenticated request: Both limits apply at the same time, and you get a 429 when you hit either one.
  • Organization limit: a shared budget for your whole company. Every request from every user and integration in your organization counts toward it.
  • User limit: a cap for each individual user. One user can’t send more than 200 requests in a minute, even if the organization still has room.
For example, suppose two integrations run as different users, A and B:
  • A sends 200 requests and B sends 100. The organization total is 300, so the organization limit is reached.
  • A alone tries to send 250. Requests start failing after 200, even though the organization total is under 300.
  • A sends 190 and B sends 190. Neither passes 200, but the organization total is 380, so requests start failing at 300.
A single user is therefore held to 200 requests per minute, and all users in one organization share a pool of 300 per minute. When you exceed a limit, the API returns 429 Too Many Requests with a Retry-After header that says how long to wait before retrying:
Wait for the time in Retry-After, and use exponential backoff if you keep getting this response. See Errors and retries.

Webhooks

Pazy can notify your system when invoices, payments, expenses and payouts change, so you don’t have to poll. See the webhooks overview.

Sandbox

A sandbox environment is created on request. Email customer-support@pazy.io to ask for one.

Explore the API

Vendors

Create, search, and update vendors, taxation details, and documents.

Purchase Orders

Create, update, and look up purchase orders.

Invoices

Create invoices, read details, add comments, and attach documents.

Payments

Mark invoices as paid and manage payment requests and vendor advances.

Expenses and Reimbursements

List expenses and reimbursements and fetch their details.

Company and Taxes

Read company entities and configurations, and manage TDS and GST taxes.

Webhooks

Get signed, real-time notifications for invoices, payments, expenses and payouts.

Using AI assistants

Building your integration with an AI assistant? Copy a ready-made prompt from Integrate with an AI assistant. Prefer to use Pazy from an AI client such as Claude Desktop or Cursor? See the MCP integration guide.