Skip to content

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 hard delete. There is no deletion log and nothing to restore from, so take a database backup rather than relying on the application to keep a copy.

What accounts do not do

Three things this page used to document do not exist, and no endpoint serves them:

  • No merge. There is no POST /api/accounts/<id>/merge/. Tickets can be merged and tags can be merged; accounts cannot.
  • No hierarchy. Account has no parent field, so holding companies and subsidiaries are not modelled and there is no subtree to walk.
  • No roll-up. Nothing aggregates revenue or ticket counts across a group of accounts.

The full account surface is five routes: list, detail, a mail action, comments and attachments.