openapi: 3.0.0
info:
  contact:
    name: INVERS GmbH
    url: https://developers.invers.com/
  description: |-
    The CloudBoxx Commands API is intended for INVERS customers who need programmatic access to integrate their applications with the INVERS platform.

    The base URL for all endpoints described here is `https://api.invers.com`. Learn more in our [Integration Guide](https://developers.invers.com/integration-guide/) and [common API rules](https://developers.invers.com/integration-guide/api-basics/).

    The CloudBoxx Commands API allows you to send CloudBoxx specific commands to [vehicles](https://developers.invers.com/overview/vehicles/).
  title: INVERS CloudBoxx Commands API
  version: 1.3.0
  x-audience: external-public
  x-api-id: b76f3912-a021-4b44-8d84-02e5ac643828
externalDocs:
  description: Find out more about vehicle commands in our documentation.
  url: https://developers.invers.com/vehicle-commands/
servers:
- description: INVERS OneAPI
  url: https://api.invers.com
tags:
- description: CloudBoxx commands that can be sent to the vehicle
  name: Commands
- description: CloudBoxx commands that manage the connectivity of the CloudBoxx
  name: Connectivity Commands
paths:
  /vehicles/{id}/cloudboxx-commands/request-system-status:
    post:
      description: |
        This command requests the system status of a CloudBoxx.
      parameters:
      - description: |
          Unique identifier of the vehicle.
        in: path
        name: id
        required: true
        schema:
          example: JQ7RP
          type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/system-status'
          description: OK - System status was successfully requested
        "404":
          content:
            application/json:
              examples:
                Vehicle not found:
                  $ref: '#/components/examples/vehicleNotFoundErrorExample'
              schema:
                $ref: '#/components/schemas/Problem'
          description: Not Found
        "409":
          content:
            application/problem+json:
              examples:
                Command Not Supported:
                  $ref: '#/components/examples/commandNotSupportedErrorExample'
                Vehicle Not Ready to Accept Commands:
                  $ref: '#/components/examples/resourceNotReadyConflictErrorExample'
                Vehicle's setup status prevents command execution:
                  $ref: '#/components/examples/vehiclesSetupStatusPreventsCommandExecutionExample'
              schema:
                $ref: '#/components/schemas/Problem'
          description: Conflict - See examples for details.
        "504":
          content:
            application/problem+json:
              examples:
                No Vehicle Connection:
                  $ref: '#/components/examples/noConnectionErrorExample'
              schema:
                $ref: '#/components/schemas/Problem'
          description: No Connection to Vehicle
      security:
      - OAuth2:
        - VEHICLE_COMMANDS
      summary: Request CloudBoxx System Status
      tags:
      - Commands
      x-invers-permission: vehicle-commands
  /vehicles/{id}/cloudboxx-commands/ble-reset:
    post:
      description: |
        This command resets the CloudBoxx BLE module.
      parameters:
      - description: |
          Unique identifier of the vehicle.
        in: path
        name: id
        required: true
        schema:
          example: JQ7RP
          type: string
      responses:
        "204":
          description: Command successfully sent to vehicle
        "404":
          content:
            application/json:
              examples:
                Vehicle not found:
                  $ref: '#/components/examples/vehicleNotFoundErrorExample'
              schema:
                $ref: '#/components/schemas/Problem'
          description: Not Found
        "409":
          content:
            application/problem+json:
              examples:
                Command Not Supported:
                  $ref: '#/components/examples/commandNotSupportedErrorExample'
                Vehicle Not Ready to Accept Commands:
                  $ref: '#/components/examples/resourceNotReadyConflictErrorExample'
                Vehicle is currently shared:
                  $ref: '#/components/examples/vehicleIsCurrentlySharedPartnerOnlyExample'
                Vehicle's setup status prevents command execution:
                  $ref: '#/components/examples/vehiclesSetupStatusPreventsCommandExecutionExample'
              schema:
                $ref: '#/components/schemas/Problem'
          description: Conflict - See examples for details.
        "504":
          content:
            application/problem+json:
              examples:
                No Vehicle Connection:
                  $ref: '#/components/examples/noConnectionErrorExample'
              schema:
                $ref: '#/components/schemas/Problem'
          description: No Connection to Vehicle
      security:
      - OAuth2:
        - VEHICLE_COMMANDS
      summary: Reset CloudBoxx BLE module
      tags:
      - Commands
      x-invers-permission: vehicle-commands
  /vehicles/{id}/cloudboxx-commands/board-reset:
    post:
      description: |
        This command resets the CloudBoxx.
      parameters:
      - description: |
          Unique identifier of the vehicle.
        in: path
        name: id
        required: true
        schema:
          example: JQ7RP
          type: string
      responses:
        "204":
          description: Command successfully sent to the vehicle
        "404":
          content:
            application/json:
              examples:
                Vehicle not found:
                  $ref: '#/components/examples/vehicleNotFoundErrorExample'
              schema:
                $ref: '#/components/schemas/Problem'
          description: Not Found
        "409":
          content:
            application/problem+json:
              examples:
                Command Not Supported:
                  $ref: '#/components/examples/commandNotSupportedErrorExample'
                Vehicle Not Ready to Accept Commands:
                  $ref: '#/components/examples/resourceNotReadyConflictErrorExample'
                Vehicle is currently shared:
                  $ref: '#/components/examples/vehicleIsCurrentlySharedPartnerOnlyExample'
                Vehicle's setup status prevents command execution:
                  $ref: '#/components/examples/vehiclesSetupStatusPreventsCommandExecutionExample'
              schema:
                $ref: '#/components/schemas/Problem'
          description: Conflict - See examples for details.
        "504":
          content:
            application/problem+json:
              examples:
                No Vehicle Connection:
                  $ref: '#/components/examples/noConnectionErrorExample'
              schema:
                $ref: '#/components/schemas/Problem'
          description: No Connection to Vehicle
      security:
      - OAuth2:
        - VEHICLE_COMMANDS
      summary: Reset CloudBoxx
      tags:
      - Commands
      x-invers-permission: vehicle-commands
  /vehicles/{id}/cloudboxx-commands/modem-reset:
    post:
      description: |
        This command resets the CloudBoxx modem module.
      parameters:
      - description: |
          Unique identifier of the vehicle.
        in: path
        name: id
        required: true
        schema:
          example: JQ7RP
          type: string
      responses:
        "204":
          description: Command successfully sent to the vehicle
        "404":
          content:
            application/json:
              examples:
                Vehicle not found:
                  $ref: '#/components/examples/vehicleNotFoundErrorExample'
              schema:
                $ref: '#/components/schemas/Problem'
          description: Not Found
        "409":
          content:
            application/problem+json:
              examples:
                Command Not Supported:
                  $ref: '#/components/examples/commandNotSupportedErrorExample'
                Vehicle Not Ready to Accept Commands:
                  $ref: '#/components/examples/resourceNotReadyConflictErrorExample'
                Vehicle is currently shared:
                  $ref: '#/components/examples/vehicleIsCurrentlySharedPartnerOnlyExample'
                Vehicle's setup status prevents command execution:
                  $ref: '#/components/examples/vehiclesSetupStatusPreventsCommandExecutionExample'
              schema:
                $ref: '#/components/schemas/Problem'
          description: Conflict - See examples for details.
        "504":
          content:
            application/problem+json:
              examples:
                No Vehicle Connection:
                  $ref: '#/components/examples/noConnectionErrorExample'
              schema:
                $ref: '#/components/schemas/Problem'
          description: No Connection to Vehicle
      security:
      - OAuth2:
        - VEHICLE_COMMANDS
      summary: Reset CloudBoxx modem module
      tags:
      - Commands
      x-invers-permission: vehicle-commands
  /vehicles/{id}/cloudboxx-commands/data-connection-reset:
    post:
      description: |
        This command resets the CloudBoxx data connection.
      parameters:
      - description: |
          Unique identifier of the vehicle.
        in: path
        name: id
        required: true
        schema:
          example: JQ7RP
          type: string
      responses:
        "204":
          description: Command successfully sent to the vehicle
        "404":
          content:
            application/json:
              examples:
                Vehicle not found:
                  $ref: '#/components/examples/vehicleNotFoundErrorExample'
              schema:
                $ref: '#/components/schemas/Problem'
          description: Not Found
        "409":
          content:
            application/problem+json:
              examples:
                Command Not Supported:
                  $ref: '#/components/examples/commandNotSupportedErrorExample'
                Vehicle Not Ready to Accept Commands:
                  $ref: '#/components/examples/resourceNotReadyConflictErrorExample'
                Vehicle is currently shared:
                  $ref: '#/components/examples/vehicleIsCurrentlySharedPartnerOnlyExample'
                Vehicle's setup status prevents command execution:
                  $ref: '#/components/examples/vehiclesSetupStatusPreventsCommandExecutionExample'
              schema:
                $ref: '#/components/schemas/Problem'
          description: Conflict - See examples for details.
        "504":
          content:
            application/problem+json:
              examples:
                No Vehicle Connection:
                  $ref: '#/components/examples/noConnectionErrorExample'
              schema:
                $ref: '#/components/schemas/Problem'
          description: No Connection to Vehicle
      security:
      - OAuth2:
        - VEHICLE_COMMANDS
      summary: Reset CloudBoxx data connection
      tags:
      - Commands
      x-invers-permission: vehicle-commands
  /vehicles/{id}/cloudboxx-commands/switch-mobile-network:
    post:
      description: Trigger mobile network switch for the Telematics Unit of the vehicle
      operationId: post-vehicles-vehicle_id-commands-switch-mobile-network
      parameters:
      - description: |
          Unique identifier of the vehicle.
        in: path
        name: id
        required: true
        schema:
          example: JQ7RP
          type: string
      responses:
        "204":
          description: Command successfully sent to vehicle
        "404":
          content:
            application/json:
              examples:
                Vehicle not found:
                  $ref: '#/components/examples/vehicleNotFoundErrorExample'
              schema:
                $ref: '#/components/schemas/Problem'
          description: Not Found
        "409":
          content:
            application/problem+json:
              examples:
                Command Not Supported:
                  $ref: '#/components/examples/commandNotSupportedErrorExample'
                Vehicle Not Ready to Accept Commands:
                  $ref: '#/components/examples/resourceNotReadyConflictErrorExample'
                Vehicle is currently shared:
                  $ref: '#/components/examples/vehicleIsCurrentlySharedPartnerOnlyExample'
                Vehicle's setup status prevents command execution:
                  $ref: '#/components/examples/vehiclesSetupStatusPreventsCommandExecutionExample'
              schema:
                $ref: '#/components/schemas/Problem'
          description: Conflict - See examples for details.
        "504":
          content:
            application/problem+json:
              examples:
                No Vehicle Connection:
                  $ref: '#/components/examples/noConnectionErrorExample'
              schema:
                $ref: '#/components/schemas/Problem'
          description: No Connection to Vehicle
      security:
      - OAuth2:
        - VEHICLE_COMMANDS
      summary: Trigger mobile network switch
      tags:
      - Commands
      x-invers-permissions: vehicle-commands
  /vehicles/{id}/cloudboxx-commands/activate-workshop-mode:
    post:
      description: |
        Activate the workshop mode. While activated, the CloudBoxx will not communicate via the OBD Interface of the vehicle.
        Note that the workshop mode can only be used for firmware version greater or equal to 2.24.
      operationId: post-vehicles-vehicle_id-commands-activate-workshop-mode
      parameters:
      - description: |
          Unique identifier of the vehicle.
        in: path
        name: id
        required: true
        schema:
          example: JQ7RP
          type: string
      responses:
        "204":
          description: Command successfully sent to vehicle
        "404":
          content:
            application/json:
              examples:
                Vehicle not found:
                  $ref: '#/components/examples/vehicleNotFoundErrorExample'
              schema:
                $ref: '#/components/schemas/Problem'
          description: Not Found
        "409":
          content:
            application/problem+json:
              examples:
                Command Not Supported:
                  $ref: '#/components/examples/commandNotSupportedErrorExample'
                Vehicle Not Ready to Accept Commands:
                  $ref: '#/components/examples/resourceNotReadyConflictErrorExample'
                Firmware Version not compatible:
                  $ref: '#/components/examples/firmwareVersionNotCompatibleErrorExample'
              schema:
                $ref: '#/components/schemas/Problem'
          description: Conflict - See examples for details.
        "504":
          content:
            application/problem+json:
              examples:
                No Vehicle Connection:
                  $ref: '#/components/examples/noConnectionErrorExample'
              schema:
                $ref: '#/components/schemas/Problem'
          description: No Connection to Vehicle
      security:
      - OAuth2:
        - VEHICLE_COMMANDS
      summary: Activate the workshop mode
      tags:
      - Commands
      x-invers-permissions: vehicle-commands
  /vehicles/{id}/cloudboxx-commands/deactivate-workshop-mode:
    post:
      description: |
        Deactivate the workshop mode. While activated, the CloudBoxx will not communicate via the OBD Interface of the vehicle.
        Note that the workshop mode can only be used for firmware version greater or equal to 2.24.
      operationId: post-vehicles-vehicle_id-commands-deactivate-workshop-mode
      parameters:
      - description: |
          Unique identifier of the vehicle.
        in: path
        name: id
        required: true
        schema:
          example: JQ7RP
          type: string
      responses:
        "204":
          description: Command successfully sent to vehicle
        "404":
          content:
            application/json:
              examples:
                Vehicle not found:
                  $ref: '#/components/examples/vehicleNotFoundErrorExample'
              schema:
                $ref: '#/components/schemas/Problem'
          description: Not Found
        "409":
          content:
            application/problem+json:
              examples:
                Command Not Supported:
                  $ref: '#/components/examples/commandNotSupportedErrorExample'
                Vehicle Not Ready to Accept Commands:
                  $ref: '#/components/examples/resourceNotReadyConflictErrorExample'
                Firmware Version not compatible:
                  $ref: '#/components/examples/firmwareVersionNotCompatibleErrorExample'
              schema:
                $ref: '#/components/schemas/Problem'
          description: Conflict - See examples for details.
        "504":
          content:
            application/problem+json:
              examples:
                No Vehicle Connection:
                  $ref: '#/components/examples/noConnectionErrorExample'
              schema:
                $ref: '#/components/schemas/Problem'
          description: No Connection to Vehicle
      security:
      - OAuth2:
        - VEHICLE_COMMANDS
      summary: Deactivate the workshop mode
      tags:
      - Commands
      x-invers-permissions: vehicle-commands
  /vehicles/{id}/cloudboxx-connectivity-commands/network-detach:
    post:
      description: |
        This command detaches the SIM associated with the vehicle from the network.
      parameters:
      - description: |
          Unique identifier of the vehicle.
        in: path
        name: id
        required: true
        schema:
          example: JQ7RP
          type: string
      responses:
        "204":
          description: Command successfully sent to the vehicle
        "404":
          content:
            application/json:
              examples:
                Vehicle not found:
                  $ref: '#/components/examples/vehicleNotFoundErrorExample'
              schema:
                $ref: '#/components/schemas/Problem'
          description: Not Found
        "409":
          content:
            application/problem+json:
              examples:
                Command Not Supported:
                  $ref: '#/components/examples/commandNotSupportedErrorExample'
                Vehicle Not Ready to Accept Commands:
                  $ref: '#/components/examples/resourceNotReadyConflictErrorExample'
                Vehicle is currently shared:
                  $ref: '#/components/examples/vehicleIsCurrentlySharedPartnerOnlyExample'
                Vehicle's setup status prevents command execution:
                  $ref: '#/components/examples/vehiclesSetupStatusPreventsCommandExecutionExample'
                SIM Provider Not Supported:
                  $ref: '#/components/examples/simProviderNotSupportedExample'
              schema:
                $ref: '#/components/schemas/Problem'
          description: Conflict - See examples for details.
      security:
      - OAuth2:
        - VEHICLE_COMMANDS
      summary: Detach SIM from network
      tags:
      - Connectivity Commands
      x-invers-permission: connectivity-commands
  /vehicles/{id}/cloudboxx-connectivity-commands/request-sim-activation:
    post:
      description: |
        This command activates the SIM associated with the vehicle.
      parameters:
      - description: |
          Unique identifier of the vehicle.
        in: path
        name: id
        required: true
        schema:
          example: JQ7RP
          type: string
      responses:
        "204":
          description: Command successfully sent to the vehicle
        "404":
          content:
            application/json:
              examples:
                Vehicle not found:
                  $ref: '#/components/examples/vehicleNotFoundErrorExample'
              schema:
                $ref: '#/components/schemas/Problem'
          description: Not Found
        "409":
          content:
            application/problem+json:
              examples:
                Command Not Supported:
                  $ref: '#/components/examples/commandNotSupportedErrorExample'
                Vehicle Not Ready to Accept Commands:
                  $ref: '#/components/examples/resourceNotReadyConflictErrorExample'
                Vehicle is currently shared:
                  $ref: '#/components/examples/vehicleIsCurrentlySharedOwnerOnlyExample'
                Vehicle's setup status prevents command execution:
                  $ref: '#/components/examples/vehiclesSetupStatusPreventsCommandExecutionExample'
              schema:
                $ref: '#/components/schemas/Problem'
          description: Conflict - See examples for details.
      security:
      - OAuth2:
        - VEHICLE_COMMANDS
      summary: Activate SIM
      tags:
      - Connectivity Commands
      x-invers-permission: connectivity-commands
  /vehicles/{id}/cloudboxx-connectivity-commands/request-sim-suspension:
    post:
      description: |
        This command suspends the SIM associated with the vehicle.
      parameters:
      - description: |
          Unique identifier of the vehicle.
        in: path
        name: id
        required: true
        schema:
          example: JQ7RP
          type: string
      responses:
        "204":
          description: Command successfully sent to the vehicle
        "404":
          content:
            application/json:
              examples:
                Vehicle not found:
                  $ref: '#/components/examples/vehicleNotFoundErrorExample'
              schema:
                $ref: '#/components/schemas/Problem'
          description: Not Found
        "409":
          content:
            application/problem+json:
              examples:
                Command Not Supported:
                  $ref: '#/components/examples/commandNotSupportedErrorExample'
                Vehicle Not Ready to Accept Commands:
                  $ref: '#/components/examples/resourceNotReadyConflictErrorExample'
                Vehicle is currently shared:
                  $ref: '#/components/examples/vehicleIsCurrentlySharedOwnerOnlyExample'
                Vehicle's setup status prevents command execution:
                  $ref: '#/components/examples/vehiclesSetupStatusPreventsCommandExecutionExample'
              schema:
                $ref: '#/components/schemas/Problem'
          description: Conflict - See examples for details.
      security:
      - OAuth2:
        - VEHICLE_COMMANDS
      summary: Suspend SIM
      tags:
      - Connectivity Commands
      x-invers-permission: connectivity-commands
components:
  examples:
    vehicleNotFoundErrorExample:
      value:
        type: /problems/resource-not-found
        title: The resource cannot be found.
        status: 404
        detail: The vehicle with ID 'MT3T3' cannot be found.
        flow_id: 5e77e3e3-48ab-4955-8ab3-1c62339096ab
    commandNotSupportedErrorExample:
      value:
        type: /problems/vehicle/command-not-supported
        title: The command is not supported by the vehicle.
        status: 409
        detail: The command 'ENABLE_DRIVING' is not supported by the vehicle 'JQ7RP'.
        flow_id: 5e77e3e3-48ab-4955-8ab3-1c62339096ab
    resourceNotReadyConflictErrorExample:
      value:
        type: /problems/conflicting-resource
        title: Request cannot be processed due to a conflicting resource or resource
          state.
        status: 409
        detail: The vehicle with ID 'JQ7RP' is not ready to accept commands`.
        flow_id: 5e77e3e3-48ab-4955-8ab3-1c62339096ab
    vehiclesSetupStatusPreventsCommandExecutionExample:
      value:
        type: /problems/vehicle/conflicting-setup-status
        type_documentation: https://developers.invers.com/problems/vehicle/conflicting-setup-status
        title: The operation cannot be performed due to the vehicle's setup status.
        status: 409
        detail: The vehicle 'JQ7RP' is not ready for use because its setup status
          is 'RUNNING'.
        flow_id: 5e77e3e3-48ab-4955-8ab3-1c62339096ab
    noConnectionErrorExample:
      value:
        type: /problems/vehicle/no-connection
        title: No connection to vehicle
        status: 504
        detail: The vehicle 'JQ7RP' did not answer in time
        flow_id: 5e77e3e3-48ab-4955-8ab3-1c62339096ab
    vehicleIsCurrentlySharedPartnerOnlyExample:
      value:
        type: /problems/vehicle/shared-with-partner
        type_documentation: https://developers.invers.com/problems/vehicle/shared-with-partner
        title: The vehicle is currently shared with a partner.
        status: 409
        detail: The vehicle 'JQ7RP' is currently shared. Only the sharing partner
          of the vehicle can use this request.
        flow_id: 5e77e3e3-48ab-4955-8ab3-1c62339096ab
    firmwareVersionNotCompatibleErrorExample:
      value:
        type: /problems/incompatible-firmware-version
        title: Incompatible firmware version
        status: 409
        detail: The firmware version is incompatible. The minimum firmware version
          for this resource is 2.17
        flow_id: 5e77e3e3-48ab-4955-8ab3-1c62339096ab
    simProviderNotSupportedExample:
      value:
        type: /problems/resource-conflict
        title: The resource has a conflict.
        status: 409
        detail: The SIM Provider OTHER does not support the command.
        flow_id: 268de5ff-b700-4e1b-8ebc-b2d935782d93
    vehicleIsCurrentlySharedOwnerOnlyExample:
      value:
        type: /problems/vehicle/shared-with-partner
        type_documentation: https://developers.invers.com/problems/vehicle/shared-with-partner
        title: The vehicle is currently shared with a partner.
        status: 409
        detail: The vehicle 'JQ7RP' is currently shared. Only the owner of the vehicle
          can use this request.
        flow_id: 5e77e3e3-48ab-4955-8ab3-1c62339096ab
  schemas:
    system-status:
      additionalProperties: false
      example:
        cpu_time_in_seconds: 49346
        board_reset_reason: GENERAL
        free_heap_in_bytes: 308592
        data_connection_up_since: 2022-02-19T21:11:19Z
        real_time_clock: 2022-02-23T14:54:34Z
        modem_up_since: 2022-02-16T11:15:39Z
        can_bus_0_error_flags: '0x123 '
        cpu_temperature_in_degrees_celsius: 30.13
        hardware_revision: 1
        device_up_since: 2022-02-16T11:15:32Z
        can_bus_1_error_flags: '0x167 '
        pio_port_levels:
        - '0x01f627a7 '
        - '0x87741fc1 '
        can_bus_0_active: true
        can_bus_1_active: false
        can_bus_active: true
      properties:
        real_time_clock:
          description: |
            Real-time clock of the CloudBoxx.
          example: 2022-02-23T14:54:34Z
          format: date-time
          type: string
        device_up_since:
          description: |
            Timestamp since when the CloudBoxx is up.
          example: 2022-02-16T11:15:32Z
          format: date-time
          type: string
        modem_up_since:
          description: |
            Timestamp since when the modem is up.
          example: 2022-02-16T11:15:39Z
          format: date-time
          type: string
        data_connection_up_since:
          description: |
            Timestamp since when the data connection was established.
          example: 2022-02-19T21:11:19Z
          format: date-time
          type: string
        cpu_time_in_seconds:
          description: |
            Time in seconds which the CPU was not in sleep mode since last reboot.
          example: 49346
          type: integer
        board_reset_reason:
          description: |
            Source that triggered the reset of the CloudBoxx.
          enum:
          - GENERAL
          - BACKUP
          - WATCHDOG
          - SOFTWARE
          - USER
          - UNKNOWN
          - BROWN_OUT
          - POWER_DOWN_MODE
          type: string
        cpu_temperature_in_degrees_celsius:
          description: |
            Temperature in degrees celsius inside the MCU/CPU of the CloudBoxx.
          example: 30.13
          type: number
        pio_port_levels:
          description: |
            Only used for internal debugging. May be changed or omitted in future releases.
          example:
          - '0x01f627a7 '
          - '0x87741fc1 '
          items:
            format: hex
            type: string
          type: array
        free_heap_in_bytes:
          description: |
            Only used for internal debugging. May be changed or omitted in future releases.
          example: 308592
          type: integer
        can_bus_active:
          description: |
            Deprecated field. Was replaced by `can_bus_0_active` and `can_bus_1_active`.
          type: boolean
        can_bus_0_active:
          description: |
            Only used for internal debugging. May be changed or omitted in future releases.
          example: true
          type: boolean
        can_bus_0_error_flags:
          description: |
            Only used for internal debugging. May be changed or omitted in future releases.
          example: '0x123 '
          format: hex
          type: string
        can_bus_1_active:
          description: |
            Only used for internal debugging. May be changed or omitted in future releases.
          example: false
          type: boolean
        can_bus_1_error_flags:
          description: |
            Only used for internal debugging. May be changed or omitted in future releases.
          example: '0x167 '
          format: hex
          type: string
        hardware_revision:
          description: |
            The hardware revision represents the development status of the CloudBoxx hardware. CloudBoxxes with different
            hardware revisions differ in one or more components.
          example: 1
          type: integer
      required:
      - can_bus_0_active
      - cpu_up_since
      - data_connection_up_since
      - device_up_since
      - free_heap_in_bytes
      - modem_up_since
      - pio_port_levels
      - reset_source
      - rtc
      - temperature
      title: System Status
      type: object
    Problem:
      properties:
        type:
          default: about:blank
          description: |
            A relative URI reference that uniquely identifies the problem type only in the context of the provided API. Opposed to the specification in RFC-7807, it is neither recommended to be dereferencable and point to a human-readable documentation nor globally unique for the problem type.
          example: /problem/connection-error
          format: uri-reference
          type: string
        type_documentation:
          description: |
            An URL that points to a human-readable documentation of the problem type. Some explanations of the problem type together with possible solutions can be found there.  Written in English and readable for engineers, usually not suited for non technical stakeholders and not localized.
          example: https://developers.invers.com/problems/invalid-credentials/
          format: url
          type: string
        title:
          description: |
            A short summary of the problem type. Written in English and readable for engineers, usually not suited for non technical stakeholders and not localized.
          example: Service Unavailable
          type: string
        status:
          description: |
            The HTTP status code generated by the origin server for this occurrence of the problem.
          example: 503
          exclusiveMaximum: true
          format: int32
          maximum: 600
          minimum: 100
          type: integer
        detail:
          description: |
            A human readable explanation specific to this occurrence of the problem that is helpful to locate the problem and give advice on how to proceed. Written in English and readable for engineers, usually not suited for non technical stakeholders and not localized.
          example: Connection to database timed out
          type: string
        flow_id:
          description: |
            The id of the flow that caused this error.  For more information visit [https://developers.invers.com/integration-guide/api-basics/#flow-id](https://developers.invers.com/integration-guide/api-basics/#flow-id).
          type: string
      required:
      - detail
      - status
      - title
      - type
      type: object
  securitySchemes:
    OAuth2:
      flows:
        authorizationCode:
          authorizationUrl: /auth/oauth/authorize
          scopes:
            VEHICLE_COMMANDS: Send CloudBoxx commands to vehicle or manage CloudBoxx
              connectivity.
          tokenUrl: /auth/oauth/token
        clientCredentials:
          scopes:
            VEHICLE_COMMANDS: Send CloudBoxx commands to vehicle or manage CloudBoxx
              connectivity.
          tokenUrl: /auth/oauth/token
      type: oauth2
