# Roster Assignment
Manage crew roster assignments, including creating, retrieving, updating, and deleting duties. These endpoints enable partners to synchronize crew schedules and manage operational duties with the same semantics as the FL3XX web interface.
**Business Value**
- Automate crew schedule management and updates in real‑time.
- Keep crew schedules perfectly synchronized with external systems.
- Support crew self‑service and scheduler workflows via API.
- Reduce manual data entry and errors in crew roster management.
**Use Cases**
- Create a new roster assignment (e.g., Off, Flight, Standby) for a crew member.
- Retrieve detailed information about a specific roster duty, including associated aircraft and airports.
- Update existing roster assignments to reflect changes in schedules or duty types.
- Search and filter roster assignments by crew member, type, or date range.
## Get roster assignments
- [POST /api/v2/rosters-search](https://developer.fl3xx.com/reference/v2/roster-assignment/rosterassignmentssearch.md): 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.
## Create roster assignment
- [POST /api/v2/rosters](https://developer.fl3xx.com/reference/v2/roster-assignment/rosterassignmentcreate.md): Creates a new roster assignment for a crew member. This is equivalent to adding a duty or day in the FL3XX roster interface.
Features:
- Create various duty types (e.g., Off, Flight, Standby, Training)
- Supports detailed duty information including aircraft, airports, and notes
- Dynamic validation based on the selected roster type
Example Use Case: An automated scheduling system creates a "Standby" duty for a crew member, providing the start and end times, and ensuring all required references are correctly resolved.
Important:
The fields required for a successful creation depend on the selected roster type. You should first check the roster type's configuration using the Roster Types endpoints to determine which features (e.g., aircraft, airports, FTL) are enabled.
## Get roster assignment
- [GET /api/v2/rosters/{id}](https://developer.fl3xx.com/reference/v2/roster-assignment/rosterassignmentbyidget.md): Retrieves the full details of a specific roster assignment.
Features:
- Returns complete assignment data including aircraft, airports, and logbook details
- Provides timing and status information
- Dynamic response structure based on the assignment's roster type
Example Use Case: A crew member's mobile app retrieves the full details of a "Flight" duty to display the assigned aircraft and the departure/arrival airports to the user.
Note: Sections such as aircraft, logbook, and ftl will be populated only if they are enabled for that specific duty type; otherwise, they will be null.
## Update roster assignment
- [PUT /api/v2/rosters/{id}](https://developer.fl3xx.com/reference/v2/roster-assignment/rosterassignmentbyidput.md): Updates an existing roster assignment. All fields in the request body are optional; only the provided fields will be modified.
Features:
- Update timing, status, and associated data for a roster duty
- Support for changing the roster type of an existing assignment
- Partial updates allow for efficient synchronization of roster data
Example Use Case: A scheduler updates the end time of an existing duty or changes the assigned aircraft after an operational adjustment.
Note:
As with the create operation, the relevance of fields depends on the roster type of the assignment. If you change the rosterTypeId, ensure that any other updated fields are supported by the new type.
## Delete a roster assignment
- [DELETE /api/v2/rosters/{id}](https://developer.fl3xx.com/reference/v2/roster-assignment/rosterassignmentbyiddelete.md): Permanently removes the roster assignment.