Developers

zeroatom API

Read pages, publish changes and manage short links from your own tools.

Base URLhttps://www.zeroatom.link/api/v1

Authentication

Create a key in Settings, API keys (Creator+ and Agency plans). Send it as a bearer token on every request. Keys start with za_ and are shown once, so store them in a secret manager.

Authorization: Bearer za_your_key

Rate limits

Each key may make 60 requests per minute. Over the limit, the API returns 429 with a Retry-After header giving the seconds until the window resets.

Endpoints

MethodPathScopeDescription
GET/meanyWorkspace, plan and the key's scopes.
GET/pagespage:readList pages.
GET/pages/{id}page:readRead one page.
POST/pages/{id}/publishpage:publishPublish or unpublish. Body: { "published": true }.
GET/linkslink:readList short links.
POST/linkslink:writeCreate a short link. Body: { "target", "slug"? }.
DELETE/links/{id}link:writeDelete a short link.
GET/qr?page={id}qr:readQR code for a page.
GET/analytics?days={1-90}analytics:readViews, clicks and scans for the workspace.

Scopes

A key can only call endpoints covered by the scopes chosen when it was created. Missing scopes return 403.

  • page:readList pages and read a page with its theme and content.
  • page:publishPublish or unpublish a page.
  • link:readList the workspace's short links.
  • link:writeCreate and delete short links.
  • qr:readFetch the QR code for a page.
  • analytics:readRead view, click and scan totals.

Errors

Failures return a JSON body with a human readable error and a stable code.

{
  "error": "This API key is missing the link:write scope.",
  "code": "forbidden"
}
  • 401 unauthorizedMissing, unknown or revoked key.
  • 402 entitlementThe workspace plan does not include API access.
  • 403 forbiddenThe key lacks the required scope.
  • 404 not_foundThe resource does not exist in this workspace.
  • 400 validation_failedThe request body or query is invalid.
  • 429 rate_limitedToo many requests. Retry after the header value.

Example

Create a short link:

curl -X POST https://www.zeroatom.link/api/v1/links \
  -H "Authorization: Bearer za_your_key" \
  -H "Content-Type: application/json" \
  -d '{"target": "https://example.com/offer", "slug": "offer"}'