Skip to content

List messages

client.Message.List(ctx, query) (*MessageListResponse, error)
GET/v1/messages

Returns a paginated list of messages. Use offset and limit to paginate through results. Each message is filtered per caller to those whose channel they may see, and includes a read-only accessLevel. See List endpoints for more information about pagination.

Required scope: messages:read

Rate limit category: Search

ParametersExpand Collapse
query MessageListParams
Limit param.Field[int64]Optional

Maximum number of records to return. Defaults to 25, maximum 25.

minimum1
maximum9007199254740991
Offset param.Field[int64]Optional

Number of records to skip for pagination. Defaults to 0.

minimum0
maximum9007199254740991
ReturnsExpand Collapse
type MessageListResponse struct{…}
Data []MessageListResponseData

Array of message objects for the current page.

ID string

Unique identifier for the entity.

AccessLevel string

The caller’s resolved access level for this message.

One of the following:
const MessageListResponseDataAccessLevelFull MessageListResponseDataAccessLevel = "FULL"
const MessageListResponseDataAccessLevelMetadata MessageListResponseDataAccessLevel = "METADATA"
CreatedAt string

ISO 8601 timestamp of when the entity was created.

Fields map[string, MessageListResponseDataField]

Map of field names to their typed values. System fields are prefixed with $ (e.g. $name, $email); custom attributes use their bare slug.

Value MessageListResponseDataFieldValueUnion

The field value, or null if unset.

One of the following:
string
float64
bool
type MessageListResponseDataFieldValueArray []string
type MessageListResponseDataFieldValueAddress struct{…}
City stringOptional

City name.

Country stringOptional

2-letter ISO 3166-1 alpha-2 country code.

Latitude float64Optional

Latitude coordinate.

Longitude float64Optional

Longitude coordinate.

PostalCode stringOptional

Postal or ZIP code.

State stringOptional

State or province.

Street stringOptional

Street address line 1.

Street2 stringOptional

Street address line 2.

type MessageListResponseDataFieldValueFullName struct{…}
FirstName stringOptional

The contact’s first name.

LastName stringOptional

The contact’s last name.

ValueType string

The data type of the field.

One of the following:
const MessageListResponseDataFieldValueTypeAddress MessageListResponseDataFieldValueType = "ADDRESS"
const MessageListResponseDataFieldValueTypeCheckbox MessageListResponseDataFieldValueType = "CHECKBOX"
const MessageListResponseDataFieldValueTypeCurrency MessageListResponseDataFieldValueType = "CURRENCY"
const MessageListResponseDataFieldValueTypeDatetime MessageListResponseDataFieldValueType = "DATETIME"
const MessageListResponseDataFieldValueTypeEmail MessageListResponseDataFieldValueType = "EMAIL"
const MessageListResponseDataFieldValueTypeFullName MessageListResponseDataFieldValueType = "FULL_NAME"
const MessageListResponseDataFieldValueTypeMarkdown MessageListResponseDataFieldValueType = "MARKDOWN"
const MessageListResponseDataFieldValueTypeMultiSelect MessageListResponseDataFieldValueType = "MULTI_SELECT"
const MessageListResponseDataFieldValueTypeNumber MessageListResponseDataFieldValueType = "NUMBER"
const MessageListResponseDataFieldValueTypeSingleSelect MessageListResponseDataFieldValueType = "SINGLE_SELECT"
const MessageListResponseDataFieldValueTypeSocialHandle MessageListResponseDataFieldValueType = "SOCIAL_HANDLE"
const MessageListResponseDataFieldValueTypeTelephone MessageListResponseDataFieldValueType = "TELEPHONE"
const MessageListResponseDataFieldValueTypeText MessageListResponseDataFieldValueType = "TEXT"
const MessageListResponseDataFieldValueTypeURL MessageListResponseDataFieldValueType = "URL"
const MessageListResponseDataFieldValueTypeHTML MessageListResponseDataFieldValueType = "HTML"
ObjectType string

Always message.

Relationships map[string, MessageListResponseDataRelationship]

Map of relationship names to their associated entities. System relationships are prefixed with $ (e.g. $owner, $contact).

Cardinality string

Whether the relationship is has_one or has_many.

ObjectType string

The type of the related object (e.g. account, contact).

Values []string

IDs of the related entities.

UpdatedAt string

ISO 8601 timestamp of when the entity was last updated, or null.

ExternalID stringOptional

External identifier for the entity, or null if unset.

Object string

The object type, always "list".

TotalCount int64

Total number of entities matching the query.

minimum0
maximum9007199254740991

List messages

package main

import (
  "context"
  "fmt"

  "github.com/Lightfld/lightfield-go"
  "github.com/Lightfld/lightfield-go/option"
)

