RoadOpsDeveloper

Schedule Items

Ask

List schedule items

GET/v1/teams/{teamId}/days/{dayId}/schedule-items

Lists general schedule items, drives, flights, and trains for a day.

Required scopes: schedule_item:read

Parameters

path.teamIdrequiredstring:uuid

Team identifier.

path.dayIdrequiredstring:uuid

Day identifier.

query.limitinteger

Maximum number of records to return. Defaults to 50 and is capped at 200.

query.cursorstring

Cursor returned by page.nextCursor from the previous list response.

Response 200

dataobject[]
data[].dayIdstring:uuid

Day that owns the schedule item.

data[].namestring

Schedule item display name.

data[].type"general" | "drive" | "flight" | "train"

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[].startTimestring

Schedule item start time as a UTC ISO 8601 timestamp, including the trailing Z UTC designator. The timestamp must fall within the associated day's local 48-hour window.

data[].endTimestring

Schedule item end time as a UTC ISO 8601 timestamp, including the trailing Z UTC designator. Non-flight items must end within the associated day's local 48-hour window; flights may arrive after that window.

data[].startTimezoneobject

IANA timezone identifier for displaying the start time, such as America/Chicago.

data[].endTimezoneobject

IANA timezone identifier for displaying the end time, such as America/Chicago.

data[].detailsgeneral | drive | flight | train
data[].details.kind"general" | "drive" | "flight" | "train"

general: Discriminator for a general schedule item. drive: Discriminator for a drive schedule item. flight: Discriminator for a flight schedule item. train: Discriminator for a train schedule item.

data[].details.locationobject

Optional location for the general item.

data[].details.location.labelstring

Human-readable place label.

data[].details.location.addressstring

Street address or venue address.

data[].details.location.placeIdstring

Google Places ID when available.

data[].details.location.latitudenumber

Latitude in decimal degrees.

data[].details.location.longitudenumber

Longitude in decimal degrees.

data[].details.location.timezoneobject

Timezone for this location.

data[].details.metadataobject

Integration-specific metadata.

data[].details.transportMode"self_drive" | "car_service" | "runner" | "bus" | "taxi" | "rideshare" | "other"

Ground transportation mode. Omitted values are treated as self_drive for compatibility.

data[].details.includesFerryboolean

Whether this drive includes a ferry segment.

data[].details.providerstring

Transportation provider or company.

data[].details.confirmationNumberstring

drive: Transportation booking or confirmation number. flight: Booking confirmation number. train: Train booking confirmation number.

data[].details.driverNamestring

Driver or runner name.

data[].details.contactstring

Driver, runner, or provider contact details.

data[].details.vehicleDescriptionstring

Vehicle class, type, or identifying description.

data[].details.pickupInstructionsstring

Pickup instructions for the traveler.

data[].details.otherDescriptionstring

Description of an Other transportation mode.

data[].details.originobject

Drive origin.

data[].details.origin.labelstring

Human-readable place label.

data[].details.origin.addressstring

Street address or venue address.

data[].details.origin.placeIdstring

Google Places ID when available.

data[].details.origin.latitudenumber

Latitude in decimal degrees.

data[].details.origin.longitudenumber

Longitude in decimal degrees.

data[].details.origin.timezoneobject

Timezone for this location.

data[].details.stopsobject[]

Ordered intermediate stops between the drive origin and destination. Each stop ID must be unique. Array order is route order; send an empty array to clear all stops.

data[].details.stops[].idstring:uuid

Stable identifier for this intermediate drive stop. Required when type is "drive".

data[].details.stops[].locationobject

Intermediate location visited by the drive. Required when type is "drive".

data[].details.stops[].location.labelstring

Human-readable place label.

data[].details.stops[].location.addressstring

Street address or venue address.

data[].details.stops[].location.placeIdstring

Google Places ID when available.

data[].details.stops[].location.latitudenumber

Latitude in decimal degrees.

data[].details.stops[].location.longitudenumber

Longitude in decimal degrees.

data[].details.stops[].location.timezoneobject

Timezone for this location.

data[].details.destinationobject

Drive destination.

data[].details.destination.labelstring

Human-readable place label.

data[].details.destination.addressstring

Street address or venue address.

data[].details.destination.placeIdstring

Google Places ID when available.

data[].details.destination.latitudenumber

Latitude in decimal degrees.

data[].details.destination.longitudenumber

Longitude in decimal degrees.

data[].details.destination.timezoneobject

Timezone for this location.

data[].details.distanceKmnumber

Drive distance in kilometers.

data[].details.distanceMilesnumber

Drive distance in miles.

data[].details.durationMinutesnumber

Expected drive duration in minutes.

data[].details.vehicleCOMING SOONstring

Vehicle assigned to the drive. Coming soon in the RoadOps app.

data[].details.notesstring

Drive-specific notes.

data[].details.flightType"commercial" | "private"

Whether the flight is commercial or private. Required when type is "flight".

data[].details.tailNumberstring

Private aircraft tail number.

data[].details.aircraftTypestring

Private aircraft type.

data[].details.passengerCapacityinteger

Passenger capacity for the private aircraft.

data[].details.passengersCOMING SOONstring:uuid[]

RoadOps member IDs traveling on this flight. Coming soon in the RoadOps app.

data[].details.connectionsobject[]

Ordered flight legs or connections. Required when type is "flight".

data[].details.connections[].airlinestring

Airline or operator name.

data[].details.connections[].flightNumberstring

Commercial flight number or private leg identifier.

data[].details.connections[].originobject

Origin airport.

data[].details.connections[].origin.codestring
data[].details.connections[].origin.namestring

Airport display name.

data[].details.connections[].origin.addressstring

Airport address.

data[].details.connections[].origin.placeIdstring

