GDPR Compliance

We use cookies to ensure you get the best experience on our website. By continuing to use our site, you accept our use of cookies, privacy policy and terms of service.

API Docs / Rackwave Platform API
Changelog
Stable

Rackwave Platform API API Reference

Core REST API for Rackwave platform — leads, contacts, content, and analytics.

v1 https://api.rackwave.io/v1
Environments

Use the appropriate base URL for your environment. All requests must use HTTPS.

EnvironmentBase URLDefault
Production https://api.rackwave.io/v1
Sandbox https://sandbox.api.rackwave.io/v1
Authentication
BEARER

Include your bearer token in the Authorization header on every request.

HTTP Header
Authorization: Bearer {your_access_token}
Authentication

API key and OAuth 2.0 authentication.

POST
Get Access Token
/auth/token
Stable
Overview
Request
Response
Code Samples

Exchange API credentials for a bearer token.

Exchange your `client_id` and `client_secret` for a short-lived bearer token used to authenticate all subsequent API requests. Tokens expire after 3600 seconds.
POST https://api.rackwave.io/v1/auth/token
Example
JSON
{
  "client_id": "rw_live_xxxxxxxx",
  "client_secret": "sk_live_xxxxxxxxxxxxxxxxxxxxxxxx",
  "grant_type": "client_credentials"
}
200 OK
JSON
{
  "access_token": "eyJhbGciOiJIUzI1NiIs...",
  "token_type": "Bearer",
  "expires_in": 3600,
  "scope": "read write"
}
cURL
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"}'
Leads

Create, read, update, and delete leads in the pipeline.

GET
List Leads
/leads
Auth Required Stable
Overview
Parameters
Response
Code Samples

Retrieve a paginated list of leads.

Returns a paginated collection of leads. Use query parameters to filter by status, source, date range, or assigned user. Results are ordered by `created_at` descending.
GET https://api.rackwave.io/v1/leads
Query Parameters
NameTypeRequiredDescription
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.
200 OK
JSON
{
  "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
curl https://api.rackwave.io/v1/leads \
  -H "Authorization: Bearer {token}"
POST
Create Lead
/leads
Auth Required Stable
Overview
Parameters
Request
Response
Code Samples

Create a new lead in the pipeline.

Creates a new lead record. Required fields are `name` and `email`. Returns the created lead object with a generated `id`.
POST https://api.rackwave.io/v1/leads
Body Parameters
NameTypeRequiredDescription
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
JSON
{
  "name": "Jane Smith",
  "email": "jane@company.com",
  "phone": "+44 7700 900000",
  "company": "Acme Corp",
  "source": "api",
  "status": "new",
  "tags": ["enterprise", "uk"]
}
200 OK
JSON
{
  "data": {
    "id": "lead_01HXXXXXXXX",
    "name": "Jane Smith",
    "email": "jane@company.com",
    "status": "new",
    "created_at": "2026-03-27T10:00:00Z"
  }
}
cURL
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"}'
Contacts

Contact management and querying endpoints.

Webhooks

Inbound webhook configuration and event types.

Error Codes

All errors return a JSON object with a message field and, for validation errors, an errors object containing field-level details.

StatusNameDescription
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.
Error Response Shape
{
  "message": "The given data was invalid.",
  "errors": {
    "email": ["The email field is required."]
  }
}