### GET /Commands Source: https://geotek.pro/api/docs/v1/swagger.json Retrieves a list of all available commands. ```APIDOC ## GET /Commands ### Description Retrieves a list of all available commands. ### Method GET ### Endpoint /Commands ### Response #### Success Response (200) - **Array of CommandTemplateModel** (array) - A list of command objects. #### Response Example ```json { "example": "response body" } ``` ``` -------------------------------- ### GET /Activities Source: https://geotek.pro/api/docs/index.html Retrieves a list of activities from the system. ```APIDOC ## GET /Activities ### Description Retrieves a list of all activities recorded in the system. ### Method GET ### Endpoint /Activities ### Response #### Success Response (200) - **data** (array) - List of activity objects #### Response Example { "activities": [] } ``` -------------------------------- ### GET /Drivers Source: https://geotek.pro/api/docs/v1/swagger.json Retrieves a list of all driver entities. ```APIDOC ## GET /Drivers ### Description Returns a list of all drivers registered in the system. ### Method GET ### Endpoint /Drivers ### Response #### Success Response (200) - **Array[DriverViewModel]** (array) - A list of driver entities. #### Response Example [ { "id": 1, "name": "John Doe" } ] ``` -------------------------------- ### GET /Users Source: https://geotek.pro/api/docs/v1/swagger.json Retrieves a list of all users. ```APIDOC ## GET /Users ### Description Returns a list of all users in the system. ### Method GET ### Endpoint /Users ### Response #### Success Response (200) - **Array** - A list of user entities. ``` -------------------------------- ### GET /Keys Source: https://geotek.pro/api/docs/v1/swagger.json Retrieves a list of all available Key entities. ```APIDOC ## GET /Keys ### Description Returns a list of all entities. ### Method GET ### Endpoint /Keys ### Response #### Success Response (200) - **Array** (KeyViewModel) - A list of key entities. ``` -------------------------------- ### GET /Objects Source: https://geotek.pro/api/docs/v1/swagger.json Retrieves a comprehensive list of all entities available in the system. ```APIDOC ## GET /Objects ### Description Returns an array of all objects currently stored. ### Method GET ### Endpoint /Objects ### Response #### Success Response (200) - **objects** (array) - A list of ObjectCreateViewModel entities. #### Response Example [ { "id": 1, "name": "Object A" }, { "id": 2, "name": "Object B" } ] ``` -------------------------------- ### POST /Geocoder/Reverse Source: https://geotek.pro/api/docs/v1/swagger.json Gets addresses for a list of coordinates. ```APIDOC ## POST /Geocoder/Reverse ### Description Get address for each coordinate. ### Method POST ### Endpoint /Geocoder/Reverse ### Parameters #### Request Body - **Array of CoordinateModel** - Required - A list of coordinates to find addresses for. ### Request Example ```json [ { "latitude": 40.7128, "longitude": -74.0060 } ] ``` ### Response #### Success Response (200) - **Array of GeocoderAddress** - A list of addresses corresponding to the provided coordinates. #### Response Example ```json [ { "address": "New York, NY, USA" } ] ``` ``` -------------------------------- ### GET /ObjectsStatus Source: https://geotek.pro/api/docs/v1/swagger.json Retrieve the current status of all user objects. ```APIDOC ## GET /ObjectsStatus ### Description Request current status of all user objects. Status includes current position, trends value, etc. ### Method GET ### Endpoint /ObjectsStatus ### Response #### Success Response (200) - **StatusList** (array) - List of current object statuses. ``` -------------------------------- ### GET /Activities/{id} Source: https://geotek.pro/api/docs/v1/swagger.json Retrieves a specific activity by its ID. ```APIDOC ## GET /Activities/{id} ### Description Retrieves a specific activity using its unique identifier. ### Method GET ### Endpoint /Activities/{id} ### Parameters #### Path Parameters - **id** (integer) - Required - The unique identifier of the activity. ### Response #### Success Response (200) - **id** (integer) - The unique identifier of the activity. - **name** (string) - The name of the activity. - **startTime** (string) - The start time of the activity. - **endTime** (string) - The end time of the activity. #### Response Example ```json { "id": 1, "name": "Sample Activity", "startTime": "2023-01-01T10:00:00Z", "endTime": "2023-01-01T11:00:00Z" } ``` ``` -------------------------------- ### GET /Geozones Source: https://geotek.pro/api/docs/v1/swagger.json Retrieves a list of all geozone entities. ```APIDOC ## GET /Geozones ### Description Returns a list of all available geozone entities. ### Method GET ### Endpoint /Geozones ### Response #### Success Response (200) - **Array** (list) - A list of GeozoneViewModel objects. ``` -------------------------------- ### Get Driver Groups Source: https://geotek.pro/api/docs/v1/swagger.json Retrieves a list of all driver groups. ```APIDOC ## GET /websites/geotek_pro_api/Drivers/Groups ### Description Retrieves a list of all available driver groups. ### Method GET ### Endpoint /websites/geotek_pro_api/Drivers/Groups ### Parameters None ### Request Example None ### Response #### Success Response (200) - **(array of objects)** - A list of driver group objects. #### Response Example ```json [ { "id": 1, "name": "Sample Driver Group 1" }, { "id": 2, "name": "Sample Driver Group 2" } ] ``` ``` -------------------------------- ### GET /ObjectEvents Source: https://geotek.pro/api/docs/v1/swagger.json Retrieves a list of active events for all devices. ```APIDOC ## GET /ObjectEvents ### Description Request active events list for all devices. ### Method GET ### Endpoint /ObjectEvents ### Response #### Success Response (200) - **status** (string) - OK ``` -------------------------------- ### GET /Commands/{id} Source: https://geotek.pro/api/docs/v1/swagger.json Retrieves a specific command by its ID. ```APIDOC ## GET /Commands/{id} ### Description Retrieves a specific command by its ID. ### Method GET ### Endpoint /Commands/{id} ### Parameters #### Path Parameters - **id** (integer) - Required - The unique identifier of the command. ### Response #### Success Response (200) - **CommandTemplateModel** (object) - The details of the requested command. #### Response Example ```json { "example": "response body" } ``` ``` -------------------------------- ### GET /Geozones/Icons Source: https://geotek.pro/api/docs/v1/swagger.json Retrieves a list of icons available for geozone visualization. ```APIDOC ## GET /Geozones/Icons ### Description Returns a list of icon view models used for rendering geozones on the map. ### Method GET ### Endpoint /Geozones/Icons ### Response #### Success Response (200) - **data** (array) - A list of IconViewModel objects. ``` -------------------------------- ### Get Object Icons Source: https://geotek.pro/api/docs/v1/swagger.json Retrieves a list of icons used for objects within the system. ```APIDOC ## GET /Objects/Icons ### Description Get list of icons used for objects. ### Method GET ### Endpoint /Objects/Icons ### Response #### Success Response (200) - **Array of IconViewModel** - A list of available icons. ``` -------------------------------- ### Get Object Sync Keys Source: https://geotek.pro/api/docs/v1/swagger.json Retrieves a list of synchronization keys for a specific object. ```APIDOC ## GET /Objects/sync/{id} ### Description Get list of sync keys for object. ### Method GET ### Endpoint /Objects/sync/{id} ### Parameters #### Path Parameters - **id** (integer) - Required - The unique identifier of the object. ### Response #### Error Response (403) - **description** (string) - Forbidden ``` -------------------------------- ### GET /Profile Source: https://geotek.pro/api/docs/v1/swagger.json Requests the user profile, which includes a list of associated objects, geozones, and sub-users. ```APIDOC ## GET /Profile ### Description Requests the user profile, which includes a list of associated objects, geozones, and sub-users. ### Method GET ### Endpoint /Profile ### Parameters None ### Request Example None ### Response #### Success Response (200) - **(No specific schema defined, returns OK)** #### Response Example ```json { "message": "OK" } ``` ``` -------------------------------- ### GET /CompletedWork Source: https://geotek.pro/api/docs/v1/swagger.json Retrieves a list of completed work entries. ```APIDOC ## GET /CompletedWork ### Description Retrieves a list of completed work entries. ### Method GET ### Endpoint /CompletedWork ### Response #### Success Response (200) - **OK** (string) - Indicates the request was successful. #### Response Example ```json { "example": "response body" } ``` ``` -------------------------------- ### GET /Users/{id} Source: https://geotek.pro/api/docs/v1/swagger.json Retrieves a specific user by their ID. ```APIDOC ## GET /Users/{id} ### Description Fetches the details of a specific user based on the provided ID. ### Method GET ### Endpoint /Users/{id} ### Parameters #### Path Parameters - **id** (integer) - Required - The unique identifier of the user. ### Response #### Success Response (200) - **UserViewModel** (object) - The user entity details. ``` -------------------------------- ### GET /ObjectsStatus/extended Source: https://geotek.pro/api/docs/v1/swagger.json Retrieves the status of all objects, including their names, positions, and ignition status. ```APIDOC ## GET /ObjectsStatus/extended ### Description Retrieves the status of all objects, including their names, positions, and ignition status. ### Method GET ### Endpoint /ObjectsStatus/extended ### Parameters None ### Request Example None ### Response #### Success Response (200) - **ObjectsStatusModel** (array) - An array of ObjectsStatusModel objects. #### Response Example ```json [ { "objectName": "Example Object", "position": { "latitude": 45.1234, "longitude": -75.5678 }, "ignition": true } ] ``` ``` -------------------------------- ### GET /ObjectFile/{id} Source: https://geotek.pro/api/docs/v1/swagger.json Retrieves the body of an object file using its UID. ```APIDOC ## GET /ObjectFile/{id} ### Description Get object file body using file UID. ### Method GET ### Endpoint /ObjectFile/{id} ### Parameters #### Path Parameters - **id** (integer) - Required - The unique file UID. ### Response #### Success Response (200) - **status** (string) - OK ``` -------------------------------- ### GET /Drivers/{id} Source: https://geotek.pro/api/docs/v1/swagger.json Retrieves a specific driver entity by its unique identifier. ```APIDOC ## GET /Drivers/{id} ### Description Fetches the details of a specific driver using their unique ID. ### Method GET ### Endpoint /Drivers/{id} ### Parameters #### Path Parameters - **id** (integer) - Required - The unique identifier of the driver. ### Response #### Success Response (200) - **DriverViewModel** (object) - The driver entity details. #### Response Example { "id": 1, "name": "John Doe" } ``` -------------------------------- ### Get Completed Work Source: https://geotek.pro/api/docs/v1/swagger.json Retrieves details about completed work entries. ```APIDOC ## GET /websites/geotek_pro_api/CompletedWork ### Description Retrieves a list of completed work entries. ### Method GET ### Endpoint /websites/geotek_pro_api/CompletedWork ### Parameters None ### Request Example None ### Response #### Success Response (200) - **(array of objects)** - A list of completed work entries. #### Response Example ```json [ { "id": 1, "description": "Sample completed work" } ] ``` ``` -------------------------------- ### GET /api/objects/groups Source: https://geotek.pro/api/docs/v1/swagger.json Retrieves information about object groups and their associated objects. ```APIDOC ## GET /api/objects/groups ### Description Returns a list of object groups, including their names and the IDs of objects contained within each group. ### Method GET ### Endpoint /api/objects/groups ### Response #### Success Response (200) - **id** (integer) - The unique identifier of the group. - **name** (string) - The name of the object group. - **objects** (array) - List of object IDs belonging to this group. #### Response Example [ { "id": 1, "name": "Fleet A", "objects": [101, 102, 103] } ] ``` -------------------------------- ### GET /Keys/sync/{id} Source: https://geotek.pro/api/docs/v1/swagger.json Retrieves a list of synchronization keys associated with a specific key ID. ```APIDOC ## GET /Keys/sync/{id} ### Description Retrieves a list of synchronization keys for a given key ID. ### Method GET ### Endpoint /Keys/sync/{id} ### Parameters #### Path Parameters - **id** (integer) - Required - The unique identifier of the key. ### Response #### Success Response (200) - **items** (array of KeySyncViewModel) - A list of synchronization view models for the key. #### Response Example ```json [ { "keyId": 0, "syncStatus": 0 } ] ``` ``` -------------------------------- ### GET /Keys/{id} Source: https://geotek.pro/api/docs/v1/swagger.json Retrieves a specific key entity by its unique identifier. ```APIDOC ## GET /Keys/{id} ### Description Retrieves a key entity by its unique identifier. ### Method GET ### Endpoint /Keys/{id} ### Parameters #### Path Parameters - **id** (integer) - Required - The unique identifier of the key. ### Response #### Success Response (200) - **description** (string) - OK. The response content type is text/plain or application/json. #### Response Example (The source did not provide a specific response body example for this endpoint.) ``` -------------------------------- ### GET /Geozones/Groups Source: https://geotek.pro/api/docs/v1/swagger.json Retrieves a list of all available geozone group entities. ```APIDOC ## GET /Geozones/Groups ### Description Fetches a list of all geozone groups currently defined in the system. ### Method GET ### Endpoint /Geozones/Groups ### Response #### Success Response (200) - **data** (array) - A list of ObjectGroupViewModel objects. ``` -------------------------------- ### GET /ObjectsStatus/{id} Source: https://geotek.pro/api/docs/v1/swagger.json Retrieve the current status of a specific object by ID. ```APIDOC ## GET /ObjectsStatus/{id} ### Description Request current status of object with selected id. Status includes current position, trends value, etc. ### Method GET ### Endpoint /ObjectsStatus/{id} ### Parameters #### Path Parameters - **id** (integer) - Required - The unique identifier of the object. ### Response #### Success Response (200) - **Status** (object) - Current status details of the requested object. ``` -------------------------------- ### Get Object File by UID Source: https://geotek.pro/api/docs/v1/swagger.json Retrieves the base64 encoded file content of an object using its unique identifier (UID). ```APIDOC ## GET /ObjectFile/Base64/{id} ### Description Get object file body using file UID. The response is Base64 encoded. The UID can be retrieved using GET File or GET ObjectHistory requests. ### Method GET ### Endpoint /ObjectFile/Base64/{id} ### Parameters #### Path Parameters - **id** (integer) - Required - The unique identifier of the file. ### Response #### Success Response (200) - **ObjectFileResponseModel** - The response model containing the Base64 encoded file data. ``` -------------------------------- ### GET /Objects/{id} Source: https://geotek.pro/api/docs/v1/swagger.json Retrieves the details of a single entity based on its unique ID. ```APIDOC ## GET /Objects/{id} ### Description Fetches the full details of an object using its ID. ### Method GET ### Endpoint /Objects/{id} ### Parameters #### Path Parameters - **id** (integer) - Required - The unique identifier of the object. ### Response #### Success Response (200) - **object** (ObjectCreateViewModel) - The requested object details. #### Response Example { "id": 1, "name": "Sample Object" } ``` -------------------------------- ### POST /Commands/Run Source: https://geotek.pro/api/docs/v1/swagger.json Executes a command using a command template or raw text. ```APIDOC ## POST /Commands/Run ### Description This endpoint allows you to run commands. You can specify a command using either a command template or raw text. ### Method POST ### Endpoint /Commands/Run ### Parameters #### Request Body - **commandTemplateId** (integer) - Optional - The ID of the command template to use. - **commandText** (string) - Optional - The raw text of the command to execute. - **parameters** (object) - Optional - Parameters to be used with the command template. ### Request Example ```json { "commandTemplateId": 123, "parameters": { "param1": "value1", "param2": "value2" } } ``` ### Response #### Success Response (200) - **result** (string) - The result of the command execution. #### Response Example ```json { "result": "Command executed successfully." } ``` ``` -------------------------------- ### POST /api/commands/run Source: https://geotek.pro/api/docs/v1/swagger.json Executes specific commands on a list of objects. ```APIDOC ## POST /api/commands/run ### Description Sends commands to a set of objects, optionally using a template. ### Method POST ### Endpoint /api/commands/run ### Request Body - **objectIDs** (array) - Required - List of object IDs - **templateID** (integer, int32) - Optional - Command template ID - **command** (string) - Optional - Raw command string - **parameters** (array) - Optional - List of command parameters ### Request Example { "objectIDs": [1, 2, 3], "templateID": 10, "command": "REBOOT", "parameters": ["force"] } ``` -------------------------------- ### POST /Geozones/Import Source: https://geotek.pro/api/docs/v1/swagger.json Imports geozones from a KML file. ```APIDOC ## POST /Geozones/Import ### Description Imports geozones from a provided KML file. ### Method POST ### Endpoint /Geozones/Import ### Parameters #### Request Body - **file** (binary) - Required - The KML file to be imported. ### Response #### Success Response (200) - **OK** - Import successful. ``` -------------------------------- ### POST /Activities Source: https://geotek.pro/api/docs/v1/swagger.json Creates or retrieves activities based on a time interval. ```APIDOC ## POST /Activities ### Description This endpoint allows you to create a new activity or retrieve a list of activities within a specified time interval. If an activity with the provided ID exists, it will be updated; otherwise, a new one will be created. ### Method POST ### Endpoint /Activities ### Parameters #### Request Body - **startTime** (string) - Required - The start of the time interval. - **endTime** (string) - Required - The end of the time interval. ### Request Example ```json { "startTime": "2023-01-01T00:00:00Z", "endTime": "2023-01-01T23:59:59Z" } ``` ### Response #### Success Response (200) - **activities** (array) - A list of activities matching the criteria. #### Response Example ```json [ { "id": 1, "name": "Sample Activity", "startTime": "2023-01-01T10:00:00Z", "endTime": "2023-01-01T11:00:00Z" } ] ``` ``` -------------------------------- ### KeySyncViewModel Source: https://geotek.pro/api/docs/v1/swagger.json Provides details about key synchronization status, including object and key names, and flags for add, delete, or update operations. ```APIDOC ## KeySyncViewModel ### Description Represents the synchronization status of a key associated with an object. ### Properties - **objectId** (integer, int32) - The ID of the object. - **keyId** (integer, int32) - The ID of the key. - **objectName** (string, nullable) - The name of the object. - **keyName** (string, nullable) - The name of the key. - **needAdd** (boolean) - Indicates if the key needs to be added. - **needDelete** (boolean) - Indicates if the key needs to be deleted. - **needUpdate** (boolean) - Indicates if the key needs to be updated. ``` -------------------------------- ### POST /Commands Source: https://geotek.pro/api/docs/v1/swagger.json Executes a set of commands. The request body should contain the commands to be run. ```APIDOC ## POST /Commands ### Description Executes a set of commands. The request body should contain the commands to be run. ### Method POST ### Endpoint /Commands ### Request Body - **RunCommandsModel** (object) - Required - The model defining the commands to execute. ### Request Example ```json { "example": "request body" } ``` ### Response #### Success Response (200) - **OK** (string) - Indicates the commands were processed successfully. #### Response Example ```json { "example": "response body" } ``` ``` -------------------------------- ### GET /Geozones/Groups/{id} Source: https://geotek.pro/api/docs/v1/swagger.json Retrieves a geozone group by its ID. ```APIDOC ## GET /Geozones/Groups/{id} ### Description Get entity with specified id. ### Method GET ### Endpoint /Geozones/Groups/{id} ### Parameters #### Path Parameters - **id** (integer) - Required - The ID of the geozone group. ### Response #### Success Response (200) - **GeozoneGroupModel** - The geozone group details. #### Response Example ```json { "id": 1, "name": "Example Group" } ``` ``` -------------------------------- ### POST /Keys/resync Source: https://geotek.pro/api/docs/v1/swagger.json Resynchronizes keys based on a provided list of KeySyncModel objects. ```APIDOC ## POST /Keys/resync ### Description Resynchronizes keys. Accepts an array of KeySyncModel objects in the request body. ### Method POST ### Endpoint /Keys/resync ### Parameters #### Request Body - **items** (array of KeySyncModel) - Required - A list of KeySyncModel objects to resync. ### Request Example ```json [ { "keyId": 0, "syncStatus": 0 } ] ``` ### Response #### Success Response (200) - **description** (string) - Indicates the request was successful. #### Response Example (No specific response body provided in the source, typically an empty body or a success message for a 200 OK status.) ``` -------------------------------- ### KeySyncModel Source: https://geotek.pro/api/docs/v1/swagger.json Model used for synchronizing keys, specifying the object and key IDs involved. ```APIDOC ## KeySyncModel ### Description Specifies an object and a key for synchronization purposes. ### Properties - **objectId** (integer, int32) - The ID of the object. - **keyId** (integer, int32) - The ID of the key. ``` -------------------------------- ### POST /ObjectFile/ByInterval Source: https://geotek.pro/api/docs/v1/swagger.json Requests object files within a specific time interval, limited to 100 files. ```APIDOC ## POST /ObjectFile/ByInterval ### Description Request object files by time interval. Files count is limited by 100. ### Method POST ### Endpoint /ObjectFile/ByInterval ### Request Body - **ReportRequestModel** (object) - Required - The request model containing interval parameters. ### Response #### Success Response (200) - **status** (string) - OK ``` -------------------------------- ### POST /ObjectFile Source: https://geotek.pro/api/docs/v1/swagger.json Requests the object file nearest to a selected time. ```APIDOC ## POST /ObjectFile ### Description Request object file nearest to selected time. ### Method POST ### Endpoint /ObjectFile ### Request Body - **ObjectFileRequestModel** (object) - Required - The request model containing time and object details. ### Response #### Success Response (200) - **status** (string) - OK ``` -------------------------------- ### RawDeviceDataModel Source: https://geotek.pro/api/docs/v1/swagger.json Contains raw data received from a device. ```APIDOC ## RawDeviceDataModel ### Description Contains raw data received from a device. ### Properties - **objectId** (integer) - Object ID - **time** (integer) - Timestamp of the data - **lat** (number) - Latitude - **lng** (number) - Longitude - **alt** (integer) - Altitude - **speed** (integer) - Speed - **satCount** (integer) - Number of satellites - **dir** (integer) - Direction - **properties** (object) - Additional properties with float values ``` -------------------------------- ### UserCreateViewModel Data Structure Source: https://geotek.pro/api/docs/v1/swagger.json Defines the schema required for creating or updating user accounts in the system. ```APIDOC ## UserCreateViewModel ### Description Represents the data required to create a new user or update existing user profile information. ### Request Body - **id** (integer) - Required - Unique user ID. - **name** (string) - Required - User display name (3-40 characters). - **email** (string) - Required - User email address. - **password** (string) - Required - User account password. - **isDisabled** (boolean) - Optional - Status of the user account. - **phoneNumber** (string) - Optional - Contact phone number. - **timeZone** (string) - Optional - User preferred timezone. ``` -------------------------------- ### GET /Geozones/{id} Source: https://geotek.pro/api/docs/v1/swagger.json Retrieves a specific geozone entity by its ID. ```APIDOC ## GET /Geozones/{id} ### Description Fetches details for a specific geozone entity using its unique identifier. ### Method GET ### Endpoint /Geozones/{id} ### Parameters #### Path Parameters - **id** (integer) - Required - The unique ID of the geozone. ### Response #### Success Response (200) - **GeozoneViewModel** (object) - The details of the requested geozone. ``` -------------------------------- ### POST /ObjectsHistory/DriverSessions Source: https://geotek.pro/api/docs/v1/swagger.json Request driver sessions for one or all objects over a specified interval. ```APIDOC ## POST /ObjectsHistory/DriverSessions ### Description Request driver sessions of one or all objects for a selected interval. Object Id can be set to zero to request driver sessions of all user objects. ### Method POST ### Endpoint /ObjectsHistory/DriverSessions ### Request Body - **ReportRequestModel** (object) - Required - The request model containing interval and object identification details. ### Response #### Success Response (200) - **Data** (array) - List of driver sessions. #### Error Response (403) - **ErrorReply** (object) - Forbidden access. ``` -------------------------------- ### Build Route using Waypoints Source: https://geotek.pro/api/docs/v1/swagger.json Constructs a route based on a sequence of waypoints. ```APIDOC ## POST /websites/geotek_pro_api/Directions ### Description Builds a route by providing a list of geographical coordinates as waypoints. ### Method POST ### Endpoint /websites/geotek_pro_api/Directions ### Parameters #### Request Body - **(array of objects)** - Required - A list of coordinate objects representing the waypoints for the route. - **latitude** (number) - Required - The latitude of the waypoint. - **longitude** (number) - Required - The longitude of the waypoint. ### Request Example ```json [ { "latitude": 40.7128, "longitude": -74.0060 }, { "latitude": 34.0522, "longitude": -118.2437 } ] ``` ### Response #### Success Response (200) - **(array of objects)** - A list of coordinate objects representing the calculated route. #### Response Example ```json [ { "latitude": 40.7128, "longitude": -74.0060 }, { "latitude": 34.0522, "longitude": -118.2437 } ] ``` ``` -------------------------------- ### GET /Geocoder/{address} Source: https://geotek.pro/api/docs/v1/swagger.json Retrieves geographical coordinates for a given address. ```APIDOC ## GET /Geocoder/{address} ### Description Find coordinates using address. ### Method GET ### Endpoint /Geocoder/{address} ### Parameters #### Path Parameters - **address** (string) - Required - The address to geocode. ### Response #### Success Response (200) - **Array of CoordinateModel** - A list of coordinates matching the address. #### Response Example ```json [ { "latitude": 40.7128, "longitude": -74.0060 } ] ``` ``` -------------------------------- ### PUT /RawData Source: https://geotek.pro/api/docs/v1/swagger.json Uploads device data to the server. Accepts data in JSON format. ```APIDOC ## PUT /RawData ### Description Uploads device data to the server. Accepts data in JSON format. ### Method PUT ### Endpoint /RawData ### Parameters None ### Request Body - **RawDeviceDataModel** (array) - Required - An array of RawDeviceDataModel objects representing the device data. ### Request Example ```json [ { "deviceId": "device123", "timestamp": "2023-10-27T10:00:00Z", "data": { "speed": 60, "latitude": 40.7128, "longitude": -74.0060 } } ] ``` ### Response #### Success Response (200) - **(No specific schema defined, returns OK)** #### Response Example ```json { "message": "OK" } ``` ``` -------------------------------- ### POST /ObjectsHistory/DailyStat Source: https://geotek.pro/api/docs/v1/swagger.json Request daily statistics for one or all objects over a specified interval. ```APIDOC ## POST /ObjectsHistory/DailyStat ### Description Request daily statistics of one or all objects for a selected interval. Object Id can be set to zero to request statistics for all user objects. ### Method POST ### Endpoint /ObjectsHistory/DailyStat ### Request Body - **ReportRequestModel** (object) - Required - The request model containing interval and object identification details. ### Response #### Success Response (200) - **Data** (array) - List of daily statistics. #### Error Response (403) - **ErrorReply** (object) - Forbidden access. ``` -------------------------------- ### GET /ObjectEvents/{id} Source: https://geotek.pro/api/docs/v1/swagger.json Retrieves active events for a specific device by ID. ```APIDOC ## GET /ObjectEvents/{id} ### Description Request active events list for device with specified id. ### Method GET ### Endpoint /ObjectEvents/{id} ### Parameters #### Path Parameters - **id** (integer) - Required - The unique identifier of the device. ### Response #### Success Response (200) - **status** (string) - OK ``` -------------------------------- ### POST /Geozones/Export Source: https://geotek.pro/api/docs/v1/swagger.json Exports a list of geozones into a KML file format. ```APIDOC ## POST /Geozones/Export ### Description Exports the specified list of geozone IDs into a KML file for external use. ### Method POST ### Endpoint /Geozones/Export ### Request Body - **ids** (array of integers) - Required - List of geozone IDs to include in the export. ### Response #### Success Response (200) - **file** (binary) - KML file content. ``` -------------------------------- ### Token Authentication API Source: https://geotek.pro/api/docs/v1/swagger.json Endpoint for requesting system access tokens using user credentials. ```APIDOC ## POST /Token ### Description Requests a system access token using username and password. Culture and subuser ID can also be set. ### Method POST ### Endpoint /Token ### Parameters None ### Request Body - **(object)** - LoginModel - Contains user credentials and optional parameters. ### Request Example ```json { "userName": "string", "password": "string", "culture": "string", "subUserId": 0 } ``` ### Response #### Success Response (200) - **(object)** - TokenReply - Contains the access token and related information. #### Response Example ```json { "token": "string", "expiresIn": 0 } ``` #### Error Response (403) - **(object)** - ErrorReply - Details about the authentication failure. #### Response Example None ``` -------------------------------- ### Get Driver Group by ID Source: https://geotek.pro/api/docs/v1/swagger.json Retrieves a specific driver group by its ID. ```APIDOC ## GET /websites/geotek_pro_api/Drivers/Groups/{id} ### Description Retrieves details of a driver group using its unique identifier. ### Method GET ### Endpoint /websites/geotek_pro_api/Drivers/Groups/{id} ### Parameters #### Path Parameters - **id** (integer) - Required - The unique identifier of the driver group. ### Request Example None ### Response #### Success Response (200) - **(object)** - Details of the driver group. #### Response Example ```json { "id": 1, "name": "Sample Driver Group" } ``` ``` -------------------------------- ### GET /RouteSheets/{id} Source: https://geotek.pro/api/docs/v1/swagger.json Retrieves a specific route sheet entity by its unique identifier. ```APIDOC ## GET /RouteSheets/{id} ### Description Get entity with specified id. ### Method GET ### Endpoint /RouteSheets/{id} ### Parameters #### Path Parameters - **id** (integer) - Required - The unique identifier of the route sheet. ### Response #### Success Response (200) - **data** (RouteSheetViewModel) - The route sheet entity details. ``` -------------------------------- ### POST /Reports/Moto Source: https://geotek.pro/api/docs/v1/swagger.json Requests a report on the operational status of equipment (ignition, tipper, etc.) for a selected object. The requested interval is limited to one month. ```APIDOC ## POST /Reports/Moto ### Description Requests a report on the operational status of equipment (ignition, tipper, etc.) for a selected object. If TrendID is not set, the system will search for ENGINE or MOTO trends of the object. The requested interval is limited to one month. ### Method POST ### Endpoint /Reports/Moto ### Parameters None ### Request Body - **ReportWithTrendRequestModel** (object) - Required - The request model for generating the report. ### Request Example ```json { "objectId": "object456", "startTime": "2023-09-01T00:00:00Z", "endTime": "2023-09-30T23:59:59Z", "trendId": null } ``` ### Response #### Success Response (200) - **(No specific schema defined, returns OK)** #### Error Response (403) - **ErrorReply** (object) - Returned if the request is forbidden. #### Response Example (Success) ```json { "message": "OK" } ``` #### Response Example (Error) ```json { "errorCode": 403, "errorMessage": "Access denied." } ``` ``` -------------------------------- ### POST /ObjectCheckup Source: https://geotek.pro/api/docs/v1/swagger.json Requests all checkups for a selected interval. ```APIDOC ## POST /ObjectCheckup ### Description Request all checkups for a selected interval. ### Method POST ### Endpoint /ObjectCheckup ### Request Body - **ReportRequestModel** (object) - Required - The interval criteria for the report. ### Response #### Success Response (200) - **OK** - Checkup data retrieved. ``` -------------------------------- ### POST /api/reports/driver-object Source: https://geotek.pro/api/docs/v1/swagger.json Generates a report based on driver and object activity within a specified timeframe. ```APIDOC ## POST /api/reports/driver-object ### Description Retrieves a report for a specific driver and object within a given time range. ### Method POST ### Endpoint /api/reports/driver-object ### Request Body - **from** (integer, int64) - Required - Start timestamp - **till** (integer, int64) - Required - End timestamp - **driverId** (integer, int32) - Optional - ID of the driver - **objectId** (integer, int32) - Optional - ID of the object ### Request Example { "from": 1672531200, "till": 1672617600, "driverId": 123, "objectId": 456 } ``` -------------------------------- ### User ViewModel Source: https://geotek.pro/api/docs/v1/swagger.json Represents a user's profile information, including personal details, status, and permissions. ```APIDOC ## User ViewModel ### Description Represents a user's profile information. ### Properties - **id** (integer) - User's unique identifier. - **name** (string) - User's full name (min 3, max 40 characters). - **email** (string) - User's email address. - **isDisabled** (boolean) - Indicates if the user account is disabled. - **parentUserId** (integer) - ID of the parent user, if applicable. - **loginDate** (integer) - Timestamp of the last login. - **mask** (integer) - Bitmask for user permissions. - **interfacePermissions** (integer) - Bitmask for interface permissions. - **isEmailConfirmed** (boolean) - Indicates if the user's email has been confirmed. - **contactName** (string) - Contact person's name (nullable). - **orgName** (string) - Organization name (nullable). - **phoneNumber** (string) - User's phone number (nullable). - **timeZone** (string) - User's time zone (nullable). - **geocoder** (string) - Geocoder setting (nullable). - **language** (string) - User's preferred language (nullable). - **flags** (string) - User-specific flags (nullable). - **postAddress** (string) - User's postal address (nullable). - **fromLimitDate** (integer) - Start date for a time-limited access. - **tillLimitDate** (integer) - End date for a time-limited access. - **sharingString** (string) - String for sharing purposes (nullable). - **objectsCount** (integer) - Count of associated objects. - **geozonesCount** (integer) - Count of associated geozones. ``` -------------------------------- ### GET /FuelDelivery/{id} Source: https://geotek.pro/api/docs/v1/swagger.json Retrieves a specific fuel delivery record by its unique identifier. ```APIDOC ## GET /FuelDelivery/{id} ### Description Retrieves the details of a fuel delivery entity using its unique ID. ### Method GET ### Endpoint /FuelDelivery/{id} ### Parameters #### Path Parameters - **id** (integer) - Required - The unique identifier of the fuel delivery. ### Response #### Success Response (200) - **FuelDeliveryViewModel** (object) - The fuel delivery record details. #### Response Example { "id": 123, "fuelType": "Diesel", "amount": 500 } ``` -------------------------------- ### Get Completed Work by ID Source: https://geotek.pro/api/docs/v1/swagger.json Retrieves a specific completed work entry by its ID. ```APIDOC ## GET /websites/geotek_pro_api/CompletedWork/{id} ### Description Retrieves a specific completed work entry by its unique identifier. ### Method GET ### Endpoint /websites/geotek_pro_api/CompletedWork/{id} ### Parameters #### Path Parameters - **id** (integer) - Required - The unique identifier of the completed work entry. ### Request Example None ### Response #### Success Response (200) - **(object)** - Details of the completed work entry. #### Response Example ```json { "id": 1, "description": "Sample completed work" } ``` ``` -------------------------------- ### Raw Data API Source: https://geotek.pro/api/docs/index.html Endpoint for uploading raw device data to the server. ```APIDOC ## PUT /RawData ### Description Upload device data to the server ### Method PUT ### Endpoint /RawData ``` -------------------------------- ### PUT /Commands Source: https://geotek.pro/api/docs/v1/swagger.json Updates an existing command or creates a new one if the ID is not provided. ```APIDOC ## PUT /Commands ### Description Updates an existing command or creates a new one if the ID is not provided. ### Method PUT ### Endpoint /Commands ### Request Body - **CommandTemplateModel** (object) - Required - The command object to update or create. ### Request Example ```json { "example": "request body" } ``` ### Response #### Success Response (200) - **OK** (string) - Indicates the command was updated or created successfully. #### Response Example ```json { "example": "response body" } ``` ``` -------------------------------- ### User Self Registration API Source: https://geotek.pro/api/docs/v1/swagger.json Allows a new user to self-register for an account. ```APIDOC ## POST /Users/SelfRegister ### Description Enables a user to self-register for an account. This is the initial step in the user registration process. ### Method POST ### Endpoint /Users/SelfRegister ### Parameters #### Request Body - **userCreateViewModel** (UserCreateViewModel) - Required - Contains the necessary information to create a new user account. ### Request Example ```json { "userCreateViewModel": { "email": "newuser@example.com", "password": "StrongPassword123", "firstName": "John", "lastName": "Doe" } } ``` ### Response #### Success Response (200) Indicates that the user registration request was successful. Further actions like email confirmation might be required. ``` -------------------------------- ### POST /Reports/GeozoneVisit Source: https://geotek.pro/api/docs/v1/swagger.json Requests a report about geozone visits for a selected device. The requested interval is limited to 1 month. ```APIDOC ## POST /Reports/GeozoneVisit ### Description Requests a report about geozone visits for a selected device. The requested interval is limited to 1 month. ### Method POST ### Endpoint /Reports/GeozoneVisit ### Parameters #### Request Body - **(object)** - Required - Report request model. ### Request Example ```json { "deviceId": 123, "from": "2023-01-01", "to": "2023-01-31" } ``` ### Response #### Success Response (200) - **(object)** - OK #### Response Example ```json { "reportData": "..." } ``` ``` -------------------------------- ### Objects API Source: https://geotek.pro/api/docs/index.html Endpoints for managing objects, including retrieving lists of icons, sync keys, individual entities, and creating/updating/deleting entities. ```APIDOC ## GET /Objects/Icons ### Description Get list of icons used for objects. ### Method GET ### Endpoint /Objects/Icons ## GET /Objects/sync/{id} ### Description Get list of sync keys for object. ### Method GET ### Endpoint /Objects/sync/{id} ## PUT /Objects/sync/{id} ### Description Set list of sync keys for object. ### Method PUT ### Endpoint /Objects/sync/{id} ## GET /Objects/{id} ### Description Get entity with specified id. ### Method GET ### Endpoint /Objects/{id} ## DELETE /Objects/{id} ### Description Delete entity with specified id. ### Method DELETE ### Endpoint /Objects/{id} ## GET /Objects ### Description Get list of entities. ### Method GET ### Endpoint /Objects ## PUT /Objects ### Description Update/create entity. If id is not set, new entity will be created. ### Method PUT ### Endpoint /Objects ``` -------------------------------- ### POST /ObjectsHistory Source: https://geotek.pro/api/docs/v1/swagger.json Requests the history of an object for a specified interval (up to 1 month). Includes object track, trends, events, and files. ```APIDOC ## POST /ObjectsHistory ### Description Requests the history of an object for a specified interval (up to 1 month). Includes object track, trends, events, and files. ### Method POST ### Endpoint /ObjectsHistory ### Parameters #### Request Body - **ReportRequestModel** (object) - Required - The model containing the request parameters for the history report. ### Request Example ```json { "example": "request body for ReportRequestModel" } ``` ### Response #### Error Response (403) - **ErrorReply** (object) - Returned if the request is forbidden. #### Response Example ```json { "example": "error response for ErrorReply" } ``` ``` -------------------------------- ### PUT /Activities Source: https://geotek.pro/api/docs/v1/swagger.json Updates an existing activity or creates a new one if the ID is not provided. ```APIDOC ## PUT /Activities ### Description Updates an existing activity. If the `id` field is not provided, a new activity will be created. ### Method PUT ### Endpoint /Activities ### Parameters #### Request Body - **id** (integer) - Optional - The unique identifier of the activity to update. - **name** (string) - Required - The name of the activity. - **startTime** (string) - Required - The start time of the activity. - **endTime** (string) - Required - The end time of the activity. ### Request Example ```json { "id": 1, "name": "Updated Activity Name", "startTime": "2023-01-01T10:00:00Z", "endTime": "2023-01-01T11:00:00Z" } ``` ### Response #### Success Response (200) - **message** (string) - Confirmation message. #### Response Example ```json { "message": "Activity updated successfully." } ``` ``` -------------------------------- ### POST /Keys/reset Source: https://geotek.pro/api/docs/v1/swagger.json Resets the absolute balance of a specific key. Requires the key's ID as a path parameter. ```APIDOC ## POST /Keys/reset ### Description Resets the absolute balance of a specific key. ### Method POST ### Endpoint /Keys/reset ### Parameters #### Path Parameters - **id** (integer) - Required - The unique identifier of the key. ### Response #### Success Response (200) - **description** (string) - Indicates the request was successful. #### Response Example (No specific response body provided in the source, typically an empty body or a success message for a 200 OK status.) ```