Google Places ID when available.

data[].details.connections[].origin.terminalstring

Terminal label.

data[].details.connections[].origin.gatestring

Gate label.

data[].details.connections[].origin.latitudenumber

Latitude in decimal degrees.

data[].details.connections[].origin.longitudenumber

Longitude in decimal degrees.

data[].details.connections[].destinationobject

Destination airport.

data[].details.connections[].destination.codestring
data[].details.connections[].destination.namestring

Airport display name.

data[].details.connections[].destination.addressstring

Airport address.

data[].details.connections[].destination.placeIdstring

Google Places ID when available.

data[].details.connections[].destination.terminalstring

Terminal label.

data[].details.connections[].destination.gatestring

Gate label.

data[].details.connections[].destination.latitudenumber

Latitude in decimal degrees.

data[].details.connections[].destination.longitudenumber

Longitude in decimal degrees.

data[].details.connections[].originFboobject

Origin FBO for private flights.

data[].details.connections[].originFbo.labelstring

Human-readable place label.

data[].details.connections[].originFbo.addressstring

Street address or venue address.

data[].details.connections[].originFbo.placeIdstring

Google Places ID when available.

data[].details.connections[].originFbo.latitudenumber

Latitude in decimal degrees.

data[].details.connections[].originFbo.longitudenumber

Longitude in decimal degrees.

data[].details.connections[].originFbo.timezoneobject

Timezone for this location.

data[].details.connections[].originFboPhonestring

Origin FBO phone number.

data[].details.connections[].destinationFboobject

Destination FBO for private flights.

data[].details.connections[].destinationFbo.labelstring

Human-readable place label.

data[].details.connections[].destinationFbo.addressstring

Street address or venue address.

data[].details.connections[].destinationFbo.placeIdstring

Google Places ID when available.

data[].details.connections[].destinationFbo.latitudenumber

Latitude in decimal degrees.

data[].details.connections[].destinationFbo.longitudenumber

Longitude in decimal degrees.

data[].details.connections[].destinationFbo.timezoneobject

Timezone for this location.

data[].details.connections[].destinationFboPhonestring

Destination FBO phone number.

data[].details.connections[].departureTimestring

Scheduled departure time.

data[].details.connections[].departureTimezoneobject

Timezone for the departure time.

data[].details.connections[].arrivalTimestring

Scheduled arrival time.

data[].details.connections[].arrivalTimezoneobject

Timezone for the arrival time.

data[].details.legsobject[]

Ordered train journey legs. Required when type is "train".

data[].details.legs[].operatorstring

Rail operator name.

data[].details.legs[].trainNumberstring

Train or service number.

data[].details.legs[].originobject

Origin train station. Required when type is "train".

data[].details.legs[].origin.addressstring

Street address or venue address.

data[].details.legs[].origin.placeIdstring

Google Places ID when available.

data[].details.legs[].origin.latitudenumber

Latitude in decimal degrees.

data[].details.legs[].origin.longitudenumber

Longitude in decimal degrees.

data[].details.legs[].origin.timezoneobject

Timezone for this location.

data[].details.legs[].origin.namestring

Train station display name. Required when type is "train".

data[].details.legs[].destinationobject

Destination train station. Required when type is "train".

data[].details.legs[].destination.addressstring

Street address or venue address.

data[].details.legs[].destination.placeIdstring

Google Places ID when available.

data[].details.legs[].destination.latitudenumber

Latitude in decimal degrees.

data[].details.legs[].destination.longitudenumber

Longitude in decimal degrees.

data[].details.legs[].destination.timezoneobject

Timezone for this location.

data[].details.legs[].destination.namestring

Train station display name. Required when type is "train".

data[].details.legs[].originPlatformstring

Departure platform or track.

data[].details.legs[].destinationPlatformstring

Arrival platform or track.

data[].details.legs[].departureTimestring

Scheduled train departure time. Required when type is "train".

data[].details.legs[].departureTimezoneobject

Timezone for the train departure time. Required when type is "train".

data[].details.legs[].arrivalTimestring

Scheduled train arrival time. Required when type is "train".

data[].details.legs[].arrivalTimezoneobject

Timezone for the train arrival time. Required when type is "train".

data[].notesstring

Optional schedule item notes.

data[].colorstring

Hex 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[].sourceMetadataobject

Integration-specific source metadata.

data[].visibilityobject

Optional visibility rules.

data[].visibility.groupIdsstring:uuid[]
data[].visibility.userIdsstring:uuid[]
data[].idstring:uuid

Schedule item identifier.

data[].orgIdstring:uuid

Team identifier.

data[].isDeletedboolean

Soft-delete flag.

data[].versioninteger

Current schedule item aggregate version.

data[].cursorinteger

Latest event-ledger cursor projected into this schedule item record.

pageobject
page.limitinteger

Maximum number of records returned in this page.

page.nextCursorstring | null

Cursor to pass as the next request's cursor query parameter, or null when there are no more results.

metaobject
meta.cursornumber | null

Highest record cursor represented by this response.

Create a general schedule item

POST/v1/teams/{teamId}/days/{dayId}/schedule-items

Accepts a command to create a general schedule item. Use `type: "general"` with `details.kind: "general"`.

Required scopes: schedule_item:write

Parameters

path.teamIdrequiredstring:uuid

Team identifier.

path.dayIdrequiredstring:uuid

Day identifier.

header.Idempotency-Keystring:uuid

Optional caller-generated UUID used to make mutation retries safe. Reuse the same UUID only when retrying the same request.

Request body (application/json)

dayIdrequiredstring:uuid

Day that owns the schedule item.

namerequiredstring

Schedule 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.

startTimerequiredstring

