Schedule Items
Ask
List schedule items
GET/v1/teams/{teamId}/days/{dayId}/schedule-itemsLists general schedule items, drives, and flights for a day.
Required scopes: schedule_item:read
Parameters
path.teamIdrequired | string:uuidTeam identifier. |
|---|---|
path.dayIdrequired | string:uuidDay identifier. |
query.limit | integerMaximum number of records to return. Defaults to 50 and is capped at 200. |
query.cursor | stringCursor returned by page.nextCursor from the previous list response. |
Response 200
data | object[] |
|---|---|
data[].dayId | string:uuidDay that owns the schedule item. |
data[].name | stringSchedule item display name. |
data[].type | "general" | "drive" | "flight"Schedule item variant. This must match details.kind. |
data[].status | "confirmed" | "unconfirmed"Confirmation state for the schedule item. |
data[].priority | "normal" | "high"Priority used to draw attention to important schedule items. |
data[].startTime | stringSchedule item start time as a UTC ISO 8601 timestamp, including the trailing Z UTC designator. The timestamp must be within 48 hours of the beginning of the associated day. |
data[].endTime | stringSchedule item end time as a UTC ISO 8601 timestamp, including the trailing Z UTC designator. The timestamp must be within 48 hours of the beginning of the associated day. |
data[].startTimezone | objectIANA timezone identifier for displaying the start time, such as America/Chicago. |
data[].endTimezone | objectIANA timezone identifier for displaying the end time, such as America/Chicago. |
data[].details | general | drive | flight |
data[].details.kind | "general" | "drive" | "flight"general: Discriminator for a general schedule item. drive: Discriminator for a drive schedule item. flight: Discriminator for a flight schedule item. |
data[].details.location | objectOptional location for the general item. |
data[].details.location.label | stringHuman-readable place label. |
data[].details.location.address | stringStreet address or venue address. |
data[].details.location.placeId | stringGoogle Places ID when available. |
data[].details.location.latitude | numberLatitude in decimal degrees. |
data[].details.location.longitude | numberLongitude in decimal degrees. |
data[].details.location.timezone | objectTimezone for this location. |
data[].details.metadata | objectIntegration-specific metadata. |
data[].details.origin | objectDrive origin. |
data[].details.origin.label | stringHuman-readable place label. |
data[].details.origin.address | stringStreet address or venue address. |
data[].details.origin.placeId | stringGoogle Places ID when available. |
data[].details.origin.latitude | numberLatitude in decimal degrees. |
data[].details.origin.longitude | numberLongitude in decimal degrees. |
data[].details.origin.timezone | objectTimezone for this location. |
data[].details.destination | objectDrive destination. |
data[].details.destination.label | stringHuman-readable place label. |
data[].details.destination.address | stringStreet address or venue address. |
data[].details.destination.placeId | stringGoogle Places ID when available. |
data[].details.destination.latitude | numberLatitude in decimal degrees. |
data[].details.destination.longitude | numberLongitude in decimal degrees. |
data[].details.destination.timezone | objectTimezone for this location. |
data[].details.distanceKm | numberDrive distance in kilometers. |
data[].details.distanceMiles | numberDrive distance in miles. |
data[].details.durationMinutes | numberExpected drive duration in minutes. |
data[].details.vehicleCOMING SOON | stringVehicle assigned to the drive. Coming soon in the RoadOps app. |
data[].details.notes | stringDrive-specific notes. |
data[].details.flightType | "commercial" | "private"Whether the flight is commercial or private. Required when type is "flight". |
data[].details.confirmationNumber | stringBooking confirmation number. |
data[].details.tailNumber | stringPrivate aircraft tail number. |
data[].details.aircraftType | stringPrivate aircraft type. |
data[].details.passengerCapacity | integerPassenger capacity for the private aircraft. |
data[].details.passengersCOMING SOON | string:uuid[]RoadOps member IDs traveling on this flight. Coming soon in the RoadOps app. |
data[].details.connections | object[]Ordered flight legs or connections. Required when type is "flight". |
data[].details.connections[].airline | stringAirline or operator name. |
data[].details.connections[].flightNumber | stringCommercial flight number or private leg identifier. |
data[].details.connections[].origin | objectOrigin airport. |
data[].details.connections[].origin.code | string |
data[].details.connections[].origin.name | stringAirport display name. |
data[].details.connections[].origin.address | stringAirport address. |
data[].details.connections[].origin.placeId | stringGoogle Places ID when available. |
data[].details.connections[].origin.terminal | stringTerminal label. |
data[].details.connections[].origin.gate | stringGate label. |
data[].details.connections[].origin.latitude | numberLatitude in decimal degrees. |
data[].details.connections[].origin.longitude | numberLongitude in decimal degrees. |
data[].details.connections[].destination | objectDestination airport. |
data[].details.connections[].destination.code | string |
data[].details.connections[].destination.name | stringAirport display name. |
data[].details.connections[].destination.address | stringAirport address. |
data[].details.connections[].destination.placeId | stringGoogle Places ID when available. |
data[].details.connections[].destination.terminal | stringTerminal label. |
data[].details.connections[].destination.gate | stringGate label. |
data[].details.connections[].destination.latitude | numberLatitude in decimal degrees. |
data[].details.connections[].destination.longitude | numberLongitude in decimal degrees. |
data[].details.connections[].originFbo | objectOrigin FBO for private flights. |
data[].details.connections[].originFbo.label | stringHuman-readable place label. |
data[].details.connections[].originFbo.address | stringStreet address or venue address. |
data[].details.connections[].originFbo.placeId | stringGoogle Places ID when available. |
data[].details.connections[].originFbo.latitude | numberLatitude in decimal degrees. |
data[].details.connections[].originFbo.longitude | numberLongitude in decimal degrees. |
data[].details.connections[].originFbo.timezone | objectTimezone for this location. |
data[].details.connections[].originFboPhone | stringOrigin FBO phone number. |
data[].details.connections[].destinationFbo | objectDestination FBO for private flights. |
data[].details.connections[].destinationFbo.label | stringHuman-readable place label. |
data[].details.connections[].destinationFbo.address | stringStreet address or venue address. |
data[].details.connections[].destinationFbo.placeId | stringGoogle Places ID when available. |
data[].details.connections[].destinationFbo.latitude | numberLatitude in decimal degrees. |
data[].details.connections[].destinationFbo.longitude | numberLongitude in decimal degrees. |
data[].details.connections[].destinationFbo.timezone | objectTimezone for this location. |
data[].details.connections[].destinationFboPhone | stringDestination FBO phone number. |
data[].details.connections[].departureTime | stringScheduled departure time. |
data[].details.connections[].departureTimezone | objectTimezone for the departure time. |
data[].details.connections[].arrivalTime | stringScheduled arrival time. |
data[].details.connections[].arrivalTimezone | objectTimezone for the arrival time. |
data[].notes | stringOptional schedule item notes. |
data[].color | stringHex color reference for the schedule item label, formatted as a leading # followed by six hexadecimal characters. Use this to color-code the item consistently in calendars, timelines, and schedule views. |
data[].sourceMetadata | objectIntegration-specific source metadata. |
data[].visibility | objectOptional visibility rules. |
data[].visibility.groupIds | string:uuid[] |
data[].visibility.userIds | string:uuid[] |
data[].id | string:uuidSchedule item identifier. |
data[].orgId | string:uuidTeam identifier. |
data[].isDeleted | booleanSoft-delete flag. |
data[].version | integerCurrent schedule item aggregate version. |
data[].cursor | integerLatest event-ledger cursor projected into this schedule item record. |
page | object |
page.limit | integerMaximum number of records returned in this page. |
page.nextCursor | string | nullCursor to pass as the next request's cursor query parameter, or null when there are no more results. |
meta | object |
meta.cursor | number | nullHighest record cursor represented by this response. |
Create a general schedule item
POST/v1/teams/{teamId}/days/{dayId}/schedule-itemsAccepts a command to create a general schedule item. Use `type: "general"` with `details.kind: "general"`.
Required scopes: schedule_item:write
Parameters
path.teamIdrequired | string:uuidTeam identifier. |
|---|---|
path.dayIdrequired | string:uuidDay identifier. |
header.Idempotency-Key | string:uuidOptional caller-generated UUID used to make mutation retries safe. Reuse the same UUID only when retrying the same request. |
Request body (application/json)
dayIdrequired | string:uuidDay that owns the schedule item. |
|---|---|
namerequired | stringSchedule item display name. |
typerequired | "general"General schedule item type. |
statusrequired | "confirmed" | "unconfirmed"Confirmation state for the schedule item. |
priorityrequired | "normal" | "high"Priority used to draw attention to important schedule items. |
startTimerequired | stringSchedule item start time as a UTC ISO 8601 timestamp, including the trailing Z UTC designator. The timestamp must be within 48 hours of the beginning of the associated day. |
endTimerequired | stringSchedule item end time as a UTC ISO 8601 timestamp, including the trailing Z UTC designator. The timestamp must be within 48 hours of the beginning of the associated day. |
startTimezonerequired | objectIANA timezone identifier for displaying the start time, such as America/Chicago. |
endTimezonerequired | objectIANA timezone identifier for displaying the end time, such as America/Chicago. |
detailsrequired | object |
details.kindrequired | "general"Discriminator for a general schedule item. |
details.location | objectOptional location for the general item. |
details.location.label | stringHuman-readable place label. |
details.location.address | stringStreet address or venue address. |
details.location.placeId | stringGoogle Places ID when available. |
details.location.latitude | numberLatitude in decimal degrees. |
details.location.longitude | numberLongitude in decimal degrees. |
details.location.timezone | objectTimezone for this location. |
details.metadata | objectIntegration-specific metadata. |
notes | stringOptional schedule item notes. |
color | stringHex color reference for the schedule item label, formatted as a leading # followed by six hexadecimal characters. Use this to color-code the item consistently in calendars, timelines, and schedule views. |
sourceMetadata | objectIntegration-specific source metadata. |
visibility | objectOptional visibility rules. |
visibility.groupIds | string:uuid[] |
visibility.userIds | string:uuid[] |
id | string:uuidOptional caller-supplied schedule item ID. RoadOps generates one when omitted. |
Response 202
commandId | string:uuidCommand identifier accepted into the RoadOps command ledger. |
|---|---|
resourceId | string:uuidIdentifier of the resource targeted by the command. |
resourceType | stringResource type targeted by the command. |
status | "applied"Command dispatch status. |
aggregateVersion | integerAggregate version produced by the accepted command. |
cursor | integerEvent-ledger cursor for the accepted update. Refetch until returned records reach this cursor. |
links | object |
links.refetch | stringRelative URL to refetch the affected resource. |
Create a drive schedule item
POST/v1/teams/{teamId}/days/{dayId}/schedule-itemsAccepts a command to create a drive schedule item. Use `type: "drive"` with `details.kind: "drive"` and drive-specific origin, destination, distance, duration, vehicle, and notes fields.
Required scopes: schedule_item:write
Parameters
path.teamIdrequired | string:uuidTeam identifier. |
|---|---|
path.dayIdrequired | string:uuidDay identifier. |
header.Idempotency-Key | string:uuidOptional caller-generated UUID used to make mutation retries safe. Reuse the same UUID only when retrying the same request. |
Request body (application/json)
dayIdrequired | string:uuidDay that owns the schedule item. |
|---|---|
namerequired | stringSchedule item display name. |
typerequired | "drive"Drive schedule item type. |
statusrequired | "confirmed" | "unconfirmed"Confirmation state for the schedule item. |
priorityrequired | "normal" | "high"Priority used to draw attention to important schedule items. |
startTimerequired | stringSchedule item start time as a UTC ISO 8601 timestamp, including the trailing Z UTC designator. The timestamp must be within 48 hours of the beginning of the associated day. |
endTimerequired | stringSchedule item end time as a UTC ISO 8601 timestamp, including the trailing Z UTC designator. The timestamp must be within 48 hours of the beginning of the associated day. |
startTimezonerequired | objectIANA timezone identifier for displaying the start time, such as America/Chicago. |
endTimezonerequired | objectIANA timezone identifier for displaying the end time, such as America/Chicago. |
detailsrequired | object |
details.kindrequired | "drive"Discriminator for a drive schedule item. |
details.origin | objectDrive origin. |
details.origin.label | stringHuman-readable place label. |
details.origin.address | stringStreet address or venue address. |
details.origin.placeId | stringGoogle Places ID when available. |
details.origin.latitude | numberLatitude in decimal degrees. |
details.origin.longitude | numberLongitude in decimal degrees. |
details.origin.timezone | objectTimezone for this location. |
details.destination | objectDrive destination. |
details.destination.label | stringHuman-readable place label. |
details.destination.address | stringStreet address or venue address. |
details.destination.placeId | stringGoogle Places ID when available. |
details.destination.latitude | numberLatitude in decimal degrees. |
details.destination.longitude | numberLongitude in decimal degrees. |
details.destination.timezone | objectTimezone for this location. |
details.distanceKm | numberDrive distance in kilometers. |
details.distanceMiles | numberDrive distance in miles. |
details.durationMinutes | numberExpected drive duration in minutes. |
details.vehicleCOMING SOON | stringVehicle assigned to the drive. Coming soon in the RoadOps app. |
details.notes | stringDrive-specific notes. |
notes | stringOptional schedule item notes. |
color | stringHex color reference for the schedule item label, formatted as a leading # followed by six hexadecimal characters. Use this to color-code the item consistently in calendars, timelines, and schedule views. |
sourceMetadata | objectIntegration-specific source metadata. |
visibility | objectOptional visibility rules. |
visibility.groupIds | string:uuid[] |
visibility.userIds | string:uuid[] |
id | string:uuidOptional caller-supplied schedule item ID. RoadOps generates one when omitted. |
Response 202
commandId | string:uuidCommand identifier accepted into the RoadOps command ledger. |
|---|---|
resourceId | string:uuidIdentifier of the resource targeted by the command. |
resourceType | stringResource type targeted by the command. |
status | "applied"Command dispatch status. |
aggregateVersion | integerAggregate version produced by the accepted command. |
cursor | integerEvent-ledger cursor for the accepted update. Refetch until returned records reach this cursor. |
links | object |
links.refetch | stringRelative URL to refetch the affected resource. |
Create a flight schedule item
POST/v1/teams/{teamId}/days/{dayId}/schedule-itemsAccepts a command to create a flight schedule item. Use `type: "flight"` with `details.kind: "flight"` and flight-specific passenger, confirmation, aircraft, and connection fields.
Required scopes: schedule_item:write
Parameters
path.teamIdrequired | string:uuidTeam identifier. |
|---|---|
path.dayIdrequired | string:uuidDay identifier. |
header.Idempotency-Key | string:uuidOptional caller-generated UUID used to make mutation retries safe. Reuse the same UUID only when retrying the same request. |
Request body (application/json)
dayIdrequired | string:uuidDay that owns the schedule item. |
|---|---|
namerequired | stringSchedule item display name. |
typerequired | "flight"Flight schedule item type. |
statusrequired | "confirmed" | "unconfirmed"Confirmation state for the schedule item. |
priorityrequired | "normal" | "high"Priority used to draw attention to important schedule items. |
startTimerequired | stringSchedule item start time as a UTC ISO 8601 timestamp, including the trailing Z UTC designator. The timestamp must be within 48 hours of the beginning of the associated day. |
endTimerequired | stringSchedule item end time as a UTC ISO 8601 timestamp, including the trailing Z UTC designator. The timestamp must be within 48 hours of the beginning of the associated day. |
startTimezonerequired | objectIANA timezone identifier for displaying the start time, such as America/Chicago. |
endTimezonerequired | objectIANA timezone identifier for displaying the end time, such as America/Chicago. |
detailsrequired | object |
details.kindrequired | "flight"Discriminator for a flight schedule item. |
details.flightTyperequired | "commercial" | "private"Whether the flight is commercial or private. |
details.confirmationNumber | stringBooking confirmation number. |
details.tailNumber | stringPrivate aircraft tail number. |
details.aircraftType | stringPrivate aircraft type. |
details.passengerCapacity | integerPassenger capacity for the private aircraft. |
details.passengersCOMING SOON | string:uuid[]RoadOps member IDs traveling on this flight. Coming soon in the RoadOps app. |
details.connectionsrequired | object[]Ordered flight legs or connections. |
details.connections[].airline | stringAirline or operator name. |
details.connections[].flightNumber | stringCommercial flight number or private leg identifier. |
details.connections[].origin | objectOrigin airport. |
details.connections[].origin.code | string |
details.connections[].origin.name | stringAirport display name. |
details.connections[].origin.address | stringAirport address. |
details.connections[].origin.placeId | stringGoogle Places ID when available. |
details.connections[].origin.terminal | stringTerminal label. |
details.connections[].origin.gate | stringGate label. |
details.connections[].origin.latitude | numberLatitude in decimal degrees. |
details.connections[].origin.longitude | numberLongitude in decimal degrees. |
details.connections[].destination | objectDestination airport. |
details.connections[].destination.code | string |
details.connections[].destination.name | stringAirport display name. |
details.connections[].destination.address | stringAirport address. |
details.connections[].destination.placeId | stringGoogle Places ID when available. |
details.connections[].destination.terminal | stringTerminal label. |
details.connections[].destination.gate | stringGate label. |
details.connections[].destination.latitude | numberLatitude in decimal degrees. |
details.connections[].destination.longitude | numberLongitude in decimal degrees. |
details.connections[].originFbo | objectOrigin FBO for private flights. |
details.connections[].originFbo.label | stringHuman-readable place label. |
details.connections[].originFbo.address | stringStreet address or venue address. |
details.connections[].originFbo.placeId | stringGoogle Places ID when available. |
details.connections[].originFbo.latitude | numberLatitude in decimal degrees. |
details.connections[].originFbo.longitude | numberLongitude in decimal degrees. |
details.connections[].originFbo.timezone | objectTimezone for this location. |
details.connections[].originFboPhone | stringOrigin FBO phone number. |
details.connections[].destinationFbo | objectDestination FBO for private flights. |
details.connections[].destinationFbo.label | stringHuman-readable place label. |
details.connections[].destinationFbo.address | stringStreet address or venue address. |
details.connections[].destinationFbo.placeId | stringGoogle Places ID when available. |
details.connections[].destinationFbo.latitude | numberLatitude in decimal degrees. |
details.connections[].destinationFbo.longitude | numberLongitude in decimal degrees. |
details.connections[].destinationFbo.timezone | objectTimezone for this location. |
details.connections[].destinationFboPhone | stringDestination FBO phone number. |
details.connections[].departureTime | stringScheduled departure time. |
details.connections[].departureTimezone | objectTimezone for the departure time. |
details.connections[].arrivalTime | stringScheduled arrival time. |
details.connections[].arrivalTimezone | objectTimezone for the arrival time. |
notes | stringOptional schedule item notes. |
color | stringHex color reference for the schedule item label, formatted as a leading # followed by six hexadecimal characters. Use this to color-code the item consistently in calendars, timelines, and schedule views. |
sourceMetadata | objectIntegration-specific source metadata. |
visibility | objectOptional visibility rules. |
visibility.groupIds | string:uuid[] |
visibility.userIds | string:uuid[] |
id | string:uuidOptional caller-supplied schedule item ID. RoadOps generates one when omitted. |
Response 202
commandId | string:uuidCommand identifier accepted into the RoadOps command ledger. |
|---|---|
resourceId | string:uuidIdentifier of the resource targeted by the command. |
resourceType | stringResource type targeted by the command. |
status | "applied"Command dispatch status. |
aggregateVersion | integerAggregate version produced by the accepted command. |
cursor | integerEvent-ledger cursor for the accepted update. Refetch until returned records reach this cursor. |
links | object |
links.refetch | stringRelative URL to refetch the affected resource. |
Retrieve a schedule item
GET/v1/teams/{teamId}/days/{dayId}/schedule-items/{scheduleItemId}Returns one schedule item, drive, or flight by ID.
Required scopes: schedule_item:read
Parameters
path.teamIdrequired | string:uuidTeam identifier. |
|---|---|
path.dayIdrequired | string:uuidDay identifier. |
path.scheduleItemIdrequired | string:uuidSchedule item identifier. |
Response 200
data | object |
|---|---|
data.dayId | string:uuidDay that owns the schedule item. |
data.name | stringSchedule item display name. |
data.type | "general" | "drive" | "flight"Schedule item variant. This must match details.kind. |
data.status | "confirmed" | "unconfirmed"Confirmation state for the schedule item. |
data.priority | "normal" | "high"Priority used to draw attention to important schedule items. |
data.startTime | stringSchedule item start time as a UTC ISO 8601 timestamp, including the trailing Z UTC designator. The timestamp must be within 48 hours of the beginning of the associated day. |
data.endTime | stringSchedule item end time as a UTC ISO 8601 timestamp, including the trailing Z UTC designator. The timestamp must be within 48 hours of the beginning of the associated day. |
data.startTimezone | objectIANA timezone identifier for displaying the start time, such as America/Chicago. |
data.endTimezone | objectIANA timezone identifier for displaying the end time, such as America/Chicago. |
data.details | general | drive | flight |
data.details.kind | "general" | "drive" | "flight"general: Discriminator for a general schedule item. drive: Discriminator for a drive schedule item. flight: Discriminator for a flight schedule item. |
data.details.location | objectOptional location for the general item. |
data.details.location.label | stringHuman-readable place label. |
data.details.location.address | stringStreet address or venue address. |
data.details.location.placeId | stringGoogle Places ID when available. |
data.details.location.latitude | numberLatitude in decimal degrees. |
data.details.location.longitude | numberLongitude in decimal degrees. |
data.details.location.timezone | objectTimezone for this location. |
data.details.metadata | objectIntegration-specific metadata. |
data.details.origin | objectDrive origin. |
data.details.origin.label | stringHuman-readable place label. |
data.details.origin.address | stringStreet address or venue address. |
data.details.origin.placeId | stringGoogle Places ID when available. |
data.details.origin.latitude | numberLatitude in decimal degrees. |
data.details.origin.longitude | numberLongitude in decimal degrees. |
data.details.origin.timezone | objectTimezone for this location. |
data.details.destination | objectDrive destination. |
data.details.destination.label | stringHuman-readable place label. |
data.details.destination.address | stringStreet address or venue address. |
data.details.destination.placeId | stringGoogle Places ID when available. |
data.details.destination.latitude | numberLatitude in decimal degrees. |
data.details.destination.longitude | numberLongitude in decimal degrees. |
data.details.destination.timezone | objectTimezone for this location. |
data.details.distanceKm | numberDrive distance in kilometers. |
data.details.distanceMiles | numberDrive distance in miles. |
data.details.durationMinutes | numberExpected drive duration in minutes. |
data.details.vehicleCOMING SOON | stringVehicle assigned to the drive. Coming soon in the RoadOps app. |
data.details.notes | stringDrive-specific notes. |
data.details.flightType | "commercial" | "private"Whether the flight is commercial or private. Required when type is "flight". |
data.details.confirmationNumber | stringBooking confirmation number. |
data.details.tailNumber | stringPrivate aircraft tail number. |
data.details.aircraftType | stringPrivate aircraft type. |
data.details.passengerCapacity | integerPassenger capacity for the private aircraft. |
data.details.passengersCOMING SOON | string:uuid[]RoadOps member IDs traveling on this flight. Coming soon in the RoadOps app. |
data.details.connections | object[]Ordered flight legs or connections. Required when type is "flight". |
data.details.connections[].airline | stringAirline or operator name. |
data.details.connections[].flightNumber | stringCommercial flight number or private leg identifier. |
data.details.connections[].origin | objectOrigin airport. |
data.details.connections[].origin.code | string |
data.details.connections[].origin.name | stringAirport display name. |
data.details.connections[].origin.address | stringAirport address. |
data.details.connections[].origin.placeId | stringGoogle Places ID when available. |
data.details.connections[].origin.terminal | stringTerminal label. |
data.details.connections[].origin.gate | stringGate label. |
data.details.connections[].origin.latitude | numberLatitude in decimal degrees. |
data.details.connections[].origin.longitude | numberLongitude in decimal degrees. |
data.details.connections[].destination | objectDestination airport. |
data.details.connections[].destination.code | string |
data.details.connections[].destination.name | stringAirport display name. |
data.details.connections[].destination.address | stringAirport address. |
data.details.connections[].destination.placeId | stringGoogle Places ID when available. |
data.details.connections[].destination.terminal | stringTerminal label. |
data.details.connections[].destination.gate | stringGate label. |
data.details.connections[].destination.latitude | numberLatitude in decimal degrees. |
data.details.connections[].destination.longitude | numberLongitude in decimal degrees. |
data.details.connections[].originFbo | objectOrigin FBO for private flights. |
data.details.connections[].originFbo.label | stringHuman-readable place label. |
data.details.connections[].originFbo.address | stringStreet address or venue address. |
data.details.connections[].originFbo.placeId | stringGoogle Places ID when available. |
data.details.connections[].originFbo.latitude | numberLatitude in decimal degrees. |
data.details.connections[].originFbo.longitude | numberLongitude in decimal degrees. |
data.details.connections[].originFbo.timezone | objectTimezone for this location. |
data.details.connections[].originFboPhone | stringOrigin FBO phone number. |
data.details.connections[].destinationFbo | objectDestination FBO for private flights. |
data.details.connections[].destinationFbo.label | stringHuman-readable place label. |
data.details.connections[].destinationFbo.address | stringStreet address or venue address. |
data.details.connections[].destinationFbo.placeId | stringGoogle Places ID when available. |
data.details.connections[].destinationFbo.latitude | numberLatitude in decimal degrees. |
data.details.connections[].destinationFbo.longitude | numberLongitude in decimal degrees. |
data.details.connections[].destinationFbo.timezone | objectTimezone for this location. |
data.details.connections[].destinationFboPhone | stringDestination FBO phone number. |
data.details.connections[].departureTime | stringScheduled departure time. |
data.details.connections[].departureTimezone | objectTimezone for the departure time. |
data.details.connections[].arrivalTime | stringScheduled arrival time. |
data.details.connections[].arrivalTimezone | objectTimezone for the arrival time. |
data.notes | stringOptional schedule item notes. |
data.color | stringHex color reference for the schedule item label, formatted as a leading # followed by six hexadecimal characters. Use this to color-code the item consistently in calendars, timelines, and schedule views. |
data.sourceMetadata | objectIntegration-specific source metadata. |
data.visibility | objectOptional visibility rules. |
data.visibility.groupIds | string:uuid[] |
data.visibility.userIds | string:uuid[] |
data.id | string:uuidSchedule item identifier. |
data.orgId | string:uuidTeam identifier. |
data.isDeleted | booleanSoft-delete flag. |
data.version | integerCurrent schedule item aggregate version. |
data.cursor | integerLatest event-ledger cursor projected into this schedule item record. |
meta | object |
meta.cursor | integerHighest record cursor represented by this response. |
Reschedule a schedule item
POST/v1/teams/{teamId}/days/{dayId}/schedule-items/{scheduleItemId}/rescheduleMoves a schedule item to new start and end times. Use this endpoint specifically for time changes rather than general schedule item edits. If the move changes an item occurring within a user's 24h or 48h schedule notice window, RoadOps sends push notifications to users who have schedule notifications enabled.
Required scopes: schedule_item:write
Parameters
path.teamIdrequired | string:uuidTeam identifier. |
|---|---|
path.dayIdrequired | string:uuidDay identifier. |
path.scheduleItemIdrequired | string:uuidSchedule item identifier. |
header.Idempotency-Key | string:uuidOptional caller-generated UUID used to make mutation retries safe. Reuse the same UUID only when retrying the same request. |
Request body (application/json)
expectedVersion | integerOptional aggregate version guard. |
|---|---|
startTimerequired | string:date-timeNew start time as a UTC ISO 8601 timestamp, including the trailing Z UTC designator. The timestamp must be within 48 hours of the beginning of the associated day. |
endTimerequired | string:date-timeNew end time as a UTC ISO 8601 timestamp, including the trailing Z UTC designator. The timestamp must be within 48 hours of the beginning of the associated day. |
startTimezonerequired | objectIANA timezone identifier for displaying the new start time, such as America/Chicago. |
endTimezonerequired | objectIANA timezone identifier for displaying the new end time, such as America/Chicago. |
Response 202
commandId | string:uuidCommand identifier accepted into the RoadOps command ledger. |
|---|---|
resourceId | string:uuidIdentifier of the resource targeted by the command. |
resourceType | stringResource type targeted by the command. |
status | "applied"Command dispatch status. |
aggregateVersion | integerAggregate version produced by the accepted command. |
cursor | integerEvent-ledger cursor for the accepted update. Refetch until returned records reach this cursor. |
links | object |
links.refetch | stringRelative URL to refetch the affected resource. |
Update a schedule item
PATCH/v1/teams/{teamId}/days/{dayId}/schedule-items/{scheduleItemId}Accepts a command to update a general schedule item, drive, or flight.
Required scopes: schedule_item:write
Parameters
path.teamIdrequired | string:uuidTeam identifier. |
|---|---|
path.dayIdrequired | string:uuidDay identifier. |
path.scheduleItemIdrequired | string:uuidSchedule item identifier. |
header.Idempotency-Key | string:uuidOptional caller-generated UUID used to make mutation retries safe. Reuse the same UUID only when retrying the same request. |
Request body (application/json)
expectedVersion | integerOptional aggregate version guard. |
|---|---|
updatesrequired | objectSchedule item fields to update. The type field must continue to match details.kind when both are supplied. |
updates.dayId | string:uuidDay that owns the schedule item. |
updates.name | stringSchedule item display name. |
updates.type | "general" | "drive" | "flight"Schedule item variant. This must match details.kind. |
updates.status | "confirmed" | "unconfirmed"Confirmation state for the schedule item. |
updates.priority | "normal" | "high"Priority used to draw attention to important schedule items. |
updates.startTime | stringSchedule item start time as a UTC ISO 8601 timestamp, including the trailing Z UTC designator. The timestamp must be within 48 hours of the beginning of the associated day. |
updates.endTime | stringSchedule item end time as a UTC ISO 8601 timestamp, including the trailing Z UTC designator. The timestamp must be within 48 hours of the beginning of the associated day. |
updates.startTimezone | objectIANA timezone identifier for displaying the start time, such as America/Chicago. |
updates.endTimezone | objectIANA timezone identifier for displaying the end time, such as America/Chicago. |
updates.details | general | drive | flight |
updates.details.kindrequired | "general" | "drive" | "flight"general: Discriminator for a general schedule item. drive: Discriminator for a drive schedule item. flight: Discriminator for a flight schedule item. |
updates.details.location | objectOptional location for the general item. |
updates.details.location.label | stringHuman-readable place label. |
updates.details.location.address | stringStreet address or venue address. |
updates.details.location.placeId | stringGoogle Places ID when available. |
updates.details.location.latitude | numberLatitude in decimal degrees. |
updates.details.location.longitude | numberLongitude in decimal degrees. |
updates.details.location.timezone | objectTimezone for this location. |
updates.details.metadata | objectIntegration-specific metadata. |
updates.details.origin | objectDrive origin. |
updates.details.origin.label | stringHuman-readable place label. |
updates.details.origin.address | stringStreet address or venue address. |
updates.details.origin.placeId | stringGoogle Places ID when available. |
updates.details.origin.latitude | numberLatitude in decimal degrees. |
updates.details.origin.longitude | numberLongitude in decimal degrees. |
updates.details.origin.timezone | objectTimezone for this location. |
updates.details.destination | objectDrive destination. |
updates.details.destination.label | stringHuman-readable place label. |
updates.details.destination.address | stringStreet address or venue address. |
updates.details.destination.placeId | stringGoogle Places ID when available. |
updates.details.destination.latitude | numberLatitude in decimal degrees. |
updates.details.destination.longitude | numberLongitude in decimal degrees. |
updates.details.destination.timezone | objectTimezone for this location. |
updates.details.distanceKm | numberDrive distance in kilometers. |
updates.details.distanceMiles | numberDrive distance in miles. |
updates.details.durationMinutes | numberExpected drive duration in minutes. |
updates.details.vehicleCOMING SOON | stringVehicle assigned to the drive. Coming soon in the RoadOps app. |
updates.details.notes | stringDrive-specific notes. |
updates.details.flightType | "commercial" | "private"Whether the flight is commercial or private. Required when type is "flight". |
updates.details.confirmationNumber | stringBooking confirmation number. |
updates.details.tailNumber | stringPrivate aircraft tail number. |
updates.details.aircraftType | stringPrivate aircraft type. |
updates.details.passengerCapacity | integerPassenger capacity for the private aircraft. |
updates.details.passengersCOMING SOON | string:uuid[]RoadOps member IDs traveling on this flight. Coming soon in the RoadOps app. |
updates.details.connections | object[]Ordered flight legs or connections. Required when type is "flight". |
updates.details.connections[].airline | stringAirline or operator name. |
updates.details.connections[].flightNumber | stringCommercial flight number or private leg identifier. |
updates.details.connections[].origin | objectOrigin airport. |
updates.details.connections[].origin.code | string |
updates.details.connections[].origin.name | stringAirport display name. |
updates.details.connections[].origin.address | stringAirport address. |
updates.details.connections[].origin.placeId | stringGoogle Places ID when available. |
updates.details.connections[].origin.terminal | stringTerminal label. |
updates.details.connections[].origin.gate | stringGate label. |
updates.details.connections[].origin.latitude | numberLatitude in decimal degrees. |
updates.details.connections[].origin.longitude | numberLongitude in decimal degrees. |
updates.details.connections[].destination | objectDestination airport. |
updates.details.connections[].destination.code | string |
updates.details.connections[].destination.name | stringAirport display name. |
updates.details.connections[].destination.address | stringAirport address. |
updates.details.connections[].destination.placeId | stringGoogle Places ID when available. |
updates.details.connections[].destination.terminal | stringTerminal label. |
updates.details.connections[].destination.gate | stringGate label. |
updates.details.connections[].destination.latitude | numberLatitude in decimal degrees. |
updates.details.connections[].destination.longitude | numberLongitude in decimal degrees. |
updates.details.connections[].originFbo | objectOrigin FBO for private flights. |
updates.details.connections[].originFbo.label | stringHuman-readable place label. |
updates.details.connections[].originFbo.address | stringStreet address or venue address. |
updates.details.connections[].originFbo.placeId | stringGoogle Places ID when available. |
updates.details.connections[].originFbo.latitude | numberLatitude in decimal degrees. |
updates.details.connections[].originFbo.longitude | numberLongitude in decimal degrees. |
updates.details.connections[].originFbo.timezone | objectTimezone for this location. |
updates.details.connections[].originFboPhone | stringOrigin FBO phone number. |
updates.details.connections[].destinationFbo | objectDestination FBO for private flights. |
updates.details.connections[].destinationFbo.label | stringHuman-readable place label. |
updates.details.connections[].destinationFbo.address | stringStreet address or venue address. |
updates.details.connections[].destinationFbo.placeId | stringGoogle Places ID when available. |
updates.details.connections[].destinationFbo.latitude | numberLatitude in decimal degrees. |
updates.details.connections[].destinationFbo.longitude | numberLongitude in decimal degrees. |
updates.details.connections[].destinationFbo.timezone | objectTimezone for this location. |
updates.details.connections[].destinationFboPhone | stringDestination FBO phone number. |
updates.details.connections[].departureTime | stringScheduled departure time. |
updates.details.connections[].departureTimezone | objectTimezone for the departure time. |
updates.details.connections[].arrivalTime | stringScheduled arrival time. |
updates.details.connections[].arrivalTimezone | objectTimezone for the arrival time. |
updates.notes | stringOptional schedule item notes. |
updates.color | stringHex color reference for the schedule item label, formatted as a leading # followed by six hexadecimal characters. Use this to color-code the item consistently in calendars, timelines, and schedule views. |
updates.sourceMetadata | objectIntegration-specific source metadata. |
updates.visibility | objectOptional visibility rules. |
updates.visibility.groupIds | string:uuid[] |
updates.visibility.userIds | string:uuid[] |
Response 202
commandId | string:uuidCommand identifier accepted into the RoadOps command ledger. |
|---|---|
resourceId | string:uuidIdentifier of the resource targeted by the command. |
resourceType | stringResource type targeted by the command. |
status | "applied"Command dispatch status. |
aggregateVersion | integerAggregate version produced by the accepted command. |
cursor | integerEvent-ledger cursor for the accepted update. Refetch until returned records reach this cursor. |
links | object |
links.refetch | stringRelative URL to refetch the affected resource. |
Delete a schedule item
DELETE/v1/teams/{teamId}/days/{dayId}/schedule-items/{scheduleItemId}Accepts a command to delete a schedule item, drive, or flight.
Required scopes: schedule_item:write
Parameters
path.teamIdrequired | string:uuidTeam identifier. |
|---|---|
path.dayIdrequired | string:uuidDay identifier. |
path.scheduleItemIdrequired | string:uuidSchedule item identifier. |
header.Idempotency-Key | string:uuidOptional caller-generated UUID used to make mutation retries safe. Reuse the same UUID only when retrying the same request. |
Response 202
commandId | string:uuidCommand identifier accepted into the RoadOps command ledger. |
|---|---|
resourceId | string:uuidIdentifier of the resource targeted by the command. |
resourceType | stringResource type targeted by the command. |
status | "applied"Command dispatch status. |
aggregateVersion | integerAggregate version produced by the accepted command. |
cursor | integerEvent-ledger cursor for the accepted update. Refetch until returned records reach this cursor. |
links | object |
links.refetch | stringRelative URL to refetch the affected resource. |