Capability Library · Pack detail

sendgrid v1.0.0

Twilio SendGrid v3 API: send mail, read global and group suppressions, and delete suppression entries from a group or the global list.

Review state: draft· Not in the distributable release manifest

Release identity

SHA-256 of the pack file bytes: 942fa2d2335a4a2a80fcf2630c016df7ef539d243805bc33022421476aa9b565

Not in the distributable release manifest. The binary carries a digest-bound manifest of the distributable library; a pack whose bytes differ from its manifest entry — endpoint, tier, allowlist, or credential edited, with provider, version, and review block preserved — fails the digest check, loses distributability, and renders MODIFIED rather than as the shipped reviewed artifact. Review state and artifact status are different facts: the first is a documentation-review declaration, the second is the identity of the exact bytes.

Capabilities (5)

sendgrid.mail.send v1.0.0R3

Actions
create, send
Endpoint
POST https://sendgrid-api.invalid/v3/mail/send
Connector
http
Custody
customer_vault
Credential ref
secret-ref-sendgrid-api-key
Data class
pii

Send email over the v3 Mail Send endpoint. The vendor operation is a POST-create, but the effect delivers email to end recipients — per the retrieved reference, up to 1000 personalizations per call, with attachments, templates and an optional send_at schedule up to 72 hours ahead — so the capability is registered as create and send at the R3 floor; send is one of the IRREVERSIBLE ACTIONS (delete, send, pay, deploy, approve, share and transfer), and an irreversible action cannot be taken without a person. The request body is unrestricted: the caller names recipients, subjects and content, so an installer's intention is not a restriction. Recipient addresses are personal data. The host is a reserved placeholder: substitute api.sendgrid.com (or api.eu.sendgrid.com for EU regional subusers) before enabling.

sendgrid.suppressions.global.read v1.0.0R0

Action
read
Endpoint
GET https://sendgrid-api.invalid/v3/suppression/unsubscribes
Connector
http
Custody
customer_vault
Credential ref
secret-ref-sendgrid-api-key
Data class
pii

Retrieve the paginated collection of globally suppressed email addresses (recipients who unsubscribed from all email), per the retrieved reference; limit/offset pagination and an email filter are query parameters. Suppressed addresses are personal data. The registered path covers the collection read only. The host is a reserved placeholder: substitute the SendGrid API host before enabling.

sendgrid.suppressions.read v1.0.0R0

Action
read
Endpoint
GET https://sendgrid-api.invalid/v3/asm/suppressions
Connector
http
Custody
customer_vault
Credential ref
secret-ref-sendgrid-api-key
Data class
pii

Retrieve the collection of all suppressions across unsubscribe groups (email, group id, group name, created_at), per the retrieved reference. The registered path covers the collection read only; suppressed addresses are personal data. The host is a reserved placeholder: substitute the SendGrid API host before enabling.

sendgrid.suppressions.group.delete v1.0.0R3

Action
delete
Endpoint
DELETE https://sendgrid-api.invalid/v3/asm/groups/GROUP_ID/suppressions/EMAIL
Connector
http
Custody
customer_vault
Credential ref
secret-ref-sendgrid-api-key
Data class
pii

Remove a suppressed address from one unsubscribe group. Registered as delete at the R3 floor: per the retrieved reference, removing the suppression means email will once again be sent to the previously suppressed address and should be avoided unless the recipient asked to receive email again — the effect overrides a recipient's expressed unsubscribe, and re-adding the address later would be a new suppression, not an undo. Delete is one of the IRREVERSIBLE ACTIONS (delete, send, pay, deploy, approve, share and transfer). GROUP_ID and EMAIL are placeholders the deployment binds before enabling, and the host is a reserved placeholder to substitute before enabling.

sendgrid.suppressions.global.delete v1.0.0R3

Action
delete
Endpoint
DELETE https://sendgrid-api.invalid/v3/asm/suppressions/global/EMAIL
Connector
http
Custody
customer_vault
Credential ref
secret-ref-sendgrid-api-key
Data class
pii

Remove an address from the global suppression list, per the retrieved reference: after the call, email may be sent to that address again. Registered as delete at the R3 floor — the effect overrides a recipient's unsubscribe-from-all, the widest suppression scope SendGrid has, and re-suppressing later is a new act, not an undo. Delete is one of the IRREVERSIBLE ACTIONS (delete, send, pay, deploy, approve, share and transfer), and an irreversible action cannot be taken without a person. EMAIL is a placeholder the deployment binds before enabling, and the host is a reserved placeholder to substitute before enabling.

