Receive Emails: Organize

Move

Move messages or whole conversations between folders, for example Spam to INBOX or INBOX to Archive.

POSThttps://g.sendcorex.com/v1command: move
i

Only from_folder is replaced by to_folder. The other folders of the message stay: a reply in ["Sent","INBOX"] moved to Archive ends up in ["Sent","Archive"].

!

Moving a message to Spam marks the external sender as untrusted, and their next emails go straight to Spam. Moving it out of Spam does not restore trust: use set_trust for that.

Arguments

  • idsstring[]optional

    Up to 100 message ids.

  • idstringoptional

    A single message id. Use this or ids.

  • to_folderstringrequired

    Destination folder (slug or name). Snoozed is not accepted: use snooze.

  • from_folderstringoptional

    Folder to move out of. Defaults to the folder of the message that is not Sent.

  • scopestringoptional

    thread (default) or message.

Quick start

import axios from 'axios';

const response = await axios.post(
  'https://g.sendcorex.com/v1',
  {
    commands: [
      {
        command: "move",
        args: {
          id: "Vj0xQUJDMTIz",
          from_folder: "INBOX",
          to_folder: "Archive"
        }
      }
    ]
  },
  { headers: { Authorization: process.env.SENDCOREX_TOKEN } },
);

const [result] = response.data.results;
if (result.type !== 'SUCCESS') throw new Error(`${result.code}: ${result.message}`);
console.log(result.data);

Response

{
  "type": "SUCCESS",
  "results": [
    {
      "command": "move",
      "id": "0",
      "type": "SUCCESS",
      "data": {
        "items": [
          {
            "id": "Vj0xQUJDMTIz",
            "ok": true,
            "data": {
              "from_folder": "INBOX",
              "to_folder": "Archive",
              "moved": 2
            }
          }
        ],
        "ok_count": 1,
        "failed_count": 0
      }
    }
  ]
}

Response fields

  • items[].data.from_folder / to_folder

    The folders involved.

  • items[].data.moved

    How many messages moved.

  • items[].data.trust_status

    Only when moving to Spam: the new trust status of the sender.

Rescue a conversation from Spam

Send both commands in one request. They run in order.

Request body

{
  "commands": [
    {
      "command": "move",
      "args": {
        "id": "Vj0xQUJDMTIz",
        "from_folder": "Spam",
        "to_folder": "INBOX",
        "scope": "thread"
      }
    },
    {
      "command": "set_flags",
      "args": {
        "id": "Vj0xQUJDMTIz",
        "is_read": true,
        "scope": "thread"
      }
    }
  ]
}

Errors

HTTP-level errors return type, code and message. Errors marked CMD come back inside the command result, with HTTP 200.

  • 401TOKEN_EXPIRED

    The access token has expired. Call Refresh Token and repeat the request.

  • 401INVALID_TOKEN

    The token is malformed, unknown or revoked.

  • 429RATE_LIMITED

    More than 15 requests/s or 15 in flight for the same IP + mailbox. Wait the number of seconds in Retry-After.

  • CMDINVALID_ARGS

    A required argument is missing or invalid.

  • CMDNOT_FOUND

    The message, thread or folder does not exist for this token.

  • CMDINTERNAL

    Server error. The detail is only written to the server log.