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.