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.

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.

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 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 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.

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.