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
]
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
}
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
}
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
}