UTMPro REST API v1

Programmatically manage links, track events, and access analytics.

Base URL

https://app.utmpro.link/api/v1

Authentication

All API requests require a Bearer token. Create API keys in Settings → API Keys.

curl -H "Authorization: Bearer YOUR_API_KEY" \
     https://app.utmpro.link/api/v1/links

Domains

GET/api/v1/domains

List workspace domains.

POST/api/v1/domains

Add custom domain. Body: {"domain": "links.example.com"}

Tags

GET/api/v1/tags

List workspace tags.

POST/api/v1/tags

Create tag. Body: {"name": "campaign-a", "color": "#22c55e"}

Analytics

GET/api/v1/analytics

Get workspace analytics summary. Returns: clicks, unique clicks, time series, countries, devices, browsers, referrers, top links.

Query: workspaceId (required), interval (1h|24h|7d|30d, default 24h)

Events (Conversion Tracking)

POST/api/v1/events/lead

Track a lead conversion.

{ "linkId": "lnk_abc123", "customerEmail": "user@example.com", "eventName": "signup" }
POST/api/v1/events/sale

Track a sale with revenue attribution.

{ "linkId": "lnk_abc123", "amount": 99.00, "currency": "USD", "customerEmail": "user@example.com", "referralCode": "PARTNER123" }

Partner API

POST/api/v1/partner/sales

Record a partner sale with automatic commission calculation.

GET/api/v1/partner/program

Get partner program info for a workspace.

Workspace

GET/api/v1/workspace

Get workspace info including plan, usage, member count.

Error Codes

400Bad Request — Invalid parameters
401Unauthorized — Missing or invalid API key
403Forbidden — Insufficient permissions/scopes
404Not Found — Resource doesn't exist
429Too Many Requests — Rate limit exceeded
500Internal Server Error

Rate Limits

PlanRequests/minRequests/hour
Free601,000
Pro3005,000
Business1,00020,000
Advanced5,000100,000

When rate limited, the response includes a Retry-After header.