Shield Aliases API
Shield Aliases API
Create and manage masked email addresses with Postscale Shield. All Shield aliases use the shared shield.postscale.io domain.
Create Shield Alias
POST /v1/shield/aliases
Create a new masked email alias that forwards to one or more real addresses.
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
forward_to | array | Yes | Email addresses to forward incoming mail to |
description | string | No | Human-readable label for the alias |
Example Request
curl -X POST https://api.postscale.io/v1/shield/aliases \
-H "Authorization: Bearer ps_live_your_api_key" \
-H "Content-Type: application/json" \
-d '{
"forward_to": ["jane@example.com"],
"description": "Shopping sites"
}'
Response
{
"alias": {
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"org_id": "f1e2d3c4-b5a6-7890-abcd-ef1234567890",
"domain_id": "92095226-b022-419c-b8bd-dd88b09cc052",
"address": "xk7m9p",
"domain": "shield.postscale.io",
"forward_to": ["jane@example.com"],
"action": "forward",
"is_masked": true,
"masked_description": "Shopping sites",
"emails_received": 0,
"active": true,
"created_at": "2026-01-18T10:30:00Z",
"updated_at": "2026-01-18T10:30:00Z"
}
}
The full email address for this alias is xk7m9p@shield.postscale.io.
List Shield Aliases
GET /v1/shield/aliases
Retrieve a paginated list of Shield aliases for your organization.
Query Parameters
| Parameter | Type | Description |
|---|---|---|
limit | integer | Number of results (default: 50, max: 100) |
offset | integer | Number of results to skip |
Example Request
curl -X GET "https://api.postscale.io/v1/shield/aliases?limit=50" \
-H "Authorization: Bearer ps_live_your_api_key"
Response
{
"aliases": [
{
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"address": "xk7m9p",
"domain": "shield.postscale.io",
"forward_to": ["jane@example.com"],
"action": "forward",
"is_masked": true,
"masked_description": "Shopping sites",
"emails_received": 42,
"active": true,
"created_at": "2026-01-18T10:30:00Z",
"updated_at": "2026-01-18T10:30:00Z"
}
],
"total": 15,
"limit": 50,
"offset": 0,
"max_shield_aliases": 25
}
Get Shield Alias
GET /v1/shield/aliases/:id
Retrieve details for a specific Shield alias.
Example Request
curl -X GET https://api.postscale.io/v1/shield/aliases/a1b2c3d4-e5f6-7890-abcd-ef1234567890 \
-H "Authorization: Bearer ps_live_your_api_key"
Response
{
"alias": {
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"address": "xk7m9p",
"domain": "shield.postscale.io",
"forward_to": ["jane@example.com"],
"action": "forward",
"is_masked": true,
"masked_description": "Shopping sites",
"emails_received": 42,
"active": true,
"created_at": "2026-01-18T10:30:00Z",
"updated_at": "2026-01-18T10:30:00Z"
}
}
Update Shield Alias
PUT /v1/shield/aliases/:id
Update an existing Shield alias.
Request Body
| Field | Type | Description |
|---|---|---|
forward_to | array | Update forwarding addresses |
masked_description | string | Update the description |
active | boolean | Enable or disable the alias |
Example: Disable Alias
curl -X PUT https://api.postscale.io/v1/shield/aliases/a1b2c3d4-e5f6-7890-abcd-ef1234567890 \
-H "Authorization: Bearer ps_live_your_api_key" \
-H "Content-Type: application/json" \
-d '{
"active": false
}'
Response
{
"alias": {
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"address": "xk7m9p",
"domain": "shield.postscale.io",
"forward_to": ["jane@example.com"],
"is_masked": true,
"active": false,
"updated_at": "2026-01-18T12:00:00Z"
}
}
Delete Shield Alias
DELETE /v1/shield/aliases/:id
Permanently delete a Shield alias.
Deleting an alias is permanent. The email address cannot be recovered or reused.
Example Request
curl -X DELETE https://api.postscale.io/v1/shield/aliases/a1b2c3d4-e5f6-7890-abcd-ef1234567890 \
-H "Authorization: Bearer ps_live_your_api_key"
Response
{
"status": "deleted"
}
Shield Alias Limits
The number of Shield aliases you can create depends on your plan:
| Plan | Max Shield Aliases |
|---|---|
| Free | 5 |
| Starter | 25 |
| Growth | 100 |
| Enterprise | 1,000 |
Reply Handling
Shield aliases support bidirectional communication. When an email is forwarded to you, the Reply-To header is rewritten to a reply address (r-{token}@shield.postscale.io). When you reply, it's automatically sent from the masked alias address, keeping your real email private.
Reply tokens expire after 90 days.