Skip to content

Update a meeting

meeting.update(strid, MeetingUpdateParams**kwargs) -> MeetingUpdateResponse
POST/v1/meetings/{id}

Updates an existing meeting by ID. Only included fields and relationships are modified.

Only fields.$privacySetting, fields.$attendeeEmails, fields.$meetingPrep, fields.$postMeetingSummary, relationships.$transcript.replace and relationships.$transcript.remove are writable. Prep and summary accept Markdown. Regeneration as new activity arrives replaces edits; null or an empty string clears the value until regeneration. $attendeeEmails replaces the full attendee list and only works on meetings that have ended. Adding an address on the workspace blocklist or a teammate’s do-not-track list hides the meeting after the next sync, and only an admin can bring it back by removing the blocklist entry; the response lists manual changes in the read-only $manuallyAddedAttendeeEmails and $manuallyRemovedAttendeeEmails. $transcript is the file ID of the canonical transcript. $transcripts lists the file ID of every transcript on the meeting. Use $transcript.replace to make that file canonical. A file that is not already on the meeting is attached first. Use $transcript.remove with the file ID of an uploaded transcript to delete it, with its file and its summary; this cannot be undone. If it was the canonical transcript, the next transcript in $transcripts takes its place and the meeting summary is regenerated; if it was the last one, the meeting summary is cleared. Transcripts from a recorder or an integration such as Gong or Granola cannot be removed. Clearing $transcript is not supported. The $account and $opportunity relationships are read-only and are derived from the meeting’s $contact attendees and the accounts/opportunities those contacts belong to. They are left out when accessLevel is METADATA, as in the Lightfield app. The response is privacy-aware and includes a read-only accessLevel. See Uploading meeting transcripts for the full file upload and transcript attachment flow.

Supports idempotency via the Idempotency-Key header.

Required scope: meetings:update

Rate limit category: Write

ParametersExpand Collapse
id: str

Unique identifier of the meeting to update.

fields: Optional[Fields]

Field values to update. Only $privacySetting, $attendeeEmails, $meetingPrep and $postMeetingSummary are writable, and omitted fields are left unchanged.

attendee_emails: Optional[Sequence[str]]

The full list of attendee email addresses, up to 500. Only meetings that have ended can be edited.

meeting_prep: Optional[str]

The meeting prep, as Markdown. Lightfield regenerates it as new activity arrives, which replaces an edit; null or an empty string clears it until then.

post_meeting_summary: Optional[str]

The meeting summary, as Markdown. Lightfield regenerates it as new activity arrives, which replaces an edit; null or an empty string clears it until then.

privacy_setting: Optional[Literal["FULL", "METADATA"]]

The privacy setting for the meeting.

One of the following:
"FULL"
"METADATA"
relationships: Optional[Relationships]

Relationship operations to apply. Only $transcript, with exactly one of replace or remove, is supported; clearing $transcript is not supported.

transcript: Optional[RelationshipsTranscript]
remove: Optional[str]

The file ID of an uploaded transcript to delete from the meeting, with its file and its transcript summary. Transcripts from a recorder or an integration such as Gong or Granola cannot be removed.

replace: Optional[str]

The file ID to make the canonical transcript. A file that is not already a transcript on the meeting is attached first.

ReturnsExpand Collapse
class MeetingUpdateResponse: …
id: str

Unique identifier for the entity.

access_level: Literal["FULL", "METADATA"]

The caller’s resolved access level for this meeting.

One of the following:
"FULL"
"METADATA"
created_at: str

ISO 8601 timestamp of when the entity was created.

fields: Dict[str, Fields]

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

value: Optional[FieldsValue]

The field value, or null if unset.

One of the following:
str
float
bool
List[str]
class FieldsValueAddress: …
city: Optional[str]

City name.

country: Optional[str]

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

latitude: Optional[float]

Latitude coordinate.

longitude: Optional[float]

Longitude coordinate.

postal_code: Optional[str]

Postal or ZIP code.

state: Optional[str]

State or province.

street: Optional[str]

Street address line 1.

street2: Optional[str]

Street address line 2.

class FieldsValueFullName: …
first_name: Optional[str]

The contact’s first name.

last_name: Optional[str]

The contact’s last name.

value_type: Literal["ADDRESS", "CHECKBOX", "CURRENCY", 13 more]

The data type of the field.

One of the following:
"ADDRESS"
"CHECKBOX"
"CURRENCY"
"DATE"
"DATETIME"
"EMAIL"
"FULL_NAME"
"MARKDOWN"
"MULTI_SELECT"
"NUMBER"
"SINGLE_SELECT"
"SOCIAL_HANDLE"
"TELEPHONE"
"TEXT"
"URL"
"HTML"
object_type: Literal["meeting"]

Always meeting.

relationships: Dict[str, Relationships]

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: str

Whether the relationship is has_one or has_many.

object_type: str

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

values: List[str]

IDs of the related entities.

directions: Optional[RelationshipsDirections]

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

as_destination: RelationshipsDirectionsAsDestination

The current record is the destination (incoming) endpoint.

cardinality: Literal["HAS_ONE", "HAS_MANY"]

Whether this endpoint direction is HAS_ONE or HAS_MANY.

One of the following:
"HAS_ONE"
"HAS_MANY"
values: List[str]

IDs of the related entities in this direction.

as_source: RelationshipsDirectionsAsSource

The current record is the source (outgoing) endpoint.

cardinality: Literal["HAS_ONE", "HAS_MANY"]

Whether this endpoint direction is HAS_ONE or HAS_MANY.

One of the following:
"HAS_ONE"
"HAS_MANY"
values: List[str]

IDs of the related entities in this direction.

updated_at: Optional[str]

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

external_id: Optional[str]

External identifier for the entity, or null if unset.

Update a meeting

from lightfield import Lightfield

client = Lightfield(
    api_key="My API Key",
)
meeting_update_response = client.meeting.update(
    id="id",
)
print(meeting_update_response.id)
{
  "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"
}
Returns Examples
{
  "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"
}