Overview
The Smartbills API uses versioning to ensure backward compatibility and allow for improvements without breaking existing integrations. The version is specified in the URL path.Current Version
The current API version is v1. All API requests should include the version in the URL:Version Format
API versions are specified in the URL path:Checking Your API Version
You can check which version you are using by inspecting the response headers:Backwards Compatibility Policy
We maintain backward compatibility within a major version. This means your integration will not break as long as you stay on the same major version.Non-Breaking Changes (Safe)
The following changes are considered non-breaking and may be made within a major version without notice:- Adding new API endpoints
- Adding new optional request parameters
- Adding new properties to API responses
- Adding new webhook event types
- Adding new error codes
- Adding new enum values to existing fields
- Changing the order of properties in responses
Breaking Changes (Require New Version)
The following changes are considered breaking and will only be introduced in a new major version:- Removing or renaming API endpoints
- Removing or renaming required request parameters
- Removing or renaming response properties
- Changing the type of existing fields
- Changing authentication methods
- Changing error response formats
- Removing enum values from existing fields
Deprecation Policy
When a new major version is released:1
Deprecation Notice
We provide at least 12 months notice before deprecating an old version. You will receive notifications via email and the developer portal.
2
Deprecation Period
The old version continues to work during the deprecation period. You will see deprecation warnings in response headers.
3
Migration Guides
Detailed migration guides are provided to help you upgrade to the new version.
4
End of Life
After the deprecation period, the old version stops receiving updates. API requests to the deprecated version may eventually return errors.
Deprecation Headers
When a version is deprecated, responses include a warning header:Best Practices
Always Specify the Version
Always Specify the Version
Always include the version number in your API requests. Do not rely on default versions.
Handle Unknown Fields Gracefully
Handle Unknown Fields Gracefully
Your code should ignore unknown fields in API responses to handle new properties added in the future without breaking.
Subscribe to API Updates
Subscribe to API Updates
Subscribe to our developer newsletter and monitor the changelog to receive notifications about new versions, deprecation notices, and new features.
Test in Sandbox First
Test in Sandbox First
When migrating to a new API version, test thoroughly in the sandbox environment before updating production.
Version History
v1 (Current)
Released: January 2024 Status: Active Features:- Complete REST API for expenses, expense reports, businesses, vendors, and more
- OAuth2 and API key authentication
- Webhook support for real-time event notifications
- Comprehensive error handling with error codes
- Multi-language support (en-CA, fr-CA, en-US)
- Multi-tenant architecture with
x-tenant-idheader - Pagination, sorting, and filtering on all list endpoints
Related Resources
API Introduction
API overview and getting started
Environments
Sandbox and production environments
Error Handling
Error codes and handling
Authentication
Authentication methods
Getting Help
If you have questions about API versioning or need help migrating to a new version:- Email: [email protected]
- Developer Portal: developers.smartbills.io
- Documentation: docs.smartbills.io