# Release a held message

A person releases a message Shield is holding so an agent credential can read it.

The verdict stays `review`. The body becomes readable by an agent credential after release. An agent credential that calls this route gets `403`.

## Authentication

`Authorization: Bearer` with a person session. Agent credentials are refused.

## Body

`reason` string, required, up to 2048 characters. Optional `messageId` chooses one message. Without it, the held messages in the conversation are released.

## Response

The conversation, including the released message.

```sample
curl -X POST "https://api.gnesi.io/v1/conversations/conversation_123/shield/release" \
  -H "Authorization: Bearer $GNESI_CREDENTIAL" \
  -H "Content-Type: application/json" \
  -d '{"reason":"Known sender."}'
```

```payload
{"reason":"Known sender."}
```

```result
{
  "conversationId": "conversation_123",
  "contextId": "context_…",
  "conversation": {},
  "messages": [],
  "state": "submitted"
}
```
