Agent skill

Telnyx Email Suppressions Curl

by team-telnyx in team-telnyx/ai

Manage email suppressions (blocks), import and export suppression lists, and manage unsubscribe groups.

MITAuto-check: notesBackend & APIs

Install Telnyx Email Suppressions Curl

skills CLI
$ npx skills add team-telnyx/ai --skill telnyx-email-suppressions-curl -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install team-telnyx/ai telnyx-email-suppressions-curl --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/team-telnyx/ai.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/telnyx-email-suppressions-curl .claude/skills/telnyx-email-suppressions-curl && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
telnyx-email-suppressions-curl
GitHub stars
220
Token cost
~5k tokens
SKILL.md length
1,629 words
Files
2 (incl. references)
Skills in repo
11
Repo updated
First seen
Licence
MIT

At a glance

Manage email suppressions (blocks), import and export suppression lists, and manage unsubscribe groups.

  • Works in 4 steps: Reject a missing or malformed timestamp,… → Reject a timestamp more than 5 minutes… → Verify the Ed25519 signature over… → …
  • Deliverability compliance and bounce handling
  • SKILL.md covers Installation, Setup, Error Handling and Important Notes, plus 5 more sections
  • Calls curl and jq; reaches api.telnyx.com; needs TELNYX_API_KEY

What it does

Telnyx Email Suppressions Curl is an agent skill from team-telnyx/ai. Manage email suppressions (blocks), import and export suppression lists, and manage unsubscribe groups. Use for deliverability compliance and bounce handling.

Its SKILL.md is about 5k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including reference files (for example `references/api-details.md`).

It sits in Backend & APIs, covering Transactional email. The repository describes itself as: Official one-stop shop for AI Agents and developers building with Telnyx. The licence is MIT.

When your agent uses it

  • Deliverability compliance and bounce handling
  • Tasks that involve Transactional email

Example prompts

  • “/telnyx-email-suppressions-curl”

Requirements

  • A credential in TELNYX_API_KEY

Workflow steps

4 steps, taken from the first numbered list in SKILL.md.

  1. Reject a missing or malformed timestamp, signature, or body.
  2. Reject a timestamp more than 5 minutes outside the server clock.
  3. Verify the Ed25519 signature over telnyx-timestamp + "|" + raw_body with
  4. Parse the JSON only after the signature and timestamp are valid.

What it can do on your machine

Read from SKILL.md and the folder at commit 4d2ace0. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • curl
    • jq

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • api.telnyx.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • TELNYX_API_KEY

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Telnyx Email Suppressions Curl loads about 5k tokens when it runs, and up to ~9.7k if it reads all its reference files. Until then it costs about 47 tokens; SKILL.md has 1,629 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~47
When it runs · the whole SKILL.md, loaded when a task matches
~5k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~9.7k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NoteRuns commands with sudoSKILL.md:23
    #   Debian/Ubuntu: sudo apt-get install jq

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from team-telnyx/ai at commit 4d2ace0, republished under its MIT licence (© team-telnyx). 1,629 words, ~4,972 tokens.

Download SKILL.mdSave it as .claude/skills/telnyx-email-suppressions-curl/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
telnyx-email-suppressions-curl
description
Manage email suppressions (blocks), import and export suppression lists, and manage unsubscribe groups. Use for deliverability compliance and bounce handling.
metadata.author
telnyx
metadata.product
email
metadata.language
curl
<!-- Auto-generated from Telnyx OpenAPI specs. Do not edit. -->

Telnyx Email Suppressions - curl

Installation

text
# curl is pre-installed on macOS, Linux, and Windows 10+
# jq is required for the import polling examples below:
#   macOS: brew install jq
#   Debian/Ubuntu: sudo apt-get install jq

Setup

bash
export TELNYX_API_KEY="YOUR_API_KEY_HERE"

All examples below use $TELNYX_API_KEY for authentication and the API base URL https://api.telnyx.com/v2.

Error Handling

All API calls can fail with network errors, authentication errors (401), or framework errors (406). List-query validation failures return 400, resource lookups can return 404, and JSON body validation failures normally return 422. Inspect the HTTP status and the top-level .errors array before continuing:

