reissue_subscription_grants
Revoke the access grants a member holds on a subscription — every resource or one — and have fresh ones issued. The members page's "Refresh invite links", for agents.
Purpose
Give a member a clean set of grants. The grants they hold on the subscription's resources are
revoked (on Telegram, their personal invite links die) and the dispatcher that grants at
purchase runs again, so fresh grants are issued and the bot sends the member the new links.
Use it when a member says a link is expired or was leaked, or after a channel's admins cleared
a ban; pass resource_id to touch one resource and leave the others as they are.
Every revoked grant raises member.resource_reissued,
and each fresh grant raises member.resource_added
moments later. Read the result back with list_subscription_grants.
This revokes live access and messages a real person
The old links stop working the moment this runs, and the member is sent the new ones. Read
the subscription back with get_subscription first, and do
not run it in a loop.
Required ability
project-subscription:update
Input schema
{
"type": "object",
"required": ["subscription_id"],
"properties": {
"subscription_id": {
"type": "string",
"description": "UUID of the subscription whose grants to reissue."
},
"resource_id": {
"type": "string",
"description": "UUID of one resource of the plan to reissue alone; omit to reissue every resource the subscription grants."
}
}
}Output shape
{
"data": {
"subscription_id": "5b7e2d40-1a86-4c39-97f2-e83d0b16c5a4",
"reissued": 2,
"status": "reissue_queued"
}
}reissued counts the grants that were revoked; the fresh ones are issued by a queued job and
appear on the ledger seconds later.
Example prompts
"This member's invite link expired — reissue their access."
"Refresh only the announcements channel link for subscription
5b7e2d40-…."
Failure modes
VALIDATION_FAILED— the subscription is not active, so there is nothing to reissue.RESOURCE_NOT_FOUND— unknownsubscription_id, a subscription outside the token's scope, or aresource_idthe plan does not grant.AUTHENTICATION_REQUIRED— no authenticated user on the request.TOKEN_MISSING_ABILITY— token lacksproject-subscription:update.
Related
list_subscription_grants— read the ledger back.get_subscription— read the state back first.- Subscriptions API — the REST equivalent,
POST .../grants/reissue.
How is this guide?