---
title: "Complete a link offered to a person in a connected chat, as the caller [write]"
method: POST
path: "/channels/identities"
tags: ["channels"]
---

# Complete a link offered to a person in a connected chat, as the caller \[write\]

`POST /channels/identities`

## Request

- Base URL: `https://api.agentsky.dev/v1`
- URL: `https://api.agentsky.dev/v1/channels/identities`
- Auth: HTTP bearer

From then on that person's messages in conversations on the same bot or workspace run as the caller's account. The token is the one posted in the chat; it works once and for 30 minutes. 404 when it was used or has expired, 503 `not_migrated` until the platform's tables are in place.

## Request body

- object
  - `token` string, required

## Response `201`

Linked

- object
  - `identity` ChannelIdentity, required: A person in a connected chat, linked to the account their messages there run as.
    - `id` string
    - `platform` 'telegram' | 'slack' | 'discord' | 'whatsapp' | 'imessage' | 'email' | 'teams' | 'x' | 'lark' | 'buzz' | 'gchat' | 'line'
    - `external_user_id` string: The person's id on that platform
    - `display_name` string, nullable
    - `linked_at` string, date-time, nullable

## Other responses

- `default`: Error — { error: { code, message } }

## Changes

- **2026-11-02** `e5e8f0229a99`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/agentsky/apis/agentsky-developer-api/changes/channels/identities/post.md)

---

[API](https://skmtc.dev/agentsky/apis/agentsky-developer-api.md) - [All operations](https://skmtc.dev/agentsky/apis/agentsky-developer-api/llms.txt) - [OpenAPI document](https://skmtc.dev/agentsky/apis/agentsky-developer-api/revisions/8280a065ef6a?raw)