bash
response_file=$(mktemp)
status=$(curl --silent --show-error \
  --output "$response_file" \
  --write-out '%{http_code}' \
  -H "Authorization: Bearer $TELNYX_API_KEY" \
  "https://api.telnyx.com/v2/email_blocks")

if [ "$status" -lt 200 ] || [ "$status" -ge 300 ]; then
  printf 'Telnyx API error (HTTP %s):\n' "$status" >&2
  jq . "$response_file" >&2
  rm -f "$response_file"
  exit 1
fi
jq . "$response_file"
rm -f "$response_file"

Common statuses are 400 malformed query or import, 401 invalid API key, 404 resource not found, 409 group still has active suppressions, 413 import too large, and 422 invalid request attributes. A successful delete may return 204 No Content; do not attempt to parse that response as JSON.

Important Notes

  • Account isolation: Every lookup is scoped to the authenticated account. A malformed UUID or a UUID owned by another account is reported as 404.
  • Normalized addresses: Recipient addresses are trimmed and lower-cased. The from address on a manual block is also normalized.
  • Pagination: Most list operations use page[number] and page[size] (maximum 100). The main block list also supports opaque cursors. Do not combine offset and cursor modes.
  • URL encoding: Percent-encode an email address placed in a URL path. For example, use alice%40example.com, not an untrusted raw string.
  • Idempotency: Creating a block or adding a group suppression returns 200 when the matching suppression already exists and 201 when a row is created.

Operational Caveats

  • POST /v2/email_blocks always creates reason: manual_block with source: manual. Customers cannot use this endpoint to create hard_bounce, spam_complaint, or invalid suppressions; caller-supplied reason and source are ignored.
  • Scope is server-derived as account, domain, or address, never customer-set: no domain_id and no from gives account; domain_id without from gives domain; a from address gives address scope.
  • unsubscribe and manual_block are overridable at send time with ignore_suppression: true. hard_bounce, spam_complaint, and invalid are not overridable. Bypassing an overridable suppression should be deliberate and auditable.
  • Import is asynchronous. POST /v2/email_blocks/import returns 202 and a job ID; poll GET /v2/email_blocks/import/{id} until completed or failed. Import behavior for scoped suppressions may vary. Check the import result for the actual scope assigned.
  • Export is synchronous and streams CSV directly. It does not create a job.
  • Deleting a block is a soft delete: the row remains as a tombstone with status: removed. Recreating the same removed suppression reactivates it.
  • The expires_at field is available for setting an expiration timestamp on suppressions.
  • Check both error_count and skipped_count in the import response for rejected entries.
  • A group suppression prevents sending to that address for every campaign that uses the unsubscribe group. It is not an account-wide unsubscribe for campaigns that do not use that group.

Reference Use Rules

Do not invent Telnyx parameters, enums, response fields, import counters, or CSV columns.

Core Tasks

List suppressions

Use offset pagination for page-oriented tools or cursor pagination for sequential traversal without page-number offsets.

GET /v2/email_blocks

ParameterTypeRequiredDescription
page[number]integerNoOffset page, default 1. Do not combine with a cursor.
page[size]integerNo1-100, default 25.
page[after]stringNoOpaque next-page cursor. Exclusive with page[number] and page[before].
page[before]stringNoOpaque previous-page cursor. Exclusive with page[number] and page[after].
sortenumNocreated_at or -created_at (default).
filter[reason]enumNoExact reason match.
filter[domain_id]UUIDNoExact domain ID match.
filter[created_after]date-timeNoMatch created_at > value.
filter[created_before]date-timeNoMatch created_at < value.
bash
curl --get --silent --show-error \
  -H "Authorization: Bearer $TELNYX_API_KEY" \
  --data-urlencode 'page[size]=100' \
  --data-urlencode 'filter[reason]=hard_bounce' \
  --data-urlencode 'sort=-created_at' \
  "https://api.telnyx.com/v2/email_blocks"

