Companies

List activity for a company

Lists what happened with a company, newest first: its own events plus the events of every contact on it, merged into one stream. Each occurrence appears once, even when it touched several contacts — an email thread with three of the company's contacts is one activity, and so is an invoice sent to two of them. A Doc is the exception: it is recorded per recipient, so one sent to two contacts is two activities.

id identifies the occurrence, not the row: the same email thread, meeting, note or document send keeps its id wherever it appears. contact_id and company_id say who the activity is about as seen from this company.

You only see the activity types your role can read. Email subjects and meeting titles are null when the mailbox they came from does not share them with you.

Pagination

Pages by page[number] like every other list, up to page 40. To read further back, set filter[occurred_to] to the day of the last activity you read, the date in its occurred_at, and start again from page 1; the activity of that day you already read comes back again. When all 40 pages fall on one day, that day holds more than paging can reach; split it with filter[type] or filter[contact_id]. Activity that arrives while you page shifts later pages, so the same activity can also appear at the end of one page and the start of the next. Dedupe by id.

Filtering

  • filter[type] — activity types or groups, comma separated (invoice.paid, email). A group stands for every type in it that your role can read. A type your role cannot read, or a group with no type it can, is refused with 403.
  • filter[contact_id] — contact ids, comma separated. Keeps the activity about those contacts and leaves out company-level activity. Every id must be a contact on this company.
  • filter[occurred_from] / filter[occurred_to] — ISO 8601 dates (2026-10-31), UTC days, both inclusive.
get/public-api/v1/companies/{id}/activities

Request

  • Base URL
    https://app.hellobonsai.com
  • URL
    https://app.hellobonsai.com/public-api/v1/companies/{id}/activities
  • Auth
    • OAuth 2
      Authorization code: https://app.hellobonsai.com/oauth/authorize
      Token URL: https://app.hellobonsai.com/oauth/token
    • or HTTP bearer

Path parameters

idinteger required

Id of the company.

Query parameters

page[number]integer

Page to return, starting at 1. At most 40.

page[size]integer

Activities per page. Defaults to 25; anything above 100 is reduced to 100.

filter[type]string

Activity types or groups, comma separated. Types: contact.created, contact.updated, contact.added_to_company, contact.removed_from_company, company.created, company.updated, company.archived, company.restored, document.created, document.sent, document.viewed, document.accepted, document.reminder_sent, invoice.sent, invoice.viewed, invoice.paid, invoice.reminder_sent, note.added, deal.assigned, email.sent, email.received, calendar.event, form.sent, form.submitted, portal.invitation_accepted, portal.message_sent. Groups: contact, company, document, invoice, note, deal, email, calendar, form, portal.

filter[contact_id]string

Contact ids on this company, comma separated.

filter[occurred_from]string date

Keeps activity on or after this day, in UTC.

filter[occurred_to]string date

Keeps activity on or before this day, in UTC.

Response

A page of activity.

Example response

{
  "data": [
    {
      "id": "evt_48213377",
      "type": "invoice.paid",
      "occurred_at": "2026-04-14T09:12:04.000Z",
      "summary": "Invoice #1042 for $3,200 paid",
      "contact_id": 3184,
      "company_id": 42,
      "actor": {
        "kind": "member",
        "id": 15,
        "name": "Jane Doe"
      },
      "subject": {
        "kind": "invoice",
        "title": "Website redesign",
        "url": "https://app.hellobonsai.com/invoices/1042"
      },
      "details": {
        "field": "email",
        "old_value": "jane@acme.com",
        "new_value": "jane.doe@acme.com"
      }
    }
  ],
  "meta": {
    "request_id": "b1f0d2c4-7a9e-4c3b-8d5f-1e2a3b4c5d6e",
    "pagination": {
      "page": 1,
      "page_size": 25,
      "has_more": true
    }
  }
}

Changes

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