MASK

# Developer Documentation

API Reference

Complete REST API documentation. Every feature in the dashboard is available via our API with scoped authentication, webhooks, and predictable resource-oriented URLs.

# Base URL

https://api.mask.bz/v1

All API requests are made to this base URL over HTTPS. HTTP requests are rejected. All request and response bodies are JSON-encoded.

# Authentication

Authorization: Bearer mk_live_your_api_key

Authenticate by including your API key in the Authorization header. Keys are scoped to workspaces and can be created from Settings → API Keys.

# Quick reference

Common endpoints.

POST/v1/links
GET/v1/links
GET/v1/links/:id
PATCH/v1/links/:id
DELETE/v1/links/:id
GET/v1/analytics/clicks
POST/v1/bio-pages
POST/v1/webhooks

# Example

Create a short link.

Request

curl -X POST https://api.mask.bz/v1/links \
  -H "Authorization: Bearer mk_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://example.com/long-page",
    "slug": "my-link",
    "domain": "go.yourbrand.com",
    "tags": ["campaign-q1"],
    "utm_source": "twitter",
    "utm_medium": "social",
    "expires_at": "2026-12-31T23:59:59Z"
  }'

Response

{
  "id": "lnk_abc123",
  "url": "https://example.com/long-page",
  "short_url": "https://go.yourbrand.com/my-link",
  "slug": "my-link",
  "domain": "go.yourbrand.com",
  "tags": ["campaign-q1"],
  "clicks": 0,
  "utm_source": "twitter",
  "utm_medium": "social",
  "expires_at": "2026-12-31T23:59:59Z",
  "created_at": "2026-03-13T10:00:00Z"
}

# Rate limits

Fair usage limits.

60

requests / minute

Hobby plan

600

requests / minute

Pro plan

6,000

requests / minute

Enterprise plan

Rate limit headers are included in every response: X-RateLimit-Limit, X-RateLimit-Remaining, and X-RateLimit-Reset. When you exceed the limit, the API returns 429 Too Many Requests with a Retry-After header.

# Error handling

HTTP status codes.

200Request succeeded
201Resource created
400Bad request — invalid parameters
401Unauthorized — missing or invalid API key
403Forbidden — insufficient scope
404Resource not found
409Conflict — slug already taken
422Validation error — check response body
429Rate limit exceeded
500Internal server error

Start building today.

Create a free account and generate your first API key in minutes.

Ready to get started?

Start building with a free account.
Speak to an expert for your Pro or Enterprise needs.

Explore MASK Enterprise

with an interactive product tour,
trial, or a personalized demo.