Based on the search results provided, Gusto appears to have a REST API. The documentation style and terminology used, such as discussing API scopes, endpoints, and HTTP status codes, are typical of REST API documentation. Additionally, none of the search results mention Gusto using GraphQL, SOAP, or other API types. REST APIs are widely used for web services due to their simplicity, scalability, and compatibility with HTTP.
Yes, the official Gusto API does have webhooks. Here are the key points about Gusto's webhook functionality:
The Gusto API provides webhook support, allowing you to subscribe to various events and receive real-time notifications when those events occur.
You can subscribe to a wide range of event types through Gusto's webhooks. Some of the main categories of events include:
Here are some specific examples of events you can subscribe to:
The Gusto API provides endpoints for managing webhook subscriptions, including:
Webhook-related API calls typically require system-level access authentication using the Bearer Auth scheme with a system-level access token in the HTTP Authorization header.
By using Gusto's webhook functionality, you can build integrations that respond in real-time to changes in payroll, employee, and company data, enabling more efficient and automated workflows.
Here are the key points about the API Rate Limits for the Gusto API:
The Gusto API rate limit is 200 requests per minute [1][2][3].
Rate limits are evaluated using a 60 second rolling window [2][3].
The rate limit is applied at the user-application pair level, meaning you can make up to 200 calls within a 60 second timeframe for each user with an active integration [2].
For users authorizing an integration for multiple companies, the rate limit is shared amongst those companies [2].
The rate limit is per user/company that has connected your application, not a global limit across all users [3].
A new 60-second window opens after your first API call and closes after 60 seconds has elapsed. A new window opens when you send your next API request [3].
It's important to design your application to handle rate limit errors gracefully and implement appropriate retry mechanisms.
Monitor your API usage to ensure you stay within the rate limits.
Implement exponential backoff and retry logic for handling rate limit errors.
Consider caching frequently accessed data to reduce the number of API calls needed.
Optimize your API usage by batching requests where possible and avoiding unnecessary calls.
By adhering to these rate limits and implementing best practices, you can ensure smooth integration with the Gusto API while maintaining good performance and avoiding disruptions due to rate limiting.
Based on the search results provided, here is the answer to your question about the most recent version of the Gusto API:
The most recent version of the Gusto API is v2024-04-01.
Gusto uses a date-based versioning system for their API [^2].
Versions prior to v2023-09-01 have been deprecated ^1.
The API version v2024-04-01 introduced system access tokens, deprecating API Token auth in favor of system access authentication ^1.
Gusto may release new versions as often as monthly, but sometimes consolidates smaller changes into larger subsequent releases [^2].
After a version is released, it is guaranteed to receive support for a minimum of 12 months from the version date [^2].
Always use the latest stable version of the API when possible.
Gusto strongly advises upgrading to the latest API version every quarter for improved performance and security [^2].
Set the API version by including an 'X-Gusto-API-Version' header in your API calls [^3].
Stay informed about API updates by regularly checking the Changelog [^2].
Be aware of backward-incompatible changes that may require updates to your integration [^2][^3].
Remember to check the Gusto Developer Documentation for the most up-to-date information on API versions and best practices for integration.
[^2]: API Versioning [^3]: API Versioning v1.0.0
The first step is to create an account on Gusto's Developer Portal. This is essential for accessing the API and beginning the development process.
After creating your Developer Portal account, you need to fill out a Production Pre-Approval application. This step is crucial as it's required to go through QA and gain production access.
Key points to consider:
Once your account is created and you've completed the Organization setup, you'll have access to your unique API token from the Organizations tab. This token is used for provisioning new Gusto accounts.
To access Gusto's demo environment, you need to create an application in the Developer Portal. This will provide you with:
client_id
secret
for authenticationNote: When creating an application, you'll need to provide at least one redirect URI.
Create a demo company to explore Gusto's product and connect your application via OAuth2. Demo companies are automatically generated with company info, employees, and previous payrolls for testing purposes.
With your API Token, client_id
, secret
, and a demo company set up, you can start building your integration.
Before getting production keys, Gusto requires a quality review (QA) and an approved Production Pre-Approval application for all builds using their API. This ensures proper functionality and a high-quality customer experience.
Remember, Gusto currently does not support API access for customers looking to connect their own company systems directly to their Gusto account using the API.
Based on the search results provided, here is a list of data models that can be interacted with using the Gusto API, along with what is possible for each:
It's important to note that the Gusto API uses OAuth2 for authentication and has specific endpoints for different levels of access (organization-level vs company-level). The API also supports pagination and has rate limits that developers need to be aware of when building integrations.