> For the complete documentation index, see [llms.txt](https://docs.moregoodreviews.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.moregoodreviews.com/platform/api-reference/messages.md).

# Messages

## List Messages

> Retrieve recent project outreach messages for reporting or auditing with optional calendar bounds on a chosen message datetime column.

```json
{"openapi":"3.0.3","info":{"title":"MGR Project API","version":"1.0.0"},"tags":[{"name":"Messages"}],"servers":[{"url":"https://api.moregoodreviews.com/project"}],"security":[{"ApiKey":[]}],"components":{"securitySchemes":{"ApiKey":{"type":"http","scheme":"bearer","bearerFormat":"ApiKey"}}},"paths":{"/messages":{"get":{"tags":["Messages"],"summary":"List Messages","operationId":"listMessages","description":"Retrieve recent project outreach messages for reporting or auditing with optional calendar bounds on a chosen message datetime column.","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","description":"Object containing response data for this resource.","properties":{"success":{"type":"boolean","description":"Indicates whether the request completed successfully."},"code":{"type":"integer","description":"Short code or application-level status code for this resource."},"data":{"type":"array","description":"Response payload for the request.","items":{"type":"object","description":"Response payload for the request.","properties":{"id":{"type":"integer","description":"Unique numeric identifier for this resource."},"uuid":{"type":"string","description":"Stable UUID for this resource."},"ask_id":{"type":"integer","description":"Ask id for this resource."},"channel":{"type":"string","description":"Channel for this resource."},"failed_reason":{"type":"string","description":"Failed reason for this resource.","nullable":true},"scheduled_at":{"type":"integer","description":"Scheduled at for this resource."},"processed_at":{"type":"integer","description":"Processed at for this resource."},"sent_at":{"type":"integer","description":"Unix timestamp when the message was sent."},"delivered_at":{"type":"integer","description":"Delivered at for this resource."},"opened_at":{"type":"integer","description":"Opened at for this resource."},"clicked_at":{"type":"string","description":"Clicked at for this resource.","nullable":true},"failed_at":{"type":"string","description":"Failed at for this resource.","nullable":true},"complained_at":{"type":"string","description":"Complained at for this resource.","nullable":true},"canceled_at":{"type":"string","description":"Canceled at for this resource.","nullable":true},"halted_at":{"type":"string","description":"Halted at for this resource.","nullable":true},"created_at":{"type":"integer","description":"Unix timestamp when this resource was created."},"updated_at":{"type":"integer","description":"Unix timestamp when this resource was last updated."},"customer":{"type":"object","description":"Customer for this resource.","properties":{"id":{"type":"integer","description":"Unique numeric identifier for this resource."},"uuid":{"type":"string","description":"Stable UUID for this resource."},"name":{"type":"string","description":"Display name for this resource."},"color":{"type":"string","description":"Hex color associated with the resource."},"gravatar":{"type":"string","description":"Gravatar image URL for the email address."},"platform_url":{"type":"string","description":"Absolute URL to this customer in the web console; uses the agency white-label host when configured."},"unsubscribed_at":{"type":"string","description":"Unix timestamp when the customer unsubscribed, if applicable.","nullable":true}}},"template":{"type":"object","description":"Template for this resource.","properties":{"id":{"type":"integer","description":"Unique numeric identifier for this resource."},"uuid":{"type":"string","description":"Stable UUID for this resource."},"name":{"type":"string","description":"Display name for this resource."},"slug":{"type":"string","description":"URL-friendly identifier for this resource."},"channel":{"type":"string","description":"Channel for this resource."}}}}}},"pagination":{"type":"object","description":"Pagination metadata for list responses.","properties":{"current_page":{"type":"integer","description":"Current page number in the paginated result set."},"from":{"type":"integer","description":"Index of the first item returned on the current page."},"last_page":{"type":"integer","description":"Last available page number in the paginated result set."},"path":{"type":"string","description":"Base API path used for the paginated result set."},"per_page":{"type":"integer","description":"Number of items returned per page."},"to":{"type":"integer","description":"Index of the last item returned on the current page."},"total":{"type":"integer","description":"Total number of matching items."}}}}}}}}},"parameters":[{"name":"channel","in":"query","required":false,"schema":{"type":"string","nullable":true,"description":"Filter messages by delivery channel.","enum":["email","sms"]},"description":"Filter messages by delivery channel."},{"name":"date_from","in":"query","required":false,"schema":{"type":"string","format":"date","nullable":true,"description":"Inclusive lower calendar date (YYYY-MM-DD) for the column chosen by date_key, defaulting to created_at when date_key is omitted."},"description":"Inclusive lower calendar date (YYYY-MM-DD) for the column chosen by date_key, defaulting to created_at when date_key is omitted."},{"name":"date_key","in":"query","required":false,"schema":{"type":"string","nullable":true,"description":"Message datetime column paired with date_from and date_to (defaults to created_at when omitted).","enum":["canceled_at","clicked_at","complained_at","delivered_at","failed_at","opened_at","scheduled_at","sent_at"]},"description":"Message datetime column paired with date_from and date_to (defaults to created_at when omitted)."},{"name":"date_to","in":"query","required":false,"schema":{"type":"string","format":"date","nullable":true,"description":"Inclusive upper calendar date (YYYY-MM-DD) for the column chosen by date_key; must be on or after date_from when both bounds are provided."},"description":"Inclusive upper calendar date (YYYY-MM-DD) for the column chosen by date_key; must be on or after date_from when both bounds are provided."},{"name":"template_slug","in":"query","required":false,"schema":{"type":"string","nullable":true,"description":"Filter messages by template slug prefix."},"description":"Filter messages by template slug prefix."},{"name":"status","in":"query","required":false,"schema":{"type":"string","nullable":true,"description":"Filter messages by delivery status.","enum":["sent","delivered","opened","clicked","failed","complained","scheduled"]},"description":"Filter messages by delivery status."},{"name":"sort_key","in":"query","required":false,"schema":{"type":"string","nullable":true,"description":"Message timestamp field to sort by.","enum":["scheduled_at","sent_at","opened_at","clicked_at"]},"description":"Message timestamp field to sort by."},{"name":"sort_dir","in":"query","required":false,"schema":{"type":"string","nullable":true,"description":"Sort direction: asc or desc.","enum":["asc","desc"]},"description":"Sort direction: asc or desc."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","nullable":true,"description":"Maximum number of records to return."},"description":"Maximum number of records to return."}]}}}}
```

## Delete Message

> Delete a scheduled or sent outreach message for the authenticated project.

```json
{"openapi":"3.0.3","info":{"title":"MGR Project API","version":"1.0.0"},"tags":[{"name":"Messages"}],"servers":[{"url":"https://api.moregoodreviews.com/project"}],"security":[{"ApiKey":[]}],"components":{"securitySchemes":{"ApiKey":{"type":"http","scheme":"bearer","bearerFormat":"ApiKey"}}},"paths":{"/messages/{id}":{"delete":{"tags":["Messages"],"summary":"Delete Message","operationId":"deleteMessage","description":"Delete a scheduled or sent outreach message for the authenticated project.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","nullable":false,"description":"Unique numeric identifier for this message."},"description":"Unique numeric identifier for this message."}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","description":"Confirms the message was deleted and related ask completion was refreshed when applicable.","properties":{"success":{"type":"boolean","description":"Indicates whether the request completed successfully."},"code":{"type":"integer","description":"Application-level status code returned by this API."}}}}}}}}}}}
```
