Events

Change meeting status

PUT/meetings/:meetingId/status

Handles approve, reject, cancel, re-allow and undo-cancel in one endpoint. Whether a transition is permitted depends on the current status and the caller's role in the meeting.

AuthLogin required

Path parameters

meetingIdstringrequired

Meeting ID.

Request body

statusstringrequired

The new status (REQUESTED / CONFIRMED / CANCELED / REJECTED).

Notes

Permitted transitions: REQUESTED → CONFIRMED (approve, toUserId only), REQUESTED → REJECTED (reject, toUserId only), REJECTED → REQUESTED (re-allow, only the rejectedBy user), REQUESTED / CONFIRMED → CANCELED (either party), CANCELED → undo cancel (only the canceledBy user; status may be either CONFIRMED or REQUESTED — a meeting that had been approved returns to CONFIRMED, one that was withdrawn before approval returns to REQUESTED). Anything else returns 400 (errorCode 40006). Once the event has ended, every transition returns 400 (errorCode 20001).

Canceling releases the spot, time and table number so other meetings can take the slot. After undoing a cancel, the spot and time must be set again.

A status change appends a system message to the chat room and notifies the other party.

Response

FieldTypeDescription
meetingMeetingThe updated meeting.
Request
curl https://api.4s.link/meetings/MEETING_ID/status \
-X PUT \
-H "Authorization: Bearer 4s_at_..." \
-H "Content-Type: application/json" \
-d '{
"status": "CONFIRMED"
}'
Example response
{
"meeting": {
"id": "mt1a2b3c-...",
"status": "CONFIRMED",
"canceledBy": null,
"rejectedBy": null
}
}