publ betaReference (MCP guide)
Open publ console

messenger_direct_room_create_apply

# messenger_direct_room_create_apply

Create a direct room with one channel member in the Messenger app (pApp D00003), as the member picker Chat button does. Requires profileId, confirmation CREATE_DIRECT_CHAT_ROOM. A member who already has a direct room is refused [str_6868]. The created room is read back. A lost receipt stays pending and is never resent; task_resume only observes, and prepared work needs the identical apply. Called without confirmToken it previews and returns a confirmToken; repeating the same input with it executes once.

## Inputs

| Field | Required here | Contract |
| --- | --- | --- |
| `target` | Yes | object |
| `target.profileId` | Yes | integer; greater than 0 |
| `target.distinctId` | No | string; pattern `^[A-Za-z0-9_-]{1,200}$`; The member distinctId from messenger_direct_room_candidates_get, as the console member picker looks the member up by it. |
| `change` | Yes | object |
| `change.confirmation` | Yes | `CREATE_DIRECT_CHAT_ROOM` |
| `confirmToken` | No | string; pattern `^ct[a-f\d]{32}$`; The confirmToken from this tool's preview result. Omit it to preview; repeat the same input with it to execute. |