Schedule item start time as a UTC ISO 8601 timestamp, including the trailing Z UTC designator. The timestamp must fall within the associated day's local 48-hour window.

endTimerequiredstring

Schedule item end time as a UTC ISO 8601 timestamp, including the trailing Z UTC designator. Non-flight items must end within the associated day's local 48-hour window; flights may arrive after that window.

startTimezonerequiredobject

IANA timezone identifier for displaying the start time, such as America/Chicago.

endTimezonerequiredobject

IANA timezone identifier for displaying the end time, such as America/Chicago.

detailsrequiredobject
details.kindrequired"general"

Discriminator for a general schedule item.

details.locationobject

Optional location for the general item.

details.location.labelstring

Human-readable place label.

details.location.addressstring

Street address or venue address.

details.location.placeIdstring

Google Places ID when available.

details.location.latitudenumber

Latitude in decimal degrees.

details.location.longitudenumber

Longitude in decimal degrees.

details.location.timezoneobject

Timezone for this location.

details.metadataobject

Integration-specific metadata.

notesstring

Optional schedule item notes.

colorstring

Hex 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.

sourceMetadataobject

Integration-specific source metadata.

visibilityobject

Optional visibility rules.

visibility.groupIdsstring:uuid[]
visibility.userIdsstring:uuid[]
idstring:uuid

Optional caller-supplied schedule item ID. RoadOps generates one when omitted.

Response 202

commandIdstring:uuid

Command identifier accepted into the RoadOps command ledger.

resourceIdstring:uuid

Identifier of the resource targeted by the command.

resourceTypestring

Resource type targeted by the command.

status"applied"

Command dispatch status.

aggregateVersioninteger

Aggregate version produced by the accepted command.

cursorinteger

Event-ledger cursor for the accepted update. Refetch until returned records reach this cursor.

linksobject
links.refetchstring

Relative URL to refetch the affected resource.

Create a drive schedule item

POST/v1/teams/{teamId}/days/{dayId}/schedule-items

Accepts a command to create a drive schedule item. Use `type: "drive"` with `details.kind: "drive"`. The optional `details.stops` array is the ordered route between origin and destination; each stop has a stable UUID and RoadOps location.

Required scopes: schedule_item:write

Parameters

path.teamIdrequiredstring:uuid

Team identifier.

path.dayIdrequiredstring:uuid

Day identifier.

header.Idempotency-Keystring:uuid

Optional caller-generated UUID used to make mutation retries safe. Reuse the same UUID only when retrying the same request.

Request body (application/json)

dayIdrequiredstring:uuid

Day that owns the schedule item.

namerequiredstring

Schedule 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.

startTimerequiredstring

Schedule item start time as a UTC ISO 8601 timestamp, including the trailing Z UTC designator. The timestamp must fall within the associated day's local 48-hour window.

endTimerequiredstring

Schedule item end time as a UTC ISO 8601 timestamp, including the trailing Z UTC designator. Non-flight items must end within the associated day's local 48-hour window; flights may arrive after that window.

startTimezonerequiredobject

IANA timezone identifier for displaying the start time, such as America/Chicago.

endTimezonerequiredobject

IANA timezone identifier for displaying the end time, such as America/Chicago.

detailsrequiredobject
details.kindrequired"drive"

Discriminator for a drive schedule item.

details.transportMode"self_drive" | "car_service" | "runner" | "bus" | "taxi" | "rideshare" | "other"

Ground transportation mode. Omitted values are treated as self_drive for compatibility.

details.includesFerryboolean

Whether this drive includes a ferry segment.

details.providerstring

Transportation provider or company.

details.confirmationNumberstring

Transportation booking or confirmation number.

details.driverNamestring

Driver or runner name.

details.contactstring

Driver, runner, or provider contact details.

details.vehicleDescriptionstring

Vehicle class, type, or identifying description.

details.pickupInstructionsstring

Pickup instructions for the traveler.

details.otherDescriptionstring

Description of an Other transportation mode.

details.originobject

Drive origin.

details.origin.labelstring

Human-readable place label.

details.origin.addressstring

Street address or venue address.

details.origin.placeIdstring

Google Places ID when available.

details.origin.latitudenumber

Latitude in decimal degrees.

details.origin.longitudenumber

Longitude in decimal degrees.

details.origin.timezoneobject

Timezone for this location.

details.stopsobject[]

Ordered intermediate stops between the drive origin and destination. Each stop ID must be unique. Array order is route order; send an empty array to clear all stops.

details.stops[].idrequiredstring:uuid

Stable identifier for this intermediate drive stop.

details.stops[].locationrequiredobject

Intermediate location visited by the drive.

details.stops[].location.labelstring

Human-readable place label.

details.stops[].location.addressstring

Street address or venue address.

details.stops[].location.placeIdstring

Google Places ID when available.

details.stops[].location.latitudenumber

Latitude in decimal degrees.

details.stops[].location.longitudenumber

Longitude in decimal degrees.

details.stops[].location.timezoneobject

Timezone for this location.

details.destinationobject

Drive destination.

details.destination.labelstring

Human-readable place label.

details.destination.addressstring

Street address or venue address.

details.destination.placeIdstring

Google Places ID when available.

details.destination.latitudenumber

Latitude in decimal degrees.

details.destination.longitudenumber

Longitude in decimal degrees.

details.destination.timezoneobject

Timezone for this location.

details.distanceKmnumber

Drive distance in kilometers.

details.distanceMilesnumber

Drive distance in miles.

details.durationMinutesnumber

Expected drive duration in minutes.

details.vehicleCOMING SOONstring

Vehicle assigned to the drive. Coming soon in the RoadOps app.

details.notesstring

Drive-specific notes.

notesstring

Optional schedule item notes.

colorstring

Hex 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.

