Developer docs

More

API changelog

In short

This page lists changes to the Clikso API, newest first. Most changes only add things. When a change can affect code that already works, it says so.

October 2026

Longer slugs, and slashes in slugs

  • short_code can now be up to 30 characters on every plan. It was 20. This only allows more.
  • On Starter and up, short_code can contain /, like acme/launch. See Choose your own slug for the rules.
  • On Free, a short_code with / gets 402 UPGRADE_REQUIRED. If a workspace moves to Free, its nested links keep working, and you can still update them.

Workspaces waiting for payment, and paused workspaces

  • Every account has one default workspace that's free forever, and each extra workspace needs its own paid plan. A new extra workspace waits for its first payment; an extra workspace is paused when its paid plan ends.
  • Two new errors, both 402: WORKSPACE_PAYMENT_REQUIRED and WORKSPACE_PAUSED. See Errors. Reads and click analytics keep working on a paused workspace, and its short links keep redirecting.
  • Get workspace details adds workspaces[].access_state (null for a normal workspace, awaiting_payment or paused) and workspaces[].is_default (true when the workspace is its owner's default). This only adds fields.

AI apps can connect over MCP (12 October 2026)

  • Clikso runs an MCP server at https://app.clik.so/mcp. Claude, ChatGPT, Gemini, Cursor, VS Code and other AI apps can use it. See Use Clikso from AI apps.
  • AI apps sign in with OAuth, so they never need an API key. They follow the same plan limits as API keys.
  • Nothing changed for API keys. Your integrations keep working as they are.
  • Can affect working code. On Update a link, null now clears geo_targeting, device_targeting, ab_testing, og_preview and qr_metadata. Before, null left them as they were. Leave a field out to keep it.
  • Create and update now check four fields. title can be up to 60 characters, description up to 250, and expired_redirect_url up to 2,048. expires_at must be a date. A bad value gets 422 VALIDATION_ERROR with details.field, not a 500.
  • Check a slug now says why a slug cannot be used. reason is invalid_format or reserved, with a message to show. It is still a 200, and a taken slug is still a plain available: false.
  • Get a tag and Update a tag return the real link_count, not 0.
  • With a key, Get bootstrap returns subscription.subscription_id as null, and pending invitations come without a token.

Developer docs

  • These docs went live at clik.so/docs, with an API reference for every endpoint a key can call.
  • Each page has examples in nine languages and a Markdown copy.

The API is on every plan

  • API keys now work on every plan, including Free.
  • A Free workspace can hold 3 keys. Keys you already have keep working, even above that number.

Click analytics for API keys

  • Three new endpoints: click summary, clicks over time and raw clicks.
  • They have their own quota per workspace, per minute and per UTC day. On Free that is 5 a minute and 100 a day. See Limits.
  • The AI analytics chat stays in the dashboard. It is not part of the API.

Plan features are checked for API keys

  • Can affect working code. Fields that need a paid plan now return 402 UPGRADE_REQUIRED when a key sets them on a plan without the feature.
  • Starter and up: passwords, tracking pixels and custom social previews.
  • Pro and up: country rules, device rules and A/B tests.
  • Creating a folder or tag past your plan's count also returns 402.
  • On an update, sending a value the link already has, or clearing a field, always works.
  • Can affect working code. GET /links/{id}/password no longer accepts API keys. It returns 403 API_KEY_NOT_ALLOWED.
  • Links still show has_password, and you can still set or clear a password.

September 2026

Rate limits by plan

  • Can affect working code. The per-key limit now depends on the plan: 30 requests a minute on Free, 100 on Starter, 300 on Pro and 500 on Business.
  • Over the limit you get 429 RATE_LIMITED with a Retry-After header.

A cap on API keys per plan

  • Each plan now has a limit on how many keys a workspace can hold. It only applies when you create a key.
  • Revoked keys do not count toward it.

Good to know

  • Responses only ever gain fields. Your code should ignore fields it does not know.
  • Error codes are stable. New codes may be added; existing ones keep their meaning.
  • The full contract is the API reference.