Accounts API

https://<your-host>/api/accounts/

List

GET /api/accounts/?industry=software&search=acme
Authorization: Bearer <token>
{
  "count": 122,
  "next": "https://…/api/accounts/?page=2",
  "previous": null,
  "results": [
    {
      "id": "a001-…",
      "name": "Acme Corp",
      "industry": "software",
      "website": "https://acme.com",
      "annual_revenue": "12000000.00",
      "employees": 240,
      "parent": null,
      "owner": { "id": "u034-…", "email": "rep@yours.com" },
      "billing_address": {
        "street": "1 Main St",
        "city": "San Francisco",
        "state": "CA",
        "postcode": "94105",
        "country": "US"
      },
      "tags": ["enterprise", "west-coast"],
      "custom_fields": { "abm_tier": "gold", "arr": 240000 },
      "created_at": "2026-01-08T14:11:30Z"
    }
  ]
}

Filterable fields: industry, owner, tags, parent, search (name + website + email domain), cf_<key>.

Create

POST /api/accounts/
Content-Type: application/json

{
  "name": "Acme Corp",
  "industry": "software",
  "website": "https://acme.com",
  "annual_revenue": "12000000",
  "employees": 240,
  "billing_address": {
    "street": "1 Main St",
    "city": "San Francisco",
    "state": "CA",
    "postcode": "94105",
    "country": "US"
  },
  "tags": ["enterprise"],
  "custom_fields": { "abm_tier": "gold" }
}

Detail

GET /api/accounts/<id>/

Returns the account plus contacts, opportunities, recent activities, and custom_field_definitions for the entity — everything the detail page needs in a single round-trip.

Update / delete

PATCH  /api/accounts/<id>/
PUT    /api/accounts/<id>/
DELETE /api/accounts/<id>/

DELETE is a soft delete — recoverable from the deletion log for 30 days.

Merge

POST /api/accounts/<id>/merge/
{ "loser_id": "a099-…" }

Re-points contacts, opportunities, invoices, activities, and notes from the loser to the winner; soft-deletes the loser.

Hierarchy

Set parent to another account's ID to model holding companies / subsidiaries.

GET /api/accounts/<id>/descendants/    # full subtree
GET /api/accounts/<id>/roll-up/        # aggregated metrics across subtree

The roll-up endpoint returns total ARR, open opportunity count, and ticket counts summed across the account and all descendants.