Offset responses expose .meta.total_pages; cursor responses expose .meta.has_next and, when another page exists, .meta.next_cursor. Pass the returned cursor unchanged.

Create a manual suppression

POST /v2/email_blocks

ParameterTypeRequiredDescription
tostringYesRecipient address; trimmed and lower-cased by the server.
domain_idUUID or nullNoDomain context; omit/null for account scope.
fromstring or nullNoSender context; a value produces address scope.
expires_atdate-time or nullNoExpiration timestamp for the suppression.
bash
curl --silent --show-error \
  -X POST \
  -H "Authorization: Bearer $TELNYX_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "to": "blocked@example.com"
  }' \
  "https://api.telnyx.com/v2/email_blocks"

The response is .data with forced reason: manual_block, source: manual, a server-derived scope, and status: active. Do not send scope, group_id, bounce_category, dsn_code, or meta to this public operation.

Export suppressions as CSV

GET /v2/email_blocks/export

bash
curl --get --silent --show-error \
  -H "Authorization: Bearer $TELNYX_API_KEY" \
  -H "Accept: text/csv" \
  --data-urlencode 'filter[created_after]=2026-01-01T00:00:00Z' \
  --output email_blocks_export.csv \
  "https://api.telnyx.com/v2/email_blocks/export"

The 200 response is the CSV stream itself. Filters supported by the list endpoint affect export. Although sort and page[*] are parsed and invalid values can return 400, valid values are ignored; export always streams every matching row ordered by created_at ASC, id ASC.

Start an asynchronous CSV import

POST /v2/email_blocks/import

bash
curl --silent --show-error \
  -X POST \
  -H "Authorization: Bearer $TELNYX_API_KEY" \
  -H "Accept: application/json" \
  -F 'file=@email_blocks.csv;type=text/csv' \
  -F 'block_ttl_days=30' \
  "https://api.telnyx.com/v2/email_blocks/import"

A valid request returns 202 with .data.id and .data.status equal to pending. CSV content may not exceed 25 MiB or 250,000 rows. Provider format is auto-detected as sendgrid, mailgun, ses, or generic. block_ttl_days applies only to imported manual_block rows.

Poll an import job

GET /v2/email_blocks/import/{id}

bash
IMPORT_ID="00000000-0000-0000-0000-000000000000"

while :; do
  body=$(curl --silent --show-error \
    -H "Authorization: Bearer $TELNYX_API_KEY" \
    "https://api.telnyx.com/v2/email_blocks/import/$IMPORT_ID") || exit 1
  state=$(printf '%s' "$body" | jq -r '.data.status')
  printf 'import status: %s\n' "$state"
  case "$state" in
    completed)
      printf '%s' "$body" | jq '.data | {
        processed_rows, created_count, existing_count,
        skipped_count, error_count, errors
      }'
      break
      ;;
    failed)
      printf '%s' "$body" | jq '.data | {status, failure_reason}' >&2
      exit 1
      ;;
    pending|processing) sleep 2 ;;
    *) printf 'unexpected import status: %s\n' "$state" >&2; exit 1 ;;
  esac
done

Completion counters are omitted until status is completed; failure_reason is only present on failure. Check both error_count and skipped_count in the import response for rejected entries, and inspect errors when present.

Retrieve a suppression

GET /v2/email_blocks/{id}

bash
BLOCK_ID="00000000-0000-0000-0000-000000000000"
curl --silent --show-error \
  -H "Authorization: Bearer $TELNYX_API_KEY" \
  "https://api.telnyx.com/v2/email_blocks/$BLOCK_ID"

Primary response fields are .data.id, .data.to, .data.from, .data.domain_id, .data.group_id, .data.reason, .data.source, .data.scope, .data.status, .data.expires_at, .data.created_at, and .data.updated_at.

Soft-delete a suppression

DELETE /v2/email_blocks/{id}

bash
BLOCK_ID="00000000-0000-0000-0000-000000000000"
curl --silent --show-error \
  -X DELETE \
  -H "Authorization: Bearer $TELNYX_API_KEY" \
  "https://api.telnyx.com/v2/email_blocks/$BLOCK_ID"