Credential reference

The pack names a reference, never a secret. Installing a pack registers capabilities and makes them governable; registration is not connectivity. The credential is created at the provider and held in the client's own secret manager under the reference the pack names, and deployment testing is still required to show the credential path works and cannot be bypassed.

Reference
secret-ref-sendgrid-api-key
Custody
customer_vault
Injection
header (Authorization)

A Twilio SendGrid v3 API key, held in the client's own secret manager. The key is created in the Twilio SendGrid App; per the retrieved API Keys documentation a key may be Full Access, Custom Access (scoped to a limited set of actions) or Billing Access. The stored material must be the complete Authorization header value (scheme included): 'Bearer ' followed by the API key — SendGrid no longer accepts HTTP Basic authentication for the v3 API, per the retrieved getting-started guide. There is no token-issuance exchange: the key IS the bearer material, so the custody job stores it once and the executor injects it verbatim; renewal means issuing a new key in the app and updating the reference. Expiry and revocation: SendGrid documents no automatic expiry for API keys — treat a key as valid until revoked; a key can be revoked at any time in the app without changing the account's username and password, and a revoked key fails closed. Note that revoking issuance (not creating new keys) does nothing to already-issued keys: each issued key stays valid until that key itself is revoked. Least privilege: issue a Custom Access key with only the scopes these capabilities need (mail send; suppression read and delete) and nothing more — a Full Access key also reaches API-key management, sender authentication and account administration, which this pack deliberately does not register. Executor hygiene: the value must live only in executor memory for the lifetime of a call, must never be written to logs, traces or diagnostics, and must not appear in crash dumps; a deployment that cannot meet that bar must not enable the pack.

Resources

  • sendgrid-mail (api, pii): https://sendgrid-api.invalid/v3/mail
  • sendgrid-suppressions (api, pii): https://sendgrid-api.invalid/v3/suppression

Pack notes and exclusions

The endpoint host 'sendgrid-api.invalid' is a reserved non-production placeholder (an RFC 2606 reserved TLD): substitute the SendGrid API host for the account — api.sendgrid.com, or api.eu.sendgrid.com for EU regional subusers, per the retrieved reference pages — before enabling, in every endpoint, in the resource locators and in every egress allowlist entry. The allowlist matches exactly, so all three must be substituted together, and substitution is a required deployment step. The API key is created in the Twilio SendGrid App (the retrieved API Keys documentation: Full Access, Custom Access or Billing Access types) and a parent account may act for subusers with the on-behalf-of header — this pack registers no subuser impersonation and the deployment should review whether the stored key is a parent key. Tiering rationale: mail.send delivers email to end recipients, so although the vendor operation is a POST-create it is registered as create and send at the R3 floor — send is one of the IRREVERSIBLE ACTIONS (delete, send, pay, deploy, approve, share and transfer) — and the request body is unrestricted (up to 1000 personalizations per call, per the retrieved mail-send reference), so an installer's intention is not a restriction. Suppression deletions are registered as delete at the R3 floor: SendGrid's own documentation warns that removing a suppression means email will once again be sent to the previously suppressed address and should be avoided unless the recipient has asked to receive email again, so the effect overrides a recipient's expressed unsubscribe and the tier follows the effect. Documented exclusions — this pack does not register: API key management (creating or deleting API keys creates or destroys credentials themselves); adding addresses to the global suppression list (a write that changes what a recipient receives, registered neither here nor elsewhere in this pack); unsubscribe-group administration (creating, updating or deleting suppression groups — deleting a group moves one-click unsubscribers to the global list, per SendGrid's documentation); sender authentication, domain and link-branding configuration (changes what recipients trust as 'from' the customer); scheduled-send cancellation (a separate surface with batch semantics); contacts and marketing-campaigns surfaces; IP pool, warmup and access-management administration; and the Recipients' Data Erasure API — each is a different registration requiring its own review, and none is approximated here.

Review record

Draft review record dated 2026-09-21 · Reviewer: aaes-eng (an opaque id that resolves internally to the responsible reviewer)

A pack review is not a vendor or examiner attestation. A retrieval date says when a source page was read; it does not by itself establish what the page said then. No pack is vendor-endorsed, and none has been connectivity-tested against a live vendor tenant.