Super People Docs
API Reference

Meetings

Scheduling meetings with colleagues and external guests, changing or cancelling them, and attaching the recording afterwards.

Scheduling meetings with colleagues and external guests, changing or cancelling them, and attaching the recording afterwards.

Generated from the OpenAPI spec by npm run docs:api -w api. Do not edit this page — change the decorators in apps/api/src/ and regenerate.

Conventions

  • Auth — a session on every route: the cookie on web, the bearer token on mobile. See Authentication.
  • Errors — every non-2xx response has the body described in Errors.
  • Types — a ? after a field name means it is optional; | null means it is present but may be null.

Endpoints

GET /api/v1/meetings — Meetings you organise or are invited to

Soonest first. A super admin sees every meeting and may narrow it to one person with employeeId. A plain array, not a page.

QueryTypeRequiredNotes
fromstringnoISO 8601. Meetings that end at or after this.
tostringnoISO 8601. Meetings that start at or before this.
employeeIdstringnoSuper admin only; ignored for everyone else.
typeinternal | client | project | generalno
statusUPCOMING | IN_PROGRESS | COMPLETED | CANCELLEDno
searchstringnoMatches the topic or description.

Returns 200 → MeetingResponse[]

ErrorWhen
401No valid session. Clear the stored token and sign in again.
403Signed in, but not allowed to do this.

POST /api/v1/meetings — Schedule a meeting

You become the organizer. Participants are notified and invited by email, external addresses included. It cannot start in the past.

Body — CreateMeetingDto

Returns 201 → MeetingResponse

ErrorWhen
400The request was rejected. message is an array of field errors when validation failed.
401No valid session. Clear the stored token and sign in again.
403Signed in, but not allowed to do this.

GET /api/v1/meetings/{id} — One meeting

Visible to its organizer, its participants and super admins.

Path parameterTypeNotes
idstring

Returns 200 → MeetingResponse

ErrorWhen
401No valid session. Clear the stored token and sign in again.
403Signed in, but not allowed to do this.
404No such record.

PATCH /api/v1/meetings/{id} — Change a meeting

Organizer only, and only before it starts.

Path parameterTypeNotes
idstring

Body — UpdateMeetingDto

Returns 200 → MeetingResponse

ErrorWhen
400The request was rejected. message is an array of field errors when validation failed.
401No valid session. Clear the stored token and sign in again.
403Signed in, but not allowed to do this.
404No such record.
409The meeting has already started.

DELETE /api/v1/meetings/{id} — Delete a meeting

Organizer only, and only before it starts. Nobody is notified — cancel instead if people were expecting it.

Path parameterTypeNotes
idstring

Returns 200 → no body

ErrorWhen
401No valid session. Clear the stored token and sign in again.
403Signed in, but not allowed to do this.
404No such record.
409The meeting has already started.

POST /api/v1/meetings/{id}/cancel — Cancel a meeting

Organizer only, and only before it starts. It stays on the calendar as CANCELLED and participants are told.

Path parameterTypeNotes
idstring

Returns 200 → MeetingResponse

ErrorWhen
401No valid session. Clear the stored token and sign in again.
403Signed in, but not allowed to do this.
404No such record.
409The meeting has already started.

Organizer only. Allowed at any time, including after the meeting — that is when the links exist.

Path parameterTypeNotes
idstring

Body — UpdateMeetingLinksDto

Returns 200 → MeetingResponse

ErrorWhen
400The request was rejected. message is an array of field errors when validation failed.
401No valid session. Clear the stored token and sign in again.
403Signed in, but not allowed to do this.
404No such record.

Data models

MeetingResponse

FieldTypeNotes
idstring
topicstring
descriptionstring
startsAtstring ISO 8601
endsAtstring ISO 8601
statusUPCOMING | IN_PROGRESS | COMPLETED | CANCELLED
typeproject | internal | client | general
meetLinkstring
recordingLinkstring | null
transcriptLinkstring | null
organizerMeetingParticipantResponse
participantsMeetingParticipantResponse[]
externalEmailsstring[]
canManageboolean

MeetingParticipantResponse

FieldTypeNotes
idstring
namestring
emailstring
imagestring | null

CreateMeetingDto

FieldTypeNotes
topicstring≤ 160 chars
description?string≤ 5000 chars
startsAtstring
endsAtstring
internalParticipantIdsstring[]≤ 100 items
externalEmailsstring[]≤ 100 items
typeinternal | client | project | general
meetLinkstring≤ 1000 chars

UpdateMeetingDto

FieldTypeNotes
topic?string≤ 160 chars
description?string≤ 5000 chars
startsAt?string
endsAt?string
internalParticipantIds?string[]≤ 100 items
externalEmails?string[]≤ 100 items
type?internal | client | project | general
meetLink?string≤ 1000 chars

UpdateMeetingLinksDto

FieldTypeNotes
recordingLink?string≤ 2000 chars
transcriptLink?string≤ 2000 chars

On this page