SPOTIO User Tracking API
User tracking API. You can configure Spotio to track users which using the app. Using the following methods you can retrieve tracking data.
User tracking API. You can configure Spotio to track users which using the app. Using the following methods you can retrieve tracking data.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/spotio-user-tracking-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
version: v1
title: Spotio 2.0 User Tracking API
description: User tracking API. You can configure Spotio to track users which using the app. Using the following methods you can retrieve tracking data.
contact:
name: Contact us
url: https://spotio.com/contact/
email: support@spotio.com
servers:
- url: https://api.spotio2.com
description: Production
- url: https://app-test.spotio2.com
description: Test
security:
- Bearer: []
tags:
- name: User Tracking
description: User tracking API. You can configure Spotio to track users which using the app. Using the following methods you can retrieve tracking data.
paths:
/api/UserTracking/map/users:
get:
tags:
- User Tracking
summary: Fetch users for the area
parameters:
- name: area
in: query
description: Points describing area separated by comma.
schema:
type: string
- name: userIds
in: query
description: User ids separated by comma.
schema:
type: string
responses:
'200':
description: Success
content:
text/plain:
schema:
type: array
items:
$ref: '#/components/schemas/Spotio.Frontend.ViewModel.UserTracking.TrackingActivity'
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Spotio.Frontend.ViewModel.UserTracking.TrackingActivity'
text/json:
schema:
type: array
items:
$ref: '#/components/schemas/Spotio.Frontend.ViewModel.UserTracking.TrackingActivity'
'400':
description: Bad Request
content:
text/plain:
schema:
$ref: '#/components/schemas/Spotio.Infrastructure.Common.DataModel.Error.Error'
application/json:
schema:
$ref: '#/components/schemas/Spotio.Infrastructure.Common.DataModel.Error.Error'
text/json:
schema:
$ref: '#/components/schemas/Spotio.Infrastructure.Common.DataModel.Error.Error'
'401':
description: Unauthorized
'415':
description: Client Error
content:
text/plain:
schema:
$ref: '#/components/schemas/Spotio.Infrastructure.Common.DataModel.Error.Error'
application/json:
schema:
$ref: '#/components/schemas/Spotio.Infrastructure.Common.DataModel.Error.Error'
text/json:
schema:
$ref: '#/components/schemas/Spotio.Infrastructure.Common.DataModel.Error.Error'
'422':
description: Client Error
content:
text/plain:
schema:
$ref: '#/components/schemas/Spotio.Infrastructure.Common.DataModel.Error.Error'
application/json:
schema:
$ref: '#/components/schemas/Spotio.Infrastructure.Common.DataModel.Error.Error'
text/json:
schema:
$ref: '#/components/schemas/Spotio.Infrastructure.Common.DataModel.Error.Error'
'500':
description: Server Error
content:
text/plain:
schema:
$ref: '#/components/schemas/Spotio.Infrastructure.Common.DataModel.Error.Error'
application/json:
schema:
$ref: '#/components/schemas/Spotio.Infrastructure.Common.DataModel.Error.Error'
text/json:
schema:
$ref: '#/components/schemas/Spotio.Infrastructure.Common.DataModel.Error.Error'
security:
- Bearer: []
servers:
- url: https://api.spotio2.com
description: Production
- url: https://app-test.spotio2.com
description: Test
operationId: getApiUserTrackingMapUsers
x-operation-id-source: derived
/api/UserTracking/map/gpstrails:
get:
tags:
- User Tracking
summary: Get GPS trails for the users
parameters:
- name: filterId
in: query
description: Reference to the saved filter.
schema:
type: string
responses:
'200':
description: Success
content:
text/plain:
schema:
type: array
items:
$ref: '#/components/schemas/Spotio.Frontend.ViewModel.UserTracking.GpsTrail'
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Spotio.Frontend.ViewModel.UserTracking.GpsTrail'
text/json:
schema:
type: array
items:
$ref: '#/components/schemas/Spotio.Frontend.ViewModel.UserTracking.GpsTrail'
'400':
description: Bad Request
content:
text/plain:
schema:
$ref: '#/components/schemas/Spotio.Infrastructure.Common.DataModel.Error.Error'
application/json:
schema:
$ref: '#/components/schemas/Spotio.Infrastructure.Common.DataModel.Error.Error'
text/json:
schema:
$ref: '#/components/schemas/Spotio.Infrastructure.Common.DataModel.Error.Error'
'401':
description: Unauthorized
'415':
description: Client Error
content:
text/plain:
schema:
$ref: '#/components/schemas/Spotio.Infrastructure.Common.DataModel.Error.Error'
application/json:
schema:
$ref: '#/components/schemas/Spotio.Infrastructure.Common.DataModel.Error.Error'
text/json:
schema:
$ref: '#/components/schemas/Spotio.Infrastructure.Common.DataModel.Error.Error'
'422':
description: Client Error
content:
text/plain:
schema:
$ref: '#/components/schemas/Spotio.Infrastructure.Common.DataModel.Error.Error'
application/json:
schema:
$ref: '#/components/schemas/Spotio.Infrastructure.Common.DataModel.Error.Error'
text/json:
schema:
$ref: '#/components/schemas/Spotio.Infrastructure.Common.DataModel.Error.Error'
'500':
description: Server Error
content:
text/plain:
schema:
$ref: '#/components/schemas/Spotio.Infrastructure.Common.DataModel.Error.Error'
application/json:
schema:
$ref: '#/components/schemas/Spotio.Infrastructure.Common.DataModel.Error.Error'
text/json:
schema:
$ref: '#/components/schemas/Spotio.Infrastructure.Common.DataModel.Error.Error'
security:
- Bearer: []
servers:
- url: https://api.spotio2.com
description: Production
- url: https://app-test.spotio2.com
description: Test
operationId: getApiUserTrackingMapGpstrails
x-operation-id-source: derived
/api/UserTracking/last-position:
get:
tags:
- User Tracking
summary: Get the calling user's last known position (tracking or last logged activity)
responses:
'200':
description: Success
content:
text/plain:
schema:
$ref: '#/components/schemas/Spotio.Frontend.ViewModel.UserTracking.LastUserPosition'
application/json:
schema:
$ref: '#/components/schemas/Spotio.Frontend.ViewModel.UserTracking.LastUserPosition'
text/json:
schema:
$ref: '#/components/schemas/Spotio.Frontend.ViewModel.UserTracking.LastUserPosition'
'400':
description: Bad Request
content:
text/plain:
schema:
$ref: '#/components/schemas/Spotio.Infrastructure.Common.DataModel.Error.Error'
application/json:
schema:
$ref: '#/components/schemas/Spotio.Infrastructure.Common.DataModel.Error.Error'
text/json:
schema:
$ref: '#/components/schemas/Spotio.Infrastructure.Common.DataModel.Error.Error'
'401':
description: Unauthorized
security:
- Bearer: []
servers:
- url: https://api.spotio2.com
description: Production
- url: https://app-test.spotio2.com
description: Test
operationId: getApiUserTrackingLastPosition
x-operation-id-source: derived
/api/UserTracking/settings:
get:
tags:
- User Tracking
summary: Get user location sharing settings
responses:
'200':
description: Success
content:
text/plain:
schema:
$ref: '#/components/schemas/Spotio.Frontend.ViewModel.UserTracking.LocationSharingSettingsResponse'
application/json:
schema:
$ref: '#/components/schemas/Spotio.Frontend.ViewModel.UserTracking.LocationSharingSettingsResponse'
text/json:
schema:
$ref: '#/components/schemas/Spotio.Frontend.ViewModel.UserTracking.LocationSharingSettingsResponse'
security:
- Bearer: []
servers:
- url: https://api.spotio2.com
description: Production
- url: https://app-test.spotio2.com
description: Test
operationId: getApiUserTrackingSettings
x-operation-id-source: derived
put:
tags:
- User Tracking
summary: Update user location sharing settings
requestBody:
content:
application/merge-patch+json:
schema:
$ref: '#/components/schemas/Spotio.Frontend.ViewModel.UserTracking.UpdateLocationSharingSettingsRequest'
application/json-patch+json:
schema:
$ref: '#/components/schemas/Spotio.Frontend.ViewModel.UserTracking.UpdateLocationSharingSettingsRequest'
application/json:
schema:
$ref: '#/components/schemas/Spotio.Frontend.ViewModel.UserTracking.UpdateLocationSharingSettingsRequest'
text/json:
schema:
$ref: '#/components/schemas/Spotio.Frontend.ViewModel.UserTracking.UpdateLocationSharingSettingsRequest'
application/*+json:
schema:
$ref: '#/components/schemas/Spotio.Frontend.ViewModel.UserTracking.UpdateLocationSharingSettingsRequest'
responses:
'200':
description: Success
content:
text/plain:
schema:
$ref: '#/components/schemas/Spotio.Frontend.ViewModel.UserTracking.LocationSharingSettingsResponse'
application/json:
schema:
$ref: '#/components/schemas/Spotio.Frontend.ViewModel.UserTracking.LocationSharingSettingsResponse'
text/json:
schema:
$ref: '#/components/schemas/Spotio.Frontend.ViewModel.UserTracking.LocationSharingSettingsResponse'
security:
- Bearer: []
servers:
- url: https://api.spotio2.com
description: Production
- url: https://app-test.spotio2.com
description: Test
operationId: putApiUserTrackingSettings
x-operation-id-source: derived
components:
schemas:
Spotio.Frontend.ViewModel.UserTracking.LocationSharingSettingsResponse:
type: object
additionalProperties: false
properties:
timeFrame:
$ref: '#/components/schemas/Spotio.UserTracking.Client.DTO.LocationSharing.TimeFrameDto'
workingHours:
$ref: '#/components/schemas/Spotio.Frontend.ViewModel.UserTracking.WorkingHours'
Spotio.Frontend.ViewModel.UserTracking.Location:
type: object
additionalProperties: false
properties:
at:
type: string
description: The date and time when the location was recorded.
format: date-time
lat:
type: number
description: The latitude of the location.
format: double
lng:
type: number
description: The longitude of the location.
format: double
Spotio.Frontend.ViewModel.UserTracking.LastUserPosition:
type: object
additionalProperties: false
properties:
lat:
type:
- number
- 'null'
description: Latitude of the user's last known position; null when unknown.
format: double
lng:
type:
- number
- 'null'
description: Longitude of the user's last known position; null when unknown.
format: double
updatedAt:
type:
- string
- 'null'
description: When the position was recorded; null when unknown.
format: date-time
Spotio.Infrastructure.Common.DataModel.Error.Error:
type: object
additionalProperties: false
properties:
errors:
readOnly: true
Spotio.UserTracking.Client.DTO.LocationSharing.TimeFrameDto:
type: string
enum:
- Always
- WorkingHours
- Never
Spotio.Frontend.ViewModel.UserTracking.UpdateLocationSharingSettingsRequest:
type: object
additionalProperties: false
properties:
timeFrame:
$ref: '#/components/schemas/Spotio.UserTracking.Client.DTO.LocationSharing.TimeFrameDto'
workingHours:
$ref: '#/components/schemas/Spotio.Frontend.ViewModel.UserTracking.WorkingHours'
Spotio.Frontend.ViewModel.UserTracking.GpsTrail:
type: object
additionalProperties: false
properties:
userId:
type:
- string
- 'null'
description: The unique identifier of the user.
userLocations:
type:
- array
- 'null'
description: The collection of GPS locations recorded by the user.
items:
$ref: '#/components/schemas/Spotio.Frontend.ViewModel.UserTracking.Location'
Spotio.Frontend.ViewModel.UserTracking.TrackingActivity:
type: object
additionalProperties: false
properties:
userId:
type:
- string
- 'null'
description: The unique identifier of the user.
lat:
type: number
description: The latitude of the user's location.
format: double
lng:
type: number
description: The longitude of the user's location.
format: double
online:
type: boolean
description: Whether the user is currently online.
Spotio.Frontend.ViewModel.UserTracking.WorkingHours:
type: object
additionalProperties: false
properties:
days:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/System.DayOfWeek'
from:
type: string
format: time
to:
type: string
format: time
System.DayOfWeek:
type: string
enum:
- Sunday
- Monday
- Tuesday
- Wednesday
- Thursday
- Friday
- Saturday
securitySchemes:
Bearer:
type: apiKey
description: 'Enter the Bearer Authorization string as following: `Bearer Generated-JWT-Token`'
name: Authorization
in: header