Base URL
All API requests should be made to:Do not include a trailing slash in the base URL. Endpoints are appended directly, e.g.,
https://api.shingleai.com/v1/contacts.v1 being the current stable version. When breaking changes are introduced, a new version will be released.
Request Format
The API accepts JSON-encoded request bodies and returns JSON-encoded responses.Required Headers
| Header | Value | Description |
|---|---|---|
Authorization | Bearer <api-key> | Your API key for authentication |
Content-Type | application/json | Required for POST, PUT, and PATCH requests |
Response Headers
Every API response includes these headers:| Header | Description |
|---|---|
X-Request-ID | Unique identifier for the request. Include this when contacting support for debugging |
X-RateLimit-Limit | Maximum requests allowed per minute |
X-RateLimit-Remaining | Requests remaining in the current window |
X-RateLimit-Reset | Unix timestamp (in seconds) when the rate limit resets |
Rate limits include burst allowances for temporary traffic spikes. See Rate Limits for details.
Response Format
All successful responses follow a consistent structure:Pagination
List endpoints support pagination usinglimit and offset query parameters:
| Parameter | Default | Max | Description |
|---|---|---|---|
limit | 10 | 100 | Number of items to return |
offset | 0 | - | Number of items to skip |
SDKs
Official SDKs for TypeScript and Python are coming soon. In the meantime, you can use the REST API directly with any HTTP client.
OpenAPI Specification
The ShingleAI API is documented using OpenAPI 3.1. You can access the specification at:Next Steps
Authentication
Learn how to create and use API keys
Error Handling
Understand error responses and codes