
Company News
Socket Joins New OpenJS Program to Fund Node.js Security Work
Socket is joining the OpenJS Security Stewardship Program to fund Node.js vulnerability research, maintainer remediation, and security releases.
@agentisend/sdk-node
Advanced tools
Typed Node client for the AgentiSend API. Node 20 or newer, ESM, no runtime dependencies.
npm install @agentisend/sdk-node
import { AgentiSend } from '@agentisend/sdk-node';
const agentisend = new AgentiSend(process.env.AGENTISEND_API_KEY);
const { id } = await agentisend.emails.send({
from: 'you@yourdomain.com',
to: 'someone@example.com',
subject: 'Hello from AgentiSend',
text: 'Ten minutes, start to sent.',
});
console.log(id);
That block is executed against a running API server on every build of this repository, so a snippet that stops working fails the build rather than your first send.
Every mutating call takes an idempotency key. Pass one whenever a retry is
possible: agentisend.emails.send(payload, { idempotencyKey: idempotencyKey('welcome-email', 'user_123') }).
The same key with the same body replays the first response instead of sending twice.
Errors throw AgentiSendError, which carries code, message, fix and
docsUrl. fix names what to do and which endpoint to call; on a 429 the
error also carries retryAfterSeconds.
@agentisend/sdk-node/compat-resend exports a Resend class with every method
the Resend SDK has and its { data, error } return shape, so the migration is
the import line:
import { Resend } from '@agentisend/sdk-node/compat-resend';
const resend = new Resend(process.env.AGENTISEND_API_KEY);
const { data, error } = await resend.emails.send({ from, to, subject, html });
Where AgentiSend is stricter than Resend, the shim warns on stderr instead of changing what it does.
The package installs an agentisend binary.
npx @agentisend/sdk-node emails send --to someone@example.com \
--from you@yourdomain.com --subject Hi --text "Sent from the CLI"
| Command | What it does |
|---|---|
emails send / get / list / cancel | The send path from a shell. |
emails explain <id> | Everything that happened to one message, in order. |
domains list / verify | Sending domains and a re-check of their DNS. |
webhooks listen --forward-to <url> | Verify deliveries locally and forward the raw bytes to your app. |
receiving listen | The same, for inbound mail. |
limits kill / resume | Stop a key sending, and undo it. |
trust standing | This account's standing and the reasons behind it. |
doctor | Check the key, the domains and the DNS in one pass. |
profile list / use / set | Named key and base-URL profiles. |
completions <shell> | bash, zsh or fish. |
AGENTISEND_API_KEY is read from the environment. Piped or redirected output is
JSON; a terminal gets the table.
@agentisend/sdk-node/webhook-signing is the same implementation that signs the
delivery, so a signature that verifies here verified on the wire.
import { verifyWebhookSignature, SIGNATURE_HEADER } from '@agentisend/sdk-node/webhook-signing';
const ok = verifyWebhookSignature(secret, req.headers[SIGNATURE_HEADER], rawBody);
Pass the raw request body, byte for byte. Re-serialising parsed JSON changes the bytes and therefore the HMAC.
agentisend.com/docs. Problems: hello@agentisend.com.
FAQs
Typed Node client for the AgentiSend API.
We found that @agentisend/sdk-node demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.

Company News
Socket is joining the OpenJS Security Stewardship Program to fund Node.js vulnerability research, maintainer remediation, and security releases.

Security News
Two compromised GitHub Actions were re-enabled with malicious tags intact, exposing thousands of downstream repositories to Mini Shai-Hulud.

Research
/Security News
A malicious Firefox extension fetches its payload after installation to evade detection, steal Google session cookies, and automate account takeover.