API Introduction
The Vantage API lets you integrate your tools with Vantage. Create clients, log time, generate invoices, and more programmatically.
Base URL
All API requests use:
https://api.govantage.co/v1Authentication
Every request requires an API key in the header:
curl https://api.govantage.co/v1/clients \
-H "Authorization: Bearer vnt_sk_live_xxxxx"See Authentication for details.
Request Format
Content Type
All requests should include:
Content-Type: application/jsonRequest Body
POST and PUT requests accept JSON:
{
"name": "Acme Corp",
"email": "billing@acme.com"
}Response Format
Success Responses
Successful requests return:
{
"data": {
"id": "cli_xxxxx",
"name": "Acme Corp",
"email": "billing@acme.com",
"created_at": "2026-01-15T10:30:00Z"
}
}List Responses
List endpoints return paginated results:
{
"data": [
{ "id": "cli_xxxxx", "name": "Acme Corp" },
{ "id": "cli_yyyyy", "name": "Beta Inc" }
],
"pagination": {
"page": 1,
"per_page": 20,
"total": 45,
"total_pages": 3
}
}Error Responses
Errors include a code and message:
{
"error": {
"code": "invalid_request",
"message": "Email is required",
"field": "email"
}
}See Error Handling for all error codes.
API Reference
Detailed documentation for each endpoint:
Core Resources
| Resource | Description | Docs |
|---|---|---|
| Clients | Customer organizations | View docs |
| Projects | Scoped work for clients | View docs |
| Tickets | Tasks, issues, work items | View docs |
| Time Entries | Logged work hours | View docs |
| Invoices | Billing and payments | View docs |
| Agreements | Retainer contracts | View docs |
Quick Reference
Clients
/v1/clientsList all clients/v1/clientsCreate a client/v1/clients/:idGet a client/v1/clients/:idUpdate a client/v1/clients/:idDelete a clientProjects
/v1/projectsList all projects/v1/projectsCreate a project/v1/projects/:idGet a project/v1/projects/:idUpdate a projectTickets
/v1/ticketsList all tickets/v1/ticketsCreate a ticket/v1/tickets/:idGet a ticket/v1/tickets/:idUpdate a ticket/v1/tickets/:id/closeClose a ticketTime Entries
/v1/time-entriesList time entries/v1/time-entriesCreate a time entry/v1/time-entries/:idUpdate a time entry/v1/time-entries/:idDelete a time entry/v1/time-entries/timer/startStart a timerInvoices
/v1/invoicesList invoices/v1/invoicesCreate an invoice/v1/invoices/:idGet an invoice/v1/invoices/:id/sendSend an invoice/v1/invoices/:id/paymentsRecord paymentAgreements
/v1/agreementsList agreements/v1/agreementsCreate agreement/v1/agreements/:idGet agreement/v1/agreements/:id/periodsList periodsSDKs
Official SDKs are on the roadmap:
- Node.js -
npm install @vantage/sdk - Python -
pip install vantage-sdk - Ruby -
gem install vantage
Webhooks
Receive real-time notifications when events occur in Vantage:
invoice.createdinvoice.paidtime_entry.createdproject.budget_exceeded
Configure webhooks in Settings → API → Webhooks.
Rate Limits
- Standard: 100 requests/minute
- Burst: 20 requests/second
See Rate Limits for details.
Versioning
The API is versioned via the URL path:
https://api.govantage.co/v1/...When we release breaking changes, we’ll introduce v2. The v1 API will remain available with deprecation notice.
Testing
Use test mode API keys to:
- Create test data
- Test integrations
- No real invoices sent
Test keys start with vnt_sk_test_.
Next Steps
- Authentication - Get your API keys
- Rate Limits - Usage limits
- Error Handling - Handle errors gracefully