Create a key to copy examples filled with your team.

Inboxes

Hosted or domain-bound receiving addresses.

Hosted addresses land on the PostShiba inbound zone. Domain-bound addresses need MX. KYC is required to create, and an active shared cluster is required for edge routing. Delete disables the inbox.

GET /api/v1/teams/:team_id/inboxes

List live inboxes. webhook_secret is omitted.

request.sh
1 curl -sS -X GET \
2 -H 'Authorization: Bearer YOUR_API_KEY' \
3 https://postshiba.com/api/v1/teams/1/inboxes
response.json
1 [
2 {
3 "id": 3,
4 "name": "agent",
5 "address": "inbabc123@inbound.capsule.test",
6 "local_part": "inbabc123",
7 "host": "inbound.capsule.test",
8 "tenant_id": 12,
9 "webhook_url": "https://hooks.example.com/mail",
10 "webhook_format": "json",
11 "mx_status": "not_required",
12 "retention_hours": 168
13 }
14 ]

GET /api/v1/inboxes/:id

Get one live inbox, including the webhook secret.

  • id: Inbox id
request.sh
1 curl -sS -X GET \
2 -H 'Authorization: Bearer YOUR_API_KEY' \
3 https://postshiba.com/api/v1/inboxes/:inbox_id
response.json
1 {
2 "id": 3,
3 "name": "agent",
4 "address": "inbabc123@inbound.capsule.test",
5 "local_part": "inbabc123",
6 "host": "inbound.capsule.test",
7 "tenant_id": 12,
8 "webhook_url": "https://hooks.example.com/mail",
9 "webhook_format": "json",
10 "webhook_secret": "hex-secret",
11 "mx_status": "not_required",
12 "retention_hours": 168
13 }

POST /api/v1/teams/:team_id/inboxes

Create an inbox. Returns 403 {error: kyc_required} before KYC. Create an active shared cluster before relying on the inbox for edge routing.

request.sh
1 curl -sS -X POST \
2 -H 'Authorization: Bearer YOUR_API_KEY' \
3 -H 'Content-Type: application/json' \
4 -d '{"inbox":{"name":"agent","webhook_url":"https://hooks.example.com/mail"}}' \
5 https://postshiba.com/api/v1/teams/1/inboxes
response.json
1 {
2 "id": 3,
3 "name": "agent",
4 "address": "inbabc123@inbound.capsule.test",
5 "local_part": "inbabc123",
6 "host": "inbound.capsule.test",
7 "tenant_id": 12,
8 "webhook_url": "https://hooks.example.com/mail",
9 "webhook_format": "json",
10 "webhook_secret": "hex-secret",
11 "mx_status": "not_required",
12 "retention_hours": 168
13 }

DELETE /api/v1/inboxes/:id

Disable the inbox. Same as Inbox#disable!.

  • id: Inbox id
request.sh
1 curl -sS -X DELETE \
2 -H 'Authorization: Bearer YOUR_API_KEY' \
3 https://postshiba.com/api/v1/inboxes/:inbox_id
response.json
1 {
2 "id": 3,
3 "name": "agent",
4 "address": "inbabc123@inbound.capsule.test",
5 "local_part": "inbabc123",
6 "host": "inbound.capsule.test",
7 "tenant_id": 12,
8 "webhook_url": "https://hooks.example.com/mail",
9 "webhook_format": "json",
10 "mx_status": "not_required",
11 "retention_hours": 168
12 }

POST /api/v1/inboxes/:id/verify

Queue an MX check for a domain-bound inbox.

  • id: Inbox id
request.sh
1 curl -sS -X POST \
2 -H 'Authorization: Bearer YOUR_API_KEY' \
3 -H 'Content-Type: application/json' \
4 https://postshiba.com/api/v1/inboxes/:inbox_id/verify
response.json
1 {
2 "id": 3,
3 "name": "agent",
4 "address": "inbabc123@inbound.capsule.test",
5 "local_part": "inbabc123",
6 "host": "inbound.capsule.test",
7 "tenant_id": 12,
8 "webhook_url": "https://hooks.example.com/mail",
9 "webhook_format": "json",
10 "mx_status": "not_required",
11 "retention_hours": 168
12 }

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