Create a key to copy examples filled with your team.

Unique args

Pass tracking fields that come back on delivery webhooks.

Set unique_args on POST /sends. The composer writes them as X-Capsule-Unique-Args. Kumo strips that header before the message leaves. The keys are flattened onto each delivery webhook and also appear as a unique_args object.

Limits

  • At most 32 keys.
  • Key at most 64 bytes.
  • Value at most 256 bytes.
  • Scalars only. Objects and arrays are dropped.
X-Capsule-Unique-Args.json
1 {
2 "campaign_id": "cmp_123",
3 "category": "transactional",
4 "account": "team_1",
5 "site": "docs"
6 }

Other headers PostShiba reads

SMTP and HTTP inject can set the same data without the REST field. PostShiba also reads these, then strips them.

Header Description
X-Capsule-Unique-Args JSON object. Wins on a colliding key.
X-SMTPAPI JSON object. PostShiba reads unique_args inside it.
X-Tenant-Id Sets tenant_id in unique args. The webhook still uses the PostShiba tenant slug.
X-Category Sets category.
X-Campaign-Id Sets campaign_id.

Reserved webhook keys

Flattened keys fill blank event fields. These names stay PostShiba's. A colliding unique arg still appears inside unique_args.

  • event
  • email
  • timestamp
  • sg_event_id
  • sg_message_id
  • smtp-id
  • tenant_id
event.json
1 {
2 "event": "delivered",
3 "email": "you@example.com",
4 "campaign_id": "cmp_123",
5 "category": "transactional",
6 "account": "team_1",
7 "site": "docs",
8 "unique_args": {
9 "campaign_id": "cmp_123",
10 "category": "transactional",
11 "account": "team_1",
12 "site": "docs"
13 }
14 }

tenant_id on the event is the PostShiba tenant slug. Put your own account id in account or site.

About

PostShiba is the transactional email platform that powers Bento behind the scenes. You can build your own products, like Bento, on top of it.

© 2026 PostShiba by Backpack Internet Pty. Ltd. All rights reserved.

The same policies that govern Bento are applied to PostShiba Privacy | Terms | Security