REST API

API Reference

The UTMStandard REST API lets you create and manage links programmatically. Available on Growth plan and above.

Authentication

All API requests require a Bearer token. Generate one in Settings → API Keys.

All requests

Authorization: Bearer lf_your_api_key

Base URL

https://utmstandard.com

Rate limits

PlanRequests per day
Growth1,000
Scale10,000
Enterprise50,000+

Rate limit headers are included in every response: X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset.

Quick example

Create a link

curl -X POST https://utmstandard.com/api/v1/links \
  -H "Authorization: Bearer lf_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "destinationUrl": "https://acme.com/spring-sale",
    "utmSource": "linkedin",
    "utmMedium": "social",
    "utmCampaign": "spring-sale-2026"
  }'

Links

GET/api/v1/links

List links in your workspace.

?cursor, ?limit (max 100), ?search, ?campaign, ?source, ?archived

POST/api/v1/links

Create a new link.

Body: { destinationUrl*, utmSource*, utmMedium, utmCampaign, utmTerm, utmContent, title, customShortCode }

GET/api/v1/links/:id

Get a single link by ID.

PATCH/api/v1/links/:id

Update link metadata.

Body: { title, notes, tags, archived, expiresAt }

DELETE/api/v1/links/:id

Delete a link permanently.

POST/api/v1/links/bulk

Create up to 500 links in one request. Growth plan required.

Body: [{ destinationUrl*, utmSource*, ... }, ...]

GET/api/v1/links/:id/analytics

Get click analytics for a link.

?days (default 30, max 365)

Templates

GET/api/v1/templates

List all UTM templates.

GET/api/v1/templates/:id

Get a single template.

PATCH/api/v1/templates/:id

Update a template.

Body: { name, description, utmSource, utmMedium, utmCampaign, utmTerm, utmContent }

DELETE/api/v1/templates/:id

Delete a template.

Conventions & values

GET/api/v1/conventions

List naming conventions.

GET/api/v1/conventions/:id

Get a single convention.

GET/api/v1/saved-values

Get saved UTM values grouped by parameter.

Domains

GET/api/v1/domains

List custom domains.

POST/api/v1/domains

Add a custom domain.

Body: { domain }

DELETE/api/v1/domains/:id

Remove a custom domain.

POST/api/v1/domains/:id/verify

Trigger DNS verification for a domain.

API key scopes

When creating an API key you can restrict it to specific scopes:

links:readlinks:writelinks:deletetemplates:readtemplates:writeconventions:readanalytics:readdomains:readsaved-values:read