Skip to content

Retrieve a message

client.Message.Get(ctx, id) (*MessageRetrieveResponse, error)
GET/v1/messages/{id}

Retrieves a single message by its ID. The message text is redacted based on the caller-specific channel-visibility resolution, and the response includes a read-only accessLevel.

Required scope: messages:read

Rate limit category: Read

ParametersExpand Collapse
id string

Unique identifier of the message to retrieve.

ReturnsExpand Collapse
type MessageRetrieveResponse struct{…}
ID string

Unique identifier for the entity.

AccessLevel MessageRetrieveResponseAccessLevel

The caller’s resolved access level for this message.

One of the following:
const MessageRetrieveResponseAccessLevelFull MessageRetrieveResponseAccessLevel = "FULL"
const MessageRetrieveResponseAccessLevelMetadata MessageRetrieveResponseAccessLevel = "METADATA"
CreatedAt string

ISO 8601 timestamp of when the entity was created.

Fields map[string, MessageRetrieveResponseField]

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

Value MessageRetrieveResponseFieldValueUnion

The field value, or null if unset.

One of the following:
string
float64
bool
type MessageRetrieveResponseFieldValueArray []string
type MessageRetrieveResponseFieldValueAddress 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 MessageRetrieveResponseFieldValueFullName 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 MessageRetrieveResponseFieldValueTypeAddress MessageRetrieveResponseFieldValueType = "ADDRESS"
const MessageRetrieveResponseFieldValueTypeCheckbox MessageRetrieveResponseFieldValueType = "CHECKBOX"
const MessageRetrieveResponseFieldValueTypeCurrency MessageRetrieveResponseFieldValueType = "CURRENCY"
const MessageRetrieveResponseFieldValueTypeDatetime MessageRetrieveResponseFieldValueType = "DATETIME"
const MessageRetrieveResponseFieldValueTypeEmail MessageRetrieveResponseFieldValueType = "EMAIL"
const MessageRetrieveResponseFieldValueTypeFullName MessageRetrieveResponseFieldValueType = "FULL_NAME"
const MessageRetrieveResponseFieldValueTypeMarkdown MessageRetrieveResponseFieldValueType = "MARKDOWN"
const MessageRetrieveResponseFieldValueTypeMultiSelect MessageRetrieveResponseFieldValueType = "MULTI_SELECT"
const MessageRetrieveResponseFieldValueTypeNumber MessageRetrieveResponseFieldValueType = "NUMBER"
const MessageRetrieveResponseFieldValueTypeSingleSelect MessageRetrieveResponseFieldValueType = "SINGLE_SELECT"
const MessageRetrieveResponseFieldValueTypeSocialHandle MessageRetrieveResponseFieldValueType = "SOCIAL_HANDLE"
const MessageRetrieveResponseFieldValueTypeTelephone MessageRetrieveResponseFieldValueType = "TELEPHONE"
const MessageRetrieveResponseFieldValueTypeText MessageRetrieveResponseFieldValueType = "TEXT"
const MessageRetrieveResponseFieldValueTypeURL MessageRetrieveResponseFieldValueType = "URL"
const MessageRetrieveResponseFieldValueTypeHTML MessageRetrieveResponseFieldValueType = "HTML"
ObjectType MessageRetrieveResponseObjectType

Always message.

Relationships map[string, MessageRetrieveResponseRelationship]

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.

Retrieve a message

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"),
  )
  messageRetrieveResponse, err := client.Message.Get(context.TODO(), "id")
  if err != nil {
    panic(err.Error())
  }
  fmt.Printf("%+v\n", messageRetrieveResponse.ID)
}
{
  "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"
}
Returns Examples
{
  "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"
}