Skip to main content
Skip to Content

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/v1

Authentication

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/json

Request 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

ResourceDescriptionDocs
ClientsCustomer organizationsView docs
ProjectsScoped work for clientsView docs
TicketsTasks, issues, work itemsView docs
Time EntriesLogged work hoursView docs
InvoicesBilling and paymentsView docs
AgreementsRetainer contractsView docs

Quick Reference

Clients

GET/v1/clientsList all clients
POST/v1/clientsCreate a client
GET/v1/clients/:idGet a client
PUT/v1/clients/:idUpdate a client
DELETE/v1/clients/:idDelete a client

Projects

GET/v1/projectsList all projects
POST/v1/projectsCreate a project
GET/v1/projects/:idGet a project
PUT/v1/projects/:idUpdate a project

Tickets

GET/v1/ticketsList all tickets
POST/v1/ticketsCreate a ticket
GET/v1/tickets/:idGet a ticket
PUT/v1/tickets/:idUpdate a ticket
POST/v1/tickets/:id/closeClose a ticket

Time Entries

GET/v1/time-entriesList time entries
POST/v1/time-entriesCreate a time entry
PUT/v1/time-entries/:idUpdate a time entry
DELETE/v1/time-entries/:idDelete a time entry
POST/v1/time-entries/timer/startStart a timer

Invoices

GET/v1/invoicesList invoices
POST/v1/invoicesCreate an invoice
GET/v1/invoices/:idGet an invoice
POST/v1/invoices/:id/sendSend an invoice
POST/v1/invoices/:id/paymentsRecord payment

Agreements

GET/v1/agreementsList agreements
POST/v1/agreementsCreate agreement
GET/v1/agreements/:idGet agreement
GET/v1/agreements/:id/periodsList periods

SDKs

Official SDKs are on the roadmap:

Webhooks

Receive real-time notifications when events occur in Vantage:

Configure webhooks in SettingsAPIWebhooks.

Rate Limits

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:

Test keys start with vnt_sk_test_.

Next Steps