Companies

Create, retrieve, update, and delete companies. Manage related notes, tasks, contacts, and deals. Import and export company data in bulk.

All Companies endpoints require JWT authentication via the Authorization: Bearer <token> header. Some endpoints require Admin role.

Core Endpoints

GET /companies List companies
JWT Required

Retrieve a paginated list of companies with optional filters.

Query Parameters

NameTypeRequiredDescription
page integer Optional Page number for pagination. Default: 1
per_page integer Optional Number of results per page (max 100). Default: 25. Max: 100
search string Optional Search term to filter results
status string Optional Values: active, inactive
industry string Optional
assigned_to integer Optional
date_from string Optional Filter by created_at start date (YYYY-MM-DD)
date_to string Optional Filter by created_at end date (YYYY-MM-DD)
scope string Optional Filter by user scope (me, team, company). Values: me, team, company
sort_by string Optional Sort field (default: name). Values: name, email, phone, industry, assigned_to_name, contact_count, deal_count, created_at
sort_dir string Optional Sort direction (default: ASC). Values: ASC, DESC

Response

Paginated company list

{
    "data": [
        {
            "id": 5,
            "name": "Acme Corp",
            "industry": "Technology",
            "website": "https://acme.com",
            "phone": "+1-555-0200",
            "email": "info@acme.com",
            "address_street": "456 Business Ave",
            "address_city": "Toronto",
            "address_state": "ON",
            "address_zip": "M5V 3A1",
            "address_country": "Canada",
            "notes": "...",
            "tags": "...",
            "status": "active",
            "assigned_to": 1,
            "created_at": "2026-01-15T09:30:00.000000Z",
            "updated_at": "2026-01-15T09:30:00.000000Z"
        }
    ],
    "current_page": 1,
    "last_page": 1,
    "per_page": 1,
    "total": 1
}

Code Examples

curl -X GET "https://crm.revorbit.com/api/companies" \
  -H "Authorization: Bearer YOUR_JWT_TOKEN"
const response = await fetch(
  "https://crm.revorbit.com/api/companies",
  {
    method: "GET",
    headers: {
      "Authorization": "Bearer YOUR_JWT_TOKEN",
    }
  }
);
const data = await response.json();
POST /companies Create company
JWT Required

Request Body

NameTypeRequiredDescription
name string Required Company name
industry string Optional
website string Optional
phone string Optional
email string Optional
address_street string Optional
address_city string Optional
address_state string Optional
address_zip string Optional
address_country string Optional
notes string Optional
tags string Optional
status string Optional Values: active, inactive
assigned_to integer Optional

Response

Company created

{
    "success": true,
    "data": {
        "id": 5,
        "name": "Acme Corp",
        "industry": "Technology",
        "website": "https://acme.com",
        "phone": "+1-555-0200",
        "email": "info@acme.com",
        "address_street": "456 Business Ave",
        "address_city": "Toronto",
        "address_state": "ON",
        "address_zip": "M5V 3A1",
        "address_country": "Canada",
        "notes": "...",
        "tags": "...",
        "status": "active",
        "assigned_to": 1,
        "created_at": "2026-01-15T09:30:00.000000Z",
        "updated_at": "2026-01-15T09:30:00.000000Z"
    }
}

Code Examples

curl -X POST "https://crm.revorbit.com/api/companies" \
  -H "Authorization: Bearer YOUR_JWT_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "...",
    "industry": "...",
    "website": "...",
    "phone": "...",
    "email": "...",
    "address_street": "...",
    "address_city": "...",
    "address_state": "...",
    "address_zip": "...",
    "address_country": "...",
    "notes": "...",
    "tags": "...",
    "status": "active",
    "assigned_to": 1
}'
const response = await fetch(
  "https://crm.revorbit.com/api/companies",
  {
    method: "POST",
    headers: {
      "Authorization": "Bearer YOUR_JWT_TOKEN",
      "Content-Type": "application/json"
    },
    body: JSON.stringify(
      {
          "name": "...",
          "industry": "...",
          "website": "...",
          "phone": "...",
          "email": "...",
          "address_street": "...",
          "address_city": "...",
          "address_state": "...",
          "address_zip": "...",
          "address_country": "...",
          "notes": "...",
          "tags": "...",
          "status": "active",
          "assigned_to": 1
      }
    )
  }
);
const data = await response.json();
GET /companies/list List companies (simple)
JWT Required

Lightweight list of all companies (id + name only) for dropdowns.

Code Examples

curl -X GET "https://crm.revorbit.com/api/companies/list" \
  -H "Authorization: Bearer YOUR_JWT_TOKEN"
const response = await fetch(
  "https://crm.revorbit.com/api/companies/list",
  {
    method: "GET",
    headers: {
      "Authorization": "Bearer YOUR_JWT_TOKEN",
    }
  }
);
const data = await response.json();
GET /companies/{id} Get company
JWT Required

Path Parameters

NameTypeRequiredDescription
id integer Required Resource ID

Response

Company details