This returns 200 with the tombstone in .data; verify .data.status == "removed". Repeating the delete is idempotent and does not append another audit event.

List a suppression's audit events

GET /v2/email_blocks/{id}/events

bash
BLOCK_ID="00000000-0000-0000-0000-000000000000"
curl --get --silent --show-error \
  -H "Authorization: Bearer $TELNYX_API_KEY" \
  --data-urlencode 'page[number]=1' \
  --data-urlencode 'page[size]=50' \
  "https://api.telnyx.com/v2/email_blocks/$BLOCK_ID/events"

Events are newest first and can be created, removed, expired, or override_used. This endpoint has offset pagination only and a default page size of 50; it has no filters, sort, or cursor parameters.

List unsubscribe groups

GET /v2/email_unsubscribe_groups

bash
curl --get --silent --show-error \
  -H "Authorization: Bearer $TELNYX_API_KEY" \
  --data-urlencode 'page[number]=1' \
  --data-urlencode 'page[size]=25' \
  "https://api.telnyx.com/v2/email_unsubscribe_groups"

Groups use offset pagination only and fixed newest-first ordering.

Create an unsubscribe group

POST /v2/email_unsubscribe_groups

bash
curl --silent --show-error \
  -X POST \
  -H "Authorization: Bearer $TELNYX_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Product announcements",
    "description": "Optional opt-out category for product email"
  }' \
  "https://api.telnyx.com/v2/email_unsubscribe_groups"

name is required, non-empty, and at most 255 characters. A successful create returns 201 and the group in .data.

Retrieve an unsubscribe group

GET /v2/email_unsubscribe_groups/{id}

bash
GROUP_ID="00000000-0000-0000-0000-000000000000"
curl --silent --show-error \
  -H "Authorization: Bearer $TELNYX_API_KEY" \
  "https://api.telnyx.com/v2/email_unsubscribe_groups/$GROUP_ID"
Show full SKILL.md (652 more words)Show less
Update an unsubscribe group

Only name and description are mutable. This is a partial update; PUT is not routed.

PATCH /v2/email_unsubscribe_groups/{id}

bash
GROUP_ID="00000000-0000-0000-0000-000000000000"
curl --silent --show-error \
  -X PATCH \
  -H "Authorization: Bearer $TELNYX_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "description": "Announcements and release notes"
  }' \
  "https://api.telnyx.com/v2/email_unsubscribe_groups/$GROUP_ID"
Delete an unsubscribe group

DELETE /v2/email_unsubscribe_groups/{id}

bash
GROUP_ID="00000000-0000-0000-0000-000000000000"
curl --silent --show-error \
  -X DELETE \
  -H "Authorization: Bearer $TELNYX_API_KEY" \
  "https://api.telnyx.com/v2/email_unsubscribe_groups/$GROUP_ID"

A successful delete returns 204. If active group suppressions remain, the request returns 409. Either remove them first or deliberately force the delete:

bash
curl --get --silent --show-error \
  -X DELETE \
  -H "Authorization: Bearer $TELNYX_API_KEY" \
  --data-urlencode 'force=true' \
  "https://api.telnyx.com/v2/email_unsubscribe_groups/$GROUP_ID"

force=true soft-deletes active group suppressions, clears their group links, appends removal events, and then hard-deletes the group in one transaction.

List suppressions in a group

GET /v2/email_unsubscribe_groups/{id}/suppressions

bash
GROUP_ID="00000000-0000-0000-0000-000000000000"
curl --get --silent --show-error \
  -H "Authorization: Bearer $TELNYX_API_KEY" \
  --data-urlencode 'page[number]=1' \
  --data-urlencode 'page[size]=100' \
  "https://api.telnyx.com/v2/email_unsubscribe_groups/$GROUP_ID/suppressions"

Rows use the standard email-block shape with .group_id set to this group. This list supports offset pagination only; no filters, sort, or cursor.

Add a group suppression

POST /v2/email_unsubscribe_groups/{id}/suppressions