func main() {
  client := githubcomlightfldlightfieldgo.NewClient(
    option.WithAPIKey("My API Key"),
  )
  messageListResponse, err := client.Message.List(context.TODO(), githubcomlightfldlightfieldgo.MessageListParams{

  })
  if err != nil {
    panic(err.Error())
  }
  fmt.Printf("%+v\n", messageListResponse.Data)
}
{
  "data": [
    {
      "id": "msg_cm0abc456def789",
      "accessLevel": "FULL",
      "createdAt": "2026-05-01T09:00:00.000Z",
      "fields": {
        "$text": {
          "value": "Thanks — pushed the fix, should be live shortly.",
          "valueType": "TEXT"
        },
        "$sentAt": {
          "value": "2026-05-01T08:59:30.000Z",
          "valueType": "DATETIME"
        },
        "$provider": {
          "value": "SLACK",
          "valueType": "TEXT"
        },
        "$providerThreadId": {
          "value": "1714553970.123456",
          "valueType": "TEXT"
        },
        "$editedAt": {
          "value": "string",
          "valueType": "DATETIME"
        }
      },
      "httpLink": null,
      "objectType": "message",
      "relationships": {
        "$channel": {
          "cardinality": "has_one",
          "objectType": "channel",
          "values": [
            "chn_cm2def456ghi789"
          ]
        }
      },
      "updatedAt": "2026-05-01T09:00:00.000Z",
      "externalId": "externalId"
    },
    {
      "id": "msg_cm1xyz123uvw456",
      "accessLevel": "FULL",
      "createdAt": "2026-04-29T15:12:00.000Z",
      "fields": {
        "$text": {
          "value": "Can we sync on pricing tomorrow?",
          "valueType": "TEXT"
        },
        "$sentAt": {
          "value": "2026-04-29T15:11:30.000Z",
          "valueType": "DATETIME"
        },
        "$provider": {
          "value": "SLACK",
          "valueType": "TEXT"
        },
        "$providerThreadId": {
          "value": "string",
          "valueType": "TEXT"
        },
        "$editedAt": {
          "value": "string",
          "valueType": "DATETIME"
        }
      },
      "httpLink": null,
      "objectType": "message",
      "relationships": {
        "$channel": {
          "cardinality": "has_one",
          "objectType": "channel",
          "values": [
            "chn_cm2def456ghi789"
          ]
        }
      },
      "updatedAt": "2026-04-29T15:12:00.000Z",
      "externalId": "externalId"
    }
  ],
  "object": "list",
  "totalCount": 2
}
Returns Examples
{
  "data": [
    {
      "id": "msg_cm0abc456def789",
      "accessLevel": "FULL",
      "createdAt": "2026-05-01T09:00:00.000Z",
      "fields": {
        "$text": {
          "value": "Thanks — pushed the fix, should be live shortly.",
          "valueType": "TEXT"
        },
        "$sentAt": {
          "value": "2026-05-01T08:59:30.000Z",
          "valueType": "DATETIME"
        },
        "$provider": {
          "value": "SLACK",
          "valueType": "TEXT"
        },
        "$providerThreadId": {
          "value": "1714553970.123456",
          "valueType": "TEXT"
        },
        "$editedAt": {
          "value": "string",
          "valueType": "DATETIME"
        }
      },
      "httpLink": null,
      "objectType": "message",
      "relationships": {
        "$channel": {
          "cardinality": "has_one",
          "objectType": "channel",
          "values": [
            "chn_cm2def456ghi789"
          ]
        }
      },
      "updatedAt": "2026-05-01T09:00:00.000Z",
      "externalId": "externalId"
    },
    {
      "id": "msg_cm1xyz123uvw456",
      "accessLevel": "FULL",
      "createdAt": "2026-04-29T15:12:00.000Z",
      "fields": {
        "$text": {
          "value": "Can we sync on pricing tomorrow?",
          "valueType": "TEXT"
        },
        "$sentAt": {
          "value": "2026-04-29T15:11:30.000Z",
          "valueType": "DATETIME"
        },
        "$provider": {
          "value": "SLACK",
          "valueType": "TEXT"
        },
        "$providerThreadId": {
          "value": "string",
          "valueType": "TEXT"
        },
        "$editedAt": {
          "value": "string",
          "valueType": "DATETIME"
        }
      },
      "httpLink": null,
      "objectType": "message",
      "relationships": {
        "$channel": {
          "cardinality": "has_one",
          "objectType": "channel",
          "values": [
            "chn_cm2def456ghi789"
          ]
        }
      },
      "updatedAt": "2026-04-29T15:12:00.000Z",
      "externalId": "externalId"
    }
  ],
  "object": "list",
  "totalCount": 2
}