Aliases, Alias Lengths, Domains, and 10-Minute Aliases
All endpoints in this document require secret: sk1_... and x-account-access-id: aid1.....
Alias Endpoints
Alias creation options
GET /api/v1/aliases/options
Returns effective alias length limits and allowed domains. This endpoint resolves the effective alias configuration for the authenticated account, including public catalog items and any user-owned overrides that the account is currently allowed to use.
Response fields
domains[]minAliasLengthmaxAliasLengthdefaultAliasLength
Example
curl "http://Hide-My-Email.info/api/v1/aliases/options" -H "secret: sk1_example"
List aliases
GET /api/v1/aliases
Returns the account's regular aliases. Aliases that were deleted less than 30 days ago may still appear in account state and still forward incoming mail during that grace period.
Query parameters
offset- optional integer, default server valuetake- optional integer page size
Response fields
items[]items[].iditems[].aliasAddressitems[].forwardToEmailitems[].descriptionitems[].isFavoriteitems[].ignoreEmailsitems[].allowedWebsiteOrDomainitems[].allowSubdomainsitems[].outsideAllowedDomainAlertEnableditems[].outsideAllowedDomainActionhasMorenextOffset
Example
curl "http://Hide-My-Email.info/api/v1/aliases?offset=0&take=20" -H "secret: sk1_example"
Read one alias
`GET /api/v1/aliases/
Returns one regular alias that belongs to the authenticated account.
Path parameters
aliasId
Response fields
idaliasAddressforwardToEmaildescriptionisFavoriteignoreEmailsallowedWebsiteOrDomainallowSubdomainsoutsideAllowedDomainAlertEnabledoutsideAllowedDomainAction
Response codes
200 OK404 Not Found
Example
curl "http://Hide-My-Email.info/api/v1/aliases/alias_123" -H "secret: sk1_example"
Create alias
POST /api/v1/aliases
Request body fields
aliasLength- required integerdomain- required domain stringforwardToEmail- required destination addressdescription- required string, can be emptyignoreEmails- required booleanuseCustomAliasName- required booleancustomAliasName- optional string; required whenuseCustomAliasNameistrueallowedWebsiteOrDomain- optional URL or bare domain; stored and returned as normalized host/domain onlyallowSubdomains- optional boolean; defaults totruewhenallowedWebsiteOrDomainis emptyoutsideAllowedDomainAlertEnabled- optional boolean; ignored whenallowedWebsiteOrDomainis emptyoutsideAllowedDomainAction- optional string:RejectTemporary,RejectPermanent, orQuarantine
Response fields
successmessagealiaswarningMessage
The nested alias object contains:
idaliasAddressforwardToEmaildescriptionisFavoriteignoreEmailsallowedWebsiteOrDomainallowSubdomainsoutsideAllowedDomainAlertEnabledoutsideAllowedDomainAction
When outsideAllowedDomainAction is Quarantine, the sender-side delivery is accepted, but the message is not forwarded to the alias recipient unless the sender was explicitly allowed on the Anti-SPAM / AV page.
The service validates that the resolved account is allowed to use the selected domain and alias length, including plan-gated checks for account-defined alias lengths.
When useCustomAliasName is true, the service also validates whether the account is allowed to request an exact alias name in the selected domain:
- exact alias names in account-owned domains require a plan that includes
Custom aliases - exact alias names in public domains require an unused custom public alias request add-on
Exact alias names are globally unique across accounts. A name is also treated as unavailable when the same alias was deleted earlier and is still inside the 5-year deleted-alias retention period.
The created alias starts forwarding immediately after creation. When the selected domain is a public domain, the account can create at most one alias per minute through this endpoint. The cooldown does not apply to aliases created in domains owned by the current account. When an exact alias name is created in a public domain, one unused custom public alias request is consumed immediately and the action cannot be reversed.
Response codes
200 OK400 Bad Request401 Unauthorized
Example
curl -X POST "http://Hide-My-Email.info/api/v1/aliases" \
-H "secret: sk1_example" \
-H "x-account-access-id: accid_example" \
-H "Content-Type: application/json" \
-d "{\"aliasLength\":12,\"domain\":\"hide-my-email.info\",\"forwardToEmail\":\"user@example.com\",\"description\":\"Checkout alias\",\"ignoreEmails\":false}"
curl -X POST "http://Hide-My-Email.info/api/v1/aliases" \
-H "secret: sk1_example" \
-H "x-account-access-id: accid_example" \
-H "Content-Type: application/json" \
-d "{\"aliasLength\":12,\"domain\":\"hide-my-email.info\",\"forwardToEmail\":\"user@example.com\",\"description\":\"Branded alias\",\"ignoreEmails\":false,\"useCustomAliasName\":true,\"customAliasName\":\"Sales-Team\"}"
Check custom alias name availability
POST /api/v1/aliases/availability
Checks whether an exact alias name is currently available in the selected domain for the authenticated account.
The service first validates whether the account is allowed to request an exact alias name in the selected domain:
- account-owned domains require the
Custom aliasesfeature - public domains require at least one unused custom public alias request add-on
Only after that validation succeeds does the service check whether the name is globally available.
The account can call this endpoint at most once every 30 seconds. Repeating the request before the cooldown ends extends the cooldown from the moment of the repeated request.
Request body fields
domain- required domain stringcustomAliasName- required string
Response fields
successisAvailablemessageretryAfterSeconds- optional integer; returned when the next availability check is still on cooldown
Response codes
200 OK400 Bad Request401 Unauthorized
Example
curl -X POST "http://Hide-My-Email.info/api/v1/aliases/availability" \
-H "secret: sk1_example" \
-H "x-account-access-id: accid_example" \
-H "Content-Type: application/json" \
-d "{\"domain\":\"hide-my-email.info\",\"customAliasName\":\"Sales-Team\"}"
Update alias
`PUT /api/v1/aliases/
Updates only the mutable properties of an existing alias. The alias address itself, its domain, and its generated length are not changed by this endpoint.
Path parameters
aliasId
Request body fields
forwardToEmaildescriptionisFavoriteignoreEmailsallowedWebsiteOrDomainallowSubdomainsoutsideAllowedDomainAlertEnabledoutsideAllowedDomainAction
Response fields
successmessagealiaswarningMessage
The nested alias object contains:
idaliasAddressforwardToEmaildescriptionisFavoriteignoreEmails
Example
curl -X PUT "http://Hide-My-Email.info/api/v1/aliases/alias_123" \
-H "secret: sk1_example" \
-H "Content-Type: application/json" \
-d "{\"forwardToEmail\":\"billing@example.com\",\"description\":\"Updated\",\"isFavorite\":true,\"ignoreEmails\":false}"
Update alias favorite flag
`PATCH /api/v1/aliases/
Marks or unmarks an alias as favorite without changing its forwarding settings.
Request body fields
isFavorite
Response fields
successmessagealias
The nested alias object contains:
idaliasAddressforwardToEmaildescriptionisFavoriteignoreEmails
Example
curl -X PATCH "http://Hide-My-Email.info/api/v1/aliases/alias_123/favorite" \
-H "secret: sk1_example" \
-H "Content-Type: application/json" \
-d "{\"isFavorite\":true}"
Update alias ignore mode
`PATCH /api/v1/aliases/
Enables or disables ignore mode for an alias. When ignore mode is enabled, matching incoming mail is intentionally discarded instead of forwarded.
Request body fields
ignoreEmails
Response fields
successmessagealias
The nested alias object contains:
idaliasAddressforwardToEmaildescriptionisFavoriteignoreEmails
Example
curl -X PATCH "http://Hide-My-Email.info/api/v1/aliases/alias_123/ignore" \
-H "secret: sk1_example" \
-H "Content-Type: application/json" \
-d "{\"ignoreEmails\":true}"
Delete alias
`DELETE /api/v1/aliases/
Deletes an alias from the account UI. After deletion, the alias remains reserved for 30 days and incoming mail is still forwarded during that period; the alias is fully released only after the retention period ends. In addition, the service keeps a hash-only record of the deleted alias for 5 years so the exact same alias address cannot be generated again during that period.
Response fields
successmessage
Example
curl -X DELETE "http://Hide-My-Email.info/api/v1/aliases/alias_123" -H "secret: sk1_example"
Alias Length Endpoints
List effective alias lengths
GET /api/v1/aliases/lengths
Returns the alias lengths currently available to the account after applying public defaults, public per-domain entries, and any user-owned lengths the account is allowed to use.
Response fields
[][].length[].name[].domain[].isUserOwned[].isDefault[].isFavorite
Example
curl "http://Hide-My-Email.info/api/v1/aliases/lengths" -H "secret: sk1_example"
List user-owned alias lengths
GET /api/v1/aliases/lengths/user
Returns only alias lengths created by the authenticated account.
Response fields
[][].id[].length[].name[].domain[].isActive[].isDefault[].isFavorite
Example
curl "http://Hide-My-Email.info/api/v1/aliases/lengths/user" -H "secret: sk1_example"
Read one user-owned alias length
`GET /api/v1/aliases/lengths/user/
Returns one user-owned alias length definition.
Path parameters
aliasLengthId
Response fields
idlengthnamedomainisActiveisDefaultisFavorite
Example
curl "http://Hide-My-Email.info/api/v1/aliases/lengths/user/len_123" -H "secret: sk1_example"
Create user-owned alias length
POST /api/v1/aliases/lengths/user
Creates a custom alias length owned by the account. Account-owned alias lengths are only usable when the account is allowed to use custom domains / custom alias-length functionality in the current plan.
Request body fields
lengthnamedomain- optional,nullmeans globalisActive
Response fields
successmessagealiasLength
Example
curl -X POST "http://Hide-My-Email.info/api/v1/aliases/lengths/user" \
-H "secret: sk1_example" \
-H "Content-Type: application/json" \
-d "{\"length\":14,\"name\":\"Checkout\",\"domain\":null,\"isActive\":true}"
Update user-owned alias length
`PUT /api/v1/aliases/lengths/user/
Updates one custom alias length owned by the account.
Request body fields
lengthnamedomainisActive
Response fields
successmessagealiasLength
Example
curl -X PUT "http://Hide-My-Email.info/api/v1/aliases/lengths/user/len_123" \
-H "secret: sk1_example" \
-H "Content-Type: application/json" \
-d "{\"length\":14,\"name\":\"Checkout\",\"domain\":\"example.com\",\"isActive\":true}"
Delete user-owned alias length
`DELETE /api/v1/aliases/lengths/user/
Deletes one custom alias length owned by the account.
Response fields
successmessage
Example
curl -X DELETE "http://Hide-My-Email.info/api/v1/aliases/lengths/user/len_123" -H "secret: sk1_example"
Update alias length favorite flag
`PATCH /api/v1/aliases/lengths/user/
Marks or unmarks a custom alias length as favorite.
Request body fields
isFavorite
Response fields
successmessagealiasLength
Example
curl -X PATCH "http://Hide-My-Email.info/api/v1/aliases/lengths/user/len_123/favorite" \
-H "secret: sk1_example" \
-H "Content-Type: application/json" \
-d "{\"isFavorite\":true}"
Update default alias length
`PATCH /api/v1/aliases/lengths/user/
Sets the account default alias length that is used by the UI and API flows when no other explicit alias length is chosen.
Request body fields
isDefault
Response fields
successmessagealiasLength
Example
curl -X PATCH "http://Hide-My-Email.info/api/v1/aliases/lengths/user/len_123/default" \
-H "secret: sk1_example" \
-H "Content-Type: application/json" \
-d "{\"isDefault\":true}"
Clear default alias length
DELETE /api/v1/aliases/lengths/user/default
Clears the account-owned default alias length and falls back to the effective catalog default available to the account.
Response fields
successmessage
Example
curl -X DELETE "http://Hide-My-Email.info/api/v1/aliases/lengths/user/default" -H "secret: sk1_example"
Domain Endpoints
List effective domains
GET /api/v1/domains
Returns domains available to the authenticated account, including public domains and any user-owned domains that remain active for the account.
Response fields
[][].id[].domain[].description[].isActive[].isVerified[].isDefault[].isFavorite[].autoGenerateAlias[].allowGlobalAliasLengths[].messageLimit
Example
curl "http://Hide-My-Email.info/api/v1/domains" -H "secret: sk1_example"
Read domain catalog settings
GET /api/v1/domains/settings
Returns account preferences that affect how public domains are exposed to the account.
Response fields
includePublicDomainsdefaultPublicDomainpublicDomains[]
Example
curl "http://Hide-My-Email.info/api/v1/domains/settings" -H "secret: sk1_example"
Update domain catalog settings
PUT /api/v1/domains/settings
Updates account preferences for using public domains in alias creation flows.
Request body fields
includePublicDomainsdefaultPublicDomain
Response fields
includePublicDomainsdefaultPublicDomainpublicDomains[]
Example
curl -X PUT "http://Hide-My-Email.info/api/v1/domains/settings" \
-H "secret: sk1_example" \
-H "Content-Type: application/json" \
-d "{\"includePublicDomains\":true,\"defaultPublicDomain\":\"hide-my-email.info\"}"
Read one user-owned domain
`GET /api/v1/domains/user/
Returns one custom domain owned by the authenticated account.
Response fields
iddomaindescriptionisActiveisVerifiedisDefaultisFavoriteautoGenerateAliasallowGlobalAliasLengthsmessageLimit
Example
curl "http://Hide-My-Email.info/api/v1/domains/user/domain_123" -H "secret: sk1_example"
Read detailed domain view
`GET /api/v1/domains/user/
Returns the detailed verification and DNS view for one custom domain owned by the authenticated account.
Response fields
iddomaindescriptionisActiveisVerifiedrequiresOwnershipVerificationownershipDnsRecordownershipDnsRecord.typeownershipDnsRecord.hostownershipDnsRecord.priorityownershipDnsRecord.valueownershipDnsRecord.isVerifiedisDefaultisFavoriteautoGenerateAliasisRootDomainmessageLimitmaxAllowedMessageLimitreceivingDnsRecords[]sendingDnsRecords[]
Example
curl "http://Hide-My-Email.info/api/v1/domains/user/domain_123/details" -H "secret: sk1_example"
Read domain ownership diagnostics
`GET /api/v1/domains/user/
Returns diagnostic data useful while troubleshooting ownership verification. This endpoint is intended for verification troubleshooting only and does not change domain state.
Response codes
200 OK404 Not Found
Example
curl "http://Hide-My-Email.info/api/v1/domains/user/domain_123/ownership-debug" -H "secret: sk1_example"
Create user-owned domain
POST /api/v1/domains/user
Creates a custom domain owned by the authenticated account. The domain is not usable for normal forwarding flows until its ownership and required DNS records are verified.
Request body fields
domaindescriptionisActive
Response fields
successmessagedomain
Example
curl -X POST "http://Hide-My-Email.info/api/v1/domains/user" \
-H "secret: sk1_example" \
-H "Content-Type: application/json" \
-d "{\"domain\":\"example.com\",\"description\":\"My domain\",\"isActive\":true}"
Update user-owned domain
`PUT /api/v1/domains/user/
Updates the mutable properties of a user-owned domain. Verification requirements still apply after the update.
Request body fields
domaindescriptionisActive
Response fields
successmessagedomain
Example
curl -X PUT "http://Hide-My-Email.info/api/v1/domains/user/domain_123" \
-H "secret: sk1_example" \
-H "Content-Type: application/json" \
-d "{\"domain\":\"example.com\",\"description\":\"Updated\",\"isActive\":true}"
Update domain favorite flag
`PATCH /api/v1/domains/user/
Marks or unmarks a custom domain as favorite.
Request body fields
isFavorite
Response fields
successmessagedomain
Response codes
200 OK400 Bad Request401 Unauthorized404 Not Found
Example
curl -X PATCH "http://Hide-My-Email.info/api/v1/domains/user/domain_123/favorite" \
-H "secret: sk1_example" \
-H "Content-Type: application/json" \
-d "{\"isFavorite\":true}"
Update default domain
`PATCH /api/v1/domains/user/
Sets the account default custom domain used by UI and API flows when a domain is not chosen explicitly.
Request body fields
isDefault
Response fields
successmessagedomain
Response codes
200 OK400 Bad Request401 Unauthorized404 Not Found
Example
curl -X PATCH "http://Hide-My-Email.info/api/v1/domains/user/domain_123/default" \
-H "secret: sk1_example" \
-H "Content-Type: application/json" \
-d "{\"isDefault\":true}"
Update domain automatic alias generation
`PATCH /api/v1/domains/user/
Enables or disables automatic alias generation for this domain when incoming mail arrives for an unknown local part.
Request body fields
autoGenerateAlias
Response fields
successmessagedomain
Response codes
200 OK400 Bad Request401 Unauthorized404 Not Found
Example
curl -X PATCH "http://Hide-My-Email.info/api/v1/domains/user/domain_123/auto-generate-alias" \
-H "secret: sk1_example" \
-H "Content-Type: application/json" \
-d "{\"autoGenerateAlias\":true}"
Update use of global alias lengths for a domain
`PATCH /api/v1/domains/user/
Controls whether the domain may use globally available alias lengths in addition to lengths defined specifically for that domain.
Request body fields
allowGlobalAliasLengths
Response fields
successmessagedomain
Response codes
200 OK400 Bad Request401 Unauthorized404 Not Found
Example
curl -X PATCH "http://Hide-My-Email.info/api/v1/domains/user/domain_123/allow-global-alias-lengths" \
-H "secret: sk1_example" \
-H "Content-Type: application/json" \
-d "{\"allowGlobalAliasLengths\":true}"
Update per-domain message limit
`PATCH /api/v1/domains/user/
Overrides the effective message forwarding limit for this domain. Passing null clears the override and returns the domain to the account or plan default.
Request body fields
messageLimit- optional integer,nullclears the override
Response fields
successmessagedomain
Response codes
200 OK400 Bad Request401 Unauthorized404 Not Found
Example
curl -X PATCH "http://Hide-My-Email.info/api/v1/domains/user/domain_123/message-limit" \
-H "secret: sk1_example" \
-H "Content-Type: application/json" \
-d "{\"messageLimit\":1000}"
Clear default domain
DELETE /api/v1/domains/user/default
Clears the account default custom domain and falls back to the effective default chosen by account settings.
Response fields
successmessage
Response codes
200 OK401 Unauthorized
Example
curl -X DELETE "http://Hide-My-Email.info/api/v1/domains/user/default" -H "secret: sk1_example"
Trigger ownership verification
`PUT /api/v1/domains/user/
Requests a fresh verification attempt for the custom domain by checking the ownership and mail DNS records currently visible for that domain.
Response fields
successmessagedomain
Response codes
200 OK400 Bad Request401 Unauthorized404 Not Found
Example
curl -X PUT "http://Hide-My-Email.info/api/v1/domains/user/domain_123/verify" -H "secret: sk1_example"
Delete user-owned domain
`DELETE /api/v1/domains/user/
Deletes a custom domain owned by the account. After deletion, aliases that depended on that domain can no longer continue their normal delivery flow.
Response fields
successmessage
Response codes
200 OK400 Bad Request401 Unauthorized404 Not Found
Example
curl -X DELETE "http://Hide-My-Email.info/api/v1/domains/user/domain_123" -H "secret: sk1_example"
10-Minute Alias Endpoints
Read 10-minute alias state
GET /api/v1/aliases/10-minute/state
Returns the current monthly request usage and the destination e-mail options available for temporary aliases.
Response fields
usedRequestsThisMonthallowedRequestsThisMonthemailOptions[]emailOptions[].idemailOptions[].emailemailOptions[].isDefaultemailOptions[].isFavorite
Example
curl "http://Hide-My-Email.info/api/v1/aliases/10-minute/state" -H "secret: sk1_example"
Create a 10-minute alias
POST /api/v1/aliases/10-minute
Creates a temporary forwarding alias. Temporary aliases expire automatically and are intended for short-lived flows only. Temporary alias addresses are matched exactly as created; they do not use the long-term deleted-alias retention that applies to regular aliases.
Request body fields
forwardToEmail
Response fields
successmessagealiasalias.idalias.aliasAddressalias.forwardToEmailalias.createdAtUtcalias.expiresAtUtcalias.maxExpiresAtUtcusedRequestsThisMonthallowedRequestsThisMonth
Example
curl -X POST "http://Hide-My-Email.info/api/v1/aliases/10-minute" \
-H "secret: sk1_example" \
-H "Content-Type: application/json" \
-d "{\"forwardToEmail\":\"user@example.com\"}"
Extend a 10-minute alias
`POST /api/v1/aliases/10-minute/
Extends the lifetime of an existing temporary alias, within the service limits for that alias.
Path parameters
aliasId
Request body
- None
Response fields
successmessagealiasusedRequestsThisMonthallowedRequestsThisMonth
Example
curl -X POST "http://Hide-My-Email.info/api/v1/aliases/10-minute/tmp_123/extend" -H "secret: sk1_example"
Delete a 10-minute alias
`DELETE /api/v1/aliases/10-minute/
Deletes a temporary alias immediately. After expiry or deletion, mail sent to that alias is treated as sent to an unknown recipient and no longer consumes message forwarding limits.
Path parameters
aliasId
Response fields
successmessageusedRequestsThisMonthallowedRequestsThisMonth
Example
curl -X DELETE "http://Hide-My-Email.info/api/v1/aliases/10-minute/tmp_123" -H "secret: sk1_example"