Skip to main content

Overview

Shake REST API

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

Base URL

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

Authentication

All API requests require authentication using an API key. You can find your API key in your Shake dashboard.

Include your API key in the request header:

X-API-KEY: your_api_key_here

Example Request

curl -H "X-API-KEY: your_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_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:

Accounts

Manage team members and access control for your organization.

Crash Reporting

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

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

Issue Tracking

Track and manage user-reported issues including:

  • Issue management and lifecycle
  • Chat conversations with users
  • Activity logs and history

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