# Get roster assignments Returns a paginated list of roster assignments. Request body uses the same pagination structure as other v2 search endpoints (e.g. GET /api/v2/flights): limit, offset, filters, sorts. Supported filters: Each filter is an object with field, operator, value. All optional. - crewId — operator EQ — crew member identifier - rosterTypeId — operator EQ — roster type id (same as RosterTypeDto.id) - startDateTime — operator GTE — assignments on or after this date-time (ISO 8601) - endDateTime — operator LTE — assignments on or before this date-time (ISO 8601) Supported sorts: startDateTime (direction ASC or DESC). Each item is simplified; use GET /api/v2/rosters/{id} for full details. Endpoint: POST /api/v2/rosters-search Version: 2.4.0 Security: X-Api-Client-Id, X-Auth-Token ## Request fields (application/json): - `limit` (integer) Maximum number of records to return. Example: 20 - `offset` (integer) Number of records to skip. - `filters` (array) Optional list of filters. Each endpoint supports specific filter fields and operators (e.g. EQ, GTE, LTE, BTW). - `filters.field` (string, required) Field name to filter by (e.g. crewId, rosterTypeId, startDateTime). Example: "crewId" - `filters.operator` (string, required) Filter operator. Enum: "EQ", "EQI", "NEQ", "NEQI", null, "NNULL", "HAS", "GT", "GTE", "LT", "LTE", "BTW", "IN", "NIN" - `filters.value` (string, required) Filter value. For BTW use slash-separated range (e.g. 2025-01-01T00:00:00Z/2025-01-31T23:59:59Z). Example: "crew-12345" - `sorts` (array) Optional sort criteria. Each endpoint supports specific sort fields. - `sorts.field` (string, required) Field to sort by (e.g. displayOrder, startDateTime). Example: "startDateTime" - `sorts.sortDirection` (string, required) Enum: "ASC", "DESC" ## Response 200 fields (application/json): - `data` (array) The list of roster assignments for the current page. - `data.id` (string) Unique identifier of this roster assignment. - `data.crewId` (string) Identifier of the crew member. - `data.rosterTypeId` (string) Id of the roster type (same as RosterTypeDto.id). - `data.startDateTime` (string) Scheduled duty start (ISO 8601 with timezone offset). - `data.endDateTime` (string) Scheduled duty end (ISO 8601 with timezone offset). - `data.requestStatus` (string) Crew self-service request state for a roster assignment. Enum: "PENDING", "APPROVED", "DENIED" - `data.requestedAt` (string) When the crew submitted the request; null when not a crew request. - `data.approvedAt` (string) When the request was approved or denied; null when not yet decided. - `data.approvedByUserId` (string) Id of the user who approved or denied; null when not yet decided. - `pagination` (object) Pagination details - `pagination.offset` (integer) Number of records skipped - `pagination.limit` (integer) Maximum number of records returned Example: 20 - `pagination.totalItems` (integer) Total number of items available Example: 150 - `pagination.sortItems` (array) List of fields used for sorting Example: ["issueDate desc"] - `pagination.filters` (array) List of applied filters - `pagination.filters.field` (string) Field name to filter by Example: "issueDate" - `pagination.filters.operator` (string) Filter operator Example: "gte" - `pagination.filters.value` (string) Filter value Example: "2024-01-01T00:00:00.000Z" ## Response 401 fields ## Response 403 fields