Skip to main content

Overview

Shake REST API​

The Shake REST API provides programmatic access to your Shake data, allowing you to manage user feedback, crash reports, and team members.

Base URL​

https://dashboard-api.shakebugs.com/api/rest

Authentication​

All API requests require authentication using a REST API key, which you can find in your Shake dashboard: Choose an app › General › scroll down to the Authentication keys section.

Include your REST API key in the request header:

X-API-KEY: your_rest_api_key_here

Example Request​

curl -H "X-API-KEY: your_rest_api_key_here" \
https://dashboard-api.shakebugs.com/api/rest/crash_reporting/crash_groups

Rate Limits​

The API enforces rate limiting to ensure fair usage and system stability.

Limit: 200 requests per hour

Rate Limit Headers​

Every API response includes headers that indicate your current rate limit status:

HeaderDescriptionExample
x-ratelimit-limitMaximum number of requests allowed per hour200
x-ratelimit-remainingNumber of requests remaining in the current window199
x-ratelimit-resetUnix timestamp when the rate limit window resets1767826558

Example Response Headers​

x-ratelimit-limit: 200
x-ratelimit-remaining: 199
x-ratelimit-reset: 1767826558

Handling Rate Limits​

When you exceed the rate limit, the API returns a 429 Too Many Requests status code. Your application should:

  1. Monitor the x-ratelimit-remaining header
  2. When approaching the limit, implement exponential backoff
  3. Use the x-ratelimit-reset timestamp to know when to retry
// Example: Check rate limit before making requests
const response = await fetch('https://dashboard-api.shakebugs.com/api/rest/crash_reporting/crash_groups', {
headers: {
'X-API-KEY': 'your_rest_api_key_here'
}
});
const remaining = response.headers.get('x-ratelimit-remaining');
const resetTime = response.headers.get('x-ratelimit-reset');
if (remaining < 10) {
console.warn(`Only ${remaining} requests remaining until ${new Date(resetTime * 1000)}`);
}

API Features​

The Shake REST API provides three main categories of endpoints:

User feedback​

Track and manage user-reported feedback including:

  • User feedback management and lifecycle
  • Chat conversations with users
  • Activity logs and history

Crash reports​

Access and manage crash reports, crash groups, and related data including:

  • Crash groups and crash events
  • Chat conversations
  • Activity logs

Team members​

Manage team members and access control for your organization.

Request Format​

The API accepts JSON-formatted request bodies for POST and PATCH requests.

Content-Type: application/json

Response Format​

All responses are returned in JSON format:

Content-Type: application/json

Pagination​

List endpoints support pagination using limit and offset query parameters:

ParameterTypeDefaultRangeDescription
limitinteger201-100Number of items to return
offsetinteger00+Number of items to skip

Example​

# Get the first 50 crash groups
curl -H "X-API-KEY: your_rest_api_key_here" \
"https://dashboard-api.shakebugs.com/api/rest/crash_reporting/crash_groups?limit=50&offset=0"
# Get the next 50 crash groups
curl -H "X-API-KEY: your_rest_api_key_here" \
"https://dashboard-api.shakebugs.com/api/rest/crash_reporting/crash_groups?limit=50&offset=50"

HTTP Methods​

The API uses standard HTTP methods:

MethodDescription
GETRetrieve resources
POSTCreate new resources
PATCHUpdate existing resources (JSON Patch format)
DELETEDelete resources
OPTIONSCheck allowed methods for an endpoint

Error Responses​

The API uses standard HTTP status codes:

Status CodeDescription
200Success
204Success with no content
404Resource not found
422Unprocessable entity (validation error)
429Too many requests (rate limit exceeded)

Error Response Format​

{
"status": 404,
"message": "Resource not found"
}

API Reference​

Want to dive deeper into the API specifications? We've got you covered!

OpenAPI Specification​

The complete OpenAPI (Swagger) specification is available at:

https://dashboard-api.shakebugs.com/api/rest/swagger.json

This JSON file contains the full technical specification of all endpoints, request/response schemas, and parameters.

Try It Out​

You can test API endpoints and explore the interactive documentation at:

https://dashboard-api.shakebugs.com/api/rest/

Feel free to experiment there!

Next Steps​

Explore the API through our docs:

Feedback​

If you'd like to see additional endpoints or features in the Rest API, please let us know at feedback.shakebugs.com.