Download OpenAPI specification:
The unofficial SimpleLogin API docs as OpenAPI 3.0.0 spec. This is based on the official markdown based docs, but written in OpenAPI to allow for easier integration with other tools and generation of client SDKs. Please do not contact the SimpleLogin team for support or issues with this API documentation.
Generate a new API key associated with a specific device for authentication
| device required | string The device's name, used to identify the API key for management purposes |
{- "device": "string"
}{- "api_key": "string"
}Activate a new account with the activation code that was sent to the user's email.
| email required | string (Email) Email address |
| code required | string Activation code sent to email |
{- "email": "firstname.lastname@example.com",
- "code": "string"
}{- "error": "string"
}Login using email and password to get an access token.
| email required | string (Email) Email address |
| password required | string |
| device required | string |
{- "email": "firstname.lastname@example.com",
- "password": "string",
- "device": "string"
}{- "name": "string",
- "email": "firstname.lastname@example.com",
- "mfa_enabled": true,
- "mfa_key": "string",
- "api_key": "string"
}Authenticate using MFA
The api_key is used in all subsequent requests. It's empty if MFA is enabled. If user hasn't enabled MFA, mfa_key is empty.
| mfa_token required | string OTP token that user enters |
| mfa_key required | string MFA key obtained in previous auth request |
| device required | string The device name, used to create an ApiKey associated with this device |
{- "mfa_token": "string",
- "mfa_key": "string",
- "device": "string"
}{- "name": "string",
- "api_key": "string",
- "email": "firstname.lastname@example.com"
}Request a new activation code for an account that was already registered, but not activated yet.
| email required | string (Email) Email address |
{- "email": "firstname.lastname@example.com"
}Update user info
| profile_picture | string <base64> Image of the new profile picture encoded in base64. Set to null to remove current profile picture. |
| name | string New name of the user |
{- "profile_picture": "string",
- "name": "string"
}{- "name": "string",
- "email": "firstname.lastname@example.com",
- "is_premium": true,
- "in_trial": true,
- "profile_picture": "string",
- "max_alias_free_plan": 0
}Create a new random alias
| hostname | string Example: hostname=www.example.com This information is important to know where an alias is used in order to suggest user the same alias if they want to create on alias on the same website in the future. |
| mode | string Enum: "uuid" "word" Either |
| note | string Note of this alias |
{- "note": "string"
}{- "creation_date": "2021-03-10 21:36:08+00:00",
- "creation_timestamp": 0,
- "email": "firstname.lastname@example.com",
- "name": "string",
- "enabled": true,
- "id": 0,
- "mailbox": {
- "email": "firstname.lastname@example.com",
- "id": 1
}, - "mailboxes": [
- {
- "email": "firstname.lastname@example.com",
- "id": 1
}
], - "latest_activity": {
- "action": "string",
- "contact": {
- "email": "firstname.lastname@example.com",
- "name": "string",
- "reverse_alias": "string"
}, - "timestamp": 0
}, - "nb_block": 0,
- "nb_forward": 0,
- "nb_reply": 0,
- "note": "string",
- "pinned": true,
- "disable_pgp": true,
- "support_pgp": true
}Get activities for specific alias by id.
| alias_id required | number Example: 142 ID of an alias |
| page_id required | number >= 0 Default: 0 Example: page_id=0 The endpoint returns maximum 20 aliases for each page. |
{- "activities": [
- {
- "action": "reply",
- "from": "yes_meo_chat@sl.local",
- "timestamp": 1580903760,
- "to": "marketing@example.com",
- "reverse_alias": "\"marketing at example.com\" <reply@a.b>",
- "reverse_alias_address": "reply@a.b"
}
]
}Get contacts for specific alias by id.
| alias_id required | number Example: 142 ID of an alias |
| page_id required | number >= 0 Default: 0 Example: page_id=0 The endpoint returns maximum 20 aliases for each page. |
{- "contacts": [
- {
- "id": 1,
- "contact": "marketing@example.com",
- "creation_date": "2021-03-10 21:36:08+00:00",
- "creation_timestamp": 1580903760,
- "last_email_sent_date": "2021-03-10 21:36:08+00:00",
- "last_email_sent_timestamp": null,
- "reverse_alias": "marketing at example.com <reply+bzvpazcdedcgcpztehxzgjgzmxskqa@sl.co>",
- "block_forward": false,
- "existed": false
}
]
}Create a new contact for an alias by id.
| alias_id required | number Example: 142 ID of an alias |
Updated settings for the given alias.
| contact required | string (Email) Email address |
{- "contact": "firstname.lastname@example.com"
}{- "id": 1,
- "contact": "marketing@example.com",
- "creation_date": "2021-03-10 21:36:08+00:00",
- "creation_timestamp": 1580903760,
- "last_email_sent_date": "2021-03-10 21:36:08+00:00",
- "last_email_sent_timestamp": null,
- "reverse_alias": "marketing at example.com <reply+bzvpazcdedcgcpztehxzgjgzmxskqa@sl.co>",
- "block_forward": false,
- "existed": false
}Get specific alias by id.
| alias_id required | number Example: 142 ID of an alias |
{- "creation_date": "2021-03-10 21:36:08+00:00",
- "creation_timestamp": 0,
- "email": "firstname.lastname@example.com",
- "name": "string",
- "enabled": true,
- "id": 0,
- "mailbox": {
- "email": "firstname.lastname@example.com",
- "id": 1
}, - "mailboxes": [
- {
- "email": "firstname.lastname@example.com",
- "id": 1
}
], - "latest_activity": {
- "action": "string",
- "contact": {
- "email": "firstname.lastname@example.com",
- "name": "string",
- "reverse_alias": "string"
}, - "timestamp": 0
}, - "nb_block": 0,
- "nb_forward": 0,
- "nb_reply": 0,
- "note": "string",
- "pinned": true,
- "disable_pgp": true,
- "support_pgp": true
}Update specific alias by id.
| alias_id required | number Example: 142 ID of an alias |
Updated settings for the given alias.
| note | string |
| mailbox_id | integer |
| name | string |
| mailbox_ids | Array of integers |
| disable_pgp | boolean |
| pinned | boolean |
{- "note": "string",
- "mailbox_id": 0,
- "name": "string",
- "mailbox_ids": [
- 0
], - "disable_pgp": true,
- "pinned": true
}{- "ok": true
}Get user aliases. Please note pinned, disabled, enabled are exclusive, i.e. only one can be present. They can only be set to true.
| page_id required | number >= 0 Default: 0 Example: page_id=0 The endpoint returns maximum 20 aliases for each page. |
| pinned | boolean If set, only pinned aliases are returned. |
| disabled | boolean If set, only disabled aliases are returned. |
| enabled | boolean If set, only enabled aliases are returned. |
{- "aliases": [
- {
- "creation_date": "2021-03-10 21:36:08+00:00",
- "creation_timestamp": 0,
- "email": "firstname.lastname@example.com",
- "name": "string",
- "enabled": true,
- "id": 0,
- "mailbox": {
- "email": "firstname.lastname@example.com",
- "id": 1
}, - "mailboxes": [
- {
- "email": "firstname.lastname@example.com",
- "id": 1
}
], - "latest_activity": {
- "action": "string",
- "contact": {
- "email": "firstname.lastname@example.com",
- "name": "string",
- "reverse_alias": "string"
}, - "timestamp": 0
}, - "nb_block": 0,
- "nb_forward": 0,
- "nb_reply": 0,
- "note": "string",
- "pinned": true,
- "disable_pgp": true,
- "support_pgp": true
}
]
}Search user aliases. Please note pinned, disabled, enabled are exclusive, i.e. only one can be present. They can only be set to true.
| page_id required | number >= 0 Default: 0 Example: page_id=0 The endpoint returns maximum 20 aliases for each page. |
| pinned | boolean If set, only pinned aliases are returned. |
| disabled | boolean If set, only disabled aliases are returned. |
| enabled | boolean If set, only enabled aliases are returned. |
| query | string Full-text search for the e-mail address of the alias |
{- "query": "string"
}{- "aliases": [
- {
- "creation_date": "2021-03-10 21:36:08+00:00",
- "creation_timestamp": 0,
- "email": "firstname.lastname@example.com",
- "name": "string",
- "enabled": true,
- "id": 0,
- "mailbox": {
- "email": "firstname.lastname@example.com",
- "id": 1
}, - "mailboxes": [
- {
- "email": "firstname.lastname@example.com",
- "id": 1
}
], - "latest_activity": {
- "action": "string",
- "contact": {
- "email": "firstname.lastname@example.com",
- "name": "string",
- "reverse_alias": "string"
}, - "timestamp": 0
}, - "nb_block": 0,
- "nb_forward": 0,
- "nb_reply": 0,
- "note": "string",
- "pinned": true,
- "disable_pgp": true,
- "support_pgp": true
}
]
}Create a new custom alias
| hostname | string Example: hostname=www.example.com This information is important to know where an alias is used in order to suggest user the same alias if they want to create on alias on the same website in the future. |
| alias_prefix required | string The first part of the alias that user can choose. |
| signed_suffix required | string One of the suffixes returned in the options endpoint. |
| mailbox_ids required | Array of numbers |
| note | string Note of this alias |
| name | string Name of this alias |
{- "alias_prefix": "string",
- "signed_suffix": "string",
- "mailbox_ids": [
- 0
], - "note": "string",
- "name": "string"
}{- "creation_date": "2021-03-10 21:36:08+00:00",
- "creation_timestamp": 0,
- "email": "firstname.lastname@example.com",
- "name": "string",
- "enabled": true,
- "id": 0,
- "mailbox": {
- "email": "firstname.lastname@example.com",
- "id": 1
}, - "mailboxes": [
- {
- "email": "firstname.lastname@example.com",
- "id": 1
}
], - "latest_activity": {
- "action": "string",
- "contact": {
- "email": "firstname.lastname@example.com",
- "name": "string",
- "reverse_alias": "string"
}, - "timestamp": 0
}, - "nb_block": 0,
- "nb_forward": 0,
- "nb_reply": 0,
- "note": "string",
- "pinned": true,
- "disable_pgp": true,
- "support_pgp": true
}User alias info and suggestion. Used by the first extension screen when user opens the extension.
| hostname | string Example: hostname=www.example.com This information is important to know where an alias is used in order to suggest user the same alias if they want to create on alias on the same website in the future. |
{- "can_create": true,
- "prefix_suggestion": "string",
- "suffixes": [
- {
- "suffix": ".cat@d1.test",
- "signed_suffix": ".cat@d1.test.X6_7OQ.0e9NbZHE_bQvuAapT6NdBml9m6",
- "is_custom": true,
- "is_premium": true
}
], - "recommendation": {
- "alias": "string",
- "hostname": "string"
}
}Create a new mailbox
The new mailbox address
string (Email) Email address |
{- "email": "firstname.lastname@example.com"
}{- "email": "firstname.lastname@example.com",
- "id": 1,
- "default": true,
- "creation_timestamp": 1580903760,
- "nb_alias": 10,
- "verified": true
}Update specific mailbox by id.
| mailbox_id required | number Example: 142 ID of a mailbox |
Updated settings of mailbox
| default | boolean If true, set the mailbox as the default mailbox. |
string (Email) Email address | |
| cancel_email_change | boolean If true, cancel the email change of the mailbox. |
{- "default": true,
- "email": "firstname.lastname@example.com",
- "cancel_email_change": true
}{- "error": "string"
}Get users custom domains.
| alias_id required | number Example: 142 ID of an alias |
{- "catch_all": false,
- "creation_date": "2021-03-10 21:36:08+00:00",
- "creation_timestamp": 1580903760,
- "domain_name": "test1.org",
- "id": 1,
- "is_verified": true,
- "mailboxes": [
- {
- "email": "firstname.lastname@example.com",
- "id": 1
}
], - "name": "string",
- "nb_alias": 0,
- "random_prefix_generation": false
}Update settings for a custom domain.
| custom_domain_id required | number Example: 1 ID of a custom domain |
Updated settings for the custom domain.
| catch_all | boolean Enable or disable catch-all for this domain |
| random_prefix_generation | boolean Enable or disable random prefix generation for this domain |
| name | string Display name for the custom domain |
| mailbox_ids | Array of integers Array of mailbox IDs to associate with this domain |
{- "catch_all": true,
- "random_prefix_generation": true,
- "name": "string",
- "mailbox_ids": [
- 0
]
}{- "catch_all": false,
- "creation_date": "2021-03-10 21:36:08+00:00",
- "creation_timestamp": 1580903760,
- "domain_name": "test1.org",
- "id": 1,
- "is_verified": true,
- "mailboxes": [
- {
- "email": "firstname.lastname@example.com",
- "id": 1
}
], - "name": "string",
- "nb_alias": 0,
- "random_prefix_generation": false
}Get all deleted aliases for a custom domain (trash).
| custom_domain_id required | number Example: 1 ID of a custom domain |
{- "aliases": [
- {
- "alias": "deleted@example.com",
- "deletion_timestamp": 1580903760
}
]
}Modify user's configuration preferences
| alias_generator | string Enum: "word" "uuid" Random alias generation style |
| notification | boolean Enable or disable notifications |
| random_alias_default_domain | string Domain selection for random aliases |
| sender_format | string Enum: "AT" "A" "NAME_ONLY" "AT_ONLY" "NO_NAME" Display format for sender information |
| random_alias_suffix | string Enum: "word" "random_string" Suffix generation method for random aliases |
{- "alias_generator": "word",
- "notification": true,
- "random_alias_default_domain": "string",
- "sender_format": "AT",
- "random_alias_suffix": "word"
}{- "alias_generator": "word",
- "notification": true,
- "random_alias_default_domain": "string",
- "sender_format": "AT",
- "random_alias_suffix": "word"
}Export comprehensive user data including aliases, custom domains, and app information
{- "aliases": [
- {
- "email": "firstname.lastname@example.com",
- "enabled": true
}
], - "custom_domains": [
- {
- "catch_all": false,
- "creation_date": "2021-03-10 21:36:08+00:00",
- "creation_timestamp": 1580903760,
- "domain_name": "test1.org",
- "id": 1,
- "is_verified": true,
- "mailboxes": [
- {
- "email": "firstname.lastname@example.com",
- "id": 1
}
], - "name": "string",
- "nb_alias": 0,
- "random_prefix_generation": false
}
], - "app_info": {
- "name": "string",
- "email": "firstname.lastname@example.com",
- "is_premium": true,
- "in_trial": true,
- "profile_picture": "string",
- "max_alias_free_plan": 0
}
}