sourceMetadataobject

Integration-specific source metadata.

visibilityobject

Optional visibility rules.

visibility.groupIdsstring:uuid[]
visibility.userIdsstring:uuid[]
idstring:uuid

Optional caller-supplied schedule item ID. RoadOps generates one when omitted.

Response 202

commandIdstring:uuid

Command identifier accepted into the RoadOps command ledger.

resourceIdstring:uuid

Identifier of the resource targeted by the command.

resourceTypestring

Resource type targeted by the command.

status"applied"

Command dispatch status.

aggregateVersioninteger

Aggregate version produced by the accepted command.

cursorinteger

Event-ledger cursor for the accepted update. Refetch until returned records reach this cursor.

linksobject
links.refetchstring

Relative URL to refetch the affected resource.

Create a flight schedule item

POST/v1/teams/{teamId}/days/{dayId}/schedule-items

Accepts 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.teamIdrequiredstring:uuid

Team identifier.

path.dayIdrequiredstring:uuid

Day identifier.

header.Idempotency-Keystring:uuid

Optional caller-generated UUID used to make mutation retries safe. Reuse the same UUID only when retrying the same request.

Request body (application/json)

dayIdrequiredstring:uuid

Day that owns the schedule item.

namerequiredstring

Schedule 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.

startTimerequiredstring

Schedule item start time as a UTC ISO 8601 timestamp, including the trailing Z UTC designator. The timestamp must fall within the associated day's local 48-hour window.

endTimerequiredstring

Schedule item end time as a UTC ISO 8601 timestamp, including the trailing Z UTC designator. Non-flight items must end within the associated day's local 48-hour window; flights may arrive after that window.

startTimezonerequiredobject

IANA timezone identifier for displaying the start time, such as America/Chicago.

endTimezonerequiredobject

IANA timezone identifier for displaying the end time, such as America/Chicago.

detailsrequiredobject
details.kindrequired"flight"

Discriminator for a flight schedule item.

details.flightTyperequired"commercial" | "private"

Whether the flight is commercial or private.

details.confirmationNumberstring

Booking confirmation number.

details.tailNumberstring

Private aircraft tail number.

details.aircraftTypestring

Private aircraft type.

details.passengerCapacityinteger

Passenger capacity for the private aircraft.

details.passengersCOMING SOONstring:uuid[]

RoadOps member IDs traveling on this flight. Coming soon in the RoadOps app.

details.connectionsrequiredobject[]

Ordered flight legs or connections.

details.connections[].airlinestring

Airline or operator name.

details.connections[].flightNumberstring

Commercial flight number or private leg identifier.

details.connections[].originobject

Origin airport.

details.connections[].origin.codestring
details.connections[].origin.namestring

Airport display name.

details.connections[].origin.addressstring

Airport address.

details.connections[].origin.placeIdstring

Google Places ID when available.

details.connections[].origin.terminalstring

Terminal label.

details.connections[].origin.gatestring

Gate label.

details.connections[].origin.latitudenumber

Latitude in decimal degrees.

details.connections[].origin.longitudenumber

Longitude in decimal degrees.

details.connections[].destinationobject

Destination airport.

details.connections[].destination.codestring
details.connections[].destination.namestring

Airport display name.

details.connections[].destination.addressstring

Airport address.

details.connections[].destination.placeIdstring

Google Places ID when available.

details.connections[].destination.terminalstring

Terminal label.

details.connections[].destination.gatestring

Gate label.

details.connections[].destination.latitudenumber

Latitude in decimal degrees.

details.connections[].destination.longitudenumber

Longitude in decimal degrees.

details.connections[].originFboobject

Origin FBO for private flights.

details.connections[].originFbo.labelstring

Human-readable place label.

details.connections[].originFbo.addressstring

Street address or venue address.

details.connections[].originFbo.placeIdstring

Google Places ID when available.

details.connections[].originFbo.latitudenumber

Latitude in decimal degrees.

details.connections[].originFbo.longitudenumber

Longitude in decimal degrees.

details.connections[].originFbo.timezoneobject

Timezone for this location.

details.connections[].originFboPhonestring

Origin FBO phone number.

details.connections[].destinationFboobject

Destination FBO for private flights.

details.connections[].destinationFbo.labelstring

Human-readable place label.

details.connections[].destinationFbo.addressstring

Street address or venue address.

details.connections[].destinationFbo.placeIdstring

Google Places ID when available.

details.connections[].destinationFbo.latitudenumber

Latitude in decimal degrees.

details.connections[].destinationFbo.longitudenumber

Longitude in decimal degrees.

details.connections[].destinationFbo.timezoneobject

Timezone for this location.

details.connections[].destinationFboPhonestring

Destination FBO phone number.

details.connections[].departureTimestring

Scheduled departure time.

details.connections[].departureTimezoneobject

Timezone for the departure time.

details.connections[].arrivalTimestring

Scheduled arrival time.

details.connections[].arrivalTimezoneobject

Timezone for the arrival time.

notesstring

Optional schedule item notes.

colorstring

Hex 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.

sourceMetadataobject

Integration-specific source metadata.

visibilityobject

Optional visibility rules.

visibility.groupIdsstring:uuid[]
visibility.userIdsstring:uuid[]
idstring:uuid

Optional caller-supplied schedule item ID. RoadOps generates one when omitted.

Response 202

commandIdstring:uuid

Command identifier accepted into the RoadOps command ledger.

resourceIdstring:uuid

Identifier of the resource targeted by the command.

resourceTypestring

Resource type targeted by the command.

status"applied"

Command dispatch status.

aggregateVersioninteger

Aggregate version produced by the accepted command.

cursorinteger

Event-ledger cursor for the accepted update. Refetch until returned records reach this cursor.

