Version
DESTRUCTIVE

create_link

Create a Smart Link on a project, a tracked address for one channel. Returns the link with its stable code and the three addresses to share. On every plan.

Mint a tracked address for one channel: a video description, a bio, a newsletter, a flyer's QR. Every click on it is counted, and every member who signs in within thirty days of clicking is credited to the link, so get_link_funnel can say which channel brings leads, purchases and payments.

Synchronous — the link is returned in the response, and link.created emits once.

Two names, one link. slug is the address segment the creator may rename later; code is minted once and never changes, and it is what the bot link, the embed page and the attribution cookie carry. A printed QR of the web address keeps working after a rename.

slug is lowercased before it is stored and checked, so Promo when promo exists is refused, not minted twice; go, embed, portal, bot, direct, new and edit are reserved.

Requires ability

The token behind the MCP session must hold it, or the call is refused with TOKEN_MISSING_ABILITY.

Runs the same action as

The REST endpoint and this tool share one action, so validation, permissions and events are identical.

Fires one event

Delivered to every endpoint subscribed to it once the change is made.

Annotations

DestructiveOpen world

A client that honours annotations asks a person before running it. It reaches beyond Subscriby: a connector, a provider or a member.

project_id*string

UUID of the project the link belongs to.

name*string

A creator-facing label, 2 to 120 characters, e.g. "YouTube description".

slug*string

The address segment after /go/: 2 to 32 letters, digits and hyphens, e.g. "youtube". Lowercased and unique within the project.

destination*string

Where the link sends people: "portal" (the portal home), "plan" (one plan's checkout; send plan_id) or "bot" (the project's bot).

plan_idstringoptional

UUID of the plan a "plan" destination opens. Ignored on the other destinations.

expires_atstringoptional

ISO 8601 instant after which the link stops counting and crediting. Omit for never.

{  "data": {    "id": "7c2e5a90-3f41-4b8d-9e62-1a0d4c8b7f35",    "project_id": "7f3d1c92-8b45-4e6a-9d21-5c8e0a4b6f13",    "name": "YouTube description",    "slug": "youtube",    "code": "K7PMQ2X",    "destination": { "type": "plan", "plan_id": "2a91c4e7-6f38-4b52-8e0d-9c1a7b3f5d80", "plan_name": "Premium" },    "urls": {      "web": "https://my.subscriby.net/jane/go/youtube",      "bot": "https://t.me/JaneBot?start=via_K7PMQ2X",      "embed": "https://my.subscriby.net/jane/embed/plans?via=K7PMQ2X"    },    "state": "live",    "expires_at": null,    "archived_at": null,    "clicks": { "total": 0, "last_at": null },    "created_at": "2026-11-20T09:14:02+00:00",    "updated_at": "2026-11-20T09:14:02+00:00"  }}
VALIDATION_FAILED

a reserved or taken slug, a slug outside 2–32 letters, digits and hyphens, a name outside 2–120 characters, a plan destination without plan_id or with a plan of another project, or an expires_at in the past.

RESOURCE_NOT_FOUND

unknown project_id, or the project is outside the token's scope.

AUTHENTICATION_REQUIRED

no authenticated user on the request.

TOKEN_MISSING_ABILITY

token lacks project-link:create.

How is this guide?

Last updated on