Skip to main content

OAuth FAQs

Here you will find answers to commonly encountered questions.
If you are having trouble and cannot find a suitable answer, please reach out to support.

How do I listen to webhook events?

To listen to webhook events:
  1. Register for an app in the Developer Marketplace.
  2. Go to the app settings and update the webhook URL (where you want to listen for events).
  3. Under the settings, add the scope needed for the webhook event under the Scopes section.
  4. Ask the location/agency admin to go to the app page in the Marketplace and click Add App.
  5. Select the location. You will be redirected to the redirect URI with the authorization code.
  6. Use the authorization code to get the access token.
  7. You will start receiving webhook events for the location.

How long are the access tokens valid?

Access tokens are valid for one day. After expiry, use the refresh token to obtain a new access token, which will also be valid for another day.

How long are the refresh tokens valid?

Refresh tokens are valid for one year unless they are used. When used, the new refresh token is also valid for one year.

How should we handle token expiry?

  1. Make a request to any API using the accessToken.
  2. If the response indicates the token is expired, call the refresh token API and save the new accessToken and refreshToken in your database.
  3. Retry the original request with the new accessToken.
A wrapper function around your API calls is a clean way to handle this automatically.

What are the current rate limits for API 2.0?

The HoopAI Platform enforces the following rate limits on public V2 APIs:
  • Burst limit: 100 API requests per 10 seconds per Marketplace app per resource (Location or Company).
  • Daily limit: 200,000 API requests per day per Marketplace app per resource (Location or Company).
Monitor your usage via the following response headers:
HeaderDescription
X-RateLimit-Limit-DailyYour daily limit
X-RateLimit-Daily-RemainingRemaining requests for the day
X-RateLimit-Interval-MillisecondsTime interval for burst requests
X-RateLimit-MaxMaximum request limit in the specified time interval
X-RateLimit-RemainingRemaining requests in the current time interval
Last modified on March 4, 2026