linksobject
links.refetchstring

Relative URL to refetch the affected resource.

Retrieve a schedule item

GET/v1/teams/{teamId}/days/{dayId}/schedule-items/{scheduleItemId}

Returns one general schedule item, drive, flight, or train by ID.

Required scopes: schedule_item:read

Parameters

path.teamIdrequiredstring:uuid

Team identifier.

path.dayIdrequiredstring:uuid

Day identifier.

path.scheduleItemIdrequiredstring:uuid

Schedule item identifier.

Response 200

dataobject
data.dayIdstring:uuid

Day that owns the schedule item.

data.namestring

Schedule item display name.

data.type"general" | "drive" | "flight" | "train"

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.startTimestring

Schedule item start time as a UTC ISO 8601 timestamp, including the trailing Z UTC designator. The timestamp must fall within the associated day's local 48-hour window.

data.endTimestring

Schedule item end time as a UTC ISO 8601 timestamp, including the trailing Z UTC designator. Non-flight items must end within the associated day's local 48-hour window; flights may arrive after that window.

data.startTimezoneobject

IANA timezone identifier for displaying the start time, such as America/Chicago.

data.endTimezoneobject

IANA timezone identifier for displaying the end time, such as America/Chicago.

data.detailsgeneral | drive | flight | train
data.details.kind"general" | "drive" | "flight" | "train"

general: Discriminator for a general schedule item. drive: Discriminator for a drive schedule item. flight: Discriminator for a flight schedule item. train: Discriminator for a train schedule item.

data.details.locationobject

Optional location for the general item.

data.details.location.labelstring

Human-readable place label.

data.details.location.addressstring

Street address or venue address.

data.details.location.placeIdstring

Google Places ID when available.

data.details.location.latitudenumber

Latitude in decimal degrees.

data.details.location.longitudenumber

Longitude in decimal degrees.

data.details.location.timezoneobject

Timezone for this location.

data.details.metadataobject

Integration-specific metadata.

data.details.transportMode"self_drive" | "car_service" | "runner" | "bus" | "taxi" | "rideshare" | "other"

Ground transportation mode. Omitted values are treated as self_drive for compatibility.

data.details.includesFerryboolean

Whether this drive includes a ferry segment.

data.details.providerstring

Transportation provider or company.

data.details.confirmationNumberstring

drive: Transportation booking or confirmation number. flight: Booking confirmation number. train: Train booking confirmation number.

data.details.driverNamestring

Driver or runner name.

data.details.contactstring

Driver, runner, or provider contact details.

data.details.vehicleDescriptionstring

Vehicle class, type, or identifying description.

data.details.pickupInstructionsstring

Pickup instructions for the traveler.

data.details.otherDescriptionstring

Description of an Other transportation mode.

data.details.originobject

Drive origin.

data.details.origin.labelstring

Human-readable place label.

data.details.origin.addressstring

Street address or venue address.

data.details.origin.placeIdstring

Google Places ID when available.

data.details.origin.latitudenumber

Latitude in decimal degrees.

data.details.origin.longitudenumber

Longitude in decimal degrees.

data.details.origin.timezoneobject

Timezone for this location.

data.details.stopsobject[]

Ordered intermediate stops between the drive origin and destination. Each stop ID must be unique. Array order is route order; send an empty array to clear all stops.

data.details.stops[].idstring:uuid

Stable identifier for this intermediate drive stop. Required when type is "drive".

data.details.stops[].locationobject

Intermediate location visited by the drive. Required when type is "drive".

data.details.stops[].location.labelstring

Human-readable place label.

data.details.stops[].location.addressstring

Street address or venue address.

data.details.stops[].location.placeIdstring

Google Places ID when available.

data.details.stops[].location.latitudenumber

Latitude in decimal degrees.

data.details.stops[].location.longitudenumber

Longitude in decimal degrees.

data.details.stops[].location.timezoneobject

Timezone for this location.

data.details.destinationobject

Drive destination.

data.details.destination.labelstring

Human-readable place label.

data.details.destination.addressstring

Street address or venue address.

data.details.destination.placeIdstring

Google Places ID when available.

data.details.destination.latitudenumber

Latitude in decimal degrees.

data.details.destination.longitudenumber

Longitude in decimal degrees.

data.details.destination.timezoneobject

Timezone for this location.

data.details.distanceKmnumber

Drive distance in kilometers.

data.details.distanceMilesnumber

Drive distance in miles.

data.details.durationMinutesnumber

Expected drive duration in minutes.

data.details.vehicleCOMING SOONstring

Vehicle assigned to the drive. Coming soon in the RoadOps app.

data.details.notesstring

Drive-specific notes.

data.details.flightType"commercial" | "private"

Whether the flight is commercial or private. Required when type is "flight".

data.details.tailNumberstring

Private aircraft tail number.

data.details.aircraftTypestring

Private aircraft type.

data.details.passengerCapacityinteger

Passenger capacity for the private aircraft.

data.details.passengersCOMING SOONstring:uuid[]

RoadOps member IDs traveling on this flight. Coming soon in the RoadOps app.

data.details.connectionsobject[]

Ordered flight legs or connections. Required when type is "flight".

data.details.connections[].airlinestring

Airline or operator name.

data.details.connections[].flightNumberstring

Commercial flight number or private leg identifier.

data.details.connections[].originobject

Origin airport.

data.details.connections[].origin.codestring
data.details.connections[].origin.namestring

Airport display name.

data.details.connections[].origin.addressstring

Airport address.

data.details.connections[].origin.placeIdstring

Google Places ID when available.

data.details.connections[].origin.terminalstring

Terminal label.

data.details.connections[].origin.gatestring

Gate label.

data.details.connections[].origin.latitudenumber

Latitude in decimal degrees.