bash
GROUP_ID="00000000-0000-0000-0000-000000000000"
curl --silent --show-error \
  -X POST \
  -H "Authorization: Bearer $TELNYX_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "to": "subscriber@example.com"
  }' \
  "https://api.telnyx.com/v2/email_unsubscribe_groups/$GROUP_ID/suppressions"

Only to is read. The server forces reason: unsubscribe, source: manual, and this group's group_id. A duplicate is idempotent and returns 200.

Remove a group suppression

DELETE /v2/email_unsubscribe_groups/{id}/suppressions/{email}

bash
GROUP_ID="00000000-0000-0000-0000-000000000000"
# The email path segment is percent-encoded.
EMAIL_PATH="subscriber%40example.com"
curl --silent --show-error \
  -X DELETE \
  -H "Authorization: Bearer $TELNYX_API_KEY" \
  "https://api.telnyx.com/v2/email_unsubscribe_groups/$GROUP_ID/suppressions/$EMAIL_PATH"

A successful removal returns 204 and soft-deletes every active matching row for the normalized address in that group. A repeat returns 404 because no active matching group suppression remains.

Webhooks

Email webhooks are configured at the domain level, not on an individual suppression. Create a subscription with POST /email_domains/{id}/webhooks using the https://api.telnyx.com/v2 base URL. The suppression-related event names in the current OpenAPI EmailWebhookEvent enum are:

EventUse in a suppression workflow
email.bouncedProcess a bounced-delivery outcome.
email.failedProcess a terminal delivery failure.
email.complainedProcess a recipient complaint.
email.unsubscribedProcess a recipient unsubscribe action.
bash
DOMAIN_ID="00000000-0000-0000-0000-000000000000"
curl --silent --show-error \
  -X POST \
  -H "Authorization: Bearer $TELNYX_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://example.com/webhooks/email",
    "events": ["email.bounced", "email.failed", "email.complained", "email.unsubscribed"]
  }' \
  "https://api.telnyx.com/v2/email_domains/$DOMAIN_ID/webhooks"
Verify signatures before parsing

Telnyx signs webhook requests with Ed25519. Read the telnyx-signature-ed25519 and telnyx-timestamp headers, and retain the exact raw request body bytes. Do not parse or re-serialize the JSON before verification.

  1. Reject a missing or malformed timestamp, signature, or body.
  2. Reject a timestamp more than 5 minutes outside the server clock.
  3. Verify the Ed25519 signature over telnyx-timestamp + "|" + raw_body with the Telnyx public key. Ed25519 verification is not HMAC validation.
  4. Parse the JSON only after the signature and timestamp are valid.
Deduplicate and acknowledge quickly
  • Deduplicate by event ID with an atomic uniqueness check before applying side effects. Treat an already-seen event as successfully handled.
  • Enqueue slow work and return a 2xx response within 10 seconds.
  • Telnyx retries on timeout or non-2xx. Keep your endpoint idempotent.

Additional Operations

Use the core tasks above first. All 16 reachable suppression and unsubscribe group operations are indexed here with their exact HTTP endpoints. Use references/api-details.md for full optional parameters, response schemas, status codes, and operation IDs.

OperationSDK methodEndpointUse whenRequired params
List suppressionsHTTP onlyGET /email_blocksInspect suppressions or select a block before another action.None
Create a manual suppressionHTTP onlyPOST /email_blocksAdd a manual recipient suppression.to
Export suppressions as CSVHTTP onlyGET /email_blocks/exportDownload matching suppressions as CSV.None
Start a CSV importHTTP onlyPOST /email_blocks/importUpload suppressions for asynchronous import.file
Poll an import jobHTTP onlyGET /email_blocks/import/{id}Check whether an asynchronous import completed or failed.id
Retrieve a suppressionHTTP onlyGET /email_blocks/{id}Fetch one suppression by ID.id
Soft-delete a suppressionHTTP onlyDELETE /email_blocks/{id}Remove an existing suppression.id
List suppression audit eventsHTTP onlyGET /email_blocks/{id}/eventsInspect the history of one suppression.id
List unsubscribe groupsHTTP onlyGET /email_unsubscribe_groupsInspect available unsubscribe groups.None
Create an unsubscribe groupHTTP onlyPOST /email_unsubscribe_groupsCreate a campaign-level unsubscribe category.name
Retrieve an unsubscribe groupHTTP onlyGET /email_unsubscribe_groups/{id}Fetch one unsubscribe group by ID.id
Update an unsubscribe groupHTTP onlyPATCH /email_unsubscribe_groups/{id}Change a group's name or description.id
Delete an unsubscribe groupHTTP onlyDELETE /email_unsubscribe_groups/{id}Remove an unsubscribe group.id
List group suppressionsHTTP onlyGET /email_unsubscribe_groups/{id}/suppressionsInspect recipients suppressed in one group.id
Add a group suppressionHTTP onlyPOST /email_unsubscribe_groups/{id}/suppressionsSuppress a recipient in one unsubscribe group.id, to
Remove a group suppressionHTTP onlyDELETE /email_unsubscribe_groups/{id}/suppressions/{email}Remove a recipient suppression from one group.id, email

