Assistant

Resolve a pending link

Resolves a link token without consuming it, so the confirmation screen can name the identity being linked ("@user on Discord") before anyone commits to it. Naming it is what makes a link pasted into the wrong hands fail the human check as well as the server-side binding. Reading is deliberately separate from redeeming: a single-use nonce must not be burned by a link preview, a URL scanner or a browser prefetch.

get/v1/assistant/link

Request

  • Base URL: https://api.naturali.ai
  • URL: https://api.naturali.ai/v1/assistant/link
  • Auth: one of:
    • HTTP bearer
    • OAuth 2 (authorization code, authorization URL https://api.naturali.ai/authorize, token URL https://api.naturali.ai/token, scopes: mcp:access)

Query parameters

tokenstring required
Example:alt_9f8e7d6c5b4a39281706

The single-use token from the link the Assistant sent on the channel.

Response

The identity this token would link, and what it would be allowed to do.

channel'discord' | 'whatsapp' | 'slack' required

The channel the linked identity lives on. The app is never a value here: a signed-in web session already is the identity, so it needs no grant.

identifierstring required

The channel identity this token would link, as an address identifier.

display_namestring nullable required

The identity as its channel reported it, for the confirmation screen.

scopesAssistantScope[] required

What redeeming this token would allow.

expires_atstring date-time required

When the token stops being redeemable. Links are short-lived by design.

Example response

{
  "channel": "discord",
  "identifier": "discord:dm:112233445566778899",
  "display_name": "ana",
  "scopes": [
    "read"
  ],
  "expires_at": "2026-07-17T00:10:00.000Z"
}

Changes

No recorded changes to this operation across all 1 revision of this API.