data.details.connections[].origin.longitudenumber

Longitude in decimal degrees.

data.details.connections[].destinationobject

Destination airport.

data.details.connections[].destination.codestring
data.details.connections[].destination.namestring

Airport display name.

data.details.connections[].destination.addressstring

Airport address.

data.details.connections[].destination.placeIdstring

Google Places ID when available.

data.details.connections[].destination.terminalstring

Terminal label.

data.details.connections[].destination.gatestring

Gate label.

data.details.connections[].destination.latitudenumber

Latitude in decimal degrees.

data.details.connections[].destination.longitudenumber

Longitude in decimal degrees.

data.details.connections[].originFboobject

Origin FBO for private flights.

data.details.connections[].originFbo.labelstring

Human-readable place label.

data.details.connections[].originFbo.addressstring

Street address or venue address.

data.details.connections[].originFbo.placeIdstring

Google Places ID when available.

data.details.connections[].originFbo.latitudenumber

Latitude in decimal degrees.

data.details.connections[].originFbo.longitudenumber

Longitude in decimal degrees.

data.details.connections[].originFbo.timezoneobject

Timezone for this location.

data.details.connections[].originFboPhonestring

Origin FBO phone number.

data.details.connections[].destinationFboobject

Destination FBO for private flights.

data.details.connections[].destinationFbo.labelstring

Human-readable place label.

data.details.connections[].destinationFbo.addressstring

Street address or venue address.

data.details.connections[].destinationFbo.placeIdstring

Google Places ID when available.

data.details.connections[].destinationFbo.latitudenumber

Latitude in decimal degrees.

data.details.connections[].destinationFbo.longitudenumber

Longitude in decimal degrees.

data.details.connections[].destinationFbo.timezoneobject

Timezone for this location.

data.details.connections[].destinationFboPhonestring

Destination FBO phone number.

data.details.connections[].departureTimestring

Scheduled departure time.

data.details.connections[].departureTimezoneobject

Timezone for the departure time.

data.details.connections[].arrivalTimestring

Scheduled arrival time.

data.details.connections[].arrivalTimezoneobject

Timezone for the arrival time.

data.details.legsobject[]

Ordered train journey legs. Required when type is "train".

data.details.legs[].operatorstring

Rail operator name.

data.details.legs[].trainNumberstring

Train or service number.

data.details.legs[].originobject

Origin train station. Required when type is "train".

data.details.legs[].origin.addressstring

Street address or venue address.

data.details.legs[].origin.placeIdstring

Google Places ID when available.

data.details.legs[].origin.latitudenumber

Latitude in decimal degrees.

data.details.legs[].origin.longitudenumber

Longitude in decimal degrees.

data.details.legs[].origin.timezoneobject

Timezone for this location.

data.details.legs[].origin.namestring

Train station display name. Required when type is "train".

data.details.legs[].destinationobject

Destination train station. Required when type is "train".

data.details.legs[].destination.addressstring

Street address or venue address.

data.details.legs[].destination.placeIdstring

Google Places ID when available.

data.details.legs[].destination.latitudenumber

Latitude in decimal degrees.

data.details.legs[].destination.longitudenumber

Longitude in decimal degrees.

data.details.legs[].destination.timezoneobject

Timezone for this location.

data.details.legs[].destination.namestring

Train station display name. Required when type is "train".

data.details.legs[].originPlatformstring

Departure platform or track.

data.details.legs[].destinationPlatformstring

Arrival platform or track.

data.details.legs[].departureTimestring

Scheduled train departure time. Required when type is "train".

data.details.legs[].departureTimezoneobject

Timezone for the train departure time. Required when type is "train".

data.details.legs[].arrivalTimestring

Scheduled train arrival time. Required when type is "train".

data.details.legs[].arrivalTimezoneobject

Timezone for the train arrival time. Required when type is "train".

data.notesstring

Optional schedule item notes.

data.colorstring

Hex 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.sourceMetadataobject

Integration-specific source metadata.

data.visibilityobject

Optional visibility rules.

data.visibility.groupIdsstring:uuid[]
data.visibility.userIdsstring:uuid[]
data.idstring:uuid

Schedule item identifier.

data.orgIdstring:uuid

Team identifier.

data.isDeletedboolean

Soft-delete flag.

data.versioninteger

Current schedule item aggregate version.

data.cursorinteger

Latest event-ledger cursor projected into this schedule item record.

metaobject
meta.cursorinteger

Highest record cursor represented by this response.

Reschedule a schedule item

POST/v1/teams/{teamId}/days/{dayId}/schedule-items/{scheduleItemId}/reschedule

Moves 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.teamIdrequiredstring:uuid

Team identifier.

path.dayIdrequiredstring:uuid

Day identifier.

path.scheduleItemIdrequiredstring:uuid

Schedule item identifier.

header.Idempotency-Keystring:uuid

Optional caller-generated UUID used to make mutation retries safe. Reuse the same UUID only when retrying the same request.

Request body (application/json)

expectedVersioninteger

Optional aggregate version guard.

startTimerequiredstring:date-time

New start time as a UTC ISO 8601 timestamp, including the trailing Z UTC designator. The timestamp must be within the associated day's local 48-hour window.

endTimerequiredstring:date-time

New end time as a UTC ISO 8601 timestamp, including the trailing Z UTC designator. Non-flight items must end within the associated day's local 48-hour window; flights may arrive after that window.

startTimezonerequiredobject

IANA timezone identifier for displaying the new start time, such as America/Chicago.

endTimezonerequiredobject

IANA timezone identifier for displaying the new end time, such as America/Chicago.

Response 202

commandIdstring:uuid

Command identifier accepted into the RoadOps command ledger.

resourceIdstring:uuid