For exhaustive parameter behavior, CSV columns and limitations, response schemas, status codes, and operation IDs, see references/api-details.md.

© team-telnyx, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file (references) in skills/telnyx-email-suppressions-curl of team-telnyx/ai.

  • SKILL.md
  • references/api-details.md

Open the folder on GitHubat commit 4d2ace0

Compare with similar skills

Telnyx Email Suppressions Curl next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Telnyx Email Suppressions Curl compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Telnyx Email Suppressions Curl this skillteam-telnyx/ai220—~5kAutomated safety check: NotesMIT
Stripe Projectsfossasia/eventyay1.7k5 repos~2kAutomated safety check: NotesApache-2.0
WooCommerce Email Editor Developmentwoocommerce/woocommerce11k—~893Automated safety check: PassCustom licence
Email Best Practicesviclafouch/meme-studio1107 repos~787Automated safety check: PassNone
React Emailviclafouch/meme-studio1102 repos~3.6kAutomated safety check: PassMIT
Pinme Emailglitternetwork/pinme3.8k—~1.2kAutomated safety check: PassMIT

Similar skills

  • Stripe Projects

    fossasia/eventyay

    A skill your agent uses when the user wants to provision infrastructure or third-party services using Stripe Projects.

    1.7k GitHub starsUsed in 5 repos~2k tokens
    Backend & APIsAuto-check: notes
  • Sets up a local environment for the WooCommerce block email editor, with a watcher, Mailpit email capture and build and test commands for its PHP and JS packages.

    11k GitHub stars~893 tokensUpdated today
    Backend & APIsAuto-check passed
  • Email Best Practices

    viclafouch/meme-studio

    A skill your agent uses when building email features, emails going to spam, high bounce rates, setting up SPF/DKIM/DMARC authentication, implementing email capture, ensuring compliance (CAN-SPAM…

    110 GitHub starsUsed in 7 repos~787 tokens
    Backend & APIsAuto-check passed
  • React Email

    viclafouch/meme-studio

    A skill your agent uses when creating HTML email templates with React components - welcome emails, password resets, notifications, order confirmations, newsletters, or transactional emails.

    110 GitHub starsUsed in 2 repos~3.6k tokens
    Backend & APIsAuto-check passed
  • Pinme Email

    glitternetwork/pinme

    A skill your agent uses when a PinMe project (Worker TypeScript) needs to integrate email sending (sendemail).

    3.8k GitHub stars~1.2k tokensUpdated 29 days ago
    Backend & APIsAuto-check passed
  • Email Deliverability Audit

    growthenginenowoslawski/coldoutboundskills

    Diagnostic audit for a running cold email program. An agent skill from growthenginenowoslawski/coldoutboundskills.

    753 GitHub stars~3.4k tokensUpdated 5 days ago
    Backend & APIsAuto-check passed

More from team-telnyx/ai

All 11 skills in this repo
  • Test VoIP push notifications for Telnyx WebRTC iOS (APNs) and Android (FCM) apps.

    220 GitHub stars~538 tokensUpdated 2 days ago
    Auto-check passed
  • Telnyx Messaging Curl

    team-telnyx/ai

    Send and receive SMS/MMS, handle opt-outs and delivery webhooks.

    220 GitHub stars~4.9k tokensUpdated 2 days ago
    Auto-check passed
  • Build cross-platform VoIP calling apps with React Native using Telnyx Voice SDK.

    220 GitHub stars~3.2k tokensUpdated 2 days ago
    Auto-check passed
  • End-to-end setup for making a Telnyx AI assistant call a phone number.

    220 GitHub stars~2.3k tokensUpdated 2 days ago
    Auto-check passed
  • Telnyx Email Curl

    team-telnyx/ai

    Send transactional email, batch sends, scheduled delivery, templates, email validation, and track delivery events.

    220 GitHub stars~6k tokensUpdated 2 days ago
    Auto-check: notes
  • Manage email inboxes, list and search inbound messages, threads, sender filters, and reply to or forward messages.

    220 GitHub stars~5.4k tokensUpdated 2 days ago
    Auto-check passed

Categories

Questions about Telnyx Email Suppressions Curl

What does Telnyx Email Suppressions Curl do?

Manage email suppressions (blocks), import and export suppression lists, and manage unsubscribe groups. Telnyx Email Suppressions Curl is an agent skill from team-telnyx/ai. Manage email suppressions (blocks), import and export suppression lists, and manage unsubscribe groups.

When should I use Telnyx Email Suppressions Curl?

Telnyx Email Suppressions Curl fits situations like: deliverability compliance and bounce handling; tasks that involve Transactional email.

How do I install Telnyx Email Suppressions Curl in Claude Code?

Run `npx skills add team-telnyx/ai --skill telnyx-email-suppressions-curl -a claude-code`. Or copy the skill folder (skills/telnyx-email-suppressions-curl in team-telnyx/ai) into .claude/skills/telnyx-email-suppressions-curl in your project. Claude Code loads it when a task matches its description.

How do I install Telnyx Email Suppressions Curl in Codex?

Run `npx skills add team-telnyx/ai --skill telnyx-email-suppressions-curl -a codex`. Or copy the skill folder (skills/telnyx-email-suppressions-curl in team-telnyx/ai) into .agents/skills/telnyx-email-suppressions-curl in your project. Codex loads it when a task matches its description.

Can I use Telnyx Email Suppressions Curl in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add team-telnyx/ai --skill telnyx-email-suppressions-curl -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/telnyx-email-suppressions-curl, .gemini/skills/telnyx-email-suppressions-curl, .github/skills/telnyx-email-suppressions-curl and .opencode/skills/telnyx-email-suppressions-curl in your project.

What does Telnyx Email Suppressions Curl need to run?

Going by SKILL.md and its folder, Telnyx Email Suppressions Curl needs the command-line tools its instructions call (curl and jq) and credentials named TELNYX_API_KEY. Our summary lists: A credential in TELNYX_API_KEY.

Does Telnyx Email Suppressions Curl access the network?

SKILL.md names 1 domain. In commands or code: api.telnyx.com; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.

Is Telnyx Email Suppressions Curl safe to install?

Our automated static check of SKILL.md found notes only (runs commands with sudo), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.

What licence does Telnyx Email Suppressions Curl use?

Telnyx Email Suppressions Curl is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Telnyx Email Suppressions Curl use?

About 5k tokens (SKILL.md is roughly 20k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 4.8k tokens, read only when the agent opens those files.

What are the alternatives to Telnyx Email Suppressions Curl?

Skills that share tags, products or a category with Telnyx Email Suppressions Curl: Stripe Projects (fossasia/eventyay, 1.7k stars), WooCommerce Email Editor Development (woocommerce/woocommerce, 11k stars), Email Best Practices (viclafouch/meme-studio, 110 stars) and React Email (viclafouch/meme-studio, 110 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Telnyx Email Suppressions Curl?

team-telnyx (a GitHub organization) maintains it in team-telnyx/ai, which has 220 GitHub stars. The repository holds 11 skills in this directory. The repository was last updated on October 8, 2026.

Source: team-telnyx/ai on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.