--- path: docs/api/rest-api-overview title: "REST API Overview" desc: "The Reactima REST API lets you programmatically access and manage your CRM data." date: "Mar 30, 2026" --- # REST API Overview The Reactima REST API lets you programmatically access and manage your CRM data. ## Base URL All API requests use the base URL: `https://crm.reactima.com/api/v1` ## Authentication Authenticate using an API key passed in the `Authorization` header. Generate API keys under **Settings > API Keys** in your workspace. ``` Authorization: Bearer YOUR_API_KEY ``` ## Request Format All request and response bodies use JSON. Set `Content-Type: application/json` on requests with a body. ## Common Endpoints **Contacts:** `GET /contacts` (list), `GET /contacts/:id` (read), `POST /contacts` (create), `PUT /contacts/:id` (update), `DELETE /contacts/:id` (delete). **Companies:** `GET /companies`, `GET /companies/:id`, `POST /companies`, `PUT /companies/:id`, `DELETE /companies/:id`. **Pipelines:** `GET /pipelines`, `GET /pipelines/:id/records`, `POST /pipelines/:id/records`, `PUT /pipelines/:id/records/:recordId`. **Activities:** `GET /contacts/:id/activities`, `POST /contacts/:id/activities`. ## Pagination List endpoints return paginated results. Use `?page=1&per_page=50` query parameters. The response includes `total`, `page`, `per_page`, and `total_pages` metadata. ## Rate Limits API requests are limited to 100 requests per minute per API key. Rate limit headers (`X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset`) are included in every response. See our [Rate Limit Policy](/legal/rate-limit-policy) for details. ## Error Handling Errors return standard HTTP status codes with a JSON body containing `error.message` and `error.code`. Common codes: 400 (bad request), 401 (unauthorized), 404 (not found), 429 (rate limited), 500 (server error).