Skip to content

API reference

Update calendar event

meetings.UpdateCalendarEventWriteAPI key

Update a Brigg-owned calendar event. Set send_update to send updated invitations to attendees. This does not change an event in a connected Google or Microsoft calendar.

POST/v1/operations/meetings.UpdateCalendarEvent
On this page

Access & visibility

Allow meetings.UpdateCalendarEvent on your API key. Resource write permissions: core:CalendarEvent.

Workspace access by default. Private member data requires approved member delegation through Brigg-Act-As; the key supplies permissions while private ownership and project boundaries remain enforced.

Set up authentication · Choose permissions

Request fields

Send a JSON object with the following fields. Required fields must be included; omit optional fields you do not need.

idstringRequired

The core:CalendarEvent entry id.

At least 1 character.

patchobjectRequired

Requested changes to the calendar event.

Nested fields
titlestringOptional

Display title.

At least 1 character.

startstringOptional

Start timestamp with an explicit time zone, for example 2026-11-10T10:00:00+01:00. Brigg normalizes it to UTC. Do not send a date without a time zone.

endstringOptional

End timestamp with an explicit time zone, strictly later than start. Returned calendar times use UTC.

locationstringOptional

Physical address or meeting location supplied to invitees.

descriptionstringOptional

Descriptive text.

agendastringOptional

Discussion topics planned for the meeting.

notesstringOptional

Notes supplied for the calendar event.

attendeesarray of stringOptional

Workspace member account IDs from List colleagues, not Person record IDs or email addresses. Members without an email address are returned in send.skipped.

visibilityarray of stringOptional

Reserved compatibility field; it currently has no effect. Omit it. It cannot make the calendar event private or grant access to attendees.

At least 1 item.

send_updatebooleanOptional

Mail the updated invitation to every attendee.

messagestringOptional

Message included with the calendar invitation update or cancellation.

Update the saved event and its invitations

Use the Brigg event id from List calendar events. Send only changed fields in patch. send_update defaults to false. Set it to true to email the event's attendees. The response's significant flag indicates an invitation-relevant change; sequence advances for such changes.

The event update can succeed even when email is held: inspect send.rate_limited and send.skipped. A new delivery attempt is a new action with a new idempotency key. Retrying a lost response to the same action reuses its original key.

Response

Returns 200 OK with a JSON body.

idstringRequired

Unique identifier. Use the value returned by a create or list operation.

uidstringRequired

Calendar invitation UID, distinct from the Brigg record ID.

sequencenumberRequired

Calendar invitation revision number.

significantbooleanRequired

Whether time or place changed.

sendobjectOptional

Present when a mail-out was asked for.

Nested fields
message_idsmap of stringRequired

Recipient email address to delivery message ID.

skippedarray of stringRequired

Attendee account ids with no email address.

rate_limitedbooleanOptional

The org's invite quota was hit — the event write landed, no mail went out.

Errors & retries

Set BRIGG_REQUEST_ID once for each logical action. The samples send it as Idempotency-Key. Reuse the same value and body on retries, including after a timeout; a missing response does not prove the action failed.

For rate limits, follow the server’s retry guidance and back off. See HTTP errors and safe retries and limits.

HTTP status Code What to do
400 invalid_json Send a JSON object with Content-Type: application/json.
400 invalid_input Check the request fields and types. Supply a stable Idempotency-Key containing 1–200 characters.
401 invalid_key The workspace API key is missing, invalid or revoked.
403 forbidden Check the key’s operation and resource grants. If Brigg-Act-As is supplied, the key must be authorized to delegate to that member.
404 not_found The requested operation or resource is not available to this credential.
429 rate_limited Wait for Retry-After before retrying. Reuse the original Idempotency-Key.

Next steps

Download OpenAPI · Versioning & retirement

JSON schemas

Use the complete schemas for validation or client generation.

Full request JSON schema
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "minLength": 1,
      "description": "The core:CalendarEvent entry id."
    },
    "patch": {
      "type": "object",
      "properties": {
        "title": {
          "type": "string",
          "minLength": 1,
          "description": "Display title."
        },
        "start": {
          "type": "string",
          "description": "Start timestamp with an explicit time zone, for example 2026-11-10T10:00:00+01:00. Brigg normalizes it to UTC. Do not send a date without a time zone."
        },
        "end": {
          "type": "string",
          "description": "End timestamp with an explicit time zone, strictly later than start. Returned calendar times use UTC."
        },
        "location": {
          "type": "string",
          "description": "Physical address or meeting location supplied to invitees."
        },
        "description": {
          "type": "string",
          "description": "Descriptive text."
        },
        "agenda": {
          "type": "string",
          "description": "Discussion topics planned for the meeting."
        },
        "notes": {
          "type": "string",
          "description": "Notes supplied for the calendar event."
        },
        "attendees": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Workspace member account IDs from [List colleagues](/reference/workspace/ListColleagues), not Person record IDs or email addresses. Members without an email address are returned in send.skipped."
        },
        "visibility": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "minItems": 1,
          "description": "Reserved compatibility field; it currently has no effect. Omit it. It cannot make the calendar event private or grant access to attendees."
        }
      },
      "additionalProperties": false,
      "description": "Requested changes to the calendar event."
    },
    "send_update": {
      "type": "boolean",
      "description": "Mail the updated invitation to every attendee."
    },
    "message": {
      "type": "string",
      "description": "Message included with the calendar invitation update or cancellation."
    }
  },
  "required": [
    "id",
    "patch"
  ],
  "additionalProperties": false,
  "examples": [
    {
      "id": "e_example",
      "patch": {}
    }
  ]
}
Full response JSON schema
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "Unique identifier. Use the value returned by a create or list operation."
    },
    "uid": {
      "type": "string",
      "description": "Calendar invitation UID, distinct from the Brigg record ID."
    },
    "sequence": {
      "type": "number",
      "description": "Calendar invitation revision number."
    },
    "significant": {
      "type": "boolean",
      "description": "Whether time or place changed."
    },
    "send": {
      "type": "object",
      "description": "Present when a mail-out was asked for.",
      "properties": {
        "message_ids": {
          "description": "Recipient email address to delivery message ID.",
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        },
        "skipped": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Attendee account ids with no email address."
        },
        "rate_limited": {
          "type": "boolean",
          "description": "The org's invite quota was hit — the event write landed, no mail went out."
        }
      },
      "required": [
        "message_ids",
        "skipped"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "id",
    "uid",
    "sequence",
    "significant"
  ],
  "additionalProperties": false,
  "examples": [
    {
      "id": "e_example",
      "uid": "kickoff@example.com",
      "sequence": 1,
      "significant": false
    }
  ]
}

Search by operation name or what you want to build.

Use arrow keys to browse. Enter opens a result.