{
    "success": true,
    "data": {
        "id": 5,
        "name": "Acme Corp",
        "industry": "Technology",
        "website": "https://acme.com",
        "phone": "+1-555-0200",
        "email": "info@acme.com",
        "address_street": "456 Business Ave",
        "address_city": "Toronto",
        "address_state": "ON",
        "address_zip": "M5V 3A1",
        "address_country": "Canada",
        "notes": "...",
        "tags": "...",
        "status": "active",
        "assigned_to": 1,
        "created_at": "2026-01-15T09:30:00.000000Z",
        "updated_at": "2026-01-15T09:30:00.000000Z"
    }
}

Code Examples

curl -X GET "https://crm.revorbit.com/api/companies/{id}" \
  -H "Authorization: Bearer YOUR_JWT_TOKEN"
const response = await fetch(
  "https://crm.revorbit.com/api/companies/{id}",
  {
    method: "GET",
    headers: {
      "Authorization": "Bearer YOUR_JWT_TOKEN",
    }
  }
);
const data = await response.json();
PUT /companies/{id} Update company
JWT Required

Path Parameters

NameTypeRequiredDescription
id integer Required Resource ID

Request Body

NameTypeRequiredDescription
name string Required Company name
industry string Optional
website string Optional
phone string Optional
email string Optional
address_street string Optional
address_city string Optional
address_state string Optional
address_zip string Optional
address_country string Optional
notes string Optional
tags string Optional
status string Optional Values: active, inactive
assigned_to integer Optional

Code Examples

curl -X PUT "https://crm.revorbit.com/api/companies/{id}" \
  -H "Authorization: Bearer YOUR_JWT_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "...",
    "industry": "...",
    "website": "...",
    "phone": "...",
    "email": "...",
    "address_street": "...",
    "address_city": "...",
    "address_state": "...",
    "address_zip": "...",
    "address_country": "...",
    "notes": "...",
    "tags": "...",
    "status": "active",
    "assigned_to": 1
}'
const response = await fetch(
  "https://crm.revorbit.com/api/companies/{id}",
  {
    method: "PUT",
    headers: {
      "Authorization": "Bearer YOUR_JWT_TOKEN",
      "Content-Type": "application/json"
    },
    body: JSON.stringify(
      {
          "name": "...",
          "industry": "...",
          "website": "...",
          "phone": "...",
          "email": "...",
          "address_street": "...",
          "address_city": "...",
          "address_state": "...",
          "address_zip": "...",
          "address_country": "...",
          "notes": "...",
          "tags": "...",
          "status": "active",
          "assigned_to": 1
      }
    )
  }
);
const data = await response.json();
DELETE /companies/{id} Delete company
JWT Required

Path Parameters

NameTypeRequiredDescription
id integer Required Resource ID

Code Examples

curl -X DELETE "https://crm.revorbit.com/api/companies/{id}" \
  -H "Authorization: Bearer YOUR_JWT_TOKEN"
const response = await fetch(
  "https://crm.revorbit.com/api/companies/{id}",
  {
    method: "DELETE",
    headers: {
      "Authorization": "Bearer YOUR_JWT_TOKEN",
    }
  }
);
const data = await response.json();
POST /companies/{id}/notes Add note to company
JWT Required

Path Parameters

NameTypeRequiredDescription
id integer Required Resource ID

Request Body

NameTypeRequiredDescription
content string Required

Code Examples

curl -X POST "https://crm.revorbit.com/api/companies/{id}/notes" \
  -H "Authorization: Bearer YOUR_JWT_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"content":"..."}'
const response = await fetch(
  "https://crm.revorbit.com/api/companies/{id}/notes",
  {
    method: "POST",
    headers: {
      "Authorization": "Bearer YOUR_JWT_TOKEN",
      "Content-Type": "application/json"
    },
    body: JSON.stringify(
      {
          "content": "..."
      }
    )
  }
);
const data = await response.json();
DELETE /companies/{id}/notes/{noteId} Delete company note
JWT Required

Path Parameters

NameTypeRequiredDescription
id integer Required Resource ID
noteId integer Required

Code Examples

curl -X DELETE "https://crm.revorbit.com/api/companies/{id}/notes/{noteId}" \
  -H "Authorization: Bearer YOUR_JWT_TOKEN"
const response = await fetch(
  "https://crm.revorbit.com/api/companies/{id}/notes/{noteId}",
  {
    method: "DELETE",
    headers: {
      "Authorization": "Bearer YOUR_JWT_TOKEN",
    }
  }
);
const data = await response.json();
GET /companies/{id}/tasks Get company tasks
JWT Required

Path Parameters

NameTypeRequiredDescription
id integer Required Resource ID

Code Examples

curl -X GET "https://crm.revorbit.com/api/companies/{id}/tasks" \
  -H "Authorization: Bearer YOUR_JWT_TOKEN"
