# IMessage interface · @imqueue/core

Source: https://imqueue.org/api/core/latest/core.imessage/
Published: 2026-08-04
Author: @imqueue maintainers (https://github.com/imqueue)
Package: @imqueue/core 3.3.2 — generated reference, not hand-written

Internal envelope of a queued message as it is stored in Redis: a generated id, the caller's payload, and the name of the queue that sent it.

**Signature:**

```typescript
export interface IMessage 
```

## Remarks

Consumers never receive this object. The `message` event delivers the payload, the id and the source queue name as three separate arguments.

## Properties


| Property | Modifiers | Type | Description |
| --- | --- | --- | --- |
| [delay?](https://imqueue.org/api/core/latest/core.imessage.delay/) |  | number | _(Optional)_ Intended delay in milliseconds. |
| [from](https://imqueue.org/api/core/latest/core.imessage.from/) |  | string | Name of the queue that produced the message. |
| [id](https://imqueue.org/api/core/latest/core.imessage.id/) |  | string | Unique identifier assigned to the message when it was sent. |
| [message](https://imqueue.org/api/core/latest/core.imessage.message/) |  | [JsonObject](https://imqueue.org/api/core/latest/core.jsonobject/) | The message payload. Must be a JSON object — a bare string, number or array is not a valid message body. |

