API & Webhooks

Standards‑based REST API with OAuth tokens, webhooks, and rate limits. Use our canonical types across apps for consistent reporting.

Authentication

Use OAuth client credentials for server‑to‑server, or personal access tokens for quick tests. Tokens are scoped and revocable.

curl -X POST "$API_BASE/oauth/token" \
  -d "grant_type=client_credentials" \
  -u "$CLIENT_ID:$CLIENT_SECRET"

Key endpoints

  • /v1/time-entries – list/create time entries
  • /v1/documents – upload documents, generate signing links
  • /v1/invoices – create invoices, LEDES exports
curl -H "Authorization: Bearer $TOKEN" "$API_BASE/v1/time-entries?limit=20"

Webhooks

Receive events for invoice status, signature completion, and client approvals. Verify via signature header and shared secret.

  • invoice.finalized
  • esign.completed
  • approval.granted

Rate limits

Default: 100 requests/min per token. Burst handling and elevated limits available for approved apps.

SDKs & getting started

Explore our Postman collection and TypeScript SDK for a quick start.