Capability library / Application package

SendGrid package 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: Reviewed · Distributable: yes, digest matches the release manifest

This page describes AAES Govern’s controls. AAES Operate has private-work permissions, operational reviews and recorded-spend limits; it does not include Govern. About AAES Govern

Before you enable this package

The endpoint host 'sendgrid-api.invalid' is a reserved .invalid placeholder that fails closed until you substitute the real host in both the endpoint URLs and the egress allowlist.

Read each action's effects and exclusions below. Before installation, also read the complete package requirements, including credential issuance, scope, expiry, and provider permissions. These are deployment prerequisites, not capabilities this package supplies.

Capabilities (5)

Each capability below is one registered operation. The complete package JSON includes its exact network destination allowlist. The repository stores it at packs/sendgrid.json and embeds a copy in the release binary.

Risk tiers. R0 is the minimum for reads. R2 is the minimum for write, create, update, execute, and invoke. R3 is the minimum for delete, send, pay, deploy, approve, share, and transfer. Operators can raise these levels. A minimum tier does not measure the operation's business or confidentiality risk.

On supported execution paths routed through AAES Govern, the R3 actions listed below require approval by an authorized person. Bypass paths and observation-only registrations are outside that guarantee. A provider's restoration feature does not remove this approval requirement. A provider-side approval, such as approving a GitLab merge request, is also separate from AAES Govern human approval. The capability matrix shows which execution paths are implemented, restricted to lab use, or refused at startup. Live compatibility must be tested in your environment.

Field guide. Endpoint is the service address and request method. Connector is the adapter that makes the call. Custody describes how the credential is held; the credential reference identifies the value to resolve. Data class sets handling requirements: pii means personal data, financial means financial records, and internal means internal organizational data.

sendgrid.mail.send v1.0.0R3

Kind
tool
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 mail.

Send email over the v3 Mail Send endpoint. The vendor operation is a POST-create, but the effect delivers email to end recipients — according to the reviewed 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 minimum R3 tier; send is one of the designated actions requiring human approval.

On supported execution paths mediated by AAES Govern, irreversible actions require approval by an authorized person; this does not prevent calls through bypass or observation-only paths.

The request body is unrestricted: the caller names recipients, subjects and content, so intended limits need a separate enforceable control. 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

Kind
tool
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

Read global suppressions.

Retrieve the paginated collection of globally suppressed email addresses (recipients who unsubscribed from all email), according to the reviewed 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

Kind
tool
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

Read suppressions.

Retrieve the collection of all suppressions across unsubscribe groups (email, group id, group name, created_at), according to the reviewed 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

Kind
tool
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 group suppressions.

Remove a suppressed address from one unsubscribe group. Registered as delete at the minimum R3 tier: according to the reviewed 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 designated actions requiring human approval.

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

Kind
tool
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 global suppressions.

Remove an address from the global suppression list, according to the reviewed reference: after the call, email may be sent to that address again. Registered as delete at the minimum R3 tier — 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 designated actions requiring human approval.

On supported execution paths mediated by AAES Govern, irreversible actions require approval by an authorized person; this does not prevent calls through bypass or observation-only paths. EMAIL is a placeholder the deployment binds before enabling, and the host is a reserved placeholder to substitute before enabling.

Credential reference

The credential field names a reference rather than containing credential material. Packs are designed not to contain secrets; the format checks cover only known credential formats and cannot prove that arbitrary text contains no secrets. Installing a package registers its capabilities. Configure the provider credentials, endpoints, and network access, then test the integration in your environment before enabling it.

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

Configure the value and injection format specified in the package. Assign responsibility for credential rotation and revocation, restrict provider permissions, and keep credential material out of logs and responses.

Complete credential requirements

A Twilio SendGrid v3 API key, held in the client's own secret manager. The key is created in the Twilio SendGrid App; according to the reviewed 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, according to the reviewed 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

Technical package and review record

Complete provider requirements 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, according to the reviewed 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.

Approval classification: 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 minimum R3 tier — send is one of the designated actions requiring human approval — and the request body is unrestricted (up to 1000 personalizations per call, according to the reviewed mail-send reference), so intended limits need a separate enforceable control.

Suppression deletions are registered as delete at the minimum R3 tier: 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.

Download the complete package JSON for exact network allowlists, credential requirements, exclusions, and setup notes. Read these requirements before installation.

The full documentation review record is supplied in the evaluation package. The evaluation package runs in your environment and comes only with the paid design partnership. This page reproduces the source links and review block; the full record is available for evaluation. Discuss a design partnership to inspect it before installation.

Review block

This section reproduces the review block recorded in the pack file. The evidence and approval record is separate: for a reviewed pack, it is in the evaluation materials and in the release binary's embedded assets.

Review completed: 2026-09-22

8 sources, retrieved 2026-09-21

Current documentation links are navigation aids. They do not change the package, its historical sources or its review date. Review dates describe a documentation review, not a live integration test. No package is provider-endorsed or yet tested against a live provider tenant.

Release identity

SHA-256 of the pack file bytes: a8f6b03061d880315f1efe85c799778fd80ac69e093123f784a40cf7c0852a9f

Distributable: yes, digest matches the release manifest. Editing a package changes its release identity. A deployment plan checks its own file digests; it does not restore reviewed status or authenticate approval.