OrgCommunications

The outreach inbox

Every message to and from this org's contacts, grouped into conversations, most recently active first — sequenced sends, one-off emails, and replies together. `district_id` and `org_contact_id` narrow it to one entity's correspondence, which is how the district and school pages read it. Gated by the `sequencer` module.

GET
/org/communications

Every message to and from this org's contacts, grouped into conversations, most recently active first — sequenced sends, one-off emails, and replies together. district_id and org_contact_id narrow it to one entity's correspondence, which is how the district and school pages read it. Gated by the sequencer module.

AuthorizationBearer <token>

API key (sk_live_... prefix). Generate keys in the UI under Settings > API Keys, then send it as Authorization: Bearer sk_live_...

In: header

Query Parameters

group_by?string

What a row is. person puts everything said to one human in a single row whatever the channel — an email chain and a LinkedIn DM with the same superintendent are one relationship. district rolls up everyone at a district, which is what answers "has anyone here already been contacted?".

Default"person"
Value in"person" | "district"
unanswered?boolean

Only conversations whose last message came from them.

district_id?string
Formatuuid
org_contact_id?string
Formatuuid
limit?integer
Default50
Rangevalue <= 200

Response Body

application/json

application/json

application/json

curl -X GET "https://loading/api/v1/org/communications"
{
  "data": [
    {
      "key": "string",
      "grouping": "person",
      "channels": [
        "email"
      ],
      "subject": "string",
      "contactName": "string",
      "contactTitle": "string",
      "districtId": "dcfc5a80-c117-43e5-9945-b0823e3dd8ce",
      "districtName": "string",
      "schoolId": "dfe953a5-755d-47f9-a230-5efd591653e3",
      "schoolName": "string",
      "orgContactId": "f254015d-44cc-4ee5-9cea-2b17f50d6399",
      "lastAt": "string",
      "lastFromThem": true,
      "awaitingReply": true,
      "messageCount": -9007199254740991,
      "peopleCount": -9007199254740991,
      "preview": "string",
      "messages": [
        {
          "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
          "direction": "outbound",
          "channel": "email",
          "kind": "email",
          "org_contact_id": "646776e9-0f7e-46f6-bce9-cfcace861993",
          "provider_thread_id": "string",
          "counterparty_name": "string",
          "counterparty_title": "string",
          "counterparty_contact_id": "9032d18f-dac8-486e-8d63-90dde0046e44",
          "subject": "string",
          "body": "string",
          "to_address": "string",
          "to_addresses": [
            "string"
          ],
          "from_address": "string",
          "to_name": "string",
          "from_name": "string",
          "status": "string",
          "sent_at": "string",
          "received_at": "string",
          "opened_at": "string",
          "clicked_at": "string",
          "created_at": "string",
          "attachments": [
            {
              "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
              "communication_id": "c99c0bd1-bbaf-4fd2-a5e5-eecf83c0bdb6",
              "filename": "string",
              "mime_type": "string",
              "size_bytes": -9007199254740991,
              "source": "ours"
            }
          ]
        }
      ]
    }
  ]
}
{
  "error": "string",
  "message": "string",
  "statusCode": -9007199254740991
}
{
  "error": "module_required",
  "module": "string",
  "message": "string",
  "contact": "string"
}