ackDB

Query companies

Compiles the filter/sort/columns into parameterized read-only SQL (run on the ackdb_readonly role) and returns a page of company rows with pagination metadata. If the count query is rejected or times out, total is clamped and pagination.totalIsLowerBound is set to true.

post/api/v1/ackdb/observe/companies/query

Request

  • Base URL
    http://localhost:3009
  • Auth
    HTTP bearer

Request body

limitinteger

Page size, default 50. A limit above 1000 is a 400 - it is never clamped, because a clamped page size that the caller then steps offset by skips rows invisibly.

offsetinteger
idsstring[]

Optional explicit id selection (pick specific rows instead of a filter). Each id is the row's grain id - entity_id for companies, contact_id for contacts, person_id for persons. When present, results are restricted to these ids, columns/sort still apply, any filter is ANDed in, and the id set becomes the page (limit/offset ignored). Empty array returns no rows; over 500 ids returns 400.

Example request

{
  "filter": {
    "children": [
      {
        "traitKey": "hubspot_lifecycle_stage"
      }
    ]
  },
  "sort": [
    {
      "field": "event_count"
    }
  ],
  "columns": [
    {
      "field": "name",
      "frozen": true,
      "width": 200
    }
  ],
  "limit": 50
}

Response

A page of company rows.

Example response

{
  "pagination": {
    "total": 150,
    "limit": 50,
    "totalIsLowerBound": true
  }
}

Changes

No recorded changes to this operation across all 1 revision of this API.