API-First Platform
TagFinder is an API-first platform. Every feature available in the dashboard is also available through the REST API. This means you can build custom integrations, automate workflows, and let AI agents operate your IoT infrastructure programmatically.
The API follows OpenAPI 3.0, uses JWT authentication via Keycloak, and supports real-time data streaming via WebSocket and Server-Sent Events (SSE).
API Capabilities
REST API
Full CRUD for assets, tags, sensor data, geofences, buildings, floors, and alert rules. JSON responses with pagination.
Webhook Events
Real-time event delivery: alert triggered, geofence enter/exit, tag offline, temperature excursion, transit complete.
WebSocket Streaming
Live telemetry at 1-2 Hz. Stream tag positions, sensor readings, and network status in real time.
OIDC/OAuth2 Auth
Keycloak-powered authentication. PKCE flow for SPAs. Client credentials for service-to-service. JWT tokens.
MCP Server
Model Context Protocol server that lets AI agents (Claude, GPT, Gemini) interact with your IoT data natively.
ERP/WMS Integration
Templates for SAP, Oracle WMS, and Microsoft Dynamics. Map TagFinder assets to your existing systems.
Python SDK
The official Python SDK provides a high-level client for all API operations, plus a CLI for terminal-based workflows.
pip install tagfinder # Core SDK pip install tagfinder[cli] # With CLI (tf command) pip install tagfinder[websocket] # With WebSocket streaming pip install tagfinder[all] # Everything
from tagfinder import TagFinderClient
tf = TagFinderClient(
client_id="YOUR_CLIENT_ID",
client_secret="YOUR_CLIENT_SECRET",
org_id="acme-corp",
)
# List all tags
tags = tf.tags.list()
for tag in tags:
print(f"{tag.tag_id}: {tag.tag_name} ({tag.status})")
# Query sensor data
data = tf.tags.sensor_data("wirepas:12345", from_time="2026-03-11T00:00:00Z")
for reading in data.readings:
print(f"{reading.timestamp}: {reading.sensor_readings}")
# Get latest positions
positions = tf.positions.latest()
for pos in positions:
print(f"{pos.tag_name} in {pos.zone_name}")CLI Reference
tf tags list # List all tags tf tags get wirepas:12345 # Tag details tf tags sensor-data wirepas:12345 --from 2026-03-11 # Sensor readings tf positions latest # Latest positions tf assets list # List assets tf alerts list-rules # Alert rules tf alerts history --limit 10 # Recent alerts tf version # SDK version
API Coverage
| Sub-client | Service | Operations |
|---|---|---|
| tf.tags | REST API | list, get, update, sensor_data |
| tf.assets | REST API | list, get, create, update, delete, attach_tag, detach_tag |
| tf.positions | REST API | latest, history, asset_position, rtls |
| tf.alerts | Alerts API | list_rules, get_rule, create_rule, update_rule, delete_rule, history |
| tf.rtls.buildings | RTLS API | list, get, create, update, delete |
| tf.rtls.floors | RTLS API | list, get, create, upload_image, delete |
| tf.rtls.geofences | RTLS API | list, get, create, update, delete |
| tf.ingest | Ingest API | upload_csv, push_sensor_data, push_position |
| tf.wirepas | Wirepas API | list_devices, get_device, list_gateways |
| tf.live | Live API | stream_telemetry (async), stream_wirepas (async) |
Developer Resources
Python SDK (GitHub)
Source code, installation guide, full API reference.
Integration Examples (GitHub)
Python, Node.js, and webhook examples. Ready to run.
Developer Portal
Interactive API explorer, authentication guide, webhook catalog.
Integrations & AI
MCP server, AI tool definitions, ERP/WMS templates.
