{
  "openapi": "3.1.0",
  "info": {
    "title": "FastAPI",
    "version": "2024-03-27"
  },
  "servers": [
    {
      "url": "https://api.pathstack.io",
      "description": "PathStack production environment"
    }
  ],
  "paths": {
    "/account/summary": {
      "get": {
        "tags": [
          "Account"
        ],
        "summary": "Account Summary",
        "operationId": "account_summary_account_summary_get",
        "security": [
          {
            "JWTBearer": []
          }
        ],
        "parameters": [
          {
            "name": "x-api-version",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date",
              "default": "2024-03-27",
              "title": "X-Api-Version"
            },
            "examples": {
              "default": {
                "value": "2024-03-27"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success_AccountSummary_"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/account/activity-summary": {
      "get": {
        "tags": [
          "Account"
        ],
        "summary": "Account Activity Summary",
        "operationId": "account_activity_summary_account_activity_summary_get",
        "security": [
          {
            "JWTBearer": []
          }
        ],
        "parameters": [
          {
            "name": "days",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "title": "Window (days)",
              "description": "Lookback window in days. Must be 7, 14, 30, or 90.",
              "default": 14
            },
            "description": "Lookback window in days. Must be 7, 14, 30, or 90."
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "maximum": 100,
              "minimum": 1,
              "title": "Limit",
              "description": "Maximum number of results for trips_by_connection and events_by_type.",
              "default": 10
            },
            "description": "Maximum number of results for trips_by_connection and events_by_type."
          },
          {
            "name": "x-api-version",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date",
              "default": "2024-03-27",
              "title": "X-Api-Version"
            },
            "examples": {
              "default": {
                "value": "2024-03-27"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success_ActivitySummary_"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/token": {
      "post": {
        "tags": [
          "Auth"
        ],
        "summary": "Login",
        "description": "This endpoint takes a username or email, and a password, and returns an access token, refresh token, expiry time,\ntoken type, and a sub which is used with the refresh token to get a new access token by calling the refresh\nendpoint.\n\nThe access token is to be used for all endpoints except for /token and /refresh.",
        "operationId": "login_token_post",
        "parameters": [
          {
            "name": "x-api-version",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date",
              "default": "2024-03-27",
              "title": "X-Api-Version"
            },
            "examples": {
              "default": {
                "value": "2024-03-27"
              }
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UsernamePassword"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success_AuthenticationResult_"
                }
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 400,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "Invalid JWT format",
                          "title": "Error message"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 401,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "Authentication header is missing, or token is invalid/expired.",
                          "title": "Error message"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Unauthorized"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 403,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "You do not have access to this resource",
                          "title": "Error message"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Forbidden"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 422,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "Field required",
                          "title": "Error message"
                        },
                        "loc": {
                          "items": {
                            "anyOf": [
                              {
                                "type": "string"
                              },
                              {
                                "type": "integer"
                              }
                            ]
                          },
                          "type": "array",
                          "title": "Location"
                        },
                        "msg": {
                          "type": "string",
                          "title": "Message"
                        },
                        "type": {
                          "type": "string",
                          "title": "Error Type"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Unprocessable Entity"
          }
        }
      }
    },
    "/refresh": {
      "post": {
        "tags": [
          "Auth"
        ],
        "summary": "Refresh",
        "description": "This endpoint takes the sub and a refresh token and returns an access token and refresh token.\n\nThe access token is to be used for all endpoints except for /token and /refresh.",
        "operationId": "refresh_refresh_post",
        "parameters": [
          {
            "name": "x-api-version",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date",
              "default": "2024-03-27",
              "title": "X-Api-Version"
            },
            "examples": {
              "default": {
                "value": "2024-03-27"
              }
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RefreshToken"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success_RefreshResult_"
                }
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 401,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "Invalid Refresh Token",
                          "title": "Error message"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Unauthorized"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 422,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "Field required",
                          "title": "Error message"
                        },
                        "loc": {
                          "items": {
                            "anyOf": [
                              {
                                "type": "string"
                              },
                              {
                                "type": "integer"
                              }
                            ]
                          },
                          "type": "array",
                          "title": "Location"
                        },
                        "msg": {
                          "type": "string",
                          "title": "Message"
                        },
                        "type": {
                          "type": "string",
                          "title": "Error Type"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Unprocessable Entity"
          }
        }
      }
    },
    "/connection": {
      "get": {
        "tags": [
          "Connections"
        ],
        "summary": "Connections",
        "description": "This endpoint returns all connections within your tenancy.\n\nYou can specify the telematics_provider, and it will return only Connections with that provider.",
        "operationId": "connections_connection_get",
        "security": [
          {
            "JWTBearer": []
          }
        ],
        "parameters": [
          {
            "name": "telematics_provider",
            "in": "query",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/ProviderEnum",
              "title": "Telematics Provider",
              "description": "Name of the telematics provider"
            },
            "description": "Name of the telematics provider"
          },
          {
            "name": "x-api-version",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date",
              "default": "2024-03-27",
              "title": "X-Api-Version"
            },
            "examples": {
              "default": {
                "value": "2024-03-27"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConnectionsSuccessResponse"
                }
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 400,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "Invalid JWT format",
                          "title": "Error message"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 401,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "Authentication header is missing, or token is invalid/expired.",
                          "title": "Error message"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Unauthorized"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 403,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "You do not have access to this resource",
                          "title": "Error message"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Forbidden"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 422,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "Field required",
                          "title": "Error message"
                        },
                        "loc": {
                          "items": {
                            "anyOf": [
                              {
                                "type": "string"
                              },
                              {
                                "type": "integer"
                              }
                            ]
                          },
                          "type": "array",
                          "title": "Location"
                        },
                        "msg": {
                          "type": "string",
                          "title": "Message"
                        },
                        "type": {
                          "type": "string",
                          "title": "Error Type"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Unprocessable Entity"
          }
        }
      },
      "post": {
        "tags": [
          "Connections"
        ],
        "summary": "Create Connection",
        "description": "This endpoint takes attributes for a new Connection and a tenant_id and creates and returns a new Connection.\n\nThe allowed values for integration_name can be found under ProviderEnum.",
        "operationId": "create_connection_connection_post",
        "security": [
          {
            "JWTBearer": []
          }
        ],
        "parameters": [
          {
            "name": "x-api-version",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date",
              "default": "2024-03-27",
              "title": "X-Api-Version"
            },
            "examples": {
              "default": {
                "value": "2024-03-27"
              }
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ConnectionInput"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConnectionSuccessResponse"
                }
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 400,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "Invalid JWT format",
                          "title": "Error message"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 401,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "Authentication header is missing, or token is invalid/expired.",
                          "title": "Error message"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Unauthorized"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 403,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "You do not have access to this resource",
                          "title": "Error message"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Forbidden"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 422,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "Field required",
                          "title": "Error message"
                        },
                        "loc": {
                          "items": {
                            "anyOf": [
                              {
                                "type": "string"
                              },
                              {
                                "type": "integer"
                              }
                            ]
                          },
                          "type": "array",
                          "title": "Location"
                        },
                        "msg": {
                          "type": "string",
                          "title": "Message"
                        },
                        "type": {
                          "type": "string",
                          "title": "Error Type"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Unprocessable Entity"
          }
        }
      }
    },
    "/connection/{connection_id}": {
      "get": {
        "tags": [
          "Connections"
        ],
        "summary": "Connection By Id",
        "description": "This endpoint returns a Connection by ID.",
        "operationId": "connection_by_id_connection__connection_id__get",
        "security": [
          {
            "JWTBearer": []
          }
        ],
        "parameters": [
          {
            "name": "connection_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Connection ID",
              "description": "Connection ID of the Connection to be returned"
            },
            "description": "Connection ID of the Connection to be returned"
          },
          {
            "name": "x-api-version",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date",
              "default": "2024-03-27",
              "title": "X-Api-Version"
            },
            "examples": {
              "default": {
                "value": "2024-03-27"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConnectionSuccessResponse"
                }
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 400,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "Invalid JWT format",
                          "title": "Error message"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 401,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "Authentication header is missing, or token is invalid/expired.",
                          "title": "Error message"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Unauthorized"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 403,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "You do not have access to this resource",
                          "title": "Error message"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Forbidden"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 422,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "Field required",
                          "title": "Error message"
                        },
                        "loc": {
                          "items": {
                            "anyOf": [
                              {
                                "type": "string"
                              },
                              {
                                "type": "integer"
                              }
                            ]
                          },
                          "type": "array",
                          "title": "Location"
                        },
                        "msg": {
                          "type": "string",
                          "title": "Message"
                        },
                        "type": {
                          "type": "string",
                          "title": "Error Type"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Unprocessable Entity"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 404,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "Connection with ID <connection_id> not found",
                          "title": "Error message"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Not Found"
          }
        }
      },
      "patch": {
        "tags": [
          "Connections"
        ],
        "summary": "Update Connection",
        "description": "Update connection metadata (active toggle, tag assignment, business_name, abn, email).\nOnly the owning tenant may update a connection.\n\n- Omitting a field leaves it unchanged.\n- Sending null or [] for tags clears all tag assignments.\n- Sending null for business_name, abn, or email clears that field.\n- Sending null for active is not allowed (active is always a bool).",
        "operationId": "update_connection_connection__connection_id__patch",
        "security": [
          {
            "JWTBearer": []
          }
        ],
        "parameters": [
          {
            "name": "connection_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Connection ID",
              "description": "Connection ID of the Connection to be updated"
            },
            "description": "Connection ID of the Connection to be updated"
          },
          {
            "name": "x-api-version",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date",
              "default": "2024-03-27",
              "title": "X-Api-Version"
            },
            "examples": {
              "default": {
                "value": "2024-03-27"
              }
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ConnectionUpdate"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConnectionSuccessResponse"
                }
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 400,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "Invalid JWT format",
                          "title": "Error message"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 401,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "Authentication header is missing, or token is invalid/expired.",
                          "title": "Error message"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Unauthorized"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 403,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "You do not have access to this resource",
                          "title": "Error message"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Forbidden"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 422,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "Field required",
                          "title": "Error message"
                        },
                        "loc": {
                          "items": {
                            "anyOf": [
                              {
                                "type": "string"
                              },
                              {
                                "type": "integer"
                              }
                            ]
                          },
                          "type": "array",
                          "title": "Location"
                        },
                        "msg": {
                          "type": "string",
                          "title": "Message"
                        },
                        "type": {
                          "type": "string",
                          "title": "Error Type"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Unprocessable Entity"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 404,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "Connection with ID <connection_id> not found",
                          "title": "Error message"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Not Found"
          }
        }
      }
    },
    "/connection/{connection_id}/credentials": {
      "get": {
        "tags": [
          "Connections"
        ],
        "summary": "Connection Credentials By Id",
        "description": "Credentials are owner-only. Shared tenants can see connection metadata through\nthe existing scoped connection endpoints, but cannot read another tenant's\nstored integration credentials.",
        "operationId": "connection_credentials_by_id_connection__connection_id__credentials_get",
        "security": [
          {
            "JWTBearer": []
          }
        ],
        "parameters": [
          {
            "name": "connection_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Connection ID",
              "description": "Connection ID of the Connection whose credentials are returned"
            },
            "description": "Connection ID of the Connection whose credentials are returned"
          },
          {
            "name": "x-api-version",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date",
              "default": "2024-03-27",
              "title": "X-Api-Version"
            },
            "examples": {
              "default": {
                "value": "2024-03-27"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success_ConnectionCredentials_"
                }
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 400,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "Invalid JWT format",
                          "title": "Error message"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 401,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "Authentication header is missing, or token is invalid/expired.",
                          "title": "Error message"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Unauthorized"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 403,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "You do not have access to this resource",
                          "title": "Error message"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Forbidden"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 422,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "Field required",
                          "title": "Error message"
                        },
                        "loc": {
                          "items": {
                            "anyOf": [
                              {
                                "type": "string"
                              },
                              {
                                "type": "integer"
                              }
                            ]
                          },
                          "type": "array",
                          "title": "Location"
                        },
                        "msg": {
                          "type": "string",
                          "title": "Message"
                        },
                        "type": {
                          "type": "string",
                          "title": "Error Type"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Unprocessable Entity"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 404,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "Connection with ID <connection_id> not found",
                          "title": "Error message"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Not Found"
          }
        }
      },
      "patch": {
        "tags": [
          "Connections"
        ],
        "summary": "Update Connection Credentials",
        "description": "Credential updates are restricted to the owning tenant for the same reason as\ncredential reads: shares grant access to connection data, not to the owner's\nsecret integration credentials.",
        "operationId": "update_connection_credentials_connection__connection_id__credentials_patch",
        "security": [
          {
            "JWTBearer": []
          }
        ],
        "parameters": [
          {
            "name": "connection_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Connection ID",
              "description": "Connection ID of the Connection whose credentials are updated"
            },
            "description": "Connection ID of the Connection whose credentials are updated"
          },
          {
            "name": "x-api-version",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date",
              "default": "2024-03-27",
              "title": "X-Api-Version"
            },
            "examples": {
              "default": {
                "value": "2024-03-27"
              }
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ConnectionCredentialsUpdate"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success_ConnectionCredentials_"
                }
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 400,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "Invalid JWT format",
                          "title": "Error message"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 401,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "Authentication header is missing, or token is invalid/expired.",
                          "title": "Error message"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Unauthorized"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 403,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "You do not have access to this resource",
                          "title": "Error message"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Forbidden"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 422,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "Field required",
                          "title": "Error message"
                        },
                        "loc": {
                          "items": {
                            "anyOf": [
                              {
                                "type": "string"
                              },
                              {
                                "type": "integer"
                              }
                            ]
                          },
                          "type": "array",
                          "title": "Location"
                        },
                        "msg": {
                          "type": "string",
                          "title": "Message"
                        },
                        "type": {
                          "type": "string",
                          "title": "Error Type"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Unprocessable Entity"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 404,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "Connection with ID <connection_id> not found",
                          "title": "Error message"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Not Found"
          }
        }
      }
    },
    "/connection-tag": {
      "get": {
        "tags": [
          "Connections"
        ],
        "summary": "List Connection Tags",
        "description": "Returns all connection tags belonging to the authenticated tenant, ordered by name.",
        "operationId": "list_connection_tags_connection_tag_get",
        "security": [
          {
            "JWTBearer": []
          }
        ],
        "parameters": [
          {
            "name": "x-api-version",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date",
              "default": "2024-03-27",
              "title": "X-Api-Version"
            },
            "examples": {
              "default": {
                "value": "2024-03-27"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success_list_TenantTag__"
                }
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 400,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "Invalid JWT format",
                          "title": "Error message"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 401,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "Authentication header is missing, or token is invalid/expired.",
                          "title": "Error message"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Unauthorized"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 403,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "You do not have access to this resource",
                          "title": "Error message"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Forbidden"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 422,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "Field required",
                          "title": "Error message"
                        },
                        "loc": {
                          "items": {
                            "anyOf": [
                              {
                                "type": "string"
                              },
                              {
                                "type": "integer"
                              }
                            ]
                          },
                          "type": "array",
                          "title": "Location"
                        },
                        "msg": {
                          "type": "string",
                          "title": "Message"
                        },
                        "type": {
                          "type": "string",
                          "title": "Error Type"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Unprocessable Entity"
          }
        }
      }
    },
    "/device": {
      "post": {
        "tags": [
          "Devices"
        ],
        "summary": "Create Device",
        "description": "This endpoint creates a Device.\n\nNot all providers are supported, currently only Digital Matter is supported.\n\nThe created Device is returned in the response.",
        "operationId": "create_device_device_post",
        "security": [
          {
            "JWTBearer": []
          }
        ],
        "parameters": [
          {
            "name": "x-api-version",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date",
              "default": "2024-03-27",
              "title": "X-Api-Version"
            },
            "examples": {
              "default": {
                "value": "2024-03-27"
              }
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DeviceCreate",
                "title": "Device",
                "description": "Details for device"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success_Device_"
                }
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 400,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "Invalid JWT format",
                          "title": "Error message"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 401,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "Authentication header is missing, or token is invalid/expired.",
                          "title": "Error message"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Unauthorized"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 403,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "You do not have access to this resource",
                          "title": "Error message"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Forbidden"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 422,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "Field required",
                          "title": "Error message"
                        },
                        "loc": {
                          "items": {
                            "anyOf": [
                              {
                                "type": "string"
                              },
                              {
                                "type": "integer"
                              }
                            ]
                          },
                          "type": "array",
                          "title": "Location"
                        },
                        "msg": {
                          "type": "string",
                          "title": "Message"
                        },
                        "type": {
                          "type": "string",
                          "title": "Error Type"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Unprocessable Entity"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 404,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "Connection with ID <connection_id> not found",
                          "title": "Error message"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Not Found"
          },
          "405": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 405,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "The telematics provider for this Device does not support creation of Devices with the API",
                          "title": "Error message"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Method Not Allowed"
          }
        }
      },
      "get": {
        "tags": [
          "Devices"
        ],
        "summary": "Devices",
        "description": "This endpoint returns all Devices that have been created by Connections for your Tenancy.\n\nYou can specify the telematics_provider, and it will return only Devices with that provider.\n\nYou can specify the tags, and it will return only Devices that have all the tags specified.\n\nThe response is paginated, so if the next link is not null, use that link to get the next page of results.",
        "operationId": "devices_device_get",
        "security": [
          {
            "JWTBearer": []
          }
        ],
        "parameters": [
          {
            "name": "telematics_provider",
            "in": "query",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/ProviderEnum",
              "title": "Telematics Provider",
              "description": "Name of the telematics provider"
            },
            "description": "Name of the telematics provider"
          },
          {
            "name": "connection_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Data Provider",
              "description": "Connection ID of data provider"
            },
            "description": "Connection ID of data provider"
          },
          {
            "name": "tags",
            "in": "query",
            "required": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "minLength": 1,
                "maxLength": 255
              },
              "title": "Tags",
              "description": "Tags to include. Use query parameters e.g ?tags=a&tags=b to filter for Devices with tags 'a' and 'b'."
            },
            "description": "Tags to include. Use query parameters e.g ?tags=a&tags=b to filter for Devices with tags 'a' and 'b'."
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 0,
              "title": "Page number",
              "description": "Page number for pagination (zero-indexed)",
              "default": 0
            },
            "description": "Page number for pagination (zero-indexed)"
          },
          {
            "name": "x-api-version",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date",
              "default": "2024-03-27",
              "title": "X-Api-Version"
            },
            "examples": {
              "default": {
                "value": "2024-03-27"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedSuccess_list_Device__"
                }
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 400,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "Invalid JWT format",
                          "title": "Error message"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 401,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "Authentication header is missing, or token is invalid/expired.",
                          "title": "Error message"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Unauthorized"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 403,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "You do not have access to this resource",
                          "title": "Error message"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Forbidden"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 422,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "Field required",
                          "title": "Error message"
                        },
                        "loc": {
                          "items": {
                            "anyOf": [
                              {
                                "type": "string"
                              },
                              {
                                "type": "integer"
                              }
                            ]
                          },
                          "type": "array",
                          "title": "Location"
                        },
                        "msg": {
                          "type": "string",
                          "title": "Message"
                        },
                        "type": {
                          "type": "string",
                          "title": "Error Type"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Unprocessable Entity"
          }
        }
      }
    },
    "/device/{device_id}": {
      "get": {
        "tags": [
          "Devices"
        ],
        "summary": "Device By Id",
        "description": "This endpoint returns a Device by ID.",
        "operationId": "device_by_id_device__device_id__get",
        "security": [
          {
            "JWTBearer": []
          }
        ],
        "parameters": [
          {
            "name": "device_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Device id",
              "description": "Device ID of the Device to be returned"
            },
            "description": "Device ID of the Device to be returned"
          },
          {
            "name": "x-api-version",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date",
              "default": "2024-03-27",
              "title": "X-Api-Version"
            },
            "examples": {
              "default": {
                "value": "2024-03-27"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success_Device_"
                }
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 400,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "Invalid JWT format",
                          "title": "Error message"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 401,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "Authentication header is missing, or token is invalid/expired.",
                          "title": "Error message"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Unauthorized"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 403,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "You do not have access to this resource",
                          "title": "Error message"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Forbidden"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 422,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "Field required",
                          "title": "Error message"
                        },
                        "loc": {
                          "items": {
                            "anyOf": [
                              {
                                "type": "string"
                              },
                              {
                                "type": "integer"
                              }
                            ]
                          },
                          "type": "array",
                          "title": "Location"
                        },
                        "msg": {
                          "type": "string",
                          "title": "Message"
                        },
                        "type": {
                          "type": "string",
                          "title": "Error Type"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Unprocessable Entity"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 404,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "Device with ID <device_id> not found",
                          "title": "Error message"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Not Found"
          }
        }
      },
      "patch": {
        "tags": [
          "Devices"
        ],
        "summary": "Update Device By Id",
        "description": "This endpoint update a Device.\n\nYou can specify the attributes which you want to be updated and their new values.\n\nThe updated Device is returned in the response.",
        "operationId": "update_device_by_id_device__device_id__patch",
        "security": [
          {
            "JWTBearer": []
          }
        ],
        "parameters": [
          {
            "name": "device_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Device id",
              "description": "Device ID of the Device to be updated"
            },
            "description": "Device ID of the Device to be updated"
          },
          {
            "name": "x-api-version",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date",
              "default": "2024-03-27",
              "title": "X-Api-Version"
            },
            "examples": {
              "default": {
                "value": "2024-03-27"
              }
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DeviceUpdate"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success_Device_"
                }
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 400,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "Invalid JWT format",
                          "title": "Error message"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 401,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "Authentication header is missing, or token is invalid/expired.",
                          "title": "Error message"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Unauthorized"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 403,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "You do not have access to this resource",
                          "title": "Error message"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Forbidden"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 422,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "Field required",
                          "title": "Error message"
                        },
                        "loc": {
                          "items": {
                            "anyOf": [
                              {
                                "type": "string"
                              },
                              {
                                "type": "integer"
                              }
                            ]
                          },
                          "type": "array",
                          "title": "Location"
                        },
                        "msg": {
                          "type": "string",
                          "title": "Message"
                        },
                        "type": {
                          "type": "string",
                          "title": "Error Type"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Unprocessable Entity"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 404,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "Device with ID <device_id> not found",
                          "title": "Error message"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Not Found"
          }
        }
      },
      "delete": {
        "tags": [
          "Devices"
        ],
        "summary": "Delete Device By Id",
        "description": "This endpoint deletes a Device.\n\nNot all providers are supported, currently only Digital Matter is supported.\n\nThe deleted Device is returned in the response.",
        "operationId": "delete_device_by_id_device__device_id__delete",
        "security": [
          {
            "JWTBearer": []
          }
        ],
        "parameters": [
          {
            "name": "device_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Device id",
              "description": "Device ID of the Device to be deleted"
            },
            "description": "Device ID of the Device to be deleted"
          },
          {
            "name": "x-api-version",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date",
              "default": "2024-03-27",
              "title": "X-Api-Version"
            },
            "examples": {
              "default": {
                "value": "2024-03-27"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success_Device_"
                }
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 400,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "Invalid JWT format",
                          "title": "Error message"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 401,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "Authentication header is missing, or token is invalid/expired.",
                          "title": "Error message"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Unauthorized"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 403,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "You do not have access to this resource",
                          "title": "Error message"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Forbidden"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 422,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "Field required",
                          "title": "Error message"
                        },
                        "loc": {
                          "items": {
                            "anyOf": [
                              {
                                "type": "string"
                              },
                              {
                                "type": "integer"
                              }
                            ]
                          },
                          "type": "array",
                          "title": "Location"
                        },
                        "msg": {
                          "type": "string",
                          "title": "Message"
                        },
                        "type": {
                          "type": "string",
                          "title": "Error Type"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Unprocessable Entity"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 404,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "Device with ID <device_id> not found",
                          "title": "Error message"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Not Found"
          },
          "405": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 405,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "The telematics provider for this Device does not support deletion of Devices with the API",
                          "title": "Error message"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Method Not Allowed"
          }
        }
      }
    },
    "/device/{device_id}/trip": {
      "get": {
        "tags": [
          "Trips"
        ],
        "summary": "Trips",
        "description": "This endpoint returns the Trips for a Device.\n\nYou can optionally specify parameters for start_time_utc and end_time_utc to filter the results.\n\nThe response is paginated, so if the next link is not null, use that link to get the next page of results.",
        "operationId": "trips_device__device_id__trip_get",
        "security": [
          {
            "JWTBearer": []
          }
        ],
        "parameters": [
          {
            "name": "device_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Device id",
              "description": "Device ID of the Trips to be returned"
            },
            "description": "Device ID of the Trips to be returned"
          },
          {
            "name": "start_time_utc",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time",
              "title": "Start time",
              "description": "Start time from when the data will be returned. Trips with end time >= start time will be returned"
            },
            "description": "Start time from when the data will be returned. Trips with end time >= start time will be returned"
          },
          {
            "name": "end_time_utc",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time",
              "title": "End time",
              "description": "End time from when the data will be returned. Trips with end time <= specified end time will be returned"
            },
            "description": "End time from when the data will be returned. Trips with end time <= specified end time will be returned"
          },
          {
            "name": "verify_data_collection",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean",
              "title": "Verify data collection",
              "description": "Verify data collection status, If true, checks data collection jobs for the time period and fails with a 424 status if any jobs have failed or are still running.",
              "default": false
            },
            "description": "Verify data collection status, If true, checks data collection jobs for the time period and fails with a 424 status if any jobs have failed or are still running."
          },
          {
            "name": "verify_trip_validity",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean",
              "title": "Checks the validity of a trip",
              "description": "Pathstack determines the validity of a trip during data collection. A trip can be deemed invalid if it has incorrect or incomplete data. Pathstack sets the validity of the trip via the field is_valid along with comments on the reason in validation comments",
              "default": true
            },
            "description": "Pathstack determines the validity of a trip during data collection. A trip can be deemed invalid if it has incorrect or incomplete data. Pathstack sets the validity of the trip via the field is_valid along with comments on the reason in validation comments"
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 0,
              "title": "Page number",
              "description": "Page number for pagination (zero-indexed)",
              "default": 0
            },
            "description": "Page number for pagination (zero-indexed)"
          },
          {
            "name": "x-api-version",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date",
              "default": "2024-03-27",
              "title": "X-Api-Version"
            },
            "examples": {
              "default": {
                "value": "2024-03-27"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedSuccess_list_Trip__"
                }
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 400,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "Invalid JWT format",
                          "title": "Error message"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 401,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "Authentication header is missing, or token is invalid/expired.",
                          "title": "Error message"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Unauthorized"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 403,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "You do not have access to this resource",
                          "title": "Error message"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Forbidden"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 422,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "Field required",
                          "title": "Error message"
                        },
                        "loc": {
                          "items": {
                            "anyOf": [
                              {
                                "type": "string"
                              },
                              {
                                "type": "integer"
                              }
                            ]
                          },
                          "type": "array",
                          "title": "Location"
                        },
                        "msg": {
                          "type": "string",
                          "title": "Message"
                        },
                        "type": {
                          "type": "string",
                          "title": "Error Type"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Unprocessable Entity"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 404,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "Device with ID <device_id> not found",
                          "title": "Error message"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Not Found"
          }
        }
      }
    },
    "/trip/{trip_id}": {
      "get": {
        "tags": [
          "Trips"
        ],
        "summary": "Trip By Id",
        "description": "This endpoint returns a Trip by ID.",
        "operationId": "trip_by_id_trip__trip_id__get",
        "security": [
          {
            "JWTBearer": []
          }
        ],
        "parameters": [
          {
            "name": "trip_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Trip id",
              "description": "Trip ID of the Trip to be returned"
            },
            "description": "Trip ID of the Trip to be returned"
          },
          {
            "name": "x-api-version",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date",
              "default": "2024-03-27",
              "title": "X-Api-Version"
            },
            "examples": {
              "default": {
                "value": "2024-03-27"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success_Trip_"
                }
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 400,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "Invalid JWT format",
                          "title": "Error message"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 401,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "Authentication header is missing, or token is invalid/expired.",
                          "title": "Error message"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Unauthorized"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 403,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "You do not have access to this resource",
                          "title": "Error message"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Forbidden"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 422,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "Field required",
                          "title": "Error message"
                        },
                        "loc": {
                          "items": {
                            "anyOf": [
                              {
                                "type": "string"
                              },
                              {
                                "type": "integer"
                              }
                            ]
                          },
                          "type": "array",
                          "title": "Location"
                        },
                        "msg": {
                          "type": "string",
                          "title": "Message"
                        },
                        "type": {
                          "type": "string",
                          "title": "Error Type"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Unprocessable Entity"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 404,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "Trip with ID <trip_id> not found",
                          "title": "Error message"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Not Found"
          }
        }
      }
    },
    "/device/{device_id}/position": {
      "get": {
        "tags": [
          "Positions"
        ],
        "summary": "Positions",
        "description": "This endpoint returns the Positions for a Device.\n\nYou can optionally specify parameters for start_time_utc and end_time_utc to filter the results.\n\nYou can enable OSM road classification by passing through include_osm_road_classification=true.\n\nThe response is paginated, so if the next link is not null, use that link to get the next page of results.",
        "operationId": "positions_device__device_id__position_get",
        "security": [
          {
            "JWTBearer": []
          }
        ],
        "parameters": [
          {
            "name": "device_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Device ID",
              "description": "Device ID of the Positions to be returned"
            },
            "description": "Device ID of the Positions to be returned"
          },
          {
            "name": "start_time_utc",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time",
              "title": "Start time",
              "description": "Start time from when the data will be returned. Format: yyyy-MM-ddThh:mm:ss"
            },
            "description": "Start time from when the data will be returned. Format: yyyy-MM-ddThh:mm:ss"
          },
          {
            "name": "end_time_utc",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time",
              "title": "End time",
              "description": "End time from when the data will be returned. Format: yyyy-MM-ddThh:mm:ss"
            },
            "description": "End time from when the data will be returned. Format: yyyy-MM-ddThh:mm:ss"
          },
          {
            "name": "verify_data_collection",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean",
              "title": "Verify data collection",
              "description": "Verify data collection status. If true, checks data collection jobs for the time period and fails with a 424 status if any jobs have failed or are still running.",
              "default": false
            },
            "description": "Verify data collection status. If true, checks data collection jobs for the time period and fails with a 424 status if any jobs have failed or are still running."
          },
          {
            "name": "include_osm_road_classification",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean",
              "title": "Include OpenStreetMap road classification",
              "description": "Return road name and distance from the road centreline for points which lie on a road. Values are null if the point is not on a road.",
              "default": false
            },
            "description": "Return road name and distance from the road centreline for points which lie on a road. Values are null if the point is not on a road."
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 0,
              "title": "Page number",
              "description": "Page number for pagination (zero-indexed)",
              "default": 0
            },
            "description": "Page number for pagination (zero-indexed)"
          },
          {
            "name": "x-api-version",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date",
              "default": "2024-03-27",
              "title": "X-Api-Version"
            },
            "examples": {
              "default": {
                "value": "2024-03-27"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedSuccess_list_PointWithFeatures__"
                }
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 400,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "Invalid JWT format",
                          "title": "Error message"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 401,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "Authentication header is missing, or token is invalid/expired.",
                          "title": "Error message"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Unauthorized"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 403,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "You do not have access to this resource",
                          "title": "Error message"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Forbidden"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 422,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "Field required",
                          "title": "Error message"
                        },
                        "loc": {
                          "items": {
                            "anyOf": [
                              {
                                "type": "string"
                              },
                              {
                                "type": "integer"
                              }
                            ]
                          },
                          "type": "array",
                          "title": "Location"
                        },
                        "msg": {
                          "type": "string",
                          "title": "Message"
                        },
                        "type": {
                          "type": "string",
                          "title": "Error Type"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Unprocessable Entity"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 404,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "Device with ID <device_id> not found",
                          "title": "Error message"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Not Found"
          }
        }
      }
    },
    "/trip/{trip_id}/position": {
      "get": {
        "tags": [
          "Positions"
        ],
        "summary": "Positions By Trip Id",
        "description": "This endpoint returns the Positions for a Trip.\n\nYou can enable OSM road classification by passing through include_osm_road_classification=true.\n\nThe response is paginated, so if the next link is not null, use that link to get the next page of results.",
        "operationId": "positions_by_trip_id_trip__trip_id__position_get",
        "security": [
          {
            "JWTBearer": []
          }
        ],
        "parameters": [
          {
            "name": "trip_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Trip ID",
              "description": "Trip ID of the Positions to be returned"
            },
            "description": "Trip ID of the Positions to be returned"
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 0,
              "title": "Page number",
              "description": "Page number for pagination (zero-indexed)",
              "default": 0
            },
            "description": "Page number for pagination (zero-indexed)"
          },
          {
            "name": "include_osm_road_classification",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean",
              "title": "Include OpenStreetMap road classification",
              "description": "Return road name and distance from the road centreline for points which lie on a road. Values are null if the point is not on a road.",
              "default": false
            },
            "description": "Return road name and distance from the road centreline for points which lie on a road. Values are null if the point is not on a road."
          },
          {
            "name": "x-api-version",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date",
              "default": "2024-03-27",
              "title": "X-Api-Version"
            },
            "examples": {
              "default": {
                "value": "2024-03-27"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedSuccess_list_PointWithFeatures__"
                }
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 400,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "Invalid JWT format",
                          "title": "Error message"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 401,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "Authentication header is missing, or token is invalid/expired.",
                          "title": "Error message"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Unauthorized"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 403,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "You do not have access to this resource",
                          "title": "Error message"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Forbidden"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 422,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "Field required",
                          "title": "Error message"
                        },
                        "loc": {
                          "items": {
                            "anyOf": [
                              {
                                "type": "string"
                              },
                              {
                                "type": "integer"
                              }
                            ]
                          },
                          "type": "array",
                          "title": "Location"
                        },
                        "msg": {
                          "type": "string",
                          "title": "Message"
                        },
                        "type": {
                          "type": "string",
                          "title": "Error Type"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Unprocessable Entity"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 404,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "Trip with ID <trip_id> not found",
                          "title": "Error message"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Not Found"
          }
        }
      }
    },
    "/realtime/device": {
      "post": {
        "tags": [
          "Real-time"
        ],
        "summary": "Get Realtime Positions",
        "description": "This endpoint returns the most recent Position of each Device. You can optionally pass in filter_parameters to\nfilter the devices you will receive.",
        "operationId": "get_realtime_positions_realtime_device_post",
        "security": [
          {
            "JWTBearer": []
          }
        ],
        "parameters": [
          {
            "name": "x-api-version",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date",
              "default": "2024-03-27",
              "title": "X-Api-Version"
            },
            "examples": {
              "default": {
                "value": "2024-03-27"
              }
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RealTimeParameters"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success_list_Union_RealtimeValidState__RealtimeTimeoutState___"
                }
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 400,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "Invalid JWT format",
                          "title": "Error message"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 401,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "Authentication header is missing, or token is invalid/expired.",
                          "title": "Error message"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Unauthorized"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 403,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "You do not have access to this resource",
                          "title": "Error message"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Forbidden"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 422,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "Field required",
                          "title": "Error message"
                        },
                        "loc": {
                          "items": {
                            "anyOf": [
                              {
                                "type": "string"
                              },
                              {
                                "type": "integer"
                              }
                            ]
                          },
                          "type": "array",
                          "title": "Location"
                        },
                        "msg": {
                          "type": "string",
                          "title": "Message"
                        },
                        "type": {
                          "type": "string",
                          "title": "Error Type"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Unprocessable Entity"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 404,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "Unknown device_ids <string>, ...",
                          "title": "Error message"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Not Found"
          }
        }
      }
    },
    "/realtime/connect": {
      "get": {
        "tags": [
          "Real-time"
        ],
        "summary": "Get Connect",
        "description": "This endpoint returns an authenticated url for a websocket connection.",
        "operationId": "get_connect_realtime_connect_get",
        "security": [
          {
            "JWTBearer": []
          }
        ],
        "parameters": [
          {
            "name": "x-api-version",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date",
              "default": "2024-03-27",
              "title": "X-Api-Version"
            },
            "examples": {
              "default": {
                "value": "2024-03-27"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success_ConnectType_"
                }
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 401,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "Authentication header is missing, or token is invalid/expired.",
                          "title": "Error message"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Unauthorized"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 403,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "You do not have access to this resource",
                          "title": "Error message"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Forbidden"
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/webhook": {
      "get": {
        "tags": [
          "Webhooks"
        ],
        "summary": "Get Webhooks",
        "description": "Returns a list of webhooks",
        "operationId": "get_webhooks_webhook_get",
        "security": [
          {
            "JWTBearer": []
          }
        ],
        "parameters": [
          {
            "name": "enabled",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean",
              "title": "Filter results to only enabled or disabled webhooks",
              "description": "Return only webhooks with a matching value for enabled"
            },
            "description": "Return only webhooks with a matching value for enabled"
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 0,
              "title": "Page number",
              "description": "Page number for pagination (zero-indexed)",
              "default": 0
            },
            "description": "Page number for pagination (zero-indexed)"
          },
          {
            "name": "x-api-version",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date",
              "default": "2024-03-27",
              "title": "X-Api-Version"
            },
            "examples": {
              "default": {
                "value": "2024-03-27"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedWebhookSuccessResponse"
                }
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 400,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "Invalid JWT format",
                          "title": "Error message"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 401,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "Authentication header is missing, or token is invalid/expired.",
                          "title": "Error message"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Unauthorized"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 403,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "You do not have access to this resource",
                          "title": "Error message"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Forbidden"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 422,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "Field required",
                          "title": "Error message"
                        },
                        "loc": {
                          "items": {
                            "anyOf": [
                              {
                                "type": "string"
                              },
                              {
                                "type": "integer"
                              }
                            ]
                          },
                          "type": "array",
                          "title": "Location"
                        },
                        "msg": {
                          "type": "string",
                          "title": "Message"
                        },
                        "type": {
                          "type": "string",
                          "title": "Error Type"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Unprocessable Entity"
          }
        }
      },
      "post": {
        "tags": [
          "Webhooks"
        ],
        "summary": "Create Webhook",
        "description": "Creates a new webhook.",
        "operationId": "create_webhook_webhook_post",
        "security": [
          {
            "JWTBearer": []
          }
        ],
        "parameters": [
          {
            "name": "x-api-version",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date",
              "default": "2024-03-27",
              "title": "X-Api-Version"
            },
            "examples": {
              "default": {
                "value": "2024-03-27"
              }
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/WebhookCreate",
                "title": "Webhook",
                "description": "Details for webhook"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WebhookSuccessResponse"
                }
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 400,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "Invalid JWT format",
                          "title": "Error message"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 401,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "Authentication header is missing, or token is invalid/expired.",
                          "title": "Error message"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Unauthorized"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 403,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "You do not have access to this resource",
                          "title": "Error message"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Forbidden"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 422,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "Field required",
                          "title": "Error message"
                        },
                        "loc": {
                          "items": {
                            "anyOf": [
                              {
                                "type": "string"
                              },
                              {
                                "type": "integer"
                              }
                            ]
                          },
                          "type": "array",
                          "title": "Location"
                        },
                        "msg": {
                          "type": "string",
                          "title": "Message"
                        },
                        "type": {
                          "type": "string",
                          "title": "Error Type"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Unprocessable Entity"
          }
        }
      }
    },
    "/webhook/{webhook_id}": {
      "get": {
        "tags": [
          "Webhooks"
        ],
        "summary": "Get Webhook",
        "description": "Returns a webhook",
        "operationId": "get_webhook_webhook__webhook_id__get",
        "security": [
          {
            "JWTBearer": []
          }
        ],
        "parameters": [
          {
            "name": "webhook_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Webhook id",
              "description": "ID of the Webhook to be returned"
            },
            "description": "ID of the Webhook to be returned"
          },
          {
            "name": "x-api-version",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date",
              "default": "2024-03-27",
              "title": "X-Api-Version"
            },
            "examples": {
              "default": {
                "value": "2024-03-27"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WebhookSuccessResponse"
                }
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 400,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "Invalid JWT format",
                          "title": "Error message"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 401,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "Authentication header is missing, or token is invalid/expired.",
                          "title": "Error message"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Unauthorized"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 403,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "You do not have access to this resource",
                          "title": "Error message"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Forbidden"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 422,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "Field required",
                          "title": "Error message"
                        },
                        "loc": {
                          "items": {
                            "anyOf": [
                              {
                                "type": "string"
                              },
                              {
                                "type": "integer"
                              }
                            ]
                          },
                          "type": "array",
                          "title": "Location"
                        },
                        "msg": {
                          "type": "string",
                          "title": "Message"
                        },
                        "type": {
                          "type": "string",
                          "title": "Error Type"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Unprocessable Entity"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 404,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "Unknown webhook id <uuid>",
                          "title": "Error message"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Not Found"
          }
        }
      },
      "delete": {
        "tags": [
          "Webhooks"
        ],
        "summary": "Delete Webhook",
        "description": "Deletes a webhook.",
        "operationId": "delete_webhook_webhook__webhook_id__delete",
        "security": [
          {
            "JWTBearer": []
          }
        ],
        "parameters": [
          {
            "name": "webhook_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Webhook id",
              "description": "ID of the Webhook to be deleted"
            },
            "description": "ID of the Webhook to be deleted"
          },
          {
            "name": "x-api-version",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date",
              "default": "2024-03-27",
              "title": "X-Api-Version"
            },
            "examples": {
              "default": {
                "value": "2024-03-27"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WebhookSuccessResponse"
                }
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 400,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "Invalid JWT format",
                          "title": "Error message"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 401,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "Authentication header is missing, or token is invalid/expired.",
                          "title": "Error message"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Unauthorized"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 403,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "You do not have access to this resource",
                          "title": "Error message"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Forbidden"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 422,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "Field required",
                          "title": "Error message"
                        },
                        "loc": {
                          "items": {
                            "anyOf": [
                              {
                                "type": "string"
                              },
                              {
                                "type": "integer"
                              }
                            ]
                          },
                          "type": "array",
                          "title": "Location"
                        },
                        "msg": {
                          "type": "string",
                          "title": "Message"
                        },
                        "type": {
                          "type": "string",
                          "title": "Error Type"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Unprocessable Entity"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 404,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "Unknown webhook id <uuid>",
                          "title": "Error message"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Not Found"
          }
        }
      },
      "patch": {
        "tags": [
          "Webhooks"
        ],
        "summary": "Patch Webhook",
        "description": "Modifies an existing webhook.\n\nNote that setting \"enabled\" to true will reset `error_count` to 0, and clear\nboth `last_error` and `last_error_at` fields.",
        "operationId": "patch_webhook_webhook__webhook_id__patch",
        "security": [
          {
            "JWTBearer": []
          }
        ],
        "parameters": [
          {
            "name": "webhook_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Webhook id",
              "description": "ID of the Webhook to be updated"
            },
            "description": "ID of the Webhook to be updated"
          },
          {
            "name": "x-api-version",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date",
              "default": "2024-03-27",
              "title": "X-Api-Version"
            },
            "examples": {
              "default": {
                "value": "2024-03-27"
              }
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/WebhookUpdate",
                "title": "Webhook",
                "description": "Details for webhook"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WebhookSuccessResponse"
                }
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 400,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "Invalid JWT format",
                          "title": "Error message"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 401,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "Authentication header is missing, or token is invalid/expired.",
                          "title": "Error message"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Unauthorized"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 403,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "You do not have access to this resource",
                          "title": "Error message"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Forbidden"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 422,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "Field required",
                          "title": "Error message"
                        },
                        "loc": {
                          "items": {
                            "anyOf": [
                              {
                                "type": "string"
                              },
                              {
                                "type": "integer"
                              }
                            ]
                          },
                          "type": "array",
                          "title": "Location"
                        },
                        "msg": {
                          "type": "string",
                          "title": "Message"
                        },
                        "type": {
                          "type": "string",
                          "title": "Error Type"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Unprocessable Entity"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 404,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "Unknown webhook id <uuid>",
                          "title": "Error message"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Not Found"
          }
        }
      }
    },
    "/tag": {
      "get": {
        "tags": [
          "Tags"
        ],
        "summary": "Get Tags",
        "description": "This endpoint returns all Tags on Devices for a Tenant.",
        "operationId": "get_tags_tag_get",
        "security": [
          {
            "JWTBearer": []
          }
        ],
        "parameters": [
          {
            "name": "x-api-version",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date",
              "default": "2024-03-27",
              "title": "X-Api-Version"
            },
            "examples": {
              "default": {
                "value": "2024-03-27"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success_list_str__"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/device/{device_id}/event": {
      "get": {
        "tags": [
          "Events"
        ],
        "summary": "Events",
        "description": "This endpoint returns the Events for a Device.\n\nYou can optionally specify parameters for event_type, start_time_utc and end_time_utc to filter the results.\n\nThe response is paginated, so if the next link is not null, use that link to get the next page of results.",
        "operationId": "events_device__device_id__event_get",
        "security": [
          {
            "JWTBearer": []
          }
        ],
        "parameters": [
          {
            "name": "device_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Device id",
              "description": "Device ID of the Events to be returned"
            },
            "description": "Device ID of the Events to be returned"
          },
          {
            "name": "start_time_utc",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time",
              "title": "Start time",
              "description": "Start time from when the data will be returned"
            },
            "description": "Start time from when the data will be returned"
          },
          {
            "name": "end_time_utc",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time",
              "title": "End time",
              "description": "End time from when the data will be returned"
            },
            "description": "End time from when the data will be returned"
          },
          {
            "name": "event_type",
            "in": "query",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/EventTypeEnum",
              "title": "Event type",
              "description": "Only include events of this type"
            },
            "description": "Only include events of this type"
          },
          {
            "name": "verify_data_collection",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean",
              "title": "Verify data collection",
              "description": "Verify data collection status, If true, checks data collection jobs for the time period and fails with a 424 status if any jobs have failed or are still running.",
              "default": false
            },
            "description": "Verify data collection status, If true, checks data collection jobs for the time period and fails with a 424 status if any jobs have failed or are still running."
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 0,
              "title": "Page number",
              "description": "Page number for pagination (zero-indexed)",
              "default": 0
            },
            "description": "Page number for pagination (zero-indexed)"
          },
          {
            "name": "x-api-version",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date",
              "default": "2024-03-27",
              "title": "X-Api-Version"
            },
            "examples": {
              "default": {
                "value": "2024-03-27"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedSuccess_list_Event__"
                }
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 400,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "Invalid JWT format",
                          "title": "Error message"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 401,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "Authentication header is missing, or token is invalid/expired.",
                          "title": "Error message"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Unauthorized"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 403,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "You do not have access to this resource",
                          "title": "Error message"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Forbidden"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 422,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "Field required",
                          "title": "Error message"
                        },
                        "loc": {
                          "items": {
                            "anyOf": [
                              {
                                "type": "string"
                              },
                              {
                                "type": "integer"
                              }
                            ]
                          },
                          "type": "array",
                          "title": "Location"
                        },
                        "msg": {
                          "type": "string",
                          "title": "Message"
                        },
                        "type": {
                          "type": "string",
                          "title": "Error Type"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Unprocessable Entity"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 404,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "Device with ID <device_id> not found",
                          "title": "Error message"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Not Found"
          }
        }
      }
    },
    "/event/{event_id}": {
      "get": {
        "tags": [
          "Events"
        ],
        "summary": "Event By Id",
        "description": "This endpoint returns an Event by ID.",
        "operationId": "event_by_id_event__event_id__get",
        "security": [
          {
            "JWTBearer": []
          }
        ],
        "parameters": [
          {
            "name": "event_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Event id",
              "description": "Event ID of the Event to be returned"
            },
            "description": "Event ID of the Event to be returned"
          },
          {
            "name": "x-api-version",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date",
              "default": "2024-03-27",
              "title": "X-Api-Version"
            },
            "examples": {
              "default": {
                "value": "2024-03-27"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success_Event_"
                }
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 400,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "Invalid JWT format",
                          "title": "Error message"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 401,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "Authentication header is missing, or token is invalid/expired.",
                          "title": "Error message"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Unauthorized"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 403,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "You do not have access to this resource",
                          "title": "Error message"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Forbidden"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 422,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "Field required",
                          "title": "Error message"
                        },
                        "loc": {
                          "items": {
                            "anyOf": [
                              {
                                "type": "string"
                              },
                              {
                                "type": "integer"
                              }
                            ]
                          },
                          "type": "array",
                          "title": "Location"
                        },
                        "msg": {
                          "type": "string",
                          "title": "Message"
                        },
                        "type": {
                          "type": "string",
                          "title": "Error Type"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Unprocessable Entity"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 404,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "Event with ID <event_id> not found",
                          "title": "Error message"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Not Found"
          }
        }
      }
    },
    "/tenant": {
      "get": {
        "tags": [
          "Tenants"
        ],
        "summary": "Tenant By Id",
        "description": "This endpoint gets a Tenant.",
        "operationId": "tenant_by_id_tenant_get",
        "security": [
          {
            "JWTBearer": []
          }
        ],
        "parameters": [
          {
            "name": "x-api-version",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date",
              "default": "2024-03-27",
              "title": "X-Api-Version"
            },
            "examples": {
              "default": {
                "value": "2024-03-27"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success_TenantResponse_"
                }
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 400,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "Invalid JWT format",
                          "title": "Error message"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 401,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "Authentication header is missing, or token is invalid/expired.",
                          "title": "Error message"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Unauthorized"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 403,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "You do not have access to this resource",
                          "title": "Error message"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Forbidden"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 422,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "Field required",
                          "title": "Error message"
                        },
                        "loc": {
                          "items": {
                            "anyOf": [
                              {
                                "type": "string"
                              },
                              {
                                "type": "integer"
                              }
                            ]
                          },
                          "type": "array",
                          "title": "Location"
                        },
                        "msg": {
                          "type": "string",
                          "title": "Message"
                        },
                        "type": {
                          "type": "string",
                          "title": "Error Type"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Unprocessable Entity"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 404,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "Device with ID <device_id> not found",
                          "title": "Error message"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Not Found"
          }
        }
      },
      "patch": {
        "tags": [
          "Tenants"
        ],
        "summary": "Update Tenant By Id",
        "description": "This endpoint updates a Tenant.\n\nYou can specify the attributes which you want to be updated and their new values.\n\nThe updated Tenant is returned in the response.",
        "operationId": "update_tenant_by_id_tenant_patch",
        "security": [
          {
            "JWTBearer": []
          }
        ],
        "parameters": [
          {
            "name": "x-api-version",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date",
              "default": "2024-03-27",
              "title": "X-Api-Version"
            },
            "examples": {
              "default": {
                "value": "2024-03-27"
              }
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TenantUpdate"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success_TenantResponse_"
                }
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 400,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "Invalid JWT format",
                          "title": "Error message"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 401,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "Authentication header is missing, or token is invalid/expired.",
                          "title": "Error message"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Unauthorized"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 403,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "You do not have access to this resource",
                          "title": "Error message"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Forbidden"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 422,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "Field required",
                          "title": "Error message"
                        },
                        "loc": {
                          "items": {
                            "anyOf": [
                              {
                                "type": "string"
                              },
                              {
                                "type": "integer"
                              }
                            ]
                          },
                          "type": "array",
                          "title": "Location"
                        },
                        "msg": {
                          "type": "string",
                          "title": "Message"
                        },
                        "type": {
                          "type": "string",
                          "title": "Error Type"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Unprocessable Entity"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 404,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "Device with ID <device_id> not found",
                          "title": "Error message"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Not Found"
          }
        }
      }
    },
    "/tenant/configuration": {
      "get": {
        "tags": [
          "Tenants"
        ],
        "summary": "Tenant Configuration",
        "description": "This endpoint gets a Tenant.",
        "operationId": "tenant_configuration_tenant_configuration_get",
        "parameters": [
          {
            "name": "code",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Authorization token provided by tenancy owner.",
              "title": "Code"
            },
            "description": "Authorization token provided by tenancy owner."
          },
          {
            "name": "x-api-version",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date",
              "default": "2024-03-27",
              "title": "X-Api-Version"
            },
            "examples": {
              "default": {
                "value": "2024-03-27"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success_TenantConfigurationResponse_"
                }
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 400,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "Invalid JWT format",
                          "title": "Error message"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 401,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "Authentication header is missing, or token is invalid/expired.",
                          "title": "Error message"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Unauthorized"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 403,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "You do not have access to this resource",
                          "title": "Error message"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Forbidden"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 422,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "Field required",
                          "title": "Error message"
                        },
                        "loc": {
                          "items": {
                            "anyOf": [
                              {
                                "type": "string"
                              },
                              {
                                "type": "integer"
                              }
                            ]
                          },
                          "type": "array",
                          "title": "Location"
                        },
                        "msg": {
                          "type": "string",
                          "title": "Message"
                        },
                        "type": {
                          "type": "string",
                          "title": "Error Type"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Unprocessable Entity"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 404,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "Device with ID <device_id> not found",
                          "title": "Error message"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Not Found"
          }
        }
      }
    },
    "/milestone/": {
      "get": {
        "tags": [
          "Milestones"
        ],
        "summary": "Get Milestones",
        "description": "Returns a list of milestones",
        "operationId": "get_milestones_milestone__get",
        "security": [
          {
            "JWTBearer": []
          }
        ],
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 0,
              "title": "Page number",
              "description": "Page number for pagination (zero-indexed)",
              "default": 0
            },
            "description": "Page number for pagination (zero-indexed)"
          },
          {
            "name": "x-api-version",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date",
              "default": "2024-03-27",
              "title": "X-Api-Version"
            },
            "examples": {
              "default": {
                "value": "2024-03-27"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedSuccess_list_Milestone__"
                }
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 400,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "Invalid JWT format",
                          "title": "Error message"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 401,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "Authentication header is missing, or token is invalid/expired.",
                          "title": "Error message"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Unauthorized"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 403,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "You do not have access to this resource",
                          "title": "Error message"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Forbidden"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 422,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "Field required",
                          "title": "Error message"
                        },
                        "loc": {
                          "items": {
                            "anyOf": [
                              {
                                "type": "string"
                              },
                              {
                                "type": "integer"
                              }
                            ]
                          },
                          "type": "array",
                          "title": "Location"
                        },
                        "msg": {
                          "type": "string",
                          "title": "Message"
                        },
                        "type": {
                          "type": "string",
                          "title": "Error Type"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Unprocessable Entity"
          }
        }
      },
      "post": {
        "tags": [
          "Milestones"
        ],
        "summary": "Create Milestone",
        "description": "Creates a new milestone.",
        "operationId": "create_milestone_milestone__post",
        "security": [
          {
            "JWTBearer": []
          }
        ],
        "parameters": [
          {
            "name": "x-api-version",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date",
              "default": "2024-03-27",
              "title": "X-Api-Version"
            },
            "examples": {
              "default": {
                "value": "2024-03-27"
              }
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MilestoneCreate",
                "title": "Milestone",
                "description": "Details for milestone"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success_Milestone_"
                }
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 400,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "Invalid JWT format",
                          "title": "Error message"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 401,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "Authentication header is missing, or token is invalid/expired.",
                          "title": "Error message"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Unauthorized"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 403,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "You do not have access to this resource",
                          "title": "Error message"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Forbidden"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 422,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "Field required",
                          "title": "Error message"
                        },
                        "loc": {
                          "items": {
                            "anyOf": [
                              {
                                "type": "string"
                              },
                              {
                                "type": "integer"
                              }
                            ]
                          },
                          "type": "array",
                          "title": "Location"
                        },
                        "msg": {
                          "type": "string",
                          "title": "Message"
                        },
                        "type": {
                          "type": "string",
                          "title": "Error Type"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Unprocessable Entity"
          }
        }
      }
    },
    "/milestone/{milestone_id}": {
      "get": {
        "tags": [
          "Milestones"
        ],
        "summary": "Get Milestone",
        "description": "Returns a milestone",
        "operationId": "get_milestone_milestone__milestone_id__get",
        "security": [
          {
            "JWTBearer": []
          }
        ],
        "parameters": [
          {
            "name": "milestone_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Milestone id",
              "description": "ID of the Milestone to be returned"
            },
            "description": "ID of the Milestone to be returned"
          },
          {
            "name": "x-api-version",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date",
              "default": "2024-03-27",
              "title": "X-Api-Version"
            },
            "examples": {
              "default": {
                "value": "2024-03-27"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success_Milestone_"
                }
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 400,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "Invalid JWT format",
                          "title": "Error message"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 401,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "Authentication header is missing, or token is invalid/expired.",
                          "title": "Error message"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Unauthorized"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 403,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "You do not have access to this resource",
                          "title": "Error message"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Forbidden"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 422,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "Field required",
                          "title": "Error message"
                        },
                        "loc": {
                          "items": {
                            "anyOf": [
                              {
                                "type": "string"
                              },
                              {
                                "type": "integer"
                              }
                            ]
                          },
                          "type": "array",
                          "title": "Location"
                        },
                        "msg": {
                          "type": "string",
                          "title": "Message"
                        },
                        "type": {
                          "type": "string",
                          "title": "Error Type"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Unprocessable Entity"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 404,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "Unknown Milestone id <uuid>",
                          "title": "Error message"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Not Found"
          }
        }
      },
      "delete": {
        "tags": [
          "Milestones"
        ],
        "summary": "Delete Milestone",
        "description": "Deletes a milestone.",
        "operationId": "delete_milestone_milestone__milestone_id__delete",
        "security": [
          {
            "JWTBearer": []
          }
        ],
        "parameters": [
          {
            "name": "milestone_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Milestone id",
              "description": "ID of the Milestone to be deleted"
            },
            "description": "ID of the Milestone to be deleted"
          },
          {
            "name": "x-api-version",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date",
              "default": "2024-03-27",
              "title": "X-Api-Version"
            },
            "examples": {
              "default": {
                "value": "2024-03-27"
              }
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful Response"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 400,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "Invalid JWT format",
                          "title": "Error message"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 401,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "Authentication header is missing, or token is invalid/expired.",
                          "title": "Error message"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Unauthorized"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 403,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "You do not have access to this resource",
                          "title": "Error message"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Forbidden"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 422,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "Field required",
                          "title": "Error message"
                        },
                        "loc": {
                          "items": {
                            "anyOf": [
                              {
                                "type": "string"
                              },
                              {
                                "type": "integer"
                              }
                            ]
                          },
                          "type": "array",
                          "title": "Location"
                        },
                        "msg": {
                          "type": "string",
                          "title": "Message"
                        },
                        "type": {
                          "type": "string",
                          "title": "Error Type"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Unprocessable Entity"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 404,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "Unknown milestone id <uuid>",
                          "title": "Error message"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Not Found"
          }
        }
      },
      "patch": {
        "tags": [
          "Milestones"
        ],
        "summary": "Patch Milestone",
        "description": "Modifies an existing milestone.",
        "operationId": "patch_milestone_milestone__milestone_id__patch",
        "security": [
          {
            "JWTBearer": []
          }
        ],
        "parameters": [
          {
            "name": "milestone_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Milestone id",
              "description": "ID of the Milestone to be updated"
            },
            "description": "ID of the Milestone to be updated"
          },
          {
            "name": "x-api-version",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date",
              "default": "2024-03-27",
              "title": "X-Api-Version"
            },
            "examples": {
              "default": {
                "value": "2024-03-27"
              }
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MilestoneUpdate",
                "title": "Milestone",
                "description": "Details for Milestone Update"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success_Milestone_"
                }
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 400,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "Invalid JWT format",
                          "title": "Error message"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 401,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "Authentication header is missing, or token is invalid/expired.",
                          "title": "Error message"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Unauthorized"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 403,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "You do not have access to this resource",
                          "title": "Error message"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Forbidden"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 422,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "Field required",
                          "title": "Error message"
                        },
                        "loc": {
                          "items": {
                            "anyOf": [
                              {
                                "type": "string"
                              },
                              {
                                "type": "integer"
                              }
                            ]
                          },
                          "type": "array",
                          "title": "Location"
                        },
                        "msg": {
                          "type": "string",
                          "title": "Message"
                        },
                        "type": {
                          "type": "string",
                          "title": "Error Type"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Unprocessable Entity"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 404,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "Unknown milestone id <uuid>",
                          "title": "Error message"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Not Found"
          }
        }
      }
    },
    "/milestone/{milestone_id}/update": {
      "get": {
        "tags": [
          "Milestones"
        ],
        "summary": "Get Milestone Update",
        "description": "Returns a milestone update",
        "operationId": "get_milestone_update_milestone__milestone_id__update_get",
        "security": [
          {
            "JWTBearer": []
          }
        ],
        "parameters": [
          {
            "name": "milestone_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Milestone id",
              "description": "ID of the Milestone to be returned"
            },
            "description": "ID of the Milestone to be returned"
          },
          {
            "name": "x-api-version",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date",
              "default": "2024-03-27",
              "title": "X-Api-Version"
            },
            "examples": {
              "default": {
                "value": "2024-03-27"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success_Union_MilestoneValidState__MilestoneTimeoutState__"
                }
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 400,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "Invalid JWT format",
                          "title": "Error message"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 401,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "Authentication header is missing, or token is invalid/expired.",
                          "title": "Error message"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Unauthorized"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 403,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "You do not have access to this resource",
                          "title": "Error message"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Forbidden"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 422,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "Field required",
                          "title": "Error message"
                        },
                        "loc": {
                          "items": {
                            "anyOf": [
                              {
                                "type": "string"
                              },
                              {
                                "type": "integer"
                              }
                            ]
                          },
                          "type": "array",
                          "title": "Location"
                        },
                        "msg": {
                          "type": "string",
                          "title": "Message"
                        },
                        "type": {
                          "type": "string",
                          "title": "Error Type"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Unprocessable Entity"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 404,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "Unknown Milestone id <uuid>",
                          "title": "Error message"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Not Found"
          }
        }
      }
    },
    "/consumer/connection/share_request": {
      "post": {
        "tags": [
          "Consumer"
        ],
        "summary": "Create Share Request",
        "description": "This endpoint creates a Share Request.\n\nThe created Share Request is returned in the response.",
        "operationId": "create_share_request_consumer_connection_share_request_post",
        "security": [
          {
            "JWTBearer": []
          }
        ],
        "parameters": [
          {
            "name": "x-api-version",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date",
              "default": "2024-03-27",
              "title": "X-Api-Version"
            },
            "examples": {
              "default": {
                "value": "2024-03-27"
              }
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ShareRequestInput"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success_ShareRequest_"
                }
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 400,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "Invalid JWT format",
                          "title": "Error message"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 401,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "Authentication header is missing, or token is invalid/expired.",
                          "title": "Error message"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Unauthorized"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 403,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "You do not have access to this resource",
                          "title": "Error message"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Forbidden"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 422,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "Field required",
                          "title": "Error message"
                        },
                        "loc": {
                          "items": {
                            "anyOf": [
                              {
                                "type": "string"
                              },
                              {
                                "type": "integer"
                              }
                            ]
                          },
                          "type": "array",
                          "title": "Location"
                        },
                        "msg": {
                          "type": "string",
                          "title": "Message"
                        },
                        "type": {
                          "type": "string",
                          "title": "Error Type"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Unprocessable Entity"
          }
        }
      },
      "get": {
        "tags": [
          "Consumer"
        ],
        "summary": "Get Share Requests",
        "description": "This endpoint returns all Share Requests that have been created.",
        "operationId": "get_share_requests_consumer_connection_share_request_get",
        "security": [
          {
            "JWTBearer": []
          }
        ],
        "parameters": [
          {
            "name": "x-api-version",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date",
              "default": "2024-03-27",
              "title": "X-Api-Version"
            },
            "examples": {
              "default": {
                "value": "2024-03-27"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success_list_ShareRequest__"
                }
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 400,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "Invalid JWT format",
                          "title": "Error message"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 401,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "Authentication header is missing, or token is invalid/expired.",
                          "title": "Error message"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Unauthorized"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 403,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "You do not have access to this resource",
                          "title": "Error message"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Forbidden"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "integer",
                          "example": 422,
                          "title": "Error code"
                        },
                        "message": {
                          "type": "string",
                          "example": "Field required",
                          "title": "Error message"
                        },
                        "loc": {
                          "items": {
                            "anyOf": [
                              {
                                "type": "string"
                              },
                              {
                                "type": "integer"
                              }
                            ]
                          },
                          "type": "array",
                          "title": "Location"
                        },
                        "msg": {
                          "type": "string",
                          "title": "Message"
                        },
                        "type": {
                          "type": "string",
                          "title": "Error Type"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "Unprocessable Entity"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "AccountSummary": {
        "properties": {
          "connections": {
            "$ref": "#/components/schemas/ConnectionSummary"
          },
          "devices": {
            "$ref": "#/components/schemas/DeviceSummary"
          }
        },
        "type": "object",
        "required": [
          "connections",
          "devices"
        ],
        "title": "AccountSummary"
      },
      "ActiveVehiclePoint": {
        "properties": {
          "date": {
            "type": "string",
            "title": "Date"
          },
          "connection": {
            "type": "string",
            "title": "Connection"
          },
          "count": {
            "type": "integer",
            "title": "Count"
          }
        },
        "type": "object",
        "required": [
          "date",
          "connection",
          "count"
        ],
        "title": "ActiveVehiclePoint"
      },
      "ActivitySummary": {
        "properties": {
          "active_vehicles": {
            "items": {
              "$ref": "#/components/schemas/ActiveVehiclePoint"
            },
            "type": "array",
            "title": "Active Vehicles"
          },
          "trips_by_connection": {
            "items": {
              "$ref": "#/components/schemas/TripsByConnection"
            },
            "type": "array",
            "title": "Trips By Connection"
          },
          "events_by_day": {
            "items": {
              "$ref": "#/components/schemas/EventsByDay"
            },
            "type": "array",
            "title": "Events By Day"
          },
          "events_by_type": {
            "items": {
              "$ref": "#/components/schemas/EventsByType"
            },
            "type": "array",
            "title": "Events By Type"
          },
          "limit": {
            "type": "integer",
            "title": "Limit"
          }
        },
        "type": "object",
        "required": [
          "active_vehicles",
          "trips_by_connection",
          "events_by_day",
          "events_by_type",
          "limit"
        ],
        "title": "ActivitySummary"
      },
      "AuthenticationResult": {
        "properties": {
          "token_type": {
            "type": "string",
            "title": "Token Type"
          },
          "expires_in": {
            "type": "integer",
            "title": "Expires In"
          },
          "access_token": {
            "type": "string",
            "title": "Access Token"
          },
          "refresh_token": {
            "type": "string",
            "title": "Refresh Token"
          },
          "sub": {
            "type": "string",
            "title": "Sub"
          },
          "refresh_token_expires_in": {
            "type": "integer",
            "title": "Refresh Token Expires In"
          }
        },
        "type": "object",
        "required": [
          "token_type",
          "expires_in",
          "access_token",
          "refresh_token",
          "sub",
          "refresh_token_expires_in"
        ],
        "title": "AuthenticationResult"
      },
      "ConnectType": {
        "properties": {
          "url": {
            "type": "string",
            "title": "Url"
          }
        },
        "type": "object",
        "required": [
          "url"
        ],
        "title": "ConnectType"
      },
      "ConnectionCredentials": {
        "properties": {
          "connection_id": {
            "type": "string",
            "format": "uuid4",
            "title": "Connection Id"
          },
          "credentials": {
            "additionalProperties": true,
            "type": "object",
            "title": "Credentials"
          }
        },
        "type": "object",
        "required": [
          "connection_id",
          "credentials"
        ],
        "title": "ConnectionCredentials"
      },
      "ConnectionCredentialsUpdate": {
        "properties": {
          "credentials": {
            "additionalProperties": true,
            "type": "object",
            "title": "Credentials"
          }
        },
        "type": "object",
        "required": [
          "credentials"
        ],
        "title": "ConnectionCredentialsUpdate"
      },
      "ConnectionDevices": {
        "properties": {
          "connection_id": {
            "type": "string",
            "format": "uuid4",
            "title": "Connection Id"
          },
          "system_device_ids": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "System Device Ids"
          }
        },
        "type": "object",
        "required": [
          "connection_id",
          "system_device_ids"
        ],
        "title": "ConnectionDevices"
      },
      "ConnectionInput": {
        "properties": {
          "integration_name": {
            "$ref": "#/components/schemas/ProviderEnum"
          },
          "credentials": {
            "additionalProperties": true,
            "type": "object",
            "title": "Credentials"
          },
          "business_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Business Name"
          },
          "abn": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Abn"
          },
          "email": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Email"
          },
          "active": {
            "type": "boolean",
            "title": "Active"
          },
          "collection_start_time": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Collection Start Time"
          },
          "collection_end_time": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Collection End Time"
          },
          "tags": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Tags"
          }
        },
        "type": "object",
        "required": [
          "integration_name",
          "credentials",
          "business_name",
          "abn",
          "email",
          "active"
        ],
        "title": "ConnectionInput"
      },
      "ConnectionNoCredentials": {
        "properties": {
          "integration_name": {
            "$ref": "#/components/schemas/ProviderEnum"
          },
          "business_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Business Name"
          },
          "abn": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Abn"
          },
          "email": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Email"
          },
          "active": {
            "type": "boolean",
            "title": "Active"
          },
          "id": {
            "type": "string",
            "format": "uuid4",
            "title": "Id"
          },
          "tenant_id": {
            "type": "string",
            "format": "uuid4",
            "title": "Tenant Id"
          },
          "collection_start_time": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Collection Start Time"
          },
          "collection_end_time": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Collection End Time"
          },
          "configuration": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Configuration"
          },
          "connection_tags": {
            "items": {
              "$ref": "#/components/schemas/TenantTag"
            },
            "type": "array",
            "title": "Connection Tags",
            "default": []
          }
        },
        "type": "object",
        "required": [
          "integration_name",
          "business_name",
          "abn",
          "email",
          "active",
          "id",
          "tenant_id",
          "collection_start_time",
          "collection_end_time",
          "configuration"
        ],
        "title": "ConnectionNoCredentials"
      },
      "ConnectionSuccessResponse": {
        "properties": {
          "data": {
            "$ref": "#/components/schemas/ConnectionNoCredentials"
          }
        },
        "type": "object",
        "required": [
          "data"
        ],
        "title": "ConnectionSuccessResponse"
      },
      "ConnectionSummary": {
        "properties": {
          "total": {
            "type": "integer",
            "title": "Total"
          },
          "active": {
            "type": "integer",
            "title": "Active"
          },
          "inactive": {
            "type": "integer",
            "title": "Inactive"
          },
          "providers": {
            "type": "integer",
            "title": "Providers"
          }
        },
        "type": "object",
        "required": [
          "total",
          "active",
          "inactive",
          "providers"
        ],
        "title": "ConnectionSummary"
      },
      "ConnectionUpdate": {
        "properties": {
          "active": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Active"
          },
          "tags": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Tags"
          },
          "business_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Business Name"
          },
          "abn": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Abn"
          },
          "email": {
            "anyOf": [
              {
                "type": "string",
                "format": "email"
              },
              {
                "type": "null"
              }
            ],
            "title": "Email"
          }
        },
        "type": "object",
        "title": "ConnectionUpdate"
      },
      "ConnectionsSuccessResponse": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/ConnectionNoCredentials"
            },
            "type": "array",
            "title": "Data"
          }
        },
        "type": "object",
        "required": [
          "data"
        ],
        "title": "ConnectionsSuccessResponse"
      },
      "ConsumerTenant": {
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid4",
            "title": "Id"
          },
          "name": {
            "type": "string",
            "title": "Name"
          }
        },
        "type": "object",
        "required": [
          "id",
          "name"
        ],
        "title": "ConsumerTenant"
      },
      "Coordinate": {
        "properties": {
          "latitude": {
            "anyOf": [
              {
                "type": "number",
                "maximum": 90.0,
                "minimum": -90.0
              },
              {
                "type": "string",
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"
              }
            ],
            "title": "Latitude"
          },
          "longitude": {
            "anyOf": [
              {
                "type": "number",
                "maximum": 180.0,
                "minimum": -180.0
              },
              {
                "type": "string",
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"
              }
            ],
            "title": "Longitude"
          }
        },
        "type": "object",
        "required": [
          "latitude",
          "longitude"
        ],
        "title": "Coordinate",
        "description": "Coordinate parses Latitude and Longitude.\n\nYou can use the `Coordinate` data type for storing coordinates. Coordinates can be\ndefined using one of the following formats:\n\n1. Tuple: `(Latitude, Longitude)`. For example: `(41.40338, 2.17403)` or `(Decimal('41.40338'), Decimal('2.17403'))`.\n2. `Coordinate` instance: `Coordinate(latitude=Latitude, longitude=Longitude)`.\n\n```py\nfrom decimal import Decimal\nfrom pydantic import BaseModel\n\nfrom pydantic_extra_types.coordinate import Coordinate\n\n\nclass Location(BaseModel):\n    coordinate: Coordinate\n\n\n# Using float values\nlocation1 = Location(coordinate=(41.40338, 2.17403))\n# > coordinate=Coordinate(latitude=41.40338, longitude=2.17403)\n\n# Using Decimal values\nlocation2 = Location(coordinate=(Decimal('41.40338'), Decimal('2.17403')))\n# > coordinate=Coordinate(latitude=41.40338, longitude=2.17403)\n```"
      },
      "Device": {
        "properties": {
          "system_device_id": {
            "type": "string",
            "title": "System Device Id"
          },
          "description": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Description"
          },
          "registration": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Registration"
          },
          "make": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Make"
          },
          "model": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Model"
          },
          "year": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Year"
          },
          "active": {
            "type": "boolean",
            "title": "Active"
          },
          "tags": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Tags"
          },
          "id": {
            "type": "string",
            "format": "uuid4",
            "title": "Id"
          },
          "connection_id": {
            "type": "string",
            "format": "uuid4",
            "title": "Connection Id"
          }
        },
        "type": "object",
        "required": [
          "system_device_id",
          "registration",
          "make",
          "model",
          "year",
          "active",
          "tags",
          "id",
          "connection_id"
        ],
        "title": "Device"
      },
      "DeviceCreate": {
        "properties": {
          "system_device_id": {
            "type": "string",
            "title": "System Device Id"
          },
          "description": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Description"
          },
          "registration": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Registration"
          },
          "make": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Make"
          },
          "model": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Model"
          },
          "year": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Year"
          },
          "active": {
            "type": "boolean",
            "title": "Active"
          },
          "tags": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Tags"
          },
          "connection_id": {
            "type": "string",
            "format": "uuid4",
            "title": "Connection Id"
          }
        },
        "type": "object",
        "required": [
          "system_device_id",
          "registration",
          "make",
          "model",
          "year",
          "active",
          "tags",
          "connection_id"
        ],
        "title": "DeviceCreate"
      },
      "DeviceSummary": {
        "properties": {
          "total": {
            "type": "integer",
            "title": "Total"
          },
          "active": {
            "type": "integer",
            "title": "Active"
          },
          "tagged": {
            "type": "integer",
            "title": "Tagged"
          }
        },
        "type": "object",
        "required": [
          "total",
          "active",
          "tagged"
        ],
        "title": "DeviceSummary"
      },
      "DeviceUpdate": {
        "properties": {
          "description": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Description"
          },
          "registration": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Registration"
          },
          "make": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Make"
          },
          "model": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Model"
          },
          "year": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Year"
          },
          "active": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Active"
          },
          "tags": {
            "anyOf": [
              {
                "items": {
                  "type": "string",
                  "maxLength": 255,
                  "minLength": 1
                },
                "type": "array",
                "maxItems": 10
              },
              {
                "type": "null"
              }
            ],
            "title": "Tags for the Device",
            "description": "\n                A maximum of 10 tags is allowed on a Device. Each tag must have a length between 1 and 255\n                characters. Tags are stored in lower case, and duplicate tags are removed. Leading and trailing \n                whitespaces are removed.\n                "
          }
        },
        "type": "object",
        "title": "DeviceUpdate"
      },
      "DriverId": {
        "properties": {
          "format": {
            "$ref": "#/components/schemas/DriverIdFormat"
          },
          "value": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "additionalProperties": true,
                "type": "object"
              }
            ],
            "title": "Value"
          }
        },
        "type": "object",
        "required": [
          "format",
          "value"
        ],
        "title": "DriverId"
      },
      "DriverIdFormat": {
        "type": "string",
        "enum": [
          "text",
          "map",
          "base64"
        ],
        "title": "DriverIdFormat"
      },
      "Event": {
        "properties": {
          "event_key": {
            "$ref": "#/components/schemas/EventTypeEnum"
          },
          "time": {
            "type": "string",
            "format": "date-time",
            "title": "Time"
          },
          "raw_data": {
            "additionalProperties": true,
            "type": "object",
            "title": "Raw Data"
          },
          "value": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/EventHarshBrakingValue"
              },
              {
                "$ref": "#/components/schemas/EventHardCorneringValue"
              },
              {
                "$ref": "#/components/schemas/EventHarshAccelerationValue"
              },
              {
                "$ref": "#/components/schemas/EventEngineSpeedValue"
              },
              {
                "$ref": "#/components/schemas/EventAccidentValue"
              },
              {
                "$ref": "#/components/schemas/EventTotalFuelValue"
              },
              {
                "$ref": "#/components/schemas/EventPowerTakeOffValue"
              },
              {
                "$ref": "#/components/schemas/EventIgnitionStatusValue"
              },
              {
                "$ref": "#/components/schemas/EventOdometerValue"
              },
              {
                "$ref": "#/components/schemas/EventAuxiliaryEquipmentOperationValue"
              },
              {
                "$ref": "#/components/schemas/EventIdlingValue"
              },
              {
                "$ref": "#/components/schemas/EventAdasDistanceMaintenanceValue"
              },
              {
                "$ref": "#/components/schemas/EventAdasForwardCollisionValue"
              },
              {
                "$ref": "#/components/schemas/EventAdasLaneDepartureValue"
              },
              {
                "$ref": "#/components/schemas/EventAdasPedestrianCollisionValue"
              },
              {
                "$ref": "#/components/schemas/EventDmsDistractionValue"
              },
              {
                "$ref": "#/components/schemas/EventDmsEyesClosedValue"
              },
              {
                "$ref": "#/components/schemas/EventDmsNoDriverValue"
              },
              {
                "$ref": "#/components/schemas/EventDmsPhoneCallingValue"
              },
              {
                "$ref": "#/components/schemas/EventDmsSmokingValue"
              },
              {
                "$ref": "#/components/schemas/EventDmsYawnValue"
              },
              {
                "$ref": "#/components/schemas/EventGpsSignalBlockedValue"
              }
            ],
            "title": "Value"
          },
          "position": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Coordinate"
              },
              {
                "type": "null"
              }
            ],
            "title": "Position"
          },
          "id": {
            "type": "string",
            "format": "uuid4",
            "title": "Id"
          },
          "device_id": {
            "type": "string",
            "format": "uuid4",
            "title": "Device Id"
          },
          "trip_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid4"
              },
              {
                "type": "null"
              }
            ],
            "title": "Trip Id"
          }
        },
        "type": "object",
        "required": [
          "event_key",
          "time",
          "raw_data",
          "value",
          "position",
          "id",
          "device_id"
        ],
        "title": "Event"
      },
      "EventAccidentValue": {
        "properties": {
          "accident": {
            "type": "boolean",
            "title": "Accident"
          }
        },
        "type": "object",
        "required": [
          "accident"
        ],
        "title": "EventAccidentValue"
      },
      "EventAdasDistanceMaintenanceValue": {
        "properties": {
          "adas_distance_maintenance": {
            "type": "boolean",
            "title": "Adas Distance Maintenance"
          }
        },
        "type": "object",
        "required": [
          "adas_distance_maintenance"
        ],
        "title": "EventAdasDistanceMaintenanceValue"
      },
      "EventAdasForwardCollisionValue": {
        "properties": {
          "adas_forward_collision": {
            "type": "boolean",
            "title": "Adas Forward Collision"
          }
        },
        "type": "object",
        "required": [
          "adas_forward_collision"
        ],
        "title": "EventAdasForwardCollisionValue"
      },
      "EventAdasLaneDepartureValue": {
        "properties": {
          "adas_lane_departure": {
            "type": "boolean",
            "title": "Adas Lane Departure"
          }
        },
        "type": "object",
        "required": [
          "adas_lane_departure"
        ],
        "title": "EventAdasLaneDepartureValue"
      },
      "EventAdasPedestrianCollisionValue": {
        "properties": {
          "adas_pedestrian_collision": {
            "type": "boolean",
            "title": "Adas Pedestrian Collision"
          }
        },
        "type": "object",
        "required": [
          "adas_pedestrian_collision"
        ],
        "title": "EventAdasPedestrianCollisionValue"
      },
      "EventAuxiliaryEquipmentOperationValue": {
        "properties": {
          "auxiliary_equipment_operation": {
            "type": "boolean",
            "title": "Auxiliary Equipment Operation"
          }
        },
        "type": "object",
        "required": [
          "auxiliary_equipment_operation"
        ],
        "title": "EventAuxiliaryEquipmentOperationValue"
      },
      "EventDmsDistractionValue": {
        "properties": {
          "dms_distraction": {
            "type": "boolean",
            "title": "Dms Distraction"
          }
        },
        "type": "object",
        "required": [
          "dms_distraction"
        ],
        "title": "EventDmsDistractionValue"
      },
      "EventDmsEyesClosedValue": {
        "properties": {
          "dms_eyes_closed": {
            "type": "boolean",
            "title": "Dms Eyes Closed"
          }
        },
        "type": "object",
        "required": [
          "dms_eyes_closed"
        ],
        "title": "EventDmsEyesClosedValue"
      },
      "EventDmsNoDriverValue": {
        "properties": {
          "dms_no_driver": {
            "type": "boolean",
            "title": "Dms No Driver"
          }
        },
        "type": "object",
        "required": [
          "dms_no_driver"
        ],
        "title": "EventDmsNoDriverValue"
      },
      "EventDmsPhoneCallingValue": {
        "properties": {
          "dms_phone_calling": {
            "type": "boolean",
            "title": "Dms Phone Calling"
          }
        },
        "type": "object",
        "required": [
          "dms_phone_calling"
        ],
        "title": "EventDmsPhoneCallingValue"
      },
      "EventDmsSmokingValue": {
        "properties": {
          "dms_smoking": {
            "type": "boolean",
            "title": "Dms Smoking"
          }
        },
        "type": "object",
        "required": [
          "dms_smoking"
        ],
        "title": "EventDmsSmokingValue"
      },
      "EventDmsYawnValue": {
        "properties": {
          "dms_yawn": {
            "type": "boolean",
            "title": "Dms Yawn"
          }
        },
        "type": "object",
        "required": [
          "dms_yawn"
        ],
        "title": "EventDmsYawnValue"
      },
      "EventEngineSpeedValue": {
        "properties": {
          "revolutions_per_minute": {
            "type": "integer",
            "title": "Revolutions Per Minute"
          }
        },
        "type": "object",
        "required": [
          "revolutions_per_minute"
        ],
        "title": "EventEngineSpeedValue"
      },
      "EventGpsSignalBlockedValue": {
        "properties": {
          "gps_signal_blocked": {
            "type": "boolean",
            "title": "Gps Signal Blocked"
          }
        },
        "type": "object",
        "required": [
          "gps_signal_blocked"
        ],
        "title": "EventGpsSignalBlockedValue"
      },
      "EventHardCorneringValue": {
        "properties": {
          "hard_cornering": {
            "type": "boolean",
            "title": "Hard Cornering"
          }
        },
        "type": "object",
        "required": [
          "hard_cornering"
        ],
        "title": "EventHardCorneringValue"
      },
      "EventHarshAccelerationValue": {
        "properties": {
          "harsh_acceleration": {
            "type": "boolean",
            "title": "Harsh Acceleration"
          }
        },
        "type": "object",
        "required": [
          "harsh_acceleration"
        ],
        "title": "EventHarshAccelerationValue"
      },
      "EventHarshBrakingValue": {
        "properties": {
          "harsh_braking": {
            "type": "boolean",
            "title": "Harsh Braking"
          }
        },
        "type": "object",
        "required": [
          "harsh_braking"
        ],
        "title": "EventHarshBrakingValue"
      },
      "EventIdlingValue": {
        "properties": {
          "idling": {
            "type": "boolean",
            "title": "Idling"
          }
        },
        "type": "object",
        "required": [
          "idling"
        ],
        "title": "EventIdlingValue"
      },
      "EventIgnitionStatusValue": {
        "properties": {
          "ignition_on": {
            "type": "boolean",
            "title": "Ignition On"
          }
        },
        "type": "object",
        "required": [
          "ignition_on"
        ],
        "title": "EventIgnitionStatusValue"
      },
      "EventOdometerValue": {
        "properties": {
          "odometer_kilometres": {
            "type": "number",
            "title": "Odometer Kilometres"
          }
        },
        "type": "object",
        "required": [
          "odometer_kilometres"
        ],
        "title": "EventOdometerValue"
      },
      "EventPowerTakeOffValue": {
        "properties": {
          "power_take_off_engaged": {
            "type": "boolean",
            "title": "Power Take Off Engaged"
          }
        },
        "type": "object",
        "required": [
          "power_take_off_engaged"
        ],
        "title": "EventPowerTakeOffValue"
      },
      "EventTotalFuelValue": {
        "properties": {
          "total_fuel_litres": {
            "type": "number",
            "title": "Total Fuel Litres"
          }
        },
        "type": "object",
        "required": [
          "total_fuel_litres"
        ],
        "title": "EventTotalFuelValue"
      },
      "EventTypeEnum": {
        "type": "string",
        "enum": [
          "ignition_status",
          "idling",
          "odometer",
          "harsh_braking",
          "harsh_acceleration",
          "hard_cornering",
          "engine_speed",
          "accident",
          "total_fuel",
          "over_speeding",
          "power_take_off_engaged",
          "auxiliary_equipment_operation",
          "gps_signal_blocked",
          "adas_distance_maintenance",
          "adas_forward_collision",
          "adas_lane_departure",
          "adas_pedestrian_collision",
          "dms_distraction",
          "dms_eyes_closed",
          "dms_no_driver",
          "dms_phone_calling",
          "dms_smoking",
          "dms_yawn"
        ],
        "title": "EventTypeEnum"
      },
      "EventsByDay": {
        "properties": {
          "date": {
            "type": "string",
            "title": "Date"
          },
          "event_key": {
            "type": "string",
            "title": "Event Key"
          },
          "event_type": {
            "type": "string",
            "title": "Event Type"
          },
          "count": {
            "type": "integer",
            "title": "Count"
          }
        },
        "type": "object",
        "required": [
          "date",
          "event_key",
          "event_type",
          "count"
        ],
        "title": "EventsByDay"
      },
      "EventsByType": {
        "properties": {
          "event_key": {
            "type": "string",
            "title": "Event Key"
          },
          "event_type": {
            "type": "string",
            "title": "Event Type"
          },
          "count": {
            "type": "integer",
            "title": "Count"
          }
        },
        "type": "object",
        "required": [
          "event_key",
          "event_type",
          "count"
        ],
        "title": "EventsByType"
      },
      "HTTPValidationError": {
        "properties": {
          "detail": {
            "items": {
              "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array",
            "title": "Detail"
          }
        },
        "type": "object",
        "title": "HTTPValidationError"
      },
      "Milestone": {
        "properties": {
          "device_id": {
            "type": "string",
            "format": "uuid4",
            "title": "Device Id"
          },
          "status": {
            "$ref": "#/components/schemas/MilestoneStatusEnum",
            "default": "trip_not_started"
          },
          "start_point": {
            "$ref": "#/components/schemas/Coordinate",
            "title": "Start Point"
          },
          "end_point": {
            "$ref": "#/components/schemas/Coordinate"
          },
          "start_time": {
            "type": "string",
            "title": "Start Time"
          },
          "end_time": {
            "type": "string",
            "title": "End Time"
          },
          "webhook_url": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 2083,
                "minLength": 1,
                "format": "uri"
              },
              {
                "type": "null"
              }
            ],
            "title": "Webhook Url"
          },
          "id": {
            "type": "string",
            "format": "uuid4",
            "title": "Id"
          },
          "tenant_id": {
            "type": "string",
            "format": "uuid4",
            "title": "Tenant Id"
          },
          "webhook_error_count": {
            "type": "integer",
            "title": "Webhook Error Count",
            "default": 0
          },
          "last_webhook_error": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Last Webhook Error"
          },
          "last_webhook_error_at": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Last Webhook Error At"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "title": "Updated At"
          },
          "webhook_enabled": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Webhook Enabled"
          }
        },
        "type": "object",
        "required": [
          "device_id",
          "start_point",
          "end_point",
          "start_time",
          "end_time",
          "id",
          "tenant_id",
          "created_at",
          "updated_at"
        ],
        "title": "Milestone"
      },
      "MilestoneCreate": {
        "properties": {
          "device_id": {
            "type": "string",
            "format": "uuid4",
            "title": "Device Id"
          },
          "status": {
            "$ref": "#/components/schemas/MilestoneStatusEnum",
            "default": "trip_not_started"
          },
          "start_point": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Coordinate"
              },
              {
                "prefixItems": [
                  {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"
                      }
                    ]
                  },
                  {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"
                      }
                    ]
                  }
                ],
                "type": "array",
                "maxItems": 2,
                "minItems": 2
              },
              {
                "type": "string"
              }
            ],
            "title": "Start Point"
          },
          "end_point": {
            "$ref": "#/components/schemas/Coordinate"
          },
          "start_time": {
            "type": "string",
            "format": "date-time",
            "title": "Start Time"
          },
          "end_time": {
            "type": "string",
            "format": "date-time",
            "title": "End Time"
          },
          "webhook_url": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 2083,
                "minLength": 1,
                "format": "uri"
              },
              {
                "type": "null"
              }
            ],
            "title": "Webhook Url"
          }
        },
        "type": "object",
        "required": [
          "device_id",
          "start_point",
          "end_point",
          "start_time",
          "end_time"
        ],
        "title": "MilestoneCreate"
      },
      "MilestoneStatusEnum": {
        "type": "string",
        "enum": [
          "trip_not_started",
          "trip_in_progress",
          "trip_ended"
        ],
        "title": "MilestoneStatusEnum"
      },
      "MilestoneTimeoutState": {
        "properties": {
          "milestone_id": {
            "type": "string",
            "format": "uuid4",
            "title": "Milestone Id"
          },
          "status": {
            "type": "string",
            "title": "Status"
          }
        },
        "type": "object",
        "required": [
          "milestone_id",
          "status"
        ],
        "title": "MilestoneTimeoutState"
      },
      "MilestoneUpdate": {
        "properties": {
          "device_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid4"
              },
              {
                "type": "null"
              }
            ],
            "title": "Device Id"
          },
          "status": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/MilestoneStatusEnum"
              },
              {
                "type": "null"
              }
            ]
          },
          "start_point": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Coordinate"
              },
              {
                "prefixItems": [
                  {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"
                      }
                    ]
                  },
                  {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"
                      }
                    ]
                  }
                ],
                "type": "array",
                "maxItems": 2,
                "minItems": 2
              },
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Start Point"
          },
          "end_point": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Coordinate"
              },
              {
                "type": "null"
              }
            ]
          },
          "start_time": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Start Time"
          },
          "end_time": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "End Time"
          },
          "webhook_url": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 2083,
                "minLength": 1,
                "format": "uri"
              },
              {
                "type": "null"
              }
            ],
            "title": "Webhook Url"
          },
          "webhook_enabled": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Webhook Enabled"
          }
        },
        "type": "object",
        "title": "MilestoneUpdate"
      },
      "MilestoneValidState": {
        "properties": {
          "milestone_id": {
            "type": "string",
            "format": "uuid4",
            "title": "Milestone Id"
          },
          "connection_id": {
            "type": "string",
            "format": "uuid4",
            "title": "Connection Id"
          },
          "device_id": {
            "type": "string",
            "format": "uuid4",
            "title": "Device Id"
          },
          "system_device_id": {
            "type": "string",
            "title": "System Device Id"
          },
          "current_position": {
            "$ref": "#/components/schemas/RealtimePosition"
          },
          "eta": {
            "type": "string",
            "format": "duration",
            "title": "Eta"
          },
          "distance_to_destination_km": {
            "type": "number",
            "title": "Distance To Destination Km"
          },
          "last_updated_at": {
            "type": "string",
            "format": "date-time",
            "title": "Last Updated At"
          }
        },
        "type": "object",
        "required": [
          "milestone_id",
          "connection_id",
          "device_id",
          "system_device_id",
          "current_position",
          "eta",
          "distance_to_destination_km",
          "last_updated_at"
        ],
        "title": "MilestoneValidState"
      },
      "OsmRoadClassification": {
        "properties": {
          "road_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Road Name"
          },
          "on_road": {
            "type": "boolean",
            "title": "On Road",
            "default": false
          },
          "distance_from_road_metres": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Distance From Road Metres"
          }
        },
        "type": "object",
        "title": "OsmRoadClassification"
      },
      "PaginatedSuccess_list_Device__": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/Device"
            },
            "type": "array",
            "title": "Data",
            "description": "Successful response payload"
          },
          "links": {
            "$ref": "#/components/schemas/PaginationLinks"
          }
        },
        "type": "object",
        "required": [
          "data",
          "links"
        ],
        "title": "PaginatedSuccess[list[Device]]"
      },
      "PaginatedSuccess_list_Event__": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/Event"
            },
            "type": "array",
            "title": "Data",
            "description": "Successful response payload"
          },
          "links": {
            "$ref": "#/components/schemas/PaginationLinks"
          }
        },
        "type": "object",
        "required": [
          "data",
          "links"
        ],
        "title": "PaginatedSuccess[list[Event]]"
      },
      "PaginatedSuccess_list_Milestone__": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/Milestone"
            },
            "type": "array",
            "title": "Data",
            "description": "Successful response payload"
          },
          "links": {
            "$ref": "#/components/schemas/PaginationLinks"
          }
        },
        "type": "object",
        "required": [
          "data",
          "links"
        ],
        "title": "PaginatedSuccess[list[Milestone]]"
      },
      "PaginatedSuccess_list_PointWithFeatures__": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/PointWithFeatures"
            },
            "type": "array",
            "title": "Data",
            "description": "Successful response payload"
          },
          "links": {
            "$ref": "#/components/schemas/PaginationLinks"
          }
        },
        "type": "object",
        "required": [
          "data",
          "links"
        ],
        "title": "PaginatedSuccess[list[PointWithFeatures]]"
      },
      "PaginatedSuccess_list_Trip__": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/Trip"
            },
            "type": "array",
            "title": "Data",
            "description": "Successful response payload"
          },
          "links": {
            "$ref": "#/components/schemas/PaginationLinks"
          }
        },
        "type": "object",
        "required": [
          "data",
          "links"
        ],
        "title": "PaginatedSuccess[list[Trip]]"
      },
      "PaginatedWebhookSuccessResponse": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/WebhookResponse"
            },
            "type": "array",
            "title": "Data"
          },
          "links": {
            "$ref": "#/components/schemas/PaginationLinks"
          }
        },
        "type": "object",
        "required": [
          "data",
          "links"
        ],
        "title": "PaginatedWebhookSuccessResponse"
      },
      "PaginationLinks": {
        "properties": {
          "previous": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Previous"
          },
          "current": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Current"
          },
          "next": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Next"
          }
        },
        "type": "object",
        "title": "PaginationLinks"
      },
      "PointWithFeatures": {
        "properties": {
          "latitude": {
            "type": "number",
            "title": "Latitude"
          },
          "longitude": {
            "type": "number",
            "title": "Longitude"
          },
          "time": {
            "type": "string",
            "title": "Time"
          },
          "speed_kilometres_per_hour": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Speed Kilometres Per Hour"
          },
          "hdop": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Hdop"
          },
          "vdop": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Vdop"
          },
          "number_of_satellites": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Number Of Satellites"
          },
          "heading": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Heading"
          },
          "odometer_kilometres": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Odometer reading at this point"
          },
          "odometer_distance_metres": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Distance travelled between this point and the previous point calculated with odometer readings"
          },
          "gps_distance_metres": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Distance travelled between this point and the previous point calculated by GPS distance using WGS84"
          },
          "id": {
            "type": "string",
            "format": "uuid4",
            "title": "Id"
          },
          "trip_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid4"
              },
              {
                "type": "null"
              }
            ],
            "title": "Trip Id"
          },
          "device_id": {
            "type": "string",
            "format": "uuid4",
            "title": "Device Id"
          },
          "osm_road_classification": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/OsmRoadClassification"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "type": "object",
        "required": [
          "latitude",
          "longitude",
          "time",
          "speed_kilometres_per_hour",
          "hdop",
          "vdop",
          "number_of_satellites",
          "heading",
          "odometer_kilometres",
          "odometer_distance_metres",
          "gps_distance_metres",
          "id",
          "trip_id",
          "device_id"
        ],
        "title": "PointWithFeatures"
      },
      "ProviderEnum": {
        "type": "string",
        "enum": [
          "mtdata",
          "geotab",
          "navman",
          "mixtelematics",
          "radius",
          "verizon_connect",
          "volvo",
          "fleetsu",
          "digital_matter",
          "netstar",
          "netstar_v2",
          "webfleet",
          "scania",
          "linxio",
          "geoforce",
          "michelin_connected_fleet",
          "navixy",
          "netcorp",
          "mapon"
        ],
        "title": "ProviderEnum"
      },
      "RealTimeFilter": {
        "properties": {
          "connection_ids": {
            "anyOf": [
              {
                "items": {
                  "type": "string",
                  "format": "uuid4"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Connection Ids"
          },
          "tags": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Tags"
          },
          "device_ids": {
            "anyOf": [
              {
                "items": {
                  "type": "string",
                  "format": "uuid4"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Device Ids"
          },
          "connection_devices": {
            "anyOf": [
              {
                "items": {
                  "$ref": "#/components/schemas/ConnectionDevices"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Connection Devices"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "title": "RealTimeFilter"
      },
      "RealTimeOption": {
        "properties": {
          "include_speed": {
            "type": "boolean",
            "title": "Include Speed",
            "default": true
          },
          "include_driver_id": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Include Driver Id"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "title": "RealTimeOption"
      },
      "RealTimeParameters": {
        "properties": {
          "filters": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/RealTimeFilter"
              },
              {
                "type": "null"
              }
            ]
          },
          "options": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/RealTimeOption"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "title": "RealTimeParameters"
      },
      "RealtimePosition": {
        "properties": {
          "timestamp": {
            "type": "string",
            "title": "Timestamp"
          },
          "longitude": {
            "type": "number",
            "title": "Longitude"
          },
          "latitude": {
            "type": "number",
            "title": "Latitude"
          },
          "heading": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Heading"
          },
          "speed": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Speed"
              },
              {
                "type": "null"
              }
            ]
          },
          "driver_id": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/DriverId"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "type": "object",
        "required": [
          "timestamp",
          "longitude",
          "latitude"
        ],
        "title": "RealtimePosition"
      },
      "RealtimeTimeoutState": {
        "properties": {
          "device_id": {
            "type": "string",
            "format": "uuid4",
            "title": "Device Id"
          },
          "status": {
            "type": "string",
            "title": "Status"
          }
        },
        "type": "object",
        "required": [
          "device_id",
          "status"
        ],
        "title": "RealtimeTimeoutState"
      },
      "RealtimeValidState": {
        "properties": {
          "connection_id": {
            "type": "string",
            "format": "uuid4",
            "title": "Connection Id"
          },
          "device_id": {
            "type": "string",
            "format": "uuid4",
            "title": "Device Id"
          },
          "system_device_id": {
            "type": "string",
            "title": "System Device Id"
          },
          "position": {
            "$ref": "#/components/schemas/RealtimePosition"
          }
        },
        "type": "object",
        "required": [
          "connection_id",
          "device_id",
          "system_device_id",
          "position"
        ],
        "title": "RealtimeValidState"
      },
      "RefreshResult": {
        "properties": {
          "token_type": {
            "type": "string",
            "title": "Token Type"
          },
          "expires_in": {
            "type": "integer",
            "title": "Expires In"
          },
          "access_token": {
            "type": "string",
            "title": "Access Token"
          }
        },
        "type": "object",
        "required": [
          "token_type",
          "expires_in",
          "access_token"
        ],
        "title": "RefreshResult"
      },
      "RefreshToken": {
        "properties": {
          "sub": {
            "type": "string",
            "format": "uuid4",
            "title": "Sub",
            "description": "The sub (subject) field returned in the login response."
          },
          "refresh_token": {
            "type": "string",
            "title": "Refresh Token"
          }
        },
        "type": "object",
        "required": [
          "sub",
          "refresh_token"
        ],
        "title": "RefreshToken"
      },
      "ShareRequest": {
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid4",
            "title": "Id"
          },
          "created_at": {
            "type": "string",
            "title": "Created At"
          },
          "responded_at": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Responded At"
          },
          "consumer_tenant": {
            "$ref": "#/components/schemas/ConsumerTenant"
          },
          "provider_email": {
            "type": "string",
            "format": "email",
            "title": "Provider Email"
          },
          "provider_tenant_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid4"
              },
              {
                "type": "null"
              }
            ],
            "title": "Provider Tenant Id"
          },
          "filter_id": {
            "type": "string",
            "format": "uuid4",
            "title": "Filter Id"
          },
          "share_code": {
            "type": "string",
            "title": "Share Code"
          },
          "accepted": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Accepted"
          }
        },
        "type": "object",
        "required": [
          "id",
          "created_at",
          "responded_at",
          "consumer_tenant",
          "provider_email",
          "provider_tenant_id",
          "filter_id",
          "share_code",
          "accepted"
        ],
        "title": "ShareRequest"
      },
      "ShareRequestInput": {
        "properties": {
          "email": {
            "type": "string",
            "format": "email",
            "title": "Email"
          },
          "filter": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Filter"
          }
        },
        "type": "object",
        "required": [
          "email"
        ],
        "title": "ShareRequestInput"
      },
      "Speed": {
        "properties": {
          "speed_kph": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Speed Kph"
          }
        },
        "type": "object",
        "title": "Speed"
      },
      "Success_AccountSummary_": {
        "properties": {
          "data": {
            "$ref": "#/components/schemas/AccountSummary",
            "description": "Successful response payload"
          }
        },
        "type": "object",
        "required": [
          "data"
        ],
        "title": "Success[AccountSummary]"
      },
      "Success_ActivitySummary_": {
        "properties": {
          "data": {
            "$ref": "#/components/schemas/ActivitySummary",
            "description": "Successful response payload"
          }
        },
        "type": "object",
        "required": [
          "data"
        ],
        "title": "Success[ActivitySummary]"
      },
      "Success_AuthenticationResult_": {
        "properties": {
          "data": {
            "$ref": "#/components/schemas/AuthenticationResult",
            "description": "Successful response payload"
          }
        },
        "type": "object",
        "required": [
          "data"
        ],
        "title": "Success[AuthenticationResult]"
      },
      "Success_ConnectType_": {
        "properties": {
          "data": {
            "$ref": "#/components/schemas/ConnectType",
            "description": "Successful response payload"
          }
        },
        "type": "object",
        "required": [
          "data"
        ],
        "title": "Success[ConnectType]"
      },
      "Success_ConnectionCredentials_": {
        "properties": {
          "data": {
            "$ref": "#/components/schemas/ConnectionCredentials",
            "description": "Successful response payload"
          }
        },
        "type": "object",
        "required": [
          "data"
        ],
        "title": "Success[ConnectionCredentials]"
      },
      "Success_Device_": {
        "properties": {
          "data": {
            "$ref": "#/components/schemas/Device",
            "description": "Successful response payload"
          }
        },
        "type": "object",
        "required": [
          "data"
        ],
        "title": "Success[Device]"
      },
      "Success_Event_": {
        "properties": {
          "data": {
            "$ref": "#/components/schemas/Event",
            "description": "Successful response payload"
          }
        },
        "type": "object",
        "required": [
          "data"
        ],
        "title": "Success[Event]"
      },
      "Success_Milestone_": {
        "properties": {
          "data": {
            "$ref": "#/components/schemas/Milestone",
            "description": "Successful response payload"
          }
        },
        "type": "object",
        "required": [
          "data"
        ],
        "title": "Success[Milestone]"
      },
      "Success_RefreshResult_": {
        "properties": {
          "data": {
            "$ref": "#/components/schemas/RefreshResult",
            "description": "Successful response payload"
          }
        },
        "type": "object",
        "required": [
          "data"
        ],
        "title": "Success[RefreshResult]"
      },
      "Success_ShareRequest_": {
        "properties": {
          "data": {
            "$ref": "#/components/schemas/ShareRequest",
            "description": "Successful response payload"
          }
        },
        "type": "object",
        "required": [
          "data"
        ],
        "title": "Success[ShareRequest]"
      },
      "Success_TenantConfigurationResponse_": {
        "properties": {
          "data": {
            "$ref": "#/components/schemas/TenantConfigurationResponse",
            "description": "Successful response payload"
          }
        },
        "type": "object",
        "required": [
          "data"
        ],
        "title": "Success[TenantConfigurationResponse]"
      },
      "Success_TenantResponse_": {
        "properties": {
          "data": {
            "$ref": "#/components/schemas/TenantResponse",
            "description": "Successful response payload"
          }
        },
        "type": "object",
        "required": [
          "data"
        ],
        "title": "Success[TenantResponse]"
      },
      "Success_Trip_": {
        "properties": {
          "data": {
            "$ref": "#/components/schemas/Trip",
            "description": "Successful response payload"
          }
        },
        "type": "object",
        "required": [
          "data"
        ],
        "title": "Success[Trip]"
      },
      "Success_Union_MilestoneValidState__MilestoneTimeoutState__": {
        "properties": {
          "data": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/MilestoneValidState"
              },
              {
                "$ref": "#/components/schemas/MilestoneTimeoutState"
              }
            ],
            "title": "Data",
            "description": "Successful response payload"
          }
        },
        "type": "object",
        "required": [
          "data"
        ],
        "title": "Success[Union[MilestoneValidState, MilestoneTimeoutState]]"
      },
      "Success_list_ShareRequest__": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/ShareRequest"
            },
            "type": "array",
            "title": "Data",
            "description": "Successful response payload"
          }
        },
        "type": "object",
        "required": [
          "data"
        ],
        "title": "Success[list[ShareRequest]]"
      },
      "Success_list_TenantTag__": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/TenantTag"
            },
            "type": "array",
            "title": "Data",
            "description": "Successful response payload"
          }
        },
        "type": "object",
        "required": [
          "data"
        ],
        "title": "Success[list[TenantTag]]"
      },
      "Success_list_Union_RealtimeValidState__RealtimeTimeoutState___": {
        "properties": {
          "data": {
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/RealtimeValidState"
                },
                {
                  "$ref": "#/components/schemas/RealtimeTimeoutState"
                }
              ]
            },
            "type": "array",
            "title": "Data",
            "description": "Successful response payload"
          }
        },
        "type": "object",
        "required": [
          "data"
        ],
        "title": "Success[list[Union[RealtimeValidState, RealtimeTimeoutState]]]"
      },
      "Success_list_str__": {
        "properties": {
          "data": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Data",
            "description": "Successful response payload"
          }
        },
        "type": "object",
        "required": [
          "data"
        ],
        "title": "Success[list[str]]"
      },
      "TenantConfiguration": {
        "properties": {
          "providers": {
            "anyOf": [
              {
                "items": {
                  "$ref": "#/components/schemas/ProviderEnum"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Providers"
          },
          "api_version": {
            "anyOf": [
              {
                "type": "string",
                "format": "date"
              },
              {
                "type": "null"
              }
            ],
            "title": "Api Version"
          }
        },
        "type": "object",
        "title": "TenantConfiguration"
      },
      "TenantConfigurationResponse": {
        "properties": {
          "logo_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Logo Url"
          },
          "configuration": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/TenantConfiguration"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "type": "object",
        "required": [
          "logo_url",
          "configuration"
        ],
        "title": "TenantConfigurationResponse"
      },
      "TenantResponse": {
        "properties": {
          "name": {
            "type": "string",
            "title": "Name"
          },
          "description": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Description"
          },
          "logo_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Logo Url"
          },
          "toc_link": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Toc Link"
          },
          "privacy_link": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Privacy Link"
          },
          "configuration": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/TenantConfiguration"
              },
              {
                "type": "null"
              }
            ]
          },
          "id": {
            "type": "string",
            "format": "uuid4",
            "title": "Id"
          },
          "connection_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Connection Url"
          }
        },
        "type": "object",
        "required": [
          "name",
          "description",
          "logo_url",
          "toc_link",
          "privacy_link",
          "id",
          "connection_url"
        ],
        "title": "TenantResponse"
      },
      "TenantTag": {
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid4",
            "title": "Id"
          },
          "name": {
            "type": "string",
            "title": "Name"
          }
        },
        "type": "object",
        "required": [
          "id",
          "name"
        ],
        "title": "TenantTag"
      },
      "TenantUpdate": {
        "properties": {
          "name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Name"
          },
          "description": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Description"
          },
          "logo_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Logo Url"
          },
          "toc_link": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Toc Link"
          },
          "privacy_link": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Privacy Link"
          },
          "configuration": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/TenantConfiguration"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "type": "object",
        "required": [
          "configuration"
        ],
        "title": "TenantUpdate"
      },
      "Trip": {
        "properties": {
          "start_latitude": {
            "type": "number",
            "title": "Start Latitude"
          },
          "start_longitude": {
            "type": "number",
            "title": "Start Longitude"
          },
          "end_latitude": {
            "type": "number",
            "title": "End Latitude"
          },
          "end_longitude": {
            "type": "number",
            "title": "End Longitude"
          },
          "system_trip_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "System Trip Id"
          },
          "start_time": {
            "type": "string",
            "title": "Start Time"
          },
          "end_time": {
            "type": "string",
            "title": "End Time"
          },
          "distance_metres": {
            "type": "number",
            "title": "Distance Metres"
          },
          "duration_seconds": {
            "type": "number",
            "title": "Duration Seconds"
          },
          "driving_seconds": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Driving Seconds"
          },
          "idling_seconds": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Idling Seconds"
          },
          "auxiliary_seconds": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Auxiliary Seconds"
          },
          "is_valid": {
            "type": "boolean",
            "title": "Is Valid"
          },
          "validation_comments": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Validation Comments"
          },
          "id": {
            "type": "string",
            "format": "uuid4",
            "title": "Id"
          },
          "device_id": {
            "type": "string",
            "format": "uuid4",
            "title": "Device Id"
          }
        },
        "type": "object",
        "required": [
          "start_latitude",
          "start_longitude",
          "end_latitude",
          "end_longitude",
          "system_trip_id",
          "start_time",
          "end_time",
          "distance_metres",
          "duration_seconds",
          "driving_seconds",
          "idling_seconds",
          "auxiliary_seconds",
          "is_valid",
          "validation_comments",
          "id",
          "device_id"
        ],
        "title": "Trip"
      },
      "TripsByConnection": {
        "properties": {
          "connection": {
            "type": "string",
            "title": "Connection"
          },
          "count": {
            "type": "integer",
            "title": "Count"
          }
        },
        "type": "object",
        "required": [
          "connection",
          "count"
        ],
        "title": "TripsByConnection"
      },
      "UsernamePassword": {
        "properties": {
          "username": {
            "type": "string",
            "title": "Username",
            "description": "The username / email of the user"
          },
          "password": {
            "type": "string",
            "title": "Password"
          }
        },
        "type": "object",
        "required": [
          "username",
          "password"
        ],
        "title": "UsernamePassword"
      },
      "ValidationError": {
        "properties": {
          "loc": {
            "items": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "integer"
                }
              ]
            },
            "type": "array",
            "title": "Location"
          },
          "msg": {
            "type": "string",
            "title": "Message"
          },
          "type": {
            "type": "string",
            "title": "Error Type"
          },
          "input": {
            "title": "Input"
          },
          "ctx": {
            "type": "object",
            "title": "Context"
          }
        },
        "type": "object",
        "required": [
          "loc",
          "msg",
          "type"
        ],
        "title": "ValidationError"
      },
      "WebhookCreate": {
        "properties": {
          "filters": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/RealTimeFilter"
              },
              {
                "type": "null"
              }
            ]
          },
          "options": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/RealTimeOption"
              },
              {
                "type": "null"
              }
            ]
          },
          "url": {
            "type": "string",
            "title": "Url"
          },
          "enabled": {
            "type": "boolean",
            "title": "Enabled"
          }
        },
        "type": "object",
        "required": [
          "url",
          "enabled"
        ],
        "title": "WebhookCreate"
      },
      "WebhookResponse": {
        "properties": {
          "filters": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/RealTimeFilter"
              },
              {
                "type": "null"
              }
            ]
          },
          "options": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/RealTimeOption"
              },
              {
                "type": "null"
              }
            ]
          },
          "url": {
            "type": "string",
            "title": "Url"
          },
          "enabled": {
            "type": "boolean",
            "title": "Enabled"
          },
          "id": {
            "type": "string",
            "format": "uuid4",
            "title": "Id"
          },
          "error_count": {
            "type": "integer",
            "title": "Error Count"
          },
          "last_error": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Last Error"
          },
          "last_error_at": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Last Error At"
          },
          "created_at": {
            "type": "string",
            "title": "Created At"
          },
          "updated_at": {
            "type": "string",
            "title": "Updated At"
          }
        },
        "type": "object",
        "required": [
          "url",
          "enabled",
          "id",
          "error_count",
          "last_error",
          "last_error_at",
          "created_at",
          "updated_at"
        ],
        "title": "WebhookResponse"
      },
      "WebhookSuccessResponse": {
        "properties": {
          "data": {
            "$ref": "#/components/schemas/WebhookResponse"
          }
        },
        "type": "object",
        "required": [
          "data"
        ],
        "title": "WebhookSuccessResponse"
      },
      "WebhookUpdate": {
        "properties": {
          "filters": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/RealTimeFilter"
              },
              {
                "type": "null"
              }
            ]
          },
          "options": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/RealTimeOption"
              },
              {
                "type": "null"
              }
            ]
          },
          "url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Url"
          },
          "enabled": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Enabled"
          }
        },
        "type": "object",
        "title": "WebhookUpdate"
      }
    },
    "securitySchemes": {
      "JWTBearer": {
        "type": "http",
        "scheme": "bearer"
      }
    }
  }
}