Home

Build custom solutions with the Karbon API

Leverage the Karbon API to integrate your apps with Karbon, build custom solutions, optimize workflows and power your business.


Getting started

Common use cases to bootstrap your integration

Making Your First API Request

Learn how to authenticate with the Karbon API using the required Authorization and AccessKey headers, make your first request to verify your credentials, and understand the account-level access model that governs all API operations.

Read more

Searching for and Retrieving Client Details

Search and filter across Karbon's three client entity types: Contacts, Organizations, and ClientGroups—using OData-style queries, retrieve full contact details including emails and phone numbers via $expand=BusinessCards, and update client records or look them up by your own identifiers.

Read more

Creating a New Work Item

Create work items from scratch or from pre-configured templates by providing a title, assignee, client, and start date, with support for setting work types, statuses, and fee structures, plus filtering and updating existing work items via the API.

Read more

Retrieving Invoices and Recording Payments

List, sort, and retrieve invoices using the Karbon API, then record manual payments against them by specifying a payment method, date, and amount—with support for reversals, deletions, and webhook subscriptions for real-time invoice change notifications.

Read more

Handling Rate Limits

Understand Karbon's API rate limit of 120 requests per minute, handle 429 Too Many Requests responses using exponential backoff with the Retry-After header, and reduce overall request volume through gzip compression, server-side filtering, and webhooks.

Read more

Pagination

Retrieve full result sets from Karbon's list endpoints by requesting pages of up to 100 items and following the @odata.nextLink cursor in each response, combining pagination with $filter and $orderby for consistent, efficient data retrieval.

Read more

Webhooks

Subscribe to Karbon webhook events to receive real-time push notifications when contacts, work items, invoices, and other entities change—eliminating the need to poll—then fetch the full updated record using the ResourcePermaKey in the payload.

Read more

Working with Custom Fields

Define and manage custom fields on Contacts and Organizations to store structured data across types including text, numbers, dates, booleans, list selections, and Karbon user references, then read and update values per entity via the CustomFieldValues endpoint.

Read more

Extend your product reach by partnering with Karbon

We work with vendors to bring together systems, people and data to improve the way accounting firms work. Join us in this effort to maximise customer experiences, reach new users and innovate together.

Get in touch