List meetings
Changed onReturns a paginated list of meetings within your agency (this includes phone calls — filter on the method field). Interview-type meetings are NOT returned here — retrieve those from /api/v1/interviews. Each row carries the linked interview context (project, company, participants, organizer), a pre-computed counterparty classification, and boolean flags indicating whether transcript, manual notes, or AI notes exist. Heavy artifacts themselves are not returned here.
Breaking change (coordinate with consumers before release): the type field (and the type query filter) have been removed, and interview-type meetings are now excluded from this list — use /api/v1/interviews for those and the new counterparty field/filter to distinguish who a meeting is with.
Incremental sync: Use createdAfter for the initial historical backfill, then poll with updatedAfter (persist the highest updatedAt you receive and pass it back each poll). updatedAfter matches a change to either the meeting or its linked interview. Add includeDeleted=true to receive soft-deleted meetings as tombstones (deletedAt populated) — combined with updatedAfter this reliably surfaces deletions, because a soft-delete bumps updatedAt.
Custom attributes: pass includeCustomAttributes=true to get each row’s customAttributes (e.g. the meeting tags logged in the UI) inline, in the detail endpoint’s shape, instead of fetching each record by id. customAttributeIds limits which attributes come back. The payload grows with each row’s filled attributes, so keep the default pageSize (25) when syncing with it on. Setting, changing or removing an attribute value moves the row’s updatedAt, so updatedAfter polling picks the change up.
Request
- Base URLhttps://api.recruitwithatlas.com
- AuthHTTP bearer
- TypeScriptA function with typed inputs. Its response is checked against the schema.
Query parameters
Filter by person (returns meetings whose interview links to a candidate of this person, or whose interview people include this person)
Filter by project (returns meetings whose interview is linked to this project)
Meetings starting on or after this UTC datetime (inclusive). Filters on meeting.startAt.
Meetings starting on or before this UTC datetime (inclusive). Filters on meeting.startAt.
Meetings created on or after this UTC datetime (inclusive). Use for the initial backfill of historical meetings.
Meetings created on or before this UTC datetime (inclusive).
Returns meetings whose meeting row OR linked interview was updated on or after this UTC datetime (inclusive). This is the primary cursor for incremental polling — persist the highest updatedAt you receive and pass it back on the next poll. Combine with includeDeleted=true to also pick up deletions (a soft-delete bumps updatedAt).
Returns meetings whose meeting row OR linked interview was updated on or before this UTC datetime (inclusive).
When true, soft-deleted meetings are included as tombstones (the deletedAt field is populated). Defaults to false, which returns only live meetings.
scheduled matches upcoming/in-progress statuses (draft, created, scheduled, coming, waiting_to_join, live, scheduling). finished matches terminal statuses (completed, transcribed, failed, canceled, no_answer).
Filter by the pre-computed counterparty: contact, candidate, internal or unknown.
Filter by the interview communication method: video_call, phone_call or in_person. Use phone_call to retrieve only phone calls.
When true, each row includes customAttributes — its custom attribute values (e.g. the meeting tags logged in the UI) in the same shape as GET /api/v1/meetings/{meetingId}. Defaults to false, which leaves the field out. See Custom attributes in the endpoint description for payload size and sync notes.
Comma-separated custom attribute UUIDs (from GET /api/v1/meetings/custom-attributes). Limits customAttributes on each row to these attributes — it does not filter which rows are returned. Requires includeCustomAttributes=true; sending it without is rejected with 422.
Page number (1-indexed)
Items per page (max 100)
Alias for pageSize
Response
Paginated meetings
Example response
{
"pagination": {
"page": 1,
"pageSize": 25,
"total": 42,
"totalPages": 2
}
}Changes
- warning
added the new
undefinedenum value to the////response property for the response status - warning
added the new
undefinedenum value to the//response property for the response status - warning
added the new
undefinedenum value to the//response property for the response status
- warning
- info
added the new optional
queryrequest parametercustomAttributeIds - info
added the new optional
queryrequest parameterincludeCustomAttributes - info
added the optional property
//to the response with the status
- info