Skip to main content

API Overview

The Invoica API is a RESTful JSON API for managing invoices, settlements, tax calculations, and budgets.

Base URL

https://api.invoica.ai
All API endpoints are relative to this base URL.

Authentication

Include your API key in every request:
curl -H "Authorization: Bearer inv_your_key_here" \
  https://api.invoica.ai/api/invoices
See the Authentication guide for details.

Request Format

  • All request bodies must be JSON with Content-Type: application/json
  • Amounts are in the smallest currency unit (cents for USD, centimes for EUR)
  • Dates use ISO 8601 format: 2026-02-18T10:30:00Z

Response Format

All responses follow a consistent structure:

Success

{
  "id": "inv_8a7b6c5d4e3f2a1b",
  "invoiceNumber": "INV-2026-0001",
  "status": "draft",
  "amount": 5000,
  "createdAt": "2026-02-18T10:30:00Z"
}

List Response

{
  "data": [...],
  "total": 142,
  "page": 1,
  "limit": 10,
  "hasMore": true
}

Error

{
  "error": {
    "code": "INVALID_AMOUNT",
    "message": "Amount must be a positive integer",
    "status": 400
  }
}

Error Codes

StatusCodeDescription
400INVALID_REQUESTMalformed request body or missing required fields
401UNAUTHORIZEDInvalid or missing API key
403FORBIDDENKey lacks required permissions
404NOT_FOUNDResource does not exist
402BUDGET_EXCEEDEDAgent budget limit reached
429RATE_LIMITEDToo many requests
500INTERNAL_ERRORServer error — contact support

Rate Limiting

API requests are rate limited per API key:
PlanRequests/minuteRequests/day
Free601,000
Pro60050,000
EnterpriseCustomCustom
Rate limit headers are included in every response:
X-RateLimit-Limit: 60
X-RateLimit-Remaining: 45
X-RateLimit-Reset: 1708254600

Pagination

List endpoints support cursor-based pagination:
GET /api/invoices?limit=10&page=2
ParameterTypeDescription
limitintegerItems per page (default: 10, max: 100)
pageintegerPage number (default: 1)

Endpoints

MethodPathDescription
POST/api/invoicesCreate invoice
GET/api/invoicesList invoices
GET/api/invoices/:idGet invoice
POST/api/tax/calculateCalculate tax
POST/api/budget/checkCheck budget
GET/api/budget/:agentIdGet agent budget