---
title: "Pin a chat message on behalf of a streamer. Requires 'message.pin' permission. Creates a place.stream.chat.pinnedRecord in the streamer's repo, replacing any existing pin."
method: POST
path: "/xrpc/place.stream.moderation.createPin"
tags: ["place.stream.moderation"]
---

# Pin a chat message on behalf of a streamer. Requires 'message.pin' permission. Creates a place.stream.chat.pinnedRecord in the streamer's repo, replacing any existing pin.

`POST /xrpc/place.stream.moderation.createPin`

## Request body

- object
  - `streamer` string, did, required — The DID of the streamer.
  - `messageUri` string, uri, required — The AT-URI of the chat message to pin.
  - `expiresAt` string, date-time — Optional expiration time for this pin.

## Response `200`

Success

- object
  - `uri` string, uri, required — The AT-URI of the created pinned record.
  - `cid` string, cid, required — The CID of the created pinned record.

## Other responses

- `400` — Bad Request

---

[API](https://skmtc.net/streamplace/apis/generated-lexicon-api-schema.md) · [All operations](https://skmtc.net/streamplace/apis/generated-lexicon-api-schema/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/streamplace/generated-lexicon-api-schema/versions/8e2ce7f5d85b/schema)
