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
A client that honours annotations asks a person before running it. It reaches beyond Subscriby: a connector, a provider or a member.
Arguments
project_id*stringUUID of the project the link belongs to.
name*stringA creator-facing label, 2 to 120 characters, e.g. "YouTube description".
slug*stringThe address segment after /go/: 2 to 32 letters, digits and hyphens, e.g. "youtube". Lowercased and unique within the project.
destination*stringWhere the link sends people: "portal" (the portal home), "plan" (one plan's checkout; send plan_id) or "bot" (the project's bot).
plan_idstringoptionalUUID of the plan a "plan" destination opens. Ignored on the other destinations.
expires_atstringoptionalISO 8601 instant after which the link stops counting and crediting. Omit for never.
What it returns
{ "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" }}How it fails
VALIDATION_FAILEDa 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_FOUNDunknown project_id, or the project is outside the token's scope.
AUTHENTICATION_REQUIREDno authenticated user on the request.
TOKEN_MISSING_ABILITYtoken lacks project-link:create.
How is this guide?
Last updated on
archive_link
Put a Smart Link out of use. It stops counting and crediting; its address keeps landing on the portal home and its figures stay. Destructive in that it cannot be undone.
get_link
Fetch one Smart Link by id, with its stable code, its destination, the three addresses to share and its lifetime clicks. Read-only.