Skip to main content

Introduction

The Smartbills API is a RESTful API that allows you to programmatically manage expenses, expense reports, approvals, vendors, bills, categories, departments, and more. Use this API to integrate expense management capabilities into your applications, automate workflows, and build custom integrations.
Getting started? If you are new to the Smartbills API, start by creating an account and obtaining your API keys.

Base URL

All API requests should be made to:
For sandbox testing, use:
See Environments for details on the available environments.

Authentication

All API requests require authentication using a JWT Bearer token. Include your API key or OAuth2 access token in the Authorization header:
See Authentication for complete details on obtaining and managing tokens.

Required Headers

Every request to the Smartbills API must include the following headers:

Multi-Tenant Architecture

Smartbills uses a multi-tenant architecture. You must specify the business context for each request using the x-tenant-id header:
This header determines which business’s data you are accessing. Your API key must have permission to access the specified business.

Quick Example

Here is a quick example showing how to list expenses for a business:

Response

Request Format

JSON Body

For POST, PUT, and PATCH requests, send JSON in the request body:

Query Parameters

List endpoints support query parameters for pagination, sorting, and filtering:

Response Format

Success Response (Single Resource)

Success Response (List)

Error Response

API Endpoint Groups

Expenses

Create, read, update, and delete expenses. Upload attachments and export expense data.

Expense Reports

Create and manage expense reports. Submit, approve, reject, and track report workflows.

Businesses

Manage businesses and their settings.

Vendors

Manage vendors and supplier information.

Categories

Manage expense categories for organizing expenses.

Departments

Manage departments and organizational structure.

Employees

Manage employee records and permissions.

Locations

Manage business locations and addresses.

Developer Resources

Authentication

Set up authentication and obtain tokens

API Keys

Create and manage API keys

Pagination

Paginate through large result sets

Error Handling

Handle API errors effectively

Rate Limits

Understand rate limiting policies

Webhooks

Receive real-time event notifications

Versioning

API versioning and compatibility

Localizations

Multi-language and locale support

SDKs

Official SDKs are available for the following platforms:

Need Help?