SMARTTILE · SERVICEAUTOMATE™ · SMARTTILE PARTNER API & WEBHOOKS

Your network data, in your own systems, the second it changes

A versioned REST API at /api/v1, signed outbound webhooks and a live event stream — so a monitoring broker, a BI tool or your own automation can read devices, locations, circuits, alerts and tickets, acknowledge alerts, open tickets and push events in, scoped to exactly the companies you are granted.

SmartTile integrates with
Any system that speaks HTTPS: SmartTile Public Partner API v1 (OpenAPI 3 spec at /api/v1/openapi.json) with OAuth2 client-credentials or HMAC-SHA256 signed requests, HMAC-signed webhooks and a server-sent-events stream.
How SmartTile automates it
SmartTile pushes device down / restored / flapping, alert, ticket, escalation and config-backup events to your webhook within seconds, retrying on a back-off; your system can read state, acknowledge alerts, open or annotate tickets and post inbound events that SmartTile turns into alerts or tickets.
Category
ServiceServiceAutomate™

Every outage SmartTile sees is useful somewhere else too — a partner's monitoring console, a data warehouse, a runbook tool. The Partner API makes SmartTile a source for those systems instead of another screen to watch. Access is provisioned by SmartChoice: a partner record is created with its own scopes, company grants and limits, and from then on the partner manages its own webhooks through the API. The developer guides are public at /developers.

What the API does

Read the estate

Organizations and sub-organizations, locations, devices and live device status, device telemetry and history, circuits, alerts, tickets and an events timeline — each behind its own read: scope, paged, tenant-filtered.

Act on it

Acknowledge an alert. Open a ticket on a device (through SmartTile's normal ticket path, so the first journal names the partner and the site), update it, add notes.

Push events in

/inbound/incidents opens a ticket; /inbound/events with critical severity on a known device raises an alert; /inbound/notifications is logged. Idempotent by event UUID; 30 events per device per minute.

Signed webhooks

Subscribe a URL to event types — device.hard_down, device.restored, device.flapping, alert.created/resolved/acknowledged, ticket.opened/note_added, escalation.*, config_backup.changed — with an optional company filter.

Live stream

GET /stream/events holds a server-sent-events connection with a 25-second heartbeat. Forward-only: it streams from connect time, it does not replay history.

Its own audit trail

GET /audit returns the partner's own request log. Every call is written to a hash-chained log that is re-verified every night at 03:15.

How it goes live

1Request access

SmartChoice creates the partner in the Partner API console (/admin/api/partners/new, SmartChoice super admins): contact, OAuth and/or HMAC, token lifetime, IP allow-list, CORS origins and rate limits.

2Grant

Scopes (least privilege — read:devices, write:tickets, …) and the companies — optionally narrowed to organizations — the partner may see.

3Credentials

An OAuth client id + secret, or an HMAC key id + secret. Each secret is shown once, at creation.

4Build and subscribe

Follow Quickstart, Auth and Webhooks at /developers, try calls in the API reference, then POST /webhooks and POST /webhooks/id/test.

SmartChoice · SmartTile ServiceAutomate™ — SmartTile Partner API & WebhooksPage 1 of 2
SMARTTILE · SERVICEAUTOMATE™ · SMARTTILE PARTNER API & WEBHOOKS — EXACTLY WHAT THE API EXPOSES, AND HOW IT IS KEPT SAFE

Endpoints (base /api/v1)

POST/oauth/token · /oauth/revokeClient-credentials bearer token
GET/organizations · /organizations/{id}/sub-organizationsread:organizations
GET/locations · /locations/{id}read:locations
GET/devices · /devices/{id} · /devices/{id}/statusread:devices
GET/devices/{id}/telemetry · /devices/{id}/historyread:telemetry
GET/circuits · /alerts · /tickets · /eventsread:circuits · alerts · tickets · events
POST/alerts/{id}/acknowledgewrite:alerts
POST/tickets · PATCH /tickets/{id} · POST /tickets/{id}/noteswrite:tickets
POST/inbound/events · /notifications · /incidentswrite:inbound
GET/stream/eventsread:stream (SSE)
POST/webhooks · PATCH/DELETE /webhooks/{id} · /test · /deliverieswrite:webhooks
GET/audit · /health · /openapi.jsonread:audit · no auth · no auth

Webhook delivery

Signed

X-SmartTile-Signature: v1= HMAC-SHA256 of timestamp.body with your subscription's secret, plus event id, type, delivery id and timestamp headers.

Retried

10-second timeout; retries at 30 s, 2 min, 10 min, 1 h, 6 h and 24 h. GET /webhooks/id/deliveries shows every attempt and response code.

Paused, not lost silently

After 6 consecutive failures the subscription is paused and SmartChoice is e-mailed; you re-enable it with PATCH.

Security and control

Only the companies you are granted

Every request loads the partner's company grants (and organization filters) and applies them to the query; a webhook only fires for events in a granted company.

Secrets never stored in the clear

OAuth client secrets and HMAC secrets are encrypted at rest; bearer tokens are stored only as SHA-256 hashes. Signed requests carry a nonce and must be within 5 minutes.

Limits you can see

Per-minute and per-hour limits per partner, returned on every response in X-RateLimit-* headers; IP allow-list by CIDR; errors as RFC 9457 problem+json.

Revocable at once

SmartChoice can suspend a partner, revoke a key or token, or revoke a webhook; access ends on the next request.

Your systems hear about the outage when SmartTile does — signed, scoped and on the record.
SmartChoice · smarttile.smartchoiceus.com · (800) 217-3096, 24×7 · verified 2026-09-28Page 2 of 2