*** id: 06d8123f-1604-49c1-b6a8-9d69fc5f7f9b slug: /sdks/reference/messaging title: Messaging sidebar-title: Messaging max-toc-depth: 3 ---------------- A **Message** is an inbound or outbound message sent or received by your SignalWire project. Messages are identified by a unique, random ID, and can have attachments, called Media, associated with them. These Media files are managed separately from the Messages themselves, and are stored in **[Media](/docs/compatibility-api/sdks/reference/media/list)** subresource objects. To retrieve a list of the media associated with a message, use the Media subresource for that Message instance. ## The message object ## Example object ## Message status The `status` attribute of a Message indicates the last known state of the Message. | State | Description | | :------------ | :-------------------------------------------------------------------------------------------------------------------- | | `queued` | The API request to send this message was processed successfully, and the message is currently waiting to be sent out. | | `sending` | The message is currently being transmitted by SignalWire to the nearest carrier upstream in the network. | | `sent` | The nearest carrier upstream in the network has accepted the message. | | `delivered` | Confirmation of receipt of the message by the nearest carrier upstream in the network. | | `undelivered` | SignalWire has received notice from the nearest carrier upstream in the network that the message was not delivered. | | `failed` | SignalWire could not send the message. There is no charge for failed messages. | | `receiving` | SignalWire has received and is currently processing an inbound message. | | `received` | The message has been received by one of the numbers in your account. Applies to inbound messages only. | ## Subresources: media Any media associated with a message can be listed using the media URI in the Subresources object: `https://example.signalwire.com/api/laml/2010-04-01/Accounts/{AccountSid}/Messages/{MessageSid}/Media` ## StatusCallback parameters In addition to the [standard request parameters](/docs/compatibility-api/cxml/reference/messaging#request-parameters), the following are parameters passed back to your application when SignalWire sends an update to a message's `StatusCallback` URL.