---
title: "Unpin message"
method: DELETE
path: "/v1/messages/{messageId}/pin"
tags: ["stream-chat"]
---

# Unpin message

`DELETE /v1/messages/{messageId}/pin`

## Request

- Base URL: `https://lpad-backend.stage.defi.ovh.gala.com`
- URL: `https://lpad-backend.stage.defi.ovh.gala.com/v1/messages/{messageId}/pin`
- Auth: one of:
  - API key in header `x-api-key`
  - HTTP bearer
- TypeScript: <https://skmtc.dev/gala/apis/launchpad-backend-api/docs/v1/messages/:messageId/pin/delete.ts> (a function with typed inputs; its response is checked against the schema)

Unpin a message (requires MANAGE_STREAM_SETTINGS permission)

## Path parameters

- `messageId` string, required

## Response `200`

Message unpinned successfully.

- UnpinMessageSuccessEnvelopeDto
  - `data` UnpinnedMessageDataResponseDto, required
    - `messageId` string
    - `unpinned` boolean, required
  - `error` false, required
  - `message` string, required
  - `status` number, required

## Other responses

- `401`: Unauthorized - missing or invalid JWT token
- `403`: Forbidden - user lacks MANAGE_STREAM_SETTINGS permission
- `404`: Message not found - messageId does not exist
- `500`: Internal server error - failed to unpin message in database or broadcast via WebSocket
- `default`: Shared error envelope for authentication, authorization, and unpinning failures.

---

[API](https://skmtc.dev/gala/apis/launchpad-backend-api.md) - [All operations](https://skmtc.dev/gala/apis/launchpad-backend-api/llms.txt) - [OpenAPI document](https://skmtc.dev/gala/apis/launchpad-backend-api/revisions/74545971be2b?raw)
