The API requests page lists every request made with your account's API keys. Use it to see what an integration is doing, find out why a request failed, and export the list for your own records.
Getting started
Navigate to Settings > Company settings from the sidebar, open the API tab, and click View requests next to Roll key. The API requests page opens.
How it works
Each time an integration calls the API with one of your keys, the request is added to the list. The page shows the newest requests first and opens on the last 7 days. Requests are kept for 90 days.
Each row shows the request's status, its method and path, the caller's IP address, the time, and how long it took. If the request had query parameters, they appear on a second line under the path. Click a row to open the API request panel with every detail that was captured.
Requests made with any key your account has had are included, so rolling a key does not hide earlier requests. A request sent without a key, or with a key that does not belong to any account, is not listed because it cannot be matched to your account.
Step-by-step guide
Review recent requests
- Open API requests.
- Read the list. The number of matching requests appears on the right side of the filter bar as results.
- Use the per page selector to show 10, 25, 50, or 100 requests per page.
- Use the page controls under the list to move through older requests.
Filter the list
- Click a filter in the filter bar, set its value, and click Apply.
- Combine filters to narrow the list further. Each filter in use is highlighted.
- Click Clear filters to return to the default view.
The Date filter offers Within the last a number of days, or a Date range with From and To dates. The other filters are listed in the reference below.
Tip: To find one specific request, paste its request ID into the Request ID filter. The ID is the one your integration received with the response.
Open a request
- Click any row in the list.
- The API request panel opens with the Request, Caller, and Query parameters sections.
- For requests that create or update something, the panel also shows the Request body and Response body sections. For a failed request that only reads data, it shows the Response body with the error.
- Click the copy icon next to Request ID to copy it.
- Click Close, press Esc, or click outside the panel to close it.
Download a CSV
- Set the filters so the list shows the requests you want.
- Click the download icon on the right side of the filter bar.
- A file named api-requests.csv is downloaded with every request that matches the filters, newest first.
One file holds up to 100,000 requests. If more requests match, an Export limit reached message says how many were included. Narrow the Date filter and download again to get the rest.
Save a filter set as a view
- Set the filters you use often.
- Click Views in the filter bar.
- Type a name under Save current as... and click Save.
- Pick the view from Views the next time you open the page. Click Manage views to manage the views you have saved.
Reference
List columns
| Column | What it shows |
|---|---|
| Status | The response code, colored by outcome. No response means the request did not finish |
| Request | The method and path, with the query parameters on a second line when there are any |
| IP address | The address the request came from |
| Time | When the request was received, in your location's date and time format |
| Duration | How long the request took, in milliseconds |
Filters
| Filter | What it matches |
|---|---|
| Date | Requests within the last number of days, or between two dates |
| Status | Success, Client error, Server error, or No response. Pick one or more |
| Method | GET, POST, PUT, or DELETE. Pick one or more |
| Endpoint | Requests whose path contains the text you enter, for example /bookings |
| IP address | Requests from an address that starts with the text you enter |
| User agent | Requests whose user agent contains the text you enter |
| Request ID | The one request with exactly that ID |
| API key | Requests made with one specific key. Shown only when your account has had more than one key |
Status groups
| Status | Meaning |
|---|---|
| Success | The request was handled. Codes in the 200 range |
| Client error | The request was rejected because of how it was sent, for example a missing field or an inactive key. Codes in the 400 range |
| Server error | The request could not be completed on our side. Codes in the 500 range |
| No response | The request started but did not finish |
API request panel
| Section | Fields |
|---|---|
| Request | Status, Method, Endpoint, Time, Duration, Error (only when the request failed), and Request ID with a copy icon |
| Caller | IP address, User agent, and API key ID. A key that has since been replaced is marked (rolled) |
| Query parameters | Each parameter and its value, or None |
| Request body | What was sent with a create or update request |
| Response body | What was returned for a create or update request, or the error returned for any failed request |
CSV columns
| Column | Content |
|---|---|
| Time | Date and time of the request |
| Status | Response code, or No response |
| Method | GET, POST, PUT, or DELETE |
| Endpoint | The path that was called |
| Query parameters | The parameters sent with the request |
| Duration (ms) | How long the request took |
| IP address | The address the request came from |
| User agent | The caller's user agent |
| Request ID | The request's unique ID |
| API key ID | The ID of the key that was used |
| Error | The error message, when the request failed |
Good to know
- Requests are kept for 90 days, then removed.
- Customer names, email addresses, phone numbers, addresses, birthdays, and card details are masked in the Request body and Response body. Only the first two and last two characters are kept, and short values are hidden completely. Signature images are removed.
- The response is not kept for successful requests that only read data. Run the request again to see what it returns.
- Very large request and response bodies are shortened and end with [truncated].
- A field shows Not recorded when that detail was not captured for the request.
- The CSV does not include request or response bodies.
- The page is available to admins and to roles with the Configure company settings permission. The download icon also needs the Download data permission. Both are set in Custom roles and permissions.
- To create or replace an API key, see Company settings. To be notified when something happens instead of asking for it, see the Webhooks section on the same API tab.
FAQ
Q: A request my integration sent is not in the list. Why?
A: Check the Date filter first, since the page opens on the last 7 days. If the request was sent without a key, or with a key that does not belong to any account, it is not listed.
Q: Why does a request show No response?
A: The request started but did not finish, usually because it took too long. Try the request again, and narrow what it asks for if it keeps happening, for example a shorter date range.
Q: Requests with my old key still appear. Is the old key still working?
A: No. A request made with a key that has been replaced is rejected, and it is listed as a client error so you can see that something is still using the old key. The API key ID in the panel is marked (rolled).
Q: Can I see the full customer details in a request body?
A: No. Customer and card details are masked before the request is stored, so they cannot be shown in full. Open the booking, transaction, or customer in the console to see the full record.
Q: I can open the page but there is no download icon. Why?
A: The download icon needs the Download data permission. Ask an admin to add it to your role.