Shield Aliases API

API reference for creating and managing Shield masked email addresses.

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

FieldTypeRequiredDescription
forward_toarrayYesEmail addresses to forward incoming mail to
descriptionstringNoHuman-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

ParameterTypeDescription
limitintegerNumber of results (default: 50, max: 100)
offsetintegerNumber 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

FieldTypeDescription
forward_toarrayUpdate forwarding addresses
masked_descriptionstringUpdate the description
activebooleanEnable 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.

Irreversible action

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:

PlanMax Shield Aliases
Free5
Starter25
Growth100
Enterprise1,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.