Polymath Robotics Vehicle Autonomy API

All endpoints related to interacting with Robot's autonomy operations here

OpenAPI Specification

polymath-vehicle-autonomy-api-openapi.yml Raw ↑
openapi: 3.0.2
info:
  title: Polymath API Service CANBus Vehicle Autonomy API
  description: Polymath API service to interact with a real or simulated polymath-powered robot
  termsOfService: https://www.polymathrobotics.com/legal/terms-of-service
  contact:
    name: Polymath Support
    url: https://www.polymathrobotics.com
    email: api@polymathrobotics.com
  license:
    name: All rights reserved
    url: https://www.polymathrobotics.com/legal/privacy-policy
  version: 2.0.0
tags:
- name: Vehicle Autonomy
  description: All endpoints related to interacting with Robot's autonomy operations here
paths:
  /v2/polymath-feedback:
    get:
      tags:
      - Vehicle Autonomy
      summary: Get the combined Autonomy, Navigation and Vehicle feedback from the Polymath system
      description: Returns combined autonomy, navigation, and vehicle feedback from the Polymath system.
      operationId: polymath_feedback
      responses:
        '200':
          description: Combined autonomy, navigation, and vehicle feedback.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PolymathFeedbackResponse'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v2/costmap/boundary:
    get:
      tags:
      - Vehicle Autonomy
      summary: Get global costmap boundary coordinates
      description: Returns the latest latitude/longitude coordinates for the four corners of the global costmap boundary.
      operationId: costmap_boundary
      responses:
        '200':
          description: Costmap boundary corner coordinates.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CostmapBoundaryResponse'
        '404':
          description: Costmap boundary data unavailable
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v2/navigation-path-options:
    get:
      tags:
      - Vehicle Autonomy
      summary: Get the available Navigation Path Options and associated Parameters
      description: Returns available navigation path options and configurable parameters.
      operationId: navigation_path_options
      responses:
        '200':
          description: Available navigation path options and parameters.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PathLogicOptionResponse'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v2/motion-commands:
    get:
      tags:
      - Vehicle Autonomy
      summary: Get the available motion commands
      description: Returns available motion commands that can be sent to the Polymath system.
      operationId: get_nav_cmds
      responses:
        '200':
          description: Available motion command names and numeric alternatives.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MotionCommandListResponse'
  /v2/reference-targets:
    get:
      tags:
      - Vehicle Autonomy
      summary: Get all previously set reference targets
      description: Returns all previously set reference targets.
      operationId: reference_targets
      responses:
        '200':
          description: All previously set reference targets.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReferenceTargetsResponse'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
      - Vehicle Autonomy
      summary: Set the location and details of a reference location or an object
      description: Sets one or more reference targets for relative navigation. Each target may include optional `time_validity` and `recorded_speed_m_s` metadata. Use `POST /relative-waypoints` to send waypoints relative to these targets.
      operationId: set_reference_targets
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ReferenceTargetsModel'
        required: true
      responses:
        '200':
          description: Sent reference targets and upstream service response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReferenceTargetSetResponse'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v2/reference-targets/current-location:
    post:
      tags:
      - Vehicle Autonomy
      summary: Set a reference target at the current robot location
      description: Creates a `previous_location` reference target from the robot's current GPS pose for subsequent relative navigation.
      operationId: set_reference_target_current_location
      responses:
        '200':
          description: Generated current-location reference target and upstream service response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReferenceTargetSetResponse'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v2/gps-waypoints:
    post:
      tags:
      - Vehicle Autonomy
      summary: Send a set of gps waypoints to the robot
      description: Sends GPS waypoints and navigation options to the robot.
      operationId: gps_waypoints
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GPSWaypoints'
        required: true
      responses:
        '200':
          description: Sent GPS waypoints and upstream service response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GPSWaypointTransmissionResponse'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v2/relative-waypoints:
    post:
      tags:
      - Vehicle Autonomy
      summary: Send a set of relative waypoints to the robot
      description: Sends relative waypoints and navigation options to the robot.
      operationId: relative_waypoints
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RelativeWaypoints'
        required: true
      responses:
        '200':
          description: Sent relative waypoints and upstream service response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RelativeWaypointTransmissionResponse'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v2/motion-command:
    post:
      tags:
      - Vehicle Autonomy
      summary: Send a motion command to the robot to change its current state
      description: 'Sends a motion command to change the robot motion state. Supported commands: `STOP` (0), `PAUSE` (1), and `RESUME` (2).'
      operationId: nav_cmd
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MotionCommandAction'
        required: true
      responses:
        '201':
          description: Motion command execution response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MotionCommandExecutionResponse'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    MotionCommandExecutionData:
      title: MotionCommandExecutionData
      type: object
      properties:
        received:
          title: Received
    KeyValuePair:
      title: KeyValuePair
      required:
      - key
      - value
      type: object
      properties:
        key:
          title: Key
          type: string
        value:
          title: Value
          type: string
    Orientation:
      title: Orientation
      required:
      - x
      - y
      - z
      - w
      type: object
      properties:
        x:
          title: X
          type: number
        y:
          title: Y
          type: number
        z:
          title: Z
          type: number
        w:
          title: W
          type: number
    Pose:
      title: Pose
      required:
      - position
      - orientation
      type: object
      properties:
        position:
          $ref: '#/components/schemas/Position'
        orientation:
          $ref: '#/components/schemas/Orientation'
    RelativeWaypoints:
      title: RelativeWaypoints
      required:
      - move_to
      type: object
      properties:
        relative_to:
          title: Relative To
          anyOf:
          - type: string
          - $ref: '#/components/schemas/ReferenceTarget'
          description: The target that waypoints are specified relative to. Accepts either a name as string or a fully specified ReferenceTarget. The name can be 'current_position', a previously set ReferenceTarget, or the name of a frame in the transform tree, such as 'base_link'. Unknown strings are passed through verbatim and will fail downstream if the reference does not exist. Defaults to 'current_position' so waypoints are interpreted relative to the robot's current pose.
          default: current_position
        timestamp_utc:
          title: Timestamp Utc
          type: string
          description: 'Timestamp in UTC ISO format. Should be provided in ISO 8601 format: ''YYYY-MM-DDTHH:MM:SSZ''. If not provided, it will default to the current UTC time.'
          default: ''
        move_to:
          title: Move To
          type: array
          items:
            $ref: '#/components/schemas/RelativeCommand'
          description: 'Ordered list of relative waypoints. When multiple waypoints are provided, the robot navigates through them continuously as a single path rather than stopping discretely at each one. Robot body frame: x forward, y left, z up; positive yaw is counter-clockwise.'
        navigation_options:
          title: Navigation Options
          allOf:
          - $ref: '#/components/schemas/CortexNavigationOptions'
          description: Optional navigation options for this command, including the path logic option and execution mode. See the GET /navigation-path-options endpoint for the available path options and their parameters.
    ReferenceTargetSetData:
      title: ReferenceTargetSetData
      required:
      - sent
      type: object
      properties:
        sent:
          $ref: '#/components/schemas/ReferenceTargetsModel'
        received:
          title: Received
    GeofenceBoundary:
      title: GeofenceBoundary
      required:
      - bottom_left
      - bottom_right
      - top_left
      - top_right
      type: object
      properties:
        bottom_left:
          $ref: '#/components/schemas/NavSatFixModel'
        bottom_right:
          $ref: '#/components/schemas/NavSatFixModel'
        top_left:
          $ref: '#/components/schemas/NavSatFixModel'
        top_right:
          $ref: '#/components/schemas/NavSatFixModel'
    RelativeCommand:
      title: RelativeCommand
      type: object
      properties:
        timestamp_utc:
          title: Timestamp Utc
          type: string
          description: 'Timestamp in UTC ISO format. Should be provided in ISO 8601 format: ''YYYY-MM-DDTHH:MM:SSZ''. If not provided, it will default to the current UTC time.'
          default: ''
        x:
          title: X
          type: number
          description: Offset distance in meters along the X axis.
          default: 0.0
        y:
          title: Y
          type: number
          description: Offset distance in meters along the Y axis.
          default: 0.0
        z:
          title: Z
          type: number
          description: Offset distance in meters along the Z axis.
          default: 0.0
        yaw:
          title: Yaw
          type: number
          description: Yaw (radians) angular offset indicating the direction the robot should face relative to the target.
          default: 0.0
    MotionCommandSummary:
      title: MotionCommandSummary
      required:
      - motion_command
      - alternative
      type: object
      properties:
        motion_command:
          title: Motion Command
          type: string
        alternative:
          title: Alternative
          type: integer
    GPSWaypoints:
      title: GPSWaypoints
      required:
      - goals
      type: object
      properties:
        timestamp_utc:
          title: Timestamp Utc
          type: string
          description: 'Timestamp in UTC ISO format. Should be provided in ISO 8601 format: ''YYYY-MM-DDTHH:MM:SSZ''. If not provided, it will default to the current UTC time.'
          default: ''
        goals:
          title: Goals
          type: array
          items:
            $ref: '#/components/schemas/GoalPoses'
          description: Ordered list of GPS waypoints. When multiple waypoints are provided, the robot navigates through them continuously as a single path rather than stopping discretely at each one.
        navigation_options:
          title: Navigation Options
          allOf:
          - $ref: '#/components/schemas/CortexNavigationOptions'
          description: Optional navigation options for this command, including the path logic option and execution mode. See the GET /navigation-path-options endpoint for the available path options and their parameters.
    PolymathFeedbackData:
      title: PolymathFeedbackData
      required:
      - polymath_feedback
      type: object
      properties:
        polymath_feedback:
          $ref: '#/components/schemas/PolymathFeedback'
    ReferenceTargetSetResponse:
      title: ReferenceTargetSetResponse
      required:
      - status
      - message
      - data
      type: object
      properties:
        status:
          title: Status
          type: string
        message:
          title: Message
          type: string
        data:
          $ref: '#/components/schemas/ReferenceTargetSetData'
    GoalPoses:
      title: GoalPoses
      required:
      - lat
      - lon
      type: object
      properties:
        timestamp_utc:
          title: Timestamp Utc
          type: string
          description: 'Timestamp in UTC ISO format. Should be provided in ISO 8601 format: ''YYYY-MM-DDTHH:MM:SSZ''. If not provided, it will default to the current UTC time.'
          default: ''
        lat:
          title: Lat
          type: number
          description: Latitude
        lon:
          title: Lon
          type: number
          description: Longitude
        yaw:
          title: Yaw
          type: number
          description: Yaw (radians). 0.0 indicates east. positive yaw is counter-clockwise.
    CortexNavigationOptions:
      title: CortexNavigationOptions
      type: object
      properties:
        path_option:
          title: Path Option
          allOf:
          - $ref: '#/components/schemas/CortexOption'
          description: Navigation path logic option to set. See the GET /navigation-path-options endpoint for the available path options and their parameters.
          example:
            name: target_follower
            params:
            - key: speed
              value: '0.5'
        mode:
          allOf:
          - $ref: '#/components/schemas/CommandMode'
          description: 'Mode of execution of previous and current waypoints. Available options: ''ADD'',''PREEMPT''. ADD or 0: Add a new waypoint to existing queue of waypoints, PREEMPT or 1: Delete the existing queue and adds the new waypoint.'
          default: 0
          example: ADD
    GPSWaypointTransmissionData:
      title: GPSWaypointTransmissionData
      required:
      - sent
      type: object
      properties:
        sent:
          $ref: '#/components/schemas/GPSWaypoints'
        received:
          title: Received
    UUID:
      title: UUID
      required:
      - uuid
      type: object
      properties:
        uuid:
          title: Uuid
          type: array
          items:
            type: integer
    MotionCommandListResponse:
      title: MotionCommandListResponse
      required:
      - status
      - message
      - data
      type: object
      properties:
        status:
          title: Status
          type: string
        message:
          title: Message
          type: string
        data:
          title: Data
          type: array
          items:
            $ref: '#/components/schemas/MotionCommandSummary'
    PoseWithHeader:
      title: PoseWithHeader
      required:
      - header
      - pose
      type: object
      properties:
        header:
          $ref: '#/components/schemas/Header'
        pose:
          $ref: '#/components/schemas/Pose'
    RelativeWaypointTransmissionResponse:
      title: RelativeWaypointTransmissionResponse
      required:
      - status
      - message
      - data
      type: object
      properties:
        status:
          title: Status
          type: string
        message:
          title: Message
          type: string
        data:
          $ref: '#/components/schemas/RelativeWaypointTransmissionData'
    Header:
      title: Header
      required:
      - stamp
      - frame_id
      type: object
      properties:
        stamp:
          $ref: '#/components/schemas/Stamp'
        frame_id:
          title: Frame Id
          type: string
    CortexStatusEnum:
      title: CortexStatusEnum
      enum:
      - 0
      - 1
      - 2
      - 3
      - 4
      description: An enumeration.
    MotionCommandExecutionResponse:
      title: MotionCommandExecutionResponse
      required:
      - status
      - message
      - data
      type: object
      properties:
        status:
          title: Status
          type: string
        message:
          title: Message
          type: string
        data:
          $ref: '#/components/schemas/MotionCommandExecutionData'
    ErrorResponse:
      title: ErrorResponse
      required:
      - status
      - message
      type: object
      properties:
        status:
          title: Status
          enum:
          - error
          type: string
        message:
          title: Message
          type: string
        error:
          $ref: '#/components/schemas/ErrorDetails'
    ErrorDetails:
      title: ErrorDetails
      required:
      - details
      type: object
      properties:
        details:
          title: Details
          type: string
    GoalInfo:
      title: GoalInfo
      required:
      - stamp
      type: object
      properties:
        goal_id:
          $ref: '#/components/schemas/UUID'
        stamp:
          $ref: '#/components/schemas/Stamp'
    ReferenceTargetsResponse:
      title: ReferenceTargetsResponse
      required:
      - status
      - message
      - data
      type: object
      properties:
        status:
          title: Status
          type: string
        message:
          title: Message
          type: string
        data:
          $ref: '#/components/schemas/ReferenceTargetsModel'
    TimeStamp:
      title: TimeStamp
      type: object
      properties:
        sec:
          title: Sec
          type: integer
        nanosec:
          title: Nanosec
          type: integer
    Stamp:
      title: Stamp
      type: object
      properties:
        sec:
          title: Sec
          type: integer
        nanosec:
          title: Nanosec
          type: integer
    Ros2ActionServerGoalStatus:
      title: Ros2ActionServerGoalStatus
      enum:
      - 0
      - 1
      - 2
      - 3
      - 4
      - 5
      - 6
      description: An enumeration.
    RelativeWaypointTransmissionData:
      title: RelativeWaypointTransmissionData
      required:
      - sent
      type: object
      properties:
        sent:
          $ref: '#/components/schemas/RelativeWaypoints'
        received:
          title: Received
    CostmapBoundaryResponse:
      title: CostmapBoundaryResponse
      required:
      - status
      - message
      - data
      type: object
      properties:
        status:
          title: Status
          type: string
        message:
          title: Message
          type: string
        data:
          $ref: '#/components/schemas/GeofenceBoundary'
    PolymathFeedbackResponse:
      title: PolymathFeedbackResponse
      type: object
      properties:
        status:
          title: Status
          type: string
        message:
          title: Message
          type: string
        data:
          $ref: '#/components/schemas/PolymathFeedbackData'
    CortexOption:
      title: CortexOption
      required:
      - name
      - params
      type: object
      properties:
        name:
          title: Name
          type: string
        params:
          title: Params
          type: array
          items:
            $ref: '#/components/schemas/KeyValuePair'
    VehicleFeedback:
      title: VehicleFeedback
      type: object
      properties:
        state:
          title: State
          type: string
        description:
          title: Description
          type: string
        data:
          title: Data
          type: array
          items: {}
    NavigationFeedback:
      title: NavigationFeedback
      type: object
      properties:
        nav2_goal_status:
          $ref: '#/components/schemas/NavigationGoalStatus'
        total_distance_remaining:
          title: Total Distance Remaining
          type: number
          description: Total remaining distance to the goal, in meters.
        target_pose:
          $ref: '#/components/schemas/PoseWithHeader'
        final_pose:
          $ref: '#/components/schemas/PoseWithHeader'
        current_pose_index:
          title: Current Pose Index
          type: integer
        number_of_poses_remaining:
          title: Number Of Poses Remaining
          type: integer
        navigation_time:
          title: Navigation Time
          allOf:
          - $ref: '#/components/schemas/Stamp'
          description: Elapsed navigation time as a duration (seconds and nanoseconds).
        estimated_time_remaining:
          title: Estimated Time Remaining
          allOf:
          - $ref: '#/components/schemas/Stamp'
          description: Estimated time remaining as a duration (seconds and nanoseconds).
    PolymathFeedback:
      title: PolymathFeedback
      required:
      - navigation_feedback
      - vehicle_feedback
      - current_pose
      - current_command_index
      - number_commands_remaining
      type: object
      properties:
        timestamp_utc:
          title: Timestamp Utc
          allOf:
          - $ref: '#/components/schemas/TimeStamp'
          default: {}
        cortex_status:
          $ref: '#/components/schemas/CortexStatus'
        navigation_feedback:
          $ref: '#/components/schemas/NavigationFeedback'
        vehicle_feedback:
          $ref: '#/components/schemas/VehicleFeedback'
        current_pose:
          $ref: '#/components/schemas/PoseWithHeader'
        current_command_index:
          title: Current Command Index
          type: integer
        number_commands_remaining:
          title: Number Commands Remaining
          type: integer
    CortexStatus:
      title: CortexStatus
      type: object
      properties:
        status:
          $ref: '#/components/schemas/CortexStatusEnum'
        status_text:
          title: Status Text
          type: string
          default: ''
        description:
          title: Description
          type: string
    ReferenceTargetsModel:
      title: ReferenceTargetsModel
      required:
      - reference_targets
      type: object
      properties:
        reference_targets:
          title: Reference Targets
          type: array
          items:
            $ref: '#/components/schemas/ReferenceTarget'
    CommandMode:
      title: CommandMode
      enum:
      - 0
      - 1
      description: An enumeration.
    NavSatFixModel:
      title: NavSatFixModel
      required:
      - latitude
      - longitude
      - altitude
      type: object
      properties:
        latitude:
          title: Latitude
          type: number
        longitude:
          title: Longitude
          type: number
        altitude:
          title: Altitude
          type: number
    MotionCommandAction:
      title: MotionCommandAction
      type: object
      properties:
        motion_command:
          allOf:
          - $ref: '#/components/schemas/MotionCommandOptions'
          description: Motion command options. STOP (0) will cancel all current and queued navigation or vehicle commands. When in STOP, no new commands will be added to the queue until resumed. PAUSE (1) will pause the current command execution, leaving remaining commands in the queue, and RESUME (2) will resume the paused waypoint execution and place the autonomy state back to IDLE if the queue is empty.
          default: 0
        mode:
          allOf:
          - $ref: '#/components/schemas/CommandMode'
          description: 'Mode of execution of previous and current waypoints. Available options: ''ADD'',''PREEMPT''. ADD or 0: Add a new waypoint to existing queue of waypoints, PREEMPT or 1: Delete the existing queue and adds the new waypoint.'
          default: 1
          example: PREEMPT
    ValidationError:
      title: ValidationError
      required:
      - loc
      - msg
      - type
      type: object
      properties:
        loc:
          title: Location
          type: array
          items:
            anyOf:
            - type: string
            - type: integer
        msg:
          title: Message
          type: string
        type:
          title: Error Type
          type: string
    MotionCommandOptions:
      title: MotionCommandOptions
      enum:
      - 0
      - 1
      - 2
      description: An enumeration.
    NavigationGoalStatus:
      title: NavigationGoalStatus
      required:
      - goal_info
      - status
      type: object
      properties:
        goal_info:
          $ref: '#/components/schemas/GoalInfo'
        status:
          $ref: '#/components/schemas/Ros2ActionServerGoalStatus'
        status_text:
          title: Status Text
          type: string
        text:
          title: Text
          type: string
    PathLogicOptionResponse:
      title: PathLogicOptionResponse
      type: object
      properties:
        status:
          title: Status
          type: string
        message:
          title: Message
          type: string
        data:
          title: Data
          type: array
          items:
            $ref: '#/components/schemas/CortexOption'
    HTTPValidationError:
      title: HTTPValidationError
      type: object
      properties:
        detail:
          title: Detail
          type: array
          items:
            $ref: '#/components/schemas/ValidationError'
    ReferenceTarget:
      title: ReferenceTarget
      required:
      - pose
      type: object
      properties:
        target_id:
          title: Target Id
          type: string
          description: Unique name or ID of the reference target
          default: string
        timestamp_utc:
          title: Timestamp Utc
          type: string
          description: 'Timestamp in UTC ISO format. Should be provided in ISO 8601 format: ''YYYY-MM-DDTHH:MM:SSZ''. If not provided, it will default to the current UTC time.'
        pose:
          $ref: '#/components/schemas/GeoPoint'
        time_validity:
          title: Time Validity
          type: number
          description: Time validity in seconds. -1 means forever.
          default: -1
        recorded_speed_m_s:
          title: Recorded Speed M S
          type: number
          description: Recorded speed of the object in m/s. `None` indicates no measurement available.
    GPSWaypointTransmissionResponse:
      title: GPSWaypointTransmissionResponse
      required:
      - status
      - message
      - data
      type: object
      properties:
        status:
          title: Status
          type: string
        message:
          title: Message
          type: string
        data:
          $ref: '#/components/schemas/GPSWaypointTransmissionData'
    GeoPoint:
      title: GeoPoint
      required:
      - lat
      - lon
      type: object
      properties:
        lat:
          title: Lat
          type: number
          description: Latitude
        lon:
          title: Lon
          type: number
          description: Longitude
        altitude:
          title: Altitude
          type: number
          description: Altitude (meters)
        yaw:
          title: Yaw
          type: number
          description: 'Yaw (radians). Robot body frame: x forward, y left, z up; positive yaw is counter-clockwise.'
    Position:
      title: Position
      required:
      - latitude
      - longitude
      - altitude
      type: object
      properties:
        latitude:
          title: Latitude
          type: number
        longitude:
          title: Longitude
          type: number
        altitude:
          title: Altitude
          type: number
  securitySchemes:
    HTTPBearer:
      type: http
      scheme: bearer