# Update roster assignment 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. Endpoint: PUT /api/v2/rosters/{id} Version: 2.4.0 Security: X-Api-Client-Id, X-Auth-Token ## Path parameters: - `id` (string, required) Unique identifier of the roster assignment to update. Example: "98765" ## Request fields (application/json): - `dutySubtype` (string) Enum: "EARLY", "LATE", "ALL_DAY", "NIGHT" - `crewRole` (string) - `startDateTime` (string) - `endDateTime` (string) - `actualStartDateTime` (string) - `actualEndDateTime` (string) - `locationAirportId` (string) - `departureAirportId` (string) - `arrivalAirportId` (string) - `serviceAirportId` (string) - `flightNumber` (string) - `flightId` (string) - `quoteId` (string) - `takeoffDateTime` (string) - `landingDateTime` (string) - `aircraft` (object) Aircraft assignment for create/update. Only send when roster type has isAircraftEnabled. Same as response but without read-only aircraftVariant. - `aircraft.aircraftId` (string) - `aircraft.crewPositionId` (string) - `aircraft.aircraftTypeId` (string) - `aircraft.typeRating` (string) - `aircraft.externalAircraftRegistration` (string) - `aircraft.engineConfiguration` (string) Enum: "SINGLE_ENGINE", "MULTI_ENGINE" - `logbook` (object) Logbook/AFT data. Only send when roster type enables logbook (e.g. isLandingsVisible, isOperationalConditionVisible, isApproachesVisible, isPilotFlightTypeVisible). For SIM duties, isFullMotionSimulator is used. - `logbook.logbookFlightType` (string) Enum: "SINGLE_PILOT", "MULTI_PILOT" - `logbook.operationalCondition` (string) Enum: "IFR", "VFR", "NIGHT" - `logbook.operationType` (string) Enum: "COMMERCIAL", "PRIVATE" - `logbook.aocId` (string) Id of AOC (Operation Type); when duty counts as duty time and multiple AOCs exist. - `logbook.dayTakeoffs` (integer) - `logbook.nightTakeoffs` (integer) - `logbook.dayLandings` (integer) - `logbook.nightLandings` (integer) - `logbook.precisionApproaches` (integer) - `logbook.approachCategory` (string) e.g. CAT1, CAT2, CAT3, ILS, etc. - `logbook.nonPrecisionApproaches` (integer) - `logbook.isVisualApproach` (boolean) - `logbook.isInstrumentHold` (boolean) - `logbook.isFullMotionSimulator` (boolean) For SIM duties only. - `ftl` (object) FTL duty period flags and manual times. Only send when roster type has isDutyTimeVisible. Split-duty and period start/end flags only apply when isCountedAsDutyTime is true. - `ftl.isCountedAsDutyTime` (boolean) - `ftl.isDutyPeriodStart` (boolean) - `ftl.isDutyPeriodEnd` (boolean) - `ftl.isSplitDutyBreakStart` (boolean) - `ftl.isSplitDutyBreakEnd` (boolean) - `ftl.dutyTimeMinutes` (integer) - `ftl.fdpTimeMinutes` (integer) - `ftl.blockTimeMinutes` (integer) - `notes` (string) - `travelDocumentIds` (array) Ids of travel documents to attach (existing binary references). - `bookingPairing` (string) ## Response 200 fields (application/json): - `id` (string) Unique identifier of this roster assignment. - `crewId` (string) Identifier of the crew member. - `rosterTypeId` (string) Id of the roster type (same as RosterTypeDto.id from roster-types API). - `dutySubtype` (string) Time-of-day subdivision; only when type has isSubtypeVisible. Enum: "EARLY", "LATE", "ALL_DAY", "NIGHT" - `crewRole` (string) Crew role (e.g. PIC, SIC); only when type has isRoleVisible. - `startDateTime` (string) Scheduled duty start (Begins / Check-in). - `endDateTime` (string) Scheduled duty end (Ends / Check-out). - `actualStartDateTime` (string) Actual duty start when different from scheduled; only when type has isActualTimeVisible. - `actualEndDateTime` (string) Actual duty end when different from scheduled; only when type has isActualTimeVisible. - `locationAirportId` (string) Airport where crew is stationed (In); only when type has isLocationVisible. - `departureAirportId` (string) Departure airport (From); only when type has isDepartureAirportEnabled. - `arrivalAirportId` (string) Arrival airport (To); only when type has isArrivalAirportEnabled. - `serviceAirportId` (string) Airport this duty is performed for; only when type has isForAirportEnabled. - `flightNumber` (string) Flight number; only when type has isFlightNumberVisible. - `flightId` (string) Id of linked flight leg. - `quoteId` (string) Id of linked quote/booking. - `takeoffDateTime` (string) Actual takeoff time; only when type has isFlightTimeVisible. - `landingDateTime` (string) Actual landing time; only when type has isFlightTimeVisible. - `aircraft` (object) Aircraft assignment (response). Only present when roster type has isAircraftEnabled. - `aircraft.aircraftId` (string) Id of the aircraft (tail). Mutually exclusive with externalAircraftRegistration. - `aircraft.crewPositionId` (string) Id of crew position on aircraft; requires aircraftId. - `aircraft.aircraftTypeId` (string) Id of aircraft ICAO type (model). - `aircraft.typeRating` (string) - `aircraft.aircraftVariant` (string) Read-only; from aircraft model. - `aircraft.externalAircraftRegistration` (string) Tail of aircraft not in system; mutually exclusive with aircraftId. - `aircraft.engineConfiguration` (string) Only when externalAircraftRegistration is set. Enum: "SINGLE_ENGINE", "MULTI_ENGINE" - `logbook` (object) Logbook/AFT data. Only send when roster type enables logbook (e.g. isLandingsVisible, isOperationalConditionVisible, isApproachesVisible, isPilotFlightTypeVisible). For SIM duties, isFullMotionSimulator is used. - `logbook.logbookFlightType` (string) Enum: "SINGLE_PILOT", "MULTI_PILOT" - `logbook.operationalCondition` (string) Enum: "IFR", "VFR", "NIGHT" - `logbook.operationType` (string) Enum: "COMMERCIAL", "PRIVATE" - `logbook.aocId` (string) Id of AOC (Operation Type); when duty counts as duty time and multiple AOCs exist. - `logbook.dayTakeoffs` (integer) - `logbook.nightTakeoffs` (integer) - `logbook.dayLandings` (integer) - `logbook.nightLandings` (integer) - `logbook.precisionApproaches` (integer) - `logbook.approachCategory` (string) e.g. CAT1, CAT2, CAT3, ILS, etc. - `logbook.nonPrecisionApproaches` (integer) - `logbook.isVisualApproach` (boolean) - `logbook.isInstrumentHold` (boolean) - `logbook.isFullMotionSimulator` (boolean) For SIM duties only. - `ftl` (object) FTL duty period flags and manual times. Only send when roster type has isDutyTimeVisible. Split-duty and period start/end flags only apply when isCountedAsDutyTime is true. - `ftl.isCountedAsDutyTime` (boolean) - `ftl.isDutyPeriodStart` (boolean) - `ftl.isDutyPeriodEnd` (boolean) - `ftl.isSplitDutyBreakStart` (boolean) - `ftl.isSplitDutyBreakEnd` (boolean) - `ftl.dutyTimeMinutes` (integer) - `ftl.fdpTimeMinutes` (integer) - `ftl.blockTimeMinutes` (integer) - `notes` (string) Free-text notes (max 2000 chars); only when type has isNotesVisible. - `travelDocumentIds` (array) Ids of attached travel documents. - `bookingPairing` (string) Related booking/pairing reference; only when type has isRelatedBookingVisible. - `poNumber` (string) Purchase order number (read-only; from ERP integration). - `poCreatedAt` (string) When PO was created (read-only). - `requestStatus` (string) Crew self-service request state for a roster assignment. Enum: "PENDING", "APPROVED", "DENIED" - `requestedAt` (string) - `approvedAt` (string) - `approvedByUserId` (string) ## Response 400 fields ## Response 401 fields ## Response 403 fields ## Response 404 fields