Rackwave Platform API API Reference
Core REST API for Rackwave platform — leads, contacts, content, and analytics.
Use the appropriate base URL for your environment. All requests must use HTTPS.
| Environment | Base URL | Default |
|---|---|---|
| Production | https://api.rackwave.io/v1 |
✓ |
| Sandbox | https://sandbox.api.rackwave.io/v1 |
Include your bearer token in the Authorization header on every request.
Authorization: Bearer {your_access_token}
API key and OAuth 2.0 authentication.
Exchange API credentials for a bearer token.
https://api.rackwave.io/v1/auth/token
Example
{
"client_id": "rw_live_xxxxxxxx",
"client_secret": "sk_live_xxxxxxxxxxxxxxxxxxxxxxxx",
"grant_type": "client_credentials"
}
{
"access_token": "eyJhbGciOiJIUzI1NiIs...",
"token_type": "Bearer",
"expires_in": 3600,
"scope": "read write"
}
curl -X POST https://api.rackwave.io/v1/auth/token \
-H "Content-Type: application/json" \
-d '{"client_id":"rw_live_xxx","client_secret":"sk_live_xxx","grant_type":"client_credentials"}'
Create, read, update, and delete leads in the pipeline.
Retrieve a paginated list of leads.
https://api.rackwave.io/v1/leads
Query Parameters
| Name | Type | Required | Description |
|---|---|---|---|
|
page
query
1
|
integer | Optional | Page number for pagination. |
|
per_page
query
20
|
integer | Optional | Results per page. Max 100. |
|
status
query
new
|
string | Optional | Filter by status: new, contacted, qualified, won, lost. |
|
search
query
Jane
|
string | Optional | Full-text search across name, email, company. |
{
"data": [
{
"id": "lead_01HXXXXXXXX",
"name": "Jane Smith",
"email": "jane@company.com",
"phone": "+44 7700 900000",
"status": "new",
"source": "website",
"created_at": "2026-03-27T10:00:00Z"
}
],
"meta": {
"total": 142,
"per_page": 20,
"current_page": 1,
"last_page": 8
}
}
curl https://api.rackwave.io/v1/leads \
-H "Authorization: Bearer {token}"
Create a new lead in the pipeline.
https://api.rackwave.io/v1/leads
Body Parameters
| Name | Type | Required | Description |
|---|---|---|---|
|
name
body
Jane Smith
|
string | Required | Full name of the lead. |
|
email
body
jane@company.com
|
string | Required | Email address. Must be unique. |
|
phone
body
+447700900000
|
string | Optional | Phone number in E.164 format. |
|
company
body
Acme Corp
|
string | Optional | Company or organisation name. |
|
source
body
api
|
string | Optional | Lead source: api, website, referral, manual. |
|
tags
body
["enterprise"]
|
array | Optional | Array of tag strings for categorisation. |
Example
{
"name": "Jane Smith",
"email": "jane@company.com",
"phone": "+44 7700 900000",
"company": "Acme Corp",
"source": "api",
"status": "new",
"tags": ["enterprise", "uk"]
}
{
"data": {
"id": "lead_01HXXXXXXXX",
"name": "Jane Smith",
"email": "jane@company.com",
"status": "new",
"created_at": "2026-03-27T10:00:00Z"
}
}
curl -X POST https://api.rackwave.io/v1/leads \
-H "Authorization: Bearer {token}" \
-H "Content-Type: application/json" \
-d '{"name":"Jane Smith","email":"jane@company.com"}'
Contact management and querying endpoints.
Inbound webhook configuration and event types.
All errors return a JSON object with a message field and, for validation errors, an errors object containing field-level details.
| Status | Name | Description |
|---|---|---|
| 200 | OK | Request succeeded. |
| 201 | Created | Resource created successfully. |
| 400 | Bad Request | The request body or parameters are invalid. |
| 401 | Unauthorized | Missing or invalid bearer token. |
| 403 | Forbidden | Token does not have permission for this action. |
| 404 | Not Found | The requested resource does not exist. |
| 422 | Unprocessable Entity | Validation failed. Check the `errors` field in the response body. |
| 429 | Too Many Requests | Rate limit exceeded. Retry after the `Retry-After` header value. |
| 500 | Internal Server Error | An unexpected error occurred on the server. |
{
"message": "The given data was invalid.",
"errors": {
"email": ["The email field is required."]
}
}