Restore a received message
POST /v1/messages/{message_id}/restore
Read as Markdown ↗POST /v1/messages/{message_id}/restore
Requires an API key: Authorization: Bearer YOUR_CREDENTIAL.
Brings a received message back from Trash. Send no request body. It returns to listings, search and its conversation, with its labels and attachments, and repeating a restore is safe.
Restoring every message of a deleted conversation brings the conversation back. After restorable_until the message can't be restored and the request returns 404.
Parameters
| Parameter | Location | Required | Type | Meaning |
|---|---|---|---|---|
message_id | path | Yes | string | Cherami resource ID returned by the API. |
curl example
Supply CHERAMI_API_KEY privately.
curl --silent --show-error --include --request POST \
"https://cherami.to/v1/messages/MESSAGE_ID/restore" \
--header "Authorization: Bearer $CHERAMI_API_KEY"Responses
HTTP 200
Success.
X-Request-ID: Identifies this request; include it when reporting a problem.
Content type: application/json.
{
"id": "11111111-1111-4111-8111-111111111111",
"inbox_id": "11111111-1111-4111-8111-111111111111",
"thread_id": null,
"status": "restored",
"message": "Example"
}HTTP 401
unauthorized: Send a valid API key as Authorization: Bearer <key>. If the key stopped working, get a new one through recovery.
X-Request-ID: Identifies this request; include it when reporting a problem.WWW-Authenticate:"Bearer"
Content type: application/json.
HTTP 403
operation_not_allowed: Sending, or deletion and restore, is turned off for this account; the message says which. Contact hello@cherami.to.
X-Request-ID: Identifies this request; include it when reporting a problem.
Content type: application/json.
HTTP 404
not_found: The resource does not exist or does not belong to this account. A reply or forward source must also be in the sending inbox.
X-Request-ID: Identifies this request; include it when reporting a problem.
Content type: application/json.
HTTP 500
internal_error: The operation failed. Retry a read; after a write the change may have happened, so recover as retry by operation describes.
X-Request-ID: Identifies this request; include it when reporting a problem.
Content type: application/json.
HTTP 503
content_unavailable: Stored content could not be read. Retry later.
X-Request-ID: Identifies this request; include it when reporting a problem.
Content type: application/json.
Schema: Restored
restored: this request brought the message back. already_live: it wasn't in Trash and nothing changed. thread_id is its conversation now; null for a received message that isn't ready.
| Field | Required | Type | Meaning and constraints |
|---|---|---|---|
id | Yes | string | Cherami resource ID. |
inbox_id | Yes | string | Cherami resource ID. |
thread_id | Yes | string or null | |
status | Yes | "restored" or "already_live" | |
message | Yes | string |
Schema: Error
| Field | Required | Type | Meaning and constraints |
|---|---|---|---|
error | Yes | object |
error fields
| Field | Required | Type | Meaning and constraints |
|---|---|---|---|
code | Yes | string | Code to handle. Handle a code you don't recognize by its HTTP status. |
message | Yes | string | Explanation of this case; its wording can change. |