Read messages and manage channels
Read synced messages and attachments, check channel visibility, and change a DM’s CRM inclusion.
Use these endpoints to read messages already synced into Lightfield. Connect the source through Integrations first. This API does not send Slack or Teams messages or create channels.
Find a channel and its messages
Section titled “Find a channel and its messages”Use a key with channels:read and messages:read. List channels and retrieve the chosen channel:
curl "https://api.lightfield.app/v1/channels?limit=20&offset=0" \ -H "Authorization: Bearer $LIGHTFIELD_API_KEY" \ -H "Lightfield-Version: 2026-03-01"
curl "https://api.lightfield.app/v1/channels/$CHANNEL_ID" \ -H "Authorization: Bearer $LIGHTFIELD_API_KEY" \ -H "Lightfield-Version: 2026-03-01"Choose the ID from the first response’s data and confirm its fields in the second. Results include only channels the caller can see. A private channel you cannot access returns 404, just like an unknown ID.
List messages and retrieve a message using its returned ID:
curl "https://api.lightfield.app/v1/messages?limit=20&offset=0" \ -H "Authorization: Bearer $LIGHTFIELD_API_KEY" \ -H "Lightfield-Version: 2026-03-01"
curl "https://api.lightfield.app/v1/messages/$MESSAGE_ID" \ -H "Authorization: Bearer $LIGHTFIELD_API_KEY" \ -H "Lightfield-Version: 2026-03-01"Both list operations use offset pagination. Message list order is the time records were created in Lightfield, not when messages were sent. Use the documented fields and filters for the question you are answering.
Handle redacted text and attachments
Section titled “Handle redacted text and attachments”Check accessLevel before displaying a message body. Seeing a record does not guarantee full access to its contents; an absent or redacted body is not evidence that the original message was empty. Resolve access through the source connection and privacy settings, rather than retrying under another identity.
Attachment IDs appear in relationships.$attachment. Use Get file URL with files:read to fetch each permitted attachment; see the file download procedure. Preserve the API’s access restrictions when storing or displaying the result.
Change whether your DM appears in the CRM
Section titled “Change whether your DM appears in the CRM”Update a channel accepts only $includeInCrm. This is for a DM owned by your connected account. Only that owner can change it; an API scope does not grant ownership. The request needs channels:update.
curl "https://api.lightfield.app/v1/channels/$CHANNEL_ID" \ -X POST \ -H "Authorization: Bearer $LIGHTFIELD_API_KEY" \ -H "Lightfield-Version: 2026-03-01" \ -H "Content-Type: application/json" \ -H "Idempotency-Key: include-northwind-dm-001" \ -d '{"fields":{"$includeInCrm":true}}'Confirm fields.$includeInCrm.value in the returned channel. Send false to reverse this choice. This changes CRM inclusion, not whether the conversation exists in its source service.
For 403, verify both the scope and channel ownership. For 404, check visibility and the ID. Do not turn a permission failure into a claim that the original conversation was deleted.