Skip to content
Introduction Price $49 −$20

Agent API

Read invoice data from your own server.

InvoiceScript exposes a small, read-only REST API for automation tools, reporting scripts, and private integrations. Bearer tokens. Scoped keys. JSON responses.

Bearer token auth OpenAPI 3.0.3 Read-only v1

Current contract

Four resource routes. Nothing hidden.

The v1 API reads operational invoice data. It does not create invoices, edit businesses, upload assets, trigger jobs, collect payments, or sync external calendars.

Read API docs
Route Scope Reads
GET /businesses businesses:read Businesses and invoice templates
GET /invoices invoices:read Invoicings for one business
GET /services services:read Services for one business
GET /availability availability:read Available schedule rows
GET /schema public OpenAPI schema
curl "https://your-domain.com/api/agent/v1/invoices?business_id=01HTENANT0000000000000000" \
  -H "Authorization: Bearer vb_your_api_key" \
  -H "Accept: application/json"

Authentication

Keys are scoped before data leaves the server.

Each authenticated route checks the API key scopes before returning data. Keys are stored as SHA-256 hashes with a short prefix for identification. Successful requests update the key usage time record.

Scope checks

Missing scopes return a JSON 403 response.

Rate limit

60 authenticated requests per minute per key.

Use cases

Useful for reporting, not for replacing the admin panel.

The Agent API is built for read access. Use it to pull invoice data into private dashboards, reporting jobs, backup checks, or operational scripts.

Client reports

Read invoices by business and build a weekly report for each business.

Operational checks

Confirm business, service, and invoice data is reachable from monitoring scripts.

Private integrations

Feed invoice data into internal tools without exposing database credentials.

Own the invoicing tool. Read the data cleanly.

InvoiceScript runs on your server with full source code, MySQL data, and a small JSON API for the reads integrators need first.