---
title: "Start personal WhatsApp QR pairing [write]"
method: POST
path: "/channels/whatsapp/pairing"
tags: ["Channels"]
---

# Start personal WhatsApp QR pairing \[write\]

`POST /channels/whatsapp/pairing`

## Request

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

Requires an unrestricted personal key not fixed to a workspace and a session owned by that person. Uses the same durable pairing store and worker as the web. Poll GET for the QR, which the account owner scans with WhatsApp on their phone. This does not send messages. Worker unavailability returns 502 or 503.

## Request body

- object
  - `session` string, required

## Response `200`

OK

- object
  - `state` 'pending_qr' | 'connected' | 'disconnected', required
  - `qr` string, nullable, required

## Other responses

- `400`: Error — { error: { code, message } }
- `401`: Error — { error: { code, message } }
- `403`: Error — { error: { code, message } }
- `404`: Error — { error: { code, message } }
- `502`: Error — { error: { code, message } }
- `503`: Error — { error: { code, message } }
- `default`: Error — { error: { code, message, request_id } }

## Changes

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

[Operation history](https://skmtc.dev/agentsky/apis/agentsky-developer-api/changes/channels/whatsapp/pairing/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)
