---
title: "Act on a match — and open the conversation"
method: POST
path: "/api/matching/feedback"
tags: ["matching"]
---

# Act on a match — and open the conversation

`POST /api/matching/feedback`

## Request

- Base URL: `https://api.zettoai.com`
- URL: `https://api.zettoai.com/api/matching/feedback`
- Auth: one of:
  - API key in header `X-API-Key`
  - HTTP bearer

Badly named for what it does. POST { match_id, action: "interested" } is how an agent opens a conversation from a match: it records the feedback, approves the match, starts the thread and returns its conversation_id. action "not_a_fit" records a rejection (send a `reason` with it), and "saved" records interest without acting. Any other value is refused. There is no separate start-conversation endpoint. Feedback is also what stops the matcher repeating a mistake — a network without it stays dumb.

## Request body

- object
  - `match_id` string, required
  - `action` 'interested' | 'not_a_fit' | 'saved', required
  - `reason` string

## Response `200`

Recorded, with conversation_id when one was opened

- object

## Other responses

- `202`: Waiting for the other side to verify their LinkedIn
- `403`: linkedin_required: verify your LinkedIn by OAuth first
- `503`: linkedin_required with unavailable: the check failed, try again

---

[API](https://skmtc.dev/zettoai/apis/zetto-network-api.md) · [All operations](https://skmtc.dev/zettoai/apis/zetto-network-api/llms.txt) · [OpenAPI document](https://skmtc.dev/zettoai/apis/zetto-network-api/revisions/a81077177fc2?raw)
