---
title: "Inject a message into a loopback connection [write]"
method: POST
path: "/channels/connections/{id}/dev/inbound"
tags: ["channels"]
---

# Inject a message into a loopback connection \[write\]

`POST /channels/connections/{id}/dev/inbound`

## Request

- Base URL: `https://api.agentsky.dev/v1`
- URL: `https://api.agentsky.dev/v1/channels/connections/{id}/dev/inbound`
- Auth: HTTP bearer

Local development without a real platform: the message goes through the same webhook pipeline a Telegram or Slack event would. Only loopback connections accept it — anything else answers 400.

## Path parameters

- `id` string, required

## Request body

- ChannelDevInbound
  - `text` string, required
  - `thread` string: Thread key within the connection; default "main"
  - `id` string: Message id to attribute it to; default a generated one
  - `author` object
    - `user_id` string, required
    - `user_name` string
  - `mention` boolean: Whether it reads as a mention of the bot

## Response `202`

Accepted

- object
  - `thread_id` string, required

## Other responses

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

## Changes

- **2026-11-02** `e5e8f0229a99`: 1 info
  - added the optional property `error/request_id` to the response with the `default` status

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