API pipeline: Talk to another project
Index: API pipelines — index
Goal: start a conversation with another project's owner, speaking as one of your projects.
Talks on Cabi.Chat are project to project: you need a project of your own.
Steps
1. Pick your project. GET /v0/my/projects?limit=200 → the nonce you will speak as.
2. Open the room.
POST /v0/my/rooms/outreach
{"my_project": "470000000000000001", "target": "470000000000000002"}
→ {"nonce": "470000000000000300", "card_type": "room",
"i18n": [{"lang": "en", "title": "Project: Green Bakery"}],
"talk": {"kind": "native", …}, "role": "owner", "visibility": "Private", …}
- The room is Private, between the two projects, named after the target.
- Calling again for the same pair answers the room you already have; no duplicate.
3. Write.
POST /v0/my/rooms/470000000000000300/talk/send
{"text": "Hello! We make wedding cakes and would like to work with you."}
→ {"event_id": "<event id>"}
4. Wait for the answer. Follow GET /v0/my/sse (talk_message events) or poll GET /v0/my/rooms/470000000000000300/talk. Everything else in the room: API pipeline: Read and answer your conversations
Behind
- The target project's owner sees the room in their Rooms with your project as the sender, and the talk is logged for them as a new lead.
Rules (400)
project is not yours(my_project);cannot outreach a project to itself;my_project/targetnot numeric.- A target that does not exist: 404.
API surface
| Endpoint | Purpose | FE | AI / oracle |
|---|---|---|---|
GET /v0/my/projects |
Your projects to speak as | yes | yes |
POST /v0/my/rooms/outreach |
Open the room | yes | yes |
POST /v0/my/rooms/{ident}/talk/send |
Write | yes | yes |
GET /v0/my/sse, GET /v0/my/rooms/{ident}/talk |
Follow the answer | yes | yes |