const response = await fetch(
  "https://crm.revorbit.com/api/companies/{id}/tasks",
  {
    method: "GET",
    headers: {
      "Authorization": "Bearer YOUR_JWT_TOKEN",
    }
  }
);
const data = await response.json();
POST /companies/{id}/tasks Add task to company
JWT Required

Path Parameters

NameTypeRequiredDescription
id integer Required Resource ID

Request Body

NameTypeRequiredDescription
title string Required
description string Optional
due_date date Optional
due_time string Optional
priority string Optional Values: low, medium, high
assigned_to integer Optional
contact_id integer Optional
company_id integer Optional
deal_id integer Optional

Code Examples

curl -X POST "https://crm.revorbit.com/api/companies/{id}/tasks" \
  -H "Authorization: Bearer YOUR_JWT_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "title": "...",
    "description": "...",
    "due_date": "2026-01-15",
    "due_time": "...",
    "priority": "low",
    "assigned_to": 1,
    "contact_id": 1,
    "company_id": 1,
    "deal_id": 1
}'
const response = await fetch(
  "https://crm.revorbit.com/api/companies/{id}/tasks",
  {
    method: "POST",
    headers: {
      "Authorization": "Bearer YOUR_JWT_TOKEN",
      "Content-Type": "application/json"
    },
    body: JSON.stringify(
      {
          "title": "...",
          "description": "...",
          "due_date": "2026-01-15",
          "due_time": "...",
          "priority": "low",
          "assigned_to": 1,
          "contact_id": 1,
          "company_id": 1,
          "deal_id": 1
      }
    )
  }
);
const data = await response.json();
PUT /companies/{id}/tasks/{taskId} Update company task
JWT Required

Path Parameters

NameTypeRequiredDescription
id integer Required Resource ID
taskId integer Required

Request Body

NameTypeRequiredDescription
title string Required
description string Optional
due_date date Optional
due_time string Optional
priority string Optional Values: low, medium, high
assigned_to integer Optional
contact_id integer Optional
company_id integer Optional
deal_id integer Optional

Code Examples

curl -X PUT "https://crm.revorbit.com/api/companies/{id}/tasks/{taskId}" \
  -H "Authorization: Bearer YOUR_JWT_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "title": "...",
    "description": "...",
    "due_date": "2026-01-15",
    "due_time": "...",
    "priority": "low",
    "assigned_to": 1,
    "contact_id": 1,
    "company_id": 1,
    "deal_id": 1
}'
const response = await fetch(
  "https://crm.revorbit.com/api/companies/{id}/tasks/{taskId}",
  {
    method: "PUT",
    headers: {
      "Authorization": "Bearer YOUR_JWT_TOKEN",
      "Content-Type": "application/json"
    },
    body: JSON.stringify(
      {
          "title": "...",
          "description": "...",
          "due_date": "2026-01-15",
          "due_time": "...",
          "priority": "low",
          "assigned_to": 1,
          "contact_id": 1,
          "company_id": 1,
          "deal_id": 1
      }
    )
  }
);
const data = await response.json();
DELETE /companies/{id}/tasks/{taskId} Delete company task
JWT Required

Path Parameters

NameTypeRequiredDescription
id integer Required Resource ID
taskId integer Required

Code Examples

curl -X DELETE "https://crm.revorbit.com/api/companies/{id}/tasks/{taskId}" \
  -H "Authorization: Bearer YOUR_JWT_TOKEN"
const response = await fetch(
  "https://crm.revorbit.com/api/companies/{id}/tasks/{taskId}",
  {
    method: "DELETE",
    headers: {
      "Authorization": "Bearer YOUR_JWT_TOKEN",
    }
  }
);
const data = await response.json();
GET /companies/export Export companies
Admin Required

Response

CSV download (binary file download)

Code Examples

curl -X GET "https://crm.revorbit.com/api/companies/export" \
  -H "Authorization: Bearer YOUR_JWT_TOKEN"
const response = await fetch(
  "https://crm.revorbit.com/api/companies/export",
  {
    method: "GET",
    headers: {
      "Authorization": "Bearer YOUR_JWT_TOKEN",
    }
  }
);
const data = await response.json();
GET /companies/template Get import template
Admin Required

Code Examples

curl -X GET "https://crm.revorbit.com/api/companies/template" \
  -H "Authorization: Bearer YOUR_JWT_TOKEN"
const response = await fetch(
  "https://crm.revorbit.com/api/companies/template",
  {
    method: "GET",
    headers: {
      "Authorization": "Bearer YOUR_JWT_TOKEN",
    }
  }
);
const data = await response.json();
POST /companies/import Import companies
Admin Required

Request Body

NameTypeRequiredDescription
file file Optional

Code Examples

curl -X POST "https://crm.revorbit.com/api/companies/import" \
  -H "Authorization: Bearer YOUR_JWT_TOKEN" \
  -F "file=@/path/to/file"
const response = await fetch(
  "https://crm.revorbit.com/api/companies/import",
  {
    method: "POST",
    headers: {
      "Authorization": "Bearer YOUR_JWT_TOKEN",
    }
  }
);
const data = await response.json();