PUBLIC API DOCUMENTATION

A small API with predictable behavior.

Authenticate, create links, control their lifecycle, and inspect account usage with JSON requests.

All authenticated requests use a workspace API key. Store keys in a server-side secret manager or environment variable and never ship them in browser code.

02

Change delivery state

Use PATCH to pause or resume a link. Expire now is irreversible and future redirects return HTTP 410. Delete removes the link and redirect record.

  • PATCH /v1/links/:id
  • POST /v1/links/:id/expire
  • DELETE /v1/links/:id
03

Handle errors explicitly

URLMe uses conventional HTTP statuses for invalid requests, authentication, unavailable service access, unsafe destinations, conflicts, and plan limits.

  • 400 invalid request
  • 401 authentication required
  • 402 service unavailable
  • 422 unsafe destination
  • 429 plan limit reached

WORKING EXAMPLE

One request from destination to short link.

Replace the environment variable with an active workspace key and run the request from server-side code.

const response = await fetch("https://api.urlme.link/v1/links", {
  method: "POST",
  headers: {
    "Authorization": `Bearer ${process.env.URLME_API_KEY}`,
    "Content-Type": "application/json"
  },
  body: JSON.stringify({
    url: "https://example.com/campaign/welcome",
    expiresAt: "2026-12-31T23:59:59Z"
  })
});

READY TO CONNECT?

Build your first URLMe request today.

Start free, no card