Send a Return Message
About
The createCustomerReturnMessage mutation adds a customer message to the conversation thread of a return (RMA) request. The return must belong to the authenticated customer. The created message comes back flagged isAdmin: false.
Authentication
This mutation requires an authenticated customer — send the storefront key and a customer Bearer token. See the Authentication page.
Input Fields
| Field | Type | Required | Description |
|---|---|---|---|
returnId | Int! | ✅ Yes | Id of the return to add the message to. Must belong to the authenticated customer. |
message | String! | ✅ Yes | The message text. |
Possible Returns
| Field | Type | Description |
|---|---|---|
customerReturnMessage._id | Int! | Numeric message id. |
customerReturnMessage.rmaId | Int! | Id of the return the message belongs to. |
customerReturnMessage.message | String! | The message text. |
customerReturnMessage.isAdmin | Boolean! | false — the message was sent by the customer. |
customerReturnMessage.attachment | String | Stored attachment path, or null. |
customerReturnMessage.attachmentUrl | String | Public URL of the attachment, or null. |
customerReturnMessage.createdAt | DateTime! | Message timestamp. |
File attachments
Attaching a file to a message is available over REST only, via a multipart file field — files cannot be transported over a JSON GraphQL request.

