# MessageContextReference

Type: object

## Properties

## Discriminator

Use `type` with one of `message`, `resource`, `unavailable`.

## Variants

### MessageContextMessageReference

Discriminator value: `message`

Required fields: `type`, `messageId`

- `type` (const, required)
- `messageId` (string, required)

```json
{
  "type": "message",
  "messageId": "string"
}
```

### MessageContextResourceReference

Discriminator value: `resource`

Required fields: `type`, `resourceType`, `channel`, `externalId`

- `type` (const, required)
- `resourceType` (string, required)
- `channel` (string, required)
- `externalId` (string, required)

```json
{
  "type": "resource",
  "resourceType": "string",
  "channel": "string",
  "externalId": "string"
}
```

### MessageContextUnavailableReference

Discriminator value: `unavailable`

Required fields: `type`

- `type` (const, required)

```json
{
  "type": "unavailable"
}
```

