Overview
The BizPilot API gives you programmatic access to invoices, clients, items, and payments. Use it to automate document creation, sync data, or build custom integrations.
Base URL
Versioning
The current version is v1. Breaking changes are communicated via email and changelog at least 30 days in advance.
Content Type
All requests must include Content-Type: application/json. All responses are JSON.
Authentication
BizPilot uses API keys to authenticate all requests. Manage your keys under Account Settings → API.
Bearer Token
Include your key in every request header:
Scopes
| Scope | Description |
|---|---|
documents:read | Read documents |
documents:write | Create and update documents |
clients:read | Read client records |
clients:write | Create and update clients |
payments:write | Create payment links |
Errors
BizPilot uses standard HTTP status codes to indicate success or failure.
| Code | Meaning |
|---|---|
200 | Success |
201 | Resource created |
400 | Bad request – check your parameters |
401 | Unauthorized – invalid or missing API key |
403 | Forbidden – insufficient scope |
404 | Resource not found |
422 | Validation error |
429 | Rate limit exceeded |
500 | Internal server error |
Error Object
All error responses return a JSON object:
{ "error": { "code": "not_found", "message": "Document not found", "status": 404 } }
Rate Limits
Requests are limited per API key. Limits vary by plan:
| Plan | Req / minute | Req / day |
|---|---|---|
| Basic | 60 | 10,000 |
| Best | 120 | 50,000 |
| Extra | 300 | 200,000 |
Response Headers
X-RateLimit-Limit: 120 X-RateLimit-Remaining: 87 X-RateLimit-Reset: 1741650000
Create Document
/documentsCreates a new document (invoice, receipt, quote, credit note).
Body Parameters
| Parameter | Type | Req | Description |
|---|---|---|---|
type | string | ✓ | invoice, receipt, credit_note, quote |
client_id | string | ✓ | ID of an existing client |
items | array | ✓ | Array of line items |
currency | string | Default: ILS | |
vat_type | string | included · excluded · exempt | |
issue_date | string | ISO 8601. Default: today | |
due_date | string | ISO 8601 | |
send_email | boolean | Email client on creation. Default: false |
Retrieve Document
/documents/{id}Returns a single document by ID.
Path Parameters
| Parameter | Type | Description |
|---|---|---|
id | string | The document ID |
Update Document
/documents/{id}Updates an existing document. Only draft status documents can be modified.
Body Parameters
Accepts the same fields as Create Document. Include only the fields you wish to update.
List Documents
/documentsReturns a paginated list of all documents.
Query Parameters
| Parameter | Type | Description |
|---|---|---|
type | string | Filter by document type |
status | string | draft · sent · paid · cancelled |
client_id | string | Filter by client |
from | string | ISO 8601 start date |
to | string | ISO 8601 end date |
page | integer | Default: 1 |
per_page | integer | Default: 20 · Max: 100 |
Create Client
/clientsCreates a new client record.
Body Parameters
| Parameter | Type | Req | Description |
|---|---|---|---|
name | string | ✓ | Client or company name |
email | string | Primary email | |
phone | string | Phone number | |
tax_id | string | Business registration number | |
address | object | street, city, zip | |
currency | string | Default: ILS |
Retrieve Client
/clients/{id}Returns a single client by ID.
Path Parameters
| Parameter | Type | Description |
|---|---|---|
id | string | The client ID |
List Clients
/clientsReturns a paginated list of all clients.
Query Parameters
| Parameter | Type | Description |
|---|---|---|
search | string | Search by name, email, or tax ID |
page | integer | Default: 1 |
per_page | integer | Default: 20 · Max: 100 |
Create Item
/itemsCreates a reusable product or service item for use in documents.
Body Parameters
| Parameter | Type | Req | Description |
|---|---|---|---|
name | string | ✓ | Item name |
price | number | ✓ | Unit price |
currency | string | Default: ILS | |
description | string | Optional description | |
vat_type | string | included · excluded · exempt |
List Items
/itemsReturns all items in your catalog.
Query Parameters
| Parameter | Type | Description |
|---|---|---|
search | string | Search by item name |
page | integer | Default: 1 |
Payment Links
/payment-linksGenerates a hosted payment link for a document. Supports credit card, Bit, Apple Pay, and Google Pay.
Body Parameters
| Parameter | Type | Req | Description |
|---|---|---|---|
document_id | string | ✓ | Document to attach the payment to |
amount | number | ✓ | Amount to charge |
expiry_hours | integer | Link expiry. Default: 72 | |
installments | integer | Number of installments. Default: 1 |
Webhooks
Webhooks send real-time HTTP POST notifications to your server when events occur.
Available Events
| Event | Description |
|---|---|
document.created | A new document was created |
document.sent | A document was sent to a client |
document.paid | A document was marked as paid |
payment.completed | An online payment was completed |
client.created | A new client was created |
Verification
Each request includes X-BizPilot-Signature — an HMAC-SHA256 of the raw payload signed with your webhook secret. Always verify before processing.