ackDB

Export companies as CSV

Exports the current filtered company view (or an explicit by-ids selection) as a CSV download. Body is the same ObserveQueryRequest the table queries with, EXCEPT limit/offset are ignored - the whole matched set is paged server-side. When columns is omitted it falls back to the company default-view columns. When ids is present (≤500), exactly those rows are exported (any filter is ANDed in); an empty ids array yields a header-only CSV. Cell values are RAW (currency as integer cents, dates as ISO-8601, sparkline/derived columns as JSON arrays); headers use catalog display labels and a leading entityId column is always included. A matched set larger than 10,000 rows is rejected with 400 - narrow the filter.

post/api/v1/ackdb/observe/companies/export

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 CSV document (UTF-8 with BOM, CRLF line endings).

Changes

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