All skills
resend avatar

/resend-cli

@edbfece official
by resendresend/resend-skills193 stars
28

Operate the Resend platform from the terminal — send emails (including React Email .tsx templates via --react-email), manage domains, contacts, broadcasts, templates, webhooks, API keys, logs, automations, and events via the `resend` CLI. Use when the user wants to run Resend commands in the shell, scripts, or CI/CD pipelines, or send/preview React Email templates. Always load this skill before running `resend` commands — it contains the non-interactive flag contract and gotchas that prevent silent failures.

Use this Skill: https://skilld.dev/gh/resend/resend-skills/resend-cli

This session only. Nothing lands on disk.

referencessuppressions.md

≈785 tokens on demand. Your agent reads this file only when SKILL.md points to it.

suppressions

Detailed flag specifications for resend suppressions commands.

Beta: Suppressions is a pre-GA feature gated per account. Commands appear in --help but return an API error unless the suppression list is enabled for your account. Reach out to Resend to join the beta.

Suppressions block future sends to an address. Each entry has an origin:

Origin Meaning
bounce Added automatically after a hard bounce
complaint Added automatically after a spam complaint
manual Added by you via suppressions add

get and delete accept either a suppression ID or the email address.


suppressions list

List suppressed addresses (default subcommand — resend suppressions alone runs it).

Flag Type Default Description
--limit <n> number 10 Max results, 1-100
--after <cursor> string — Forward pagination cursor
--before <cursor> string — Backward pagination cursor
--origin <origin> string — Filter: bounce | complaint | manual

Alias: ls

Output: {"object":"list","has_more":false,"data":[{"object":"suppression","id":"...","email":"...","origin":"bounce|complaint|manual","source_id":"..."|null,"created_at":"..."}]}


suppressions add

Suppress a single email address (origin manual).

Argument: <email> — email address to suppress (required in non-interactive mode)

Output: {"object":"suppression","id":"..."}


suppressions get

Retrieve a single suppression.

Argument: <id-or-email> — suppression ID or the suppressed email address

Output: {"object":"suppression","id":"...","email":"...","origin":"...","source_id":"..."|null,"created_at":"..."}


suppressions delete

Remove a suppression so Resend can send to the address again.

Argument: <id-or-email> — suppression ID or the suppressed email address

Flag Type Required Description
--yes boolean Yes (non-interactive) Skip confirmation

Alias: rm

Output: {"object":"suppression","id":"...","deleted":true}


suppressions batch add

Suppress up to 100 addresses in one request.

Flag Type Required Description
--file <path> string Yes (non-interactive) JSON file with an array of email strings (- for stdin)

File format: ["a@example.com", "b@example.com"]

Output: {"data":[{"object":"suppression","id":"..."}]}


suppressions batch remove

Remove up to 100 suppressions in one request.

Flag Type Required Description
--file <path> string Yes (non-interactive) JSON file with an array of strings (- for stdin)
--ids boolean No Treat file entries as suppression IDs instead of emails

Alias: rm

File format: ["a@example.com", "b@example.com"] (or IDs with --ids)

Output: {"data":[{"object":"suppression","id":"...","deleted":true}]}

Source: SKILL.md on GitHub

1 warning1d4 checks · Risk SAFE
  • Gen Agent Trust Hub1d

    This skill provides a comprehensive CLI for managing the Resend email platform. It includes robust documentation on credential safety, preventing accidental API key exposure, and specifically warns agents about treating inbound email content as untrusted data. The skill is published by the official Resend team and uses standard development practices.

  • Socket1d

    No alerts

  • Snyk1d

    Risk: MEDIUM · 1 issue

  • ZeroLeaks5mo

    1 finding · Score: 82/100

Signed by skilld at edbfece. This ties the file your Agent reads to that commit on GitHub. It does not review the instructions.

Last checked against GitHub 2 days ago.

Activeupdated 2 days ago
Other metadata
metadata
{
  "author": "resend",
  "version": "2.15.0",
  "homepage": "https://resend.com/docs/cli-agents",
  "source": "https://github.com/resend/resend-cli",
  "openclaw": {
    "primaryEnv": "RESEND_API_KEY",
    "requires": {
      "env": [
        "RESEND_API_KEY"
      ],
      "bins": [
        "resend"
      ]
    },
    "envVars": [
      {
        "name": "RESEND_API_KEY",
        "required": true,
        "description": "Resend API key for authenticating CLI commands"
      },
      {
        "name": "RESEND_PROFILE",
        "required": false,
        "description": "Named auth profile for multi-account setups"
      }
    ],
    "install": [
      {
        "kind": "node",
        "package": "resend-cli",
        "bins": [
          "resend"
        ],
        "label": "Resend CLI"
      }
    ],
    "links": {
      "repository": "https://github.com/resend/resend-cli",
      "documentation": "https://resend.com/docs/cli"
    }
  }
}
inputs
[
  {
    "name": "RESEND_API_KEY",
    "description": "Resend API key for authenticating CLI commands. Get yours at https://resend.com/api-keys",
    "required": true
  },
  {
    "name": "RESEND_PROFILE",
    "description": "Named auth profile for multi-account setups. Selects which stored API key to use (see `resend auth`).",
    "required": false
  }
]
references
[
  "references/emails.md",
  "references/domains.md",
  "references/api-keys.md",
  "references/automations.md",
  "references/broadcasts.md",
  "references/contacts.md",
  "references/contact-properties.md",
  "references/segments.md",
  "references/templates.md",
  "references/topics.md",
  "references/logs.md",
  "references/careers.md",
  "references/suppressions.md",
  "references/webhooks.md",
  "references/auth.md",
  "references/workflows.md",
  "references/error-codes.md"
]
  • CLI
  • resend
  • email
  • react-email
  • domains
  • broadcasts
  • contacts
  • automations
  • webhooks
  • ci-cd

README badge

README badge for resend/resend-skills/resend-cli

Operate the Resend email platform from the terminal—send emails via React Email templates, manage domains, contacts, broadcasts, templates, webhooks, API keys, and automations using the `resend` CLI. Targets shell scripts, CI/CD pipelines, and agent workflows that need programmatic email operations without interactive prompts.

Generated from the current SKILL.md.

Does this skill work in non-interactive environments like CI/CD?
Yes. The CLI auto-detects non-TTY and outputs JSON without prompting. Set RESEND_API_KEY in the environment, use --quiet to suppress spinners, and pass --yes on all delete commands.
Can I send React Email .tsx templates with this skill?
Yes. Use `resend emails send --react-email ./path/to/template.tsx` along with required flags like --from, --to, and --subject.
What authentication methods does the CLI support?
The CLI resolves auth via --api-key flag, RESEND_API_KEY environment variable, or a stored profile (resend login). Use RESEND_PROFILE or --profile for multi-account setups.
Does this skill support dry-run validation?
Only `emails send` and `broadcasts create` support --dry-run. They validate the payload and print the request without calling the API. Other commands like `emails batch` and `broadcasts send` do not support dry-run.
What happens if I forget --yes on a delete command?
The CLI exits with an error in non-interactive mode and does not prompt. All delete/rm subcommands require --yes when stdin is not a TTY.

Generated from the current SKILL.md. These answers refresh after source changes.