# Messages To start sending messages you must have a Conversation API [**app**](https://dashboard.sinch.com/convapi/apps). The app holds information about the channel credentials and registered webhooks to which the API delivers callbacks such as message delivery receipts and contact messages. If you don't already have an app please follow the instructions in the getting started guide available in the [Sinch Dashboard](https://dashboard.sinch.com/convapi/getting-started) to create one. ## Send a message - [POST /v1/projects/{project_id}/messages:send](https://developers.sinch.com/docs/conversation/api-reference/conversation/messages/messages_sendmessage.md): You can send a message from a Conversation app to a contact associated with that app. If the recipient is not associated with an existing contact, a new contact will be created. The message is added to the active conversation with the contact if a conversation already exists. If no active conversation exists a new one is started automatically. You can find all of your IDs and authentication credentials on the Sinch Customer Dashboard. ## Update message metadata - [PATCH /v1/projects/{project_id}/messages/{message_id}](https://developers.sinch.com/docs/conversation/api-reference/conversation/messages/messages_updatemessagemetadata.md): Update a specific message metadata by its ID. ## Get a message - [GET /v1/projects/{project_id}/messages/{message_id}](https://developers.sinch.com/docs/conversation/api-reference/conversation/messages/messages_getmessage.md): Retrieves a specific message by its ID. ## Delete a message - [DELETE /v1/projects/{project_id}/messages/{message_id}](https://developers.sinch.com/docs/conversation/api-reference/conversation/messages/messages_deletemessage.md): Delete a specific message by its ID. Note that this operation deletes the message from Conversation API storage; this operation does not affect messages already delivered to recipients' handsets. Also note that removing all messages of a conversation will not automatically delete the conversation. ## List messages - [GET /v1/projects/{project_id}/messages](https://developers.sinch.com/docs/conversation/api-reference/conversation/messages/messages_listmessages.md): This operation lists all messages sent or received via particular Processing Modes. Setting the messages_source parameter to CONVERSATION_SOURCE allows for querying messages in CONVERSATION mode, and setting it to DISPATCH_SOURCE will allow for queries of messages in DISPATCH mode. Combining multiple parameters is supported for more detailed filtering of messages, but some of them are not supported depending on the value specified for messages_source. The description for each field will inform if that field may not be supported. The messages are ordered by their accept_time property in descending order, where accept_time is a timestamp of when the message was enqueued by the Conversation API. This means messages received most recently will be listed first.