Raygun API Beta
Raygun's API is currently in beta to allow for thorough testing and feedback. While the API is fully stable and secure, there may still be some changes made to improve its functionality and usability.
Raygun is committed to providing a industry leading API that meets the needs of its users and welcomes any suggestions or concerns during this beta phase.
Raygun's API allows you to access your Raygun data so that you can display, manipulate and process it in other tools, scripts and applications.
Following the OpenAPI standard, you can see the full specification here and a list of endpoints below.
Access to the API is managed via Personal Access Tokens.
note: Every user on your plan can create personal access tokens for the applications they have access to.
Authentication
Raygun's API is secured using Bearer Authentication using Personal Access Tokens.
Each request must include a Personal Access Token as the Bearer token in the Authorization
request header.
Authorization: Bearer <Raygun PAT>
Unauthorised requests will result in an HTTP 401 status code.
If you are seeing an HTTP 401 response you should check:
- Your request includes a Personal Access Token in the
Authorization
header. - The Personal Access Token is not expired.
- The Personal Access Token has the required scopes assigned for the endpoint.
API rate limits
There are limits to the number of API calls your application can make.
- Minute Limit: 60 calls per minute.
- Daily Limit: 5000 calls per day.
Each API Response will include three response headers:
X-Rate-Limit-Limit
- indicates what rate limit period is active, either 1m or 1d.X-Rate-Limit-Remaining
- will indicate how many requests remain in the period.X-Rate-Limit-Reset
- indicates when the rate limit period will be reset.
Exceeding a rate limit will result in an HTTP 429 status code in the response. You can use the response headers above to determine when the next successful call can be made.
Pagination
Pagination is supported on all list endpoints. This feature allows you to manage the data you retrieve by breaking it into smaller, manageable parts called pages
.
Pagination is handled using two query string parameters: offset
and count
.
- offset: Defines the number of items to skip before starting to return entries. For instance, an offset of 10 skips the first 10 items.
- count: Specifies the maximum number of items to return in the response.
Here is a sample request using both parameters: GET /v3/applications?offset=10&count=20
The server's response to a paginated request includes three headers that carry metadata:
X-Raygun-Total-Count
: Represents the total number of available items.X-Raygun-Count
: Indicates the number of items returned in the current response.Link
: Provides a comma-separated list of URLs for navigation.
The Link
header delivers URLs corresponding to different pages of data:
self
: The URL for the current page of results.first
: The URL for the first page of results.prev
: The URL for the previous page of results.next
: The URL for the next page of results.last
: The URL for the last page of results.
Below is a sample Link
header, which showcases how these URLs are provided:
Link: <https://api.raygun.com/v3/applications?offset=40&count=20>; rel="self",
<https://api.raygun.com/v3/applications?offset=0&count=20>; rel="first",
<https://api.raygun.com/v3/applications?offset=20&count=20>; rel="prev",
<https://api.raygun.com/v3/applications?offset=60&count=20>; rel="next",
<https://api.raygun.com/v3/applications?offset=80&count=20>; rel="last"
This example assumes that there are 100 items, and the user is requesting pages of 20 items each. Notice that the offset value changes with each relation (first, prev, next, last), pointing to different pages
of data.
Ordering
Ordering provides a way to determine the sequence in which items are presented in the response. This feature is available on all list endpoints.
The orderBy
query string parameter is used to support ordering.
The orderBy
parameter is a comma-separated list of properties associated with the resource you're requesting. Each property can optionally be followed by either asc
(for ascending order) or desc
(for descending order). If no order is specified, the default is ascending order.
Here's an example of how you can use the orderBy
parameter to sort results. In this case, results are sorted first by the version in descending order, followed by the ownerName in ascending order:
GET /v3/deployments?orderBy=version desc, ownerName
Please note that not all properties of a resource can be used for ordering. Refer to the API specification for a detailed list of properties that support the orderBy
operation for each endpoint.
Endpoints
Currently, the following endpoints and scopes are available:
Name | Description | Scope required |
---|---|---|
List applications | Returns a list of all applications for the plan and the user which the token belongs to | applications:read |
Get application by ID | Returns application details by ID, if it exists and the token provides access to the application | applications:read |
Get application by API key | Returns application details by API key, if it exists and the token provides access to the application | applications:read |
Regenerate API key | Regenerates the API key for the given application | applications:write |
Get plans | Returns the plan(s) which the token belongs to | <Not Applicable> |
List teams | Returns a list of all teams for the plan and the user which the token has access to | teams:read |
Get team by ID | Returns team details by ID, if it exists and the token provides access to the team | teams:read |
List invitations | Returns a list of all invitations for the plan and the user which the token has access to | invitations:read |
Get invitation by ID | Returns invitation details by ID, if it exists and the token provides access to the invitation | invitations:read |
Send invitation | Sends an invitation to a user | invitations:write |
Revoke invitation | Revokes a sent invitation | invitations:write |
List deployments | Returns a list of deployments for an application | deployments:read |
Get deployment by ID | Returns a single deployment by identifier | deployments:read |
Create deployment | Create a deployment for an application | deployments:write |
Create deployment with api key | Create a deployment for an application with the specified api key | deployments:write |
Update deployment | Update the details of a deployment | deployments:write |
Delete deployment | Delete a deployment | deployments:write |
List error groups | Returns a list of error groups for an application | cr.errors:read |
Get error group by ID | Returns a single error group by identifier | cr.errors:read |
Resolve error group | Sets an error group to resolved, optionally with a version, and to discard from previous versions | cr.errors:write |
Activate error group | Re-activates an error group | cr.errors:write |
Ignore error group | Ignore an error group. If it occurs again it will become 'active' | cr.errors:write |
Permanently ignore error group | Permanently ignore an error group. Optionally specify to discard future occurrences | cr.errors:write |
Upload source map | Uploads a source map | cr.source-maps:write |
Delete source map | Deletes a source map | cr.source-maps:write |
List source maps | Lists source maps for an appliation | cr.source-maps:read |
Get source map by ID | Gets the metadata for a source map by identifier | cr.source-maps:read |
Update source map URI | Updates the URI for a source map | cr.source-maps:write |
We are always extending our offering of endpoints and scopes. You can make a request for your most needed API endpoints here. |
This is version 3 of Raygun's API. While we transition previous versions the Reporting API and RUM API will remain available.