Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.vh3.ai/llms.txt

Use this file to discover all available pages before exploring further.

Invoices

BigChange invoices and line items. Auth: X-API-Key header. Base: https://api.vh3connect.io/api:YdihQNr3.

Shared parameters

ParamTypeDescription
pageNumberintegerPage index (1-based)
pageSizeintegerItems per page (default 100, max 1000)
sortBystringSort field (endpoint-specific)
directionenumascending or descending

Date filters (list)

POST /invoices/list accepts an optional creation-date window. createdAtTo minus createdAtFrom must not exceed 12 months` (BigChange API limit — see overview).
ParamTypeRequiredDescription
createdAtFromstringNoInvoices created on or after this instant (ISO 8601 UTC)
createdAtTostringNoInvoices created on or before this instant (ISO 8601 UTC)
Combine with id, jobId, jobGroupId, contactId, or reference (comma-separated lists, max 50 IDs each). Use sortBy: "createdAt" with direction when reporting by period.

Invoices

Billing.

GET /invoices/invoice

Get invoice.
curl -G "https://api.vh3connect.io/api:YdihQNr3/invoices/invoice" \
  -H "X-API-Key: your-api-key" \
  --data-urlencode "invoiceId=5001"

POST /invoices/create

Create invoice.
curl -X POST "https://api.vh3connect.io/api:YdihQNr3/invoices/create" \
  -H "X-API-Key: your-api-key" \
  -H "Content-Type: application/json" \
  -d '{
  "contactId": 12345,
  "createdAt": "2026-04-01T00:00:00Z"
}'

POST /invoices/edit

Update invoice.
curl -X POST "https://api.vh3connect.io/api:YdihQNr3/invoices/edit" \
  -H "X-API-Key: your-api-key" \
  -H "Content-Type: application/json" \
  -d '{
  "invoiceId": 5001
}'

POST /invoices/list

List invoices with optional filters and a creation-date range (max 12 months between createdAtFrom and createdAtTo). Request body (filters):
FieldTypeRequiredDescription
pageNumberintegerNoPage index (1-based)
pageSizeintegerNoItems per page
createdAtFromstringNoCreated on or after (ISO 8601 UTC)
createdAtTostringNoCreated on or before (ISO 8601 UTC)
contactIdstringNoContact IDs (comma-separated, max 50)
jobIdstringNoJob IDs (comma-separated, max 50)
jobGroupIdstringNoJob group IDs (comma-separated, max 50)
idstringNoInvoice IDs (comma-separated, max 50)
referencestringNoReferences (comma-separated, max 50)
sortBystringNocreatedAt
directionenumNoascending or descending
curl -X POST "https://api.vh3connect.io/api:YdihQNr3/invoices/list" \
  -H "X-API-Key: your-api-key" \
  -H "Content-Type: application/json" \
  -d '{
  "pageNumber": 1,
  "pageSize": 50,
  "createdAtFrom": "2026-01-01T00:00:00Z",
  "createdAtTo": "2026-03-31T23:59:59Z",
  "contactId": "12345",
  "sortBy": "createdAt",
  "direction": "descending"
}'

POST /invoices/cancel

Cancel.
curl -X POST "https://api.vh3connect.io/api:YdihQNr3/invoices/cancel" \
  -H "X-API-Key: your-api-key" \
  -H "Content-Type: application/json" \
  -d '{
  "invoiceId": 5001
}'

POST /invoices/mark_paid

Mark paid. Optional paidAt (ISO 8601 UTC); defaults to now if omitted. Single timestamp — not a date range.
curl -X POST "https://api.vh3connect.io/api:YdihQNr3/invoices/mark_paid" \
  -H "X-API-Key: your-api-key" \
  -H "Content-Type: application/json" \
  -d '{
  "invoiceId": 5001,
  "paidAt": "2026-04-15T12:00:00Z"
}'

POST /invoices/mark_sent

Mark sent. Optional sentAt (ISO 8601 UTC); defaults to now if omitted.
curl -X POST "https://api.vh3connect.io/api:YdihQNr3/invoices/mark_sent" \
  -H "X-API-Key: your-api-key" \
  -H "Content-Type: application/json" \
  -d '{
  "invoiceId": 5001,
  "sentAt": "2026-04-10T09:00:00Z"
}'

POST /invoices/document/create

Generate PDF.
curl -X POST "https://api.vh3connect.io/api:YdihQNr3/invoices/document/create" \
  -H "X-API-Key: your-api-key" \
  -H "Content-Type: application/json" \
  -d '{
  "invoiceId": 5001
}'

Invoice line items

Line-level charges.

GET /invoices/line_item

Get line.
curl -G "https://api.vh3connect.io/api:YdihQNr3/invoices/line_item" \
  -H "X-API-Key: your-api-key" \
  --data-urlencode "invoiceId=5001" \
  --data-urlencode "lineItemId=1"

GET /invoices/line_item/edit

Update line.
curl -G "https://api.vh3connect.io/api:YdihQNr3/invoices/line_item/edit" \
  -H "X-API-Key: your-api-key" \
  --data-urlencode "invoiceId=5001" \
  --data-urlencode "lineItemId=1"

POST /invoices/line_item/create

Create line.
curl -X POST "https://api.vh3connect.io/api:YdihQNr3/invoices/line_item/create" \
  -H "X-API-Key: your-api-key" \
  -H "Content-Type: application/json" \
  -d '{
  "invoiceId": 5001,
  "description": "Labour",
  "quantity": 2,
  "unitSellingPrice": 85
}'

POST /invoices/line_item/delete

Delete line.
curl -X POST "https://api.vh3connect.io/api:YdihQNr3/invoices/line_item/delete" \
  -H "X-API-Key: your-api-key" \
  -H "Content-Type: application/json" \
  -d '{
  "invoiceId": 5001,
  "lineItemId": 1
}'

POST /invoices/line_item/list

List lines.
curl -X POST "https://api.vh3connect.io/api:YdihQNr3/invoices/line_item/list" \
  -H "X-API-Key: your-api-key" \
  -H "Content-Type: application/json" \
  -d '{
  "invoiceId": 5001,
  "pageNumber": 1,
  "pageSize": 50
}'