---
title: "Record a Teams message receipt"
method: POST
path: "/internal/bot/messages/{uuid}/teams_ref"
tags: ["messages"]
---

# Record a Teams message receipt

`POST /internal/bot/messages/{uuid}/teams_ref`

Stores acknowledged Teams coordinates on an existing bot web message. Requires an Internal user token, tenant header, internal API key, and thread participation. Appends atomically and deduplicates by bot, Microsoft tenant, conversation, and activity.

## Path parameters

- `uuid` string, required

## Request body

- object
  - `teams_ref` object, required
    - `bot_application_id` string, required — Microsoft bot application UUID
    - `tenant_id` string, required — Microsoft tenant UUID
    - `conversation_id` string, required — Native Teams conversation ID
    - `activity_id` string, required — Acknowledged native Teams activity ID
    - `root_message_id` string — Native thread root activity ID
    - `kind` 'assistant_reply' | 'assistant_stream' | 'quick_reply_card' | 'connection_handoff_card' | 'error_notice' | 'private_guidance', required — Receipt kind

## Other responses

- `400` — Bad Request - Invalid parameters or malformed request
- `401` — Unauthorized - Invalid or missing authentication
- `403` — Forbidden - User lacks permission to access this resource
- `404` — Not Found - Resource does not exist
- `422` — Unprocessable Entity - Invalid request parameters or validation errors
- `429` — Too Many Requests - Rate limit exceeded
- `500` — Internal Server Error - Unexpected server error

## Changes

- **2026-09-23** `765448cb74e4` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/rhythms/apis/rhythms-params-in-body/changes/internal/bot/messages/:uuid/teams_ref/post.md)

---

[API](https://skmtc.dev/rhythms/apis/rhythms-params-in-body.md) · [All operations](https://skmtc.dev/rhythms/apis/rhythms-params-in-body/llms.txt) · [OpenAPI document](https://skmtc.dev/rhythms/apis/rhythms-params-in-body/revisions/be444d98d5ff?raw)