Identifier of the resource targeted by the command.

resourceTypestring

Resource type targeted by the command.

status"applied"

Command dispatch status.

aggregateVersioninteger

Aggregate version produced by the accepted command.

cursorinteger

Event-ledger cursor for the accepted update. Refetch until returned records reach this cursor.

linksobject
links.refetchstring

Relative 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.teamIdrequiredstring:uuid

Team identifier.

path.dayIdrequiredstring:uuid

Day identifier.

path.scheduleItemIdrequiredstring:uuid

Schedule item identifier.

header.Idempotency-Keystring:uuid

Optional caller-generated UUID used to make mutation retries safe. Reuse the same UUID only when retrying the same request.

Request body (application/json)

expectedVersioninteger

Optional aggregate version guard.

updatesrequiredobject

Schedule item fields to update. The type field must continue to match details.kind when both are supplied.

updates.namestring

Updated schedule item name.

updates.type"general" | "drive" | "flight" | "train"

Updated schedule item variant.

updates.detailsgeneral | drive | flight | train

Updated type-specific details.

updates.details.kindrequired"general" | "drive" | "flight" | "train"

general: Discriminator for a general schedule item. drive: Discriminator for a drive schedule item. flight: Discriminator for a flight schedule item. train: Discriminator for a train schedule item.

updates.details.locationobject

Optional location for the general item.

updates.details.location.labelstring

Human-readable place label.

updates.details.location.addressstring

Street address or venue address.

updates.details.location.placeIdstring

Google Places ID when available.

updates.details.location.latitudenumber

Latitude in decimal degrees.

updates.details.location.longitudenumber

Longitude in decimal degrees.

updates.details.location.timezoneobject

Timezone for this location.

updates.details.metadataobject

Integration-specific metadata.

updates.details.transportMode"self_drive" | "car_service" | "runner" | "bus" | "taxi" | "rideshare" | "other"

Ground transportation mode. Omitted values are treated as self_drive for compatibility.

updates.details.includesFerryboolean

Whether this drive includes a ferry segment.

updates.details.providerstring

Transportation provider or company.

updates.details.confirmationNumberstring

drive: Transportation booking or confirmation number. flight: Booking confirmation number. train: Train booking confirmation number.

updates.details.driverNamestring

Driver or runner name.

updates.details.contactstring

Driver, runner, or provider contact details.

updates.details.vehicleDescriptionstring

Vehicle class, type, or identifying description.

updates.details.pickupInstructionsstring

Pickup instructions for the traveler.

updates.details.otherDescriptionstring

Description of an Other transportation mode.

updates.details.originobject

Drive origin.

updates.details.origin.labelstring

Human-readable place label.

updates.details.origin.addressstring

Street address or venue address.

updates.details.origin.placeIdstring

Google Places ID when available.

updates.details.origin.latitudenumber

Latitude in decimal degrees.

updates.details.origin.longitudenumber

Longitude in decimal degrees.

updates.details.origin.timezoneobject

Timezone for this location.

updates.details.stopsobject[]

Ordered intermediate stops between the drive origin and destination. Each stop ID must be unique. Array order is route order; send an empty array to clear all stops.

updates.details.stops[].idstring:uuid

Stable identifier for this intermediate drive stop. Required when type is "drive".

updates.details.stops[].locationobject

Intermediate location visited by the drive. Required when type is "drive".

updates.details.stops[].location.labelstring

Human-readable place label.

updates.details.stops[].location.addressstring

Street address or venue address.

updates.details.stops[].location.placeIdstring

Google Places ID when available.

updates.details.stops[].location.latitudenumber

Latitude in decimal degrees.

updates.details.stops[].location.longitudenumber

Longitude in decimal degrees.

updates.details.stops[].location.timezoneobject

Timezone for this location.

updates.details.destinationobject

Drive destination.

updates.details.destination.labelstring

Human-readable place label.

updates.details.destination.addressstring

Street address or venue address.

updates.details.destination.placeIdstring

Google Places ID when available.

updates.details.destination.latitudenumber

Latitude in decimal degrees.

updates.details.destination.longitudenumber

Longitude in decimal degrees.

updates.details.destination.timezoneobject

Timezone for this location.

updates.details.distanceKmnumber

Drive distance in kilometers.

updates.details.distanceMilesnumber

Drive distance in miles.

updates.details.durationMinutesnumber

Expected drive duration in minutes.

updates.details.vehicleCOMING SOONstring

Vehicle assigned to the drive. Coming soon in the RoadOps app.

updates.details.notesstring

Drive-specific notes.

updates.details.flightType"commercial" | "private"

Whether the flight is commercial or private. Required when type is "flight".

updates.details.tailNumberstring

Private aircraft tail number.

updates.details.aircraftTypestring

Private aircraft type.

updates.details.passengerCapacityinteger

Passenger capacity for the private aircraft.

updates.details.passengersCOMING SOONstring:uuid[]

RoadOps member IDs traveling on this flight. Coming soon in the RoadOps app.

updates.details.connectionsobject[]

Ordered flight legs or connections. Required when type is "flight".

updates.details.connections[].airlinestring

Airline or operator name.

updates.details.connections[].flightNumberstring

Commercial flight number or private leg identifier.

updates.details.connections[].originobject

Origin airport.

updates.details.connections[].origin.codestring
updates.details.connections[].origin.namestring

Airport display name.

updates.details.connections[].origin.addressstring

Airport address.

updates.details.connections[].origin.placeIdstring

Google Places ID when available.

updates.details.connections[].origin.terminalstring

Terminal label.

updates.details.connections[].origin.gatestring

Gate label.

updates.details.connections[].origin.latitudenumber

Latitude in decimal degrees.

updates.details.connections[].origin.longitudenumber

