Skip to content

List meetings

GET/v1/meetings

Returns a paginated list of meetings. Results are sorted by when the record was created in Lightfield (createdAt), newest first. This is not the meeting start time. Use offset and limit to paginate through results. Each meeting is privacy-filtered per caller, includes a read-only accessLevel, and may redact transcript or content fields based on the caller-specific privacy resolution. As in the Lightfield app, a meeting is listed only when it is internal-only or linked to an account or an active contact; this applies to every caller, including admins and workspace API keys. Pass status=trashed to list meetings currently in the trash instead of live records. Listing trashed records additionally requires the meetings:restore scope. See List endpoints for more information about pagination.

Required scope: meetings:read

Rate limit category: Search

Query ParametersExpand Collapse
limit: optional number

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

minimum1
maximum9007199254740991
offset: optional number

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

minimum0
maximum9007199254740991
status: optional "active" or "trashed"

Which records to return by trash state. Defaults to “active”. Use “trashed” to list records currently in the trash; this additionally requires this resource’s restore scope.

One of the following:
"active"
"trashed"
ReturnsExpand Collapse
MeetingListResponse object { data, object, totalCount }
data: array of object { id, accessLevel, createdAt, 6 more }

Array of meeting objects for the current page.

id: string

Unique identifier for the entity.

accessLevel: "FULL" or "METADATA"

The caller’s resolved access level for this meeting.

One of the following:
"FULL"
"METADATA"
createdAt: string

ISO 8601 timestamp of when the entity was created.

fields: map[object { value, valueType } ]

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

value: string or number or boolean or 3 more

The field value, or null if unset.

One of the following:
string
number
boolean
array of string
Address object { city, country, latitude, 5 more }
city: optional string

City name.

country: optional string

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

latitude: optional number

Latitude coordinate.

longitude: optional number

Longitude coordinate.

postalCode: optional string

Postal or ZIP code.

state: optional string

State or province.

street: optional string

Street address line 1.

street2: optional string

Street address line 2.

FullName object { firstName, lastName }
firstName: optional string

The contact’s first name.

lastName: optional string

The contact’s last name.

valueType: "ADDRESS" or "CHECKBOX" or "CURRENCY" or 12 more

The data type of the field.

One of the following:
"ADDRESS"
"CHECKBOX"
"CURRENCY"
"DATETIME"
"EMAIL"
"FULL_NAME"
"MARKDOWN"
"MULTI_SELECT"
"NUMBER"
"SINGLE_SELECT"
"SOCIAL_HANDLE"
"TELEPHONE"
"TEXT"
"URL"
"HTML"
objectType: "meeting"

Always meeting.

relationships: map[object { cardinality, objectType, values, directions } ]

Map of relationship names to their associated entities. System relationships are prefixed with $ (e.g. $owner, $contact). A self-referential relationship keeps its merged values and includes optional directional values. List filters select the current record’s role with :asSource or :asDestination, for example ?parent:asSource[contains]=account_id.

cardinality: string

Whether the relationship is has_one or has_many.

objectType: string

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

values: array of string

IDs of the related entities.

directions: optional object { asDestination, asSource }

Directional values for a self-referential relationship. List filters use the relationship key with :asSource or :asDestination; writes continue to use the bare key.

asDestination: object { cardinality, values }

The current record is the destination (incoming) endpoint.

cardinality: "HAS_ONE" or "HAS_MANY"

Whether this endpoint direction is HAS_ONE or HAS_MANY.

One of the following:
"HAS_ONE"
"HAS_MANY"
values: array of string

IDs of the related entities in this direction.

asSource: object { cardinality, values }

The current record is the source (outgoing) endpoint.

cardinality: "HAS_ONE" or "HAS_MANY"

Whether this endpoint direction is HAS_ONE or HAS_MANY.

One of the following:
"HAS_ONE"
"HAS_MANY"
values: array of string

IDs of the related entities in this direction.

updatedAt: string

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

externalId: optional string

External identifier for the entity, or null if unset.

object: string

The object type, always "list".

totalCount: number

Total number of entities matching the query.

minimum0
maximum9007199254740991

List meetings

curl https://api.lightfield.app/v1/meetings \
    -H 'Lightfield-Version: 2026-03-01' \
    -H "Authorization: Bearer $API_KEY"
{
  "data": [
    {
      "id": "id",
      "accessLevel": "FULL",
      "createdAt": "createdAt",
      "fields": {
        "foo": {
          "value": "string",
          "valueType": "ADDRESS"
        }
      },
      "httpLink": "httpLink",
      "objectType": "meeting",
      "relationships": {
        "foo": {
          "cardinality": "cardinality",
          "objectType": "objectType",
          "values": [
            "string"
          ],
          "directions": {
            "asDestination": {
              "cardinality": "HAS_ONE",
              "values": [
                "string"
              ]
            },
            "asSource": {
              "cardinality": "HAS_ONE",
              "values": [
                "string"
              ]
            }
          }
        }
      },
      "updatedAt": "updatedAt",
      "externalId": "externalId"
    }
  ],
  "object": "object",
  "totalCount": 0
}
Returns Examples
{
  "data": [
    {
      "id": "id",
      "accessLevel": "FULL",
      "createdAt": "createdAt",
      "fields": {
        "foo": {
          "value": "string",
          "valueType": "ADDRESS"
        }
      },
      "httpLink": "httpLink",
      "objectType": "meeting",
      "relationships": {
        "foo": {
          "cardinality": "cardinality",
          "objectType": "objectType",
          "values": [
            "string"
          ],
          "directions": {
            "asDestination": {
              "cardinality": "HAS_ONE",
              "values": [
                "string"
              ]
            },
            "asSource": {
              "cardinality": "HAS_ONE",
              "values": [
                "string"
              ]
            }
          }
        }
      },
      "updatedAt": "updatedAt",
      "externalId": "externalId"
    }
  ],
  "object": "object",
  "totalCount": 0
}