REST API reference
Companies
The organizations your customers belong to, with plan and spend data for routing and reports.
Companies group people: link a contact with POST /contacts/{id}/companies and every conversation shows the company’s plan and spend. Reads need companies:read; changes need companies:write.
The company object
Returned by every company endpoint.
Fields
-
objectstring - Always
company. -
idstring - Unique id (UUID).
-
externalIdstring | null - Your product’s company id. Unique per workspace.
-
namestring - Company name.
-
websitestring | null - Normalized to an
https://URL. -
industrystring | null - Free text.
-
sizeinteger | null - Number of employees.
-
planNamestring | null - Their plan in your product.
-
monthlySpendCentsinteger | null - What they pay you per month, in cents.
-
userCountinteger - People linked to the company.
-
lastSeenAttimestamp | null - Last activity of any of its people.
-
customAttributesobject - Company data attributes by key.
-
tagsarray - Tags as
{ id, name }. -
createdAttimestamp - Created.
-
updatedAttimestamp - Last change.
{ "object": "company", "id": "0199c514-2b3c-7d4e-9f5a-6b7c8d9e0f1a", "externalId": "cmp_1102", "name": "Northwind Analytics", "website": "https://northwind.example", "industry": "Software", "size": 180, "planName": "Business", "monthlySpendCents": 149000, "userCount": 23, "lastSeenAt": "2026-10-02T13:58:20.000Z", "customAttributes": { "region": "EMEA" }, "tags": [ { "id": "0199a8f3-5d6e-7f7a-8b8c-9d0e1f2a3b4c", "name": "VIP" } ], "createdAt": "2025-03-08T10:00:00.000Z", "updatedAt": "2026-10-02T16:40:03.000Z"} List companies
/v1 /companies companies:read Companies, newest first by default. externalId returns the exact match (one page). The first page includes total.
Query parameters
-
qstring - Free text: name, website, company id or industry.
-
externalIdstring - Exact lookup by your company id.
-
segmentIdstring - A saved company segment.
-
sortenum name,lastSeenAt,createdAt,userCount,monthlySpendCents,size. DefaultcreatedAt.-
directionenum ascordesc. Defaultdesc.-
limitinteger - Items per page, 1–100. Default
25. -
cursorstring - The
nextCursorof the previous page.
curl https://api.rabbitblaze.com/v1/companies?sort=monthlySpendCents&limit=10 \ -H "Authorization: Bearer $RABBITBLAZE_API_KEY" const res = await fetch("https://api.rabbitblaze.com/v1/companies?sort=monthlySpendCents&limit=10", { headers: { Authorization: `Bearer ${process.env.RABBITBLAZE_API_KEY}`, },})const data = await res.json() import osimport requests res = requests.get( "https://api.rabbitblaze.com/v1/companies", headers={"Authorization": f"Bearer {os.environ['RABBITBLAZE_API_KEY']}"}, params={ "sort": "monthlySpendCents", "limit": "10", },)res.raise_for_status()data = res.json() { "items": [ { "object": "company", "id": "0199c514-2b3c-7d4e-9f5a-6b7c8d9e0f1a", "externalId": "cmp_1102", "name": "Northwind Analytics", "website": "https://northwind.example", "industry": "Software", "size": 180, "planName": "Business", "monthlySpendCents": 149000, "userCount": 23, "lastSeenAt": "2026-10-02T13:58:20.000Z", "customAttributes": { "region": "EMEA" }, "tags": [ { "id": "0199a8f3-5d6e-7f7a-8b8c-9d0e1f2a3b4c", "name": "VIP" } ], "createdAt": "2025-03-08T10:00:00.000Z", "updatedAt": "2026-10-02T16:40:03.000Z" } ], "nextCursor": "WyIyMDI2LTEwLTAyVDE0OjA1OjMxLjAwMFoiLCIwMTk5YzUyMC03ZThmIl0", "total": 87} Search companies
/v1 /companies/search companies:read Rule-based filtering, like searching contacts, with company.* attribute paths.
Body
-
querystring - Free text.
-
filterrule group { combinator, rules }oncompany.*paths.-
segmentIdstring - Only companies in this segment.
-
sortenum - Same fields as listing.
-
directionenum ascordesc.-
limitinteger - Items per page, 1–100. Default
25. -
cursorstring - The
nextCursorof the previous page.
curl -X POST https://api.rabbitblaze.com/v1/companies/search \ -H "Authorization: Bearer $RABBITBLAZE_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "filter": { "combinator": "and", "rules": [ { "attribute": "company.monthly_spend", "operator": "gte", "value": 100000 } ] }}' const res = await fetch("https://api.rabbitblaze.com/v1/companies/search", { method: "POST", headers: { Authorization: `Bearer ${process.env.RABBITBLAZE_API_KEY}`, "Content-Type": "application/json", }, body: JSON.stringify({ filter: { combinator: "and", rules: [ { attribute: "company.monthly_spend", operator: "gte", value: 100000, }, ], }, }),})const data = await res.json() import osimport requests res = requests.post( "https://api.rabbitblaze.com/v1/companies/search", headers={"Authorization": f"Bearer {os.environ['RABBITBLAZE_API_KEY']}"}, json={ "filter": { "combinator": "and", "rules": [ { "attribute": "company.monthly_spend", "operator": "gte", "value": 100000, }, ], }, },)res.raise_for_status()data = res.json() { "items": [ { "object": "company", "id": "0199c514-2b3c-7d4e-9f5a-6b7c8d9e0f1a", "externalId": "cmp_1102", "name": "Northwind Analytics", "website": "https://northwind.example", "industry": "Software", "size": 180, "planName": "Business", "monthlySpendCents": 149000, "userCount": 23, "lastSeenAt": "2026-10-02T13:58:20.000Z", "customAttributes": { "region": "EMEA" }, "tags": [ { "id": "0199a8f3-5d6e-7f7a-8b8c-9d0e1f2a3b4c", "name": "VIP" } ], "createdAt": "2025-03-08T10:00:00.000Z", "updatedAt": "2026-10-02T16:40:03.000Z" } ], "nextCursor": null, "total": 1} Retrieve a company
/v1 /companies/{id} companies:read One company by id.
Path parameters
-
idstring required - The company id.
curl https://api.rabbitblaze.com/v1/companies/0199c514-2b3c-7d4e-9f5a-6b7c8d9e0f1a \ -H "Authorization: Bearer $RABBITBLAZE_API_KEY" const res = await fetch("https://api.rabbitblaze.com/v1/companies/0199c514-2b3c-7d4e-9f5a-6b7c8d9e0f1a", { headers: { Authorization: `Bearer ${process.env.RABBITBLAZE_API_KEY}`, },})const data = await res.json() import osimport requests res = requests.get( "https://api.rabbitblaze.com/v1/companies/0199c514-2b3c-7d4e-9f5a-6b7c8d9e0f1a", headers={"Authorization": f"Bearer {os.environ['RABBITBLAZE_API_KEY']}"},)res.raise_for_status()data = res.json() { "object": "company", "id": "0199c514-2b3c-7d4e-9f5a-6b7c8d9e0f1a", "externalId": "cmp_1102", "name": "Northwind Analytics", "website": "https://northwind.example", "industry": "Software", "size": 180, "planName": "Business", "monthlySpendCents": 149000, "userCount": 23, "lastSeenAt": "2026-10-02T13:58:20.000Z", "customAttributes": { "region": "EMEA" }, "tags": [ { "id": "0199a8f3-5d6e-7f7a-8b8c-9d0e1f2a3b4c", "name": "VIP" } ], "createdAt": "2025-03-08T10:00:00.000Z", "updatedAt": "2026-10-02T16:40:03.000Z"} Create a company
/v1 /companies companies:write Creates a company. An externalId that’s already used answers 409 conflict.
Body
-
namestring required - Up to 200 characters.
-
externalIdstring | null - Your company id, up to 255 characters.
-
websitestring | null - A domain or URL; stored as
https://…. -
industrystring | null - Up to 120 characters.
-
sizeinteger | null - Employees, 0–10,000,000.
-
planNamestring | null - Up to 120 characters.
-
monthlySpendCentsinteger | null - Monthly spend in cents.
-
customAttributesobject - Values by company attribute key;
nullclears one.
curl -X POST https://api.rabbitblaze.com/v1/companies \ -H "Authorization: Bearer $RABBITBLAZE_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "name": "Northwind Analytics", "externalId": "cmp_1102", "website": "northwind.example", "planName": "Business", "monthlySpendCents": 149000}' const res = await fetch("https://api.rabbitblaze.com/v1/companies", { method: "POST", headers: { Authorization: `Bearer ${process.env.RABBITBLAZE_API_KEY}`, "Content-Type": "application/json", }, body: JSON.stringify({ name: "Northwind Analytics", externalId: "cmp_1102", website: "northwind.example", planName: "Business", monthlySpendCents: 149000, }),})const data = await res.json() import osimport requests res = requests.post( "https://api.rabbitblaze.com/v1/companies", headers={"Authorization": f"Bearer {os.environ['RABBITBLAZE_API_KEY']}"}, json={ "name": "Northwind Analytics", "externalId": "cmp_1102", "website": "northwind.example", "planName": "Business", "monthlySpendCents": 149000, },)res.raise_for_status()data = res.json() { "object": "company", "id": "0199c514-2b3c-7d4e-9f5a-6b7c8d9e0f1a", "externalId": "cmp_1102", "name": "Northwind Analytics", "website": "https://northwind.example", "industry": "Software", "size": 180, "planName": "Business", "monthlySpendCents": 149000, "userCount": 23, "lastSeenAt": "2026-10-02T13:58:20.000Z", "customAttributes": { "region": "EMEA" }, "tags": [ { "id": "0199a8f3-5d6e-7f7a-8b8c-9d0e1f2a3b4c", "name": "VIP" } ], "createdAt": "2025-03-08T10:00:00.000Z", "updatedAt": "2026-10-02T16:40:03.000Z"} Update a company
/v1 /companies/{id} companies:write Changes only the fields you send.
Path parameters
-
idstring required - The company id.
Body
-
namestring - Up to 200 characters.
-
externalIdstring | null - Your company id, up to 255 characters.
-
websitestring | null - A domain or URL; stored as
https://…. -
industrystring | null - Up to 120 characters.
-
sizeinteger | null - Employees, 0–10,000,000.
-
planNamestring | null - Up to 120 characters.
-
monthlySpendCentsinteger | null - Monthly spend in cents.
-
customAttributesobject - Values by company attribute key;
nullclears one.
curl -X PATCH https://api.rabbitblaze.com/v1/companies/0199c514-2b3c-7d4e-9f5a-6b7c8d9e0f1a \ -H "Authorization: Bearer $RABBITBLAZE_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "planName": "Enterprise", "monthlySpendCents": 490000}' const res = await fetch("https://api.rabbitblaze.com/v1/companies/0199c514-2b3c-7d4e-9f5a-6b7c8d9e0f1a", { method: "PATCH", headers: { Authorization: `Bearer ${process.env.RABBITBLAZE_API_KEY}`, "Content-Type": "application/json", }, body: JSON.stringify({ planName: "Enterprise", monthlySpendCents: 490000, }),})const data = await res.json() import osimport requests res = requests.patch( "https://api.rabbitblaze.com/v1/companies/0199c514-2b3c-7d4e-9f5a-6b7c8d9e0f1a", headers={"Authorization": f"Bearer {os.environ['RABBITBLAZE_API_KEY']}"}, json={ "planName": "Enterprise", "monthlySpendCents": 490000, },)res.raise_for_status()data = res.json() { "object": "company", "id": "0199c514-2b3c-7d4e-9f5a-6b7c8d9e0f1a", "externalId": "cmp_1102", "name": "Northwind Analytics", "website": "https://northwind.example", "industry": "Software", "size": 180, "planName": "Enterprise", "monthlySpendCents": 490000, "userCount": 23, "lastSeenAt": "2026-10-02T13:58:20.000Z", "customAttributes": { "region": "EMEA" }, "tags": [ { "id": "0199a8f3-5d6e-7f7a-8b8c-9d0e1f2a3b4c", "name": "VIP" } ], "createdAt": "2025-03-08T10:00:00.000Z", "updatedAt": "2026-10-02T16:40:03.000Z"} Delete a company
/v1 /companies/{id} companies:write Deletes the company. Its people stay, unlinked.
Path parameters
-
idstring required - The company id.
curl -X DELETE https://api.rabbitblaze.com/v1/companies/0199c514-2b3c-7d4e-9f5a-6b7c8d9e0f1a \ -H "Authorization: Bearer $RABBITBLAZE_API_KEY" const res = await fetch("https://api.rabbitblaze.com/v1/companies/0199c514-2b3c-7d4e-9f5a-6b7c8d9e0f1a", { method: "DELETE", headers: { Authorization: `Bearer ${process.env.RABBITBLAZE_API_KEY}`, },})const data = await res.json() import osimport requests res = requests.delete( "https://api.rabbitblaze.com/v1/companies/0199c514-2b3c-7d4e-9f5a-6b7c8d9e0f1a", headers={"Authorization": f"Bearer {os.environ['RABBITBLAZE_API_KEY']}"},)res.raise_for_status()data = res.json() { "object": "company", "id": "0199c514-2b3c-7d4e-9f5a-6b7c8d9e0f1a", "deleted": true} List a company’s people
/v1 /companies/{id}/contacts contacts:read People linked to the company, newest first.
Path parameters
-
idstring required - The company id.
Query parameters
-
limitinteger - Items per page, 1–100. Default
25. -
cursorstring - The
nextCursorof the previous page.
curl https://api.rabbitblaze.com/v1/companies/0199c514-2b3c-7d4e-9f5a-6b7c8d9e0f1a/contacts \ -H "Authorization: Bearer $RABBITBLAZE_API_KEY" const res = await fetch("https://api.rabbitblaze.com/v1/companies/0199c514-2b3c-7d4e-9f5a-6b7c8d9e0f1a/contacts", { headers: { Authorization: `Bearer ${process.env.RABBITBLAZE_API_KEY}`, },})const data = await res.json() import osimport requests res = requests.get( "https://api.rabbitblaze.com/v1/companies/0199c514-2b3c-7d4e-9f5a-6b7c8d9e0f1a/contacts", headers={"Authorization": f"Bearer {os.environ['RABBITBLAZE_API_KEY']}"},)res.raise_for_status()data = res.json() { "items": [ { "object": "contact", "id": "0199c512-6a7b-7c8d-9e0f-1a2b3c4d5e6f", "role": "user", "externalId": "usr_48213", "email": "[email protected]", "phone": "+49 30 1234567", "name": "Lena Fischer", "avatarUrl": null, "ownerId": "0199a8f2-2d3e-7f4a-9b5c-6d7e8f9a0b1c", "location": { "city": "Berlin", "region": "Berlin", "country": "Germany", "countryCode": "DE", "timezone": "Europe/Berlin" }, "language": "de", "browser": "Chrome", "os": "macOS", "lastSeenAt": "2026-10-02T13:58:20.000Z", "lastContactedAt": "2026-10-02T14:11:08.000Z", "lastRepliedAt": "2026-10-02T14:05:31.000Z", "signedUpAt": "2025-03-08T10:00:00.000Z", "sessionCount": 214, "unsubscribedFromEmails": false, "blocked": false, "customAttributes": { "plan": "business", "seats": 12, "mrr": 1490 }, "tags": [ { "id": "0199a8f3-5d6e-7f7a-8b8c-9d0e1f2a3b4c", "name": "VIP" } ], "companies": [ { "id": "0199c514-2b3c-7d4e-9f5a-6b7c8d9e0f1a", "name": "Northwind Analytics" } ], "createdAt": "2026-09-14T09:12:44.000Z", "updatedAt": "2026-10-02T16:40:03.000Z" } ], "nextCursor": "WyIyMDI2LTEwLTAyVDE0OjA1OjMxLjAwMFoiLCIwMTk5YzUyMC03ZThmIl0"} Tag a company
/v1 /companies/{id}/tags companies:write Adds a tag; remove it with DELETE /companies/{id}/tags/{tagId}. Both return the company.
Path parameters
-
idstring required - The company id.
Body
-
tagIdstring required - A tag id.
curl -X POST https://api.rabbitblaze.com/v1/companies/0199c514-2b3c-7d4e-9f5a-6b7c8d9e0f1a/tags \ -H "Authorization: Bearer $RABBITBLAZE_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "tagId": "0199a8f3-5d6e-7f7a-8b8c-9d0e1f2a3b4c"}' const res = await fetch("https://api.rabbitblaze.com/v1/companies/0199c514-2b3c-7d4e-9f5a-6b7c8d9e0f1a/tags", { method: "POST", headers: { Authorization: `Bearer ${process.env.RABBITBLAZE_API_KEY}`, "Content-Type": "application/json", }, body: JSON.stringify({ tagId: "0199a8f3-5d6e-7f7a-8b8c-9d0e1f2a3b4c", }),})const data = await res.json() import osimport requests res = requests.post( "https://api.rabbitblaze.com/v1/companies/0199c514-2b3c-7d4e-9f5a-6b7c8d9e0f1a/tags", headers={"Authorization": f"Bearer {os.environ['RABBITBLAZE_API_KEY']}"}, json={ "tagId": "0199a8f3-5d6e-7f7a-8b8c-9d0e1f2a3b4c", },)res.raise_for_status()data = res.json() { "object": "company", "id": "0199c514-2b3c-7d4e-9f5a-6b7c8d9e0f1a", "externalId": "cmp_1102", "name": "Northwind Analytics", "website": "https://northwind.example", "industry": "Software", "size": 180, "planName": "Business", "monthlySpendCents": 149000, "userCount": 23, "lastSeenAt": "2026-10-02T13:58:20.000Z", "customAttributes": { "region": "EMEA" }, "tags": [ { "id": "0199a8f3-5d6e-7f7a-8b8c-9d0e1f2a3b4c", "name": "VIP" } ], "createdAt": "2025-03-08T10:00:00.000Z", "updatedAt": "2026-10-02T16:40:03.000Z"}