---
title: "Resolve a pending link"
method: GET
path: "/v1/assistant/link"
tags: ["Assistant"]
---

# Resolve a pending link

`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`)

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.

## Query parameters

- `token` string, required

## Response `200`

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

- AssistantLinkPreview: What a pending link would do, resolved from its token without consuming it.
  - `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.
  - `identifier` string, required: The channel identity this token would link, as an address identifier.
  - `display_name` string, nullable, required: The identity as its channel reported it, for the confirmation screen.
  - `scopes` AssistantScope[], required: What redeeming this token would allow.
  - `expires_at` string, date-time, required: When the token stops being redeemable. Links are short-lived by design.

## Other responses

- `400`: The token is unknown, expired, or already redeemed (`invalid_token` / `expired_token`). Getting a fresh one means messaging the Assistant again.
- `401`: Missing or invalid credentials.

---

[API](https://skmtc.dev/naturali/apis/naturali-ai-api.md) · [All operations](https://skmtc.dev/naturali/apis/naturali-ai-api/llms.txt) · [OpenAPI document](https://skmtc.dev/naturali/apis/naturali-ai-api/revisions/e4905b78f422?raw)