Longitude in decimal degrees.

updates.details.connections[].destinationobject

Destination airport.

updates.details.connections[].destination.codestring
updates.details.connections[].destination.namestring

Airport display name.

updates.details.connections[].destination.addressstring

Airport address.

updates.details.connections[].destination.placeIdstring

Google Places ID when available.

updates.details.connections[].destination.terminalstring

Terminal label.

updates.details.connections[].destination.gatestring

Gate label.

updates.details.connections[].destination.latitudenumber

Latitude in decimal degrees.

updates.details.connections[].destination.longitudenumber

Longitude in decimal degrees.

updates.details.connections[].originFboobject

Origin FBO for private flights.

updates.details.connections[].originFbo.labelstring

Human-readable place label.

updates.details.connections[].originFbo.addressstring

Street address or venue address.

updates.details.connections[].originFbo.placeIdstring

Google Places ID when available.

updates.details.connections[].originFbo.latitudenumber

Latitude in decimal degrees.

updates.details.connections[].originFbo.longitudenumber

Longitude in decimal degrees.

updates.details.connections[].originFbo.timezoneobject

Timezone for this location.

updates.details.connections[].originFboPhonestring

Origin FBO phone number.

updates.details.connections[].destinationFboobject

Destination FBO for private flights.

updates.details.connections[].destinationFbo.labelstring

Human-readable place label.

updates.details.connections[].destinationFbo.addressstring

Street address or venue address.

updates.details.connections[].destinationFbo.placeIdstring

Google Places ID when available.

updates.details.connections[].destinationFbo.latitudenumber

Latitude in decimal degrees.

updates.details.connections[].destinationFbo.longitudenumber

Longitude in decimal degrees.

updates.details.connections[].destinationFbo.timezoneobject

Timezone for this location.

updates.details.connections[].destinationFboPhonestring

Destination FBO phone number.

updates.details.connections[].departureTimestring

Scheduled departure time.

updates.details.connections[].departureTimezoneobject

Timezone for the departure time.

updates.details.connections[].arrivalTimestring

Scheduled arrival time.

updates.details.connections[].arrivalTimezoneobject

Timezone for the arrival time.

updates.details.legsobject[]

Ordered train journey legs. Required when type is "train".

updates.details.legs[].operatorstring

Rail operator name.

updates.details.legs[].trainNumberstring

Train or service number.

updates.details.legs[].originobject

Origin train station. Required when type is "train".

updates.details.legs[].origin.addressstring

Street address or venue address.

updates.details.legs[].origin.placeIdstring

Google Places ID when available.

updates.details.legs[].origin.latitudenumber

Latitude in decimal degrees.

updates.details.legs[].origin.longitudenumber

Longitude in decimal degrees.

updates.details.legs[].origin.timezoneobject

Timezone for this location.

updates.details.legs[].origin.namestring

Train station display name. Required when type is "train".

updates.details.legs[].destinationobject

Destination train station. Required when type is "train".

updates.details.legs[].destination.addressstring

Street address or venue address.

updates.details.legs[].destination.placeIdstring

Google Places ID when available.

updates.details.legs[].destination.latitudenumber

Latitude in decimal degrees.

updates.details.legs[].destination.longitudenumber

Longitude in decimal degrees.

updates.details.legs[].destination.timezoneobject

Timezone for this location.

updates.details.legs[].destination.namestring

Train station display name. Required when type is "train".

updates.details.legs[].originPlatformstring

Departure platform or track.

updates.details.legs[].destinationPlatformstring

Arrival platform or track.

updates.details.legs[].departureTimestring

Scheduled train departure time. Required when type is "train".

updates.details.legs[].departureTimezoneobject

Timezone for the train departure time. Required when type is "train".

updates.details.legs[].arrivalTimestring

Scheduled train arrival time. Required when type is "train".

updates.details.legs[].arrivalTimezoneobject

Timezone for the train arrival time. Required when type is "train".

updates.status"confirmed" | "unconfirmed"

Updated confirmation state.

updates.priority"normal" | "high"

Updated schedule item priority.

updates.notesstring | null

Updated schedule item notes, or null to clear them.

updates.colorstring | null

Updated schedule item color, or null to clear it.

updates.sourceMetadataobject | null

Updated integration metadata, or null to clear it.

updates.visibilityobject | null

Updated visibility, or null to clear custom visibility.

updates.visibility.groupIdsstring:uuid[]
updates.visibility.userIdsstring:uuid[]

Response 202

commandIdstring:uuid

Command identifier accepted into the RoadOps command ledger.

resourceIdstring:uuid

Identifier of the resource targeted by the command.

resourceTypestring

Resource type targeted by the command.

status"applied"

Command dispatch status.

aggregateVersioninteger

Aggregate version produced by the accepted command.

cursorinteger

Event-ledger cursor for the accepted update. Refetch until returned records reach this cursor.

linksobject
links.refetchstring

Relative 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.teamIdrequiredstring:uuid

Team identifier.

path.dayIdrequiredstring:uuid

Day identifier.

path.scheduleItemIdrequiredstring:uuid

Schedule item identifier.

header.Idempotency-Keystring:uuid

Optional caller-generated UUID used to make mutation retries safe. Reuse the same UUID only when retrying the same request.

Response 202

commandIdstring:uuid

Command identifier accepted into the RoadOps command ledger.

resourceIdstring:uuid

Identifier of the resource targeted by the command.

resourceTypestring

Resource type targeted by the command.

status"applied"

Command dispatch status.

aggregateVersioninteger

Aggregate version produced by the accepted command.

cursorinteger

Event-ledger cursor for the accepted update. Refetch until returned records reach this cursor.

linksobject
links.refetchstring

Relative URL to refetch the affected resource.