openapi: 3.0.3
info:
title: Trimble Mobile Manager Catalyst Positioning API
description: The Trimble Mobile Manager (TMM) API provides developer interfaces for integrating high-accuracy GNSS positioning from connected Trimble receivers into custom mobile applications. Offers a local REST API for system information and WebSocket stream initiation, plus real-time GNSS position delivery via WebSocket. Supports Trimble Catalyst DA2, R580, R780, R12i, R980, and SP100 receivers. Runs locally on Android or iOS devices where Trimble Mobile Manager is installed.
version: 1.0.0
contact:
url: https://developer.trimble.com/docs/mobile-manager/
servers:
- url: http://localhost:{apiPort}
description: Local Trimble Mobile Manager API server (running on device)
variables:
apiPort:
default: '8080'
description: API port returned by tmmInfo endpoint
security:
- basicAuth: []
tags:
- name: Positioning
paths:
/api/v1/positionStream:
get:
operationId: startPositionStream
summary: Start Position Stream
description: Initiates position streaming from the connected GNSS receiver. Returns the WebSocket port number for connecting to the position stream. After calling this endpoint, open a WebSocket connection to ws://localhost:{port} to receive real-time GNSS position data.
tags:
- Positioning
parameters:
- name: format
in: query
schema:
type: string
enum:
- locationV1
- locationV2
default: locationV2
description: Position data format version. locationV2 includes extended fields for IMU orientation, TIP positions, and reference frame data.
responses:
'200':
description: WebSocket port for position stream
content:
application/json:
schema:
$ref: '#/components/schemas/PositionStreamResponse'
'401':
description: Unauthorized
components:
schemas:
PositionStreamResponse:
type: object
description: Response containing WebSocket port for position streaming
required:
- port
properties:
port:
type: integer
description: WebSocket port to connect to for position stream
format:
type: string
description: Position format version that will be streamed
securitySchemes:
basicAuth:
type: http
scheme: basic
description: Access code generated using SHA256 hash of (applicationId + currentUTCTime), Base64 encoded. Valid for 1 second only. Must be regenerated per request.