> ## Documentation Index
> Fetch the complete documentation index at: https://docs.metriport.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Send Message

> Send a message to another practitioner

<Snippet file="in-construction.mdx" />

This endpoint sends a secure message containing a note and attached documents to another practitioner in the network regarding a specific patient's clinical journey.

Sending a message is an asynchronous process. The response returns a Message object immediately with the status being `processing`.
The `id` can be used to [Get Message Status](/medical-api/api-reference/message/get-message-status). When the recipient acknowledges receipt, or if delivery fails, a [webhook](/medical-api/handling-data/webhooks-with-nq#message-status) request will be sent to [your configured URL](/medical-api/api-reference/settings/post-settings):

* `message.status`: can be one of `completed` or `failed`, depending on the outcome of the operation.

<Tip>
  See the [Message Delivery
  guide](/medical-api/getting-started/message-delivery) for
  the explanation of the full flow.
</Tip>

## Query Params

<ParamField query="patientId" type="string" required>
  The ID of the Patient the message relates to.
</ParamField>

## Body

<Snippet file="message-send-body.mdx" />

## Response

Returns the Message at the top level (not wrapped).

<Snippet file="message-response.mdx" />

```json theme={null}
{
  "id": "00000000-0000-0000-0000-000000000000",
  "patientId": "11111111-1111-1111-1111-111111111111",
  "direction": "outbound",
  "status": "processing",
  "transportMethod": "xdr",
  "network": "EHEX",
  "destination": "2.16.840.1.113883.3.666.123.4.101",
  "subject": "Referral - cardiology",
  "body": "Please review the attached referral for cardiology consultation.",
  "attachments": ["00000000-0000-0000-0000-000000000000"],
  "intendedRecipientNpi": ["1234567890"],
  "sentAt": "2026-06-16T18:40:00.000Z",
  "updatedAt": "2026-06-16T18:40:00.000Z"
}
```

<ResponseExample>
  ```javascript Metriport SDK theme={null}
  import { MetriportMedicalApi } from "@metriport/api-sdk";

  const metriport = new MetriportMedicalApi("YOUR_API_KEY");

  const message = await metriport.sendMessage({
    patientId: "11111111-1111-1111-1111-111111111111",
    destination: "2.16.840.1.113883.3.666.123.4.101",
    subject: "Referral - cardiology",
    body: "Please review the attached referral for cardiology consultation.",
    attachments: ["00000000-0000-0000-0000-000000000000"],
    intendedRecipientNpi: ["1234567890"],
  });
  ```
</ResponseExample>

## Rate Limits

See [limits and throttling](/medical-api/more-info/limits#rate-limits)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.