SimpleLogin (unofficial) (4.74.7)

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.

account

Create API key

Generate a new API key associated with a specific device for authentication

Authorizations:
apiKeyAuth
Request Body schema: application/json
required
device
required
string

The device's name, used to identify the API key for management purposes

Responses

Request samples

Content type
application/json
{
  • "device": "string"
}

Response samples

Content type
application/json
{
  • "api_key": "string"
}

Activate account

Activate a new account with the activation code that was sent to the user's email.

Request Body schema: application/json
required
email
required
string (Email)

Email address

code
required
string

Activation code sent to email

Responses

Request samples

Content type
application/json
{
  • "email": "firstname.lastname@example.com",
  • "code": "string"
}

Response samples

Content type
application/json
{
  • "error": "string"
}

Forgot password

Request a link to reset the password for a registered account.

Request Body schema: application/json
required
email
required
string (Email)

Email address

Responses

Request samples

Content type
application/json
{
  • "email": "firstname.lastname@example.com"
}

Login

Login using email and password to get an access token.

Request Body schema: application/json
required
email
required
string (Email)

Email address

password
required
string
device
required
string

Responses

Request samples

Content type
application/json
{
  • "email": "firstname.lastname@example.com",
  • "password": "string",
  • "device": "string"
}

Response samples

Content type
application/json
{
  • "name": "string",
  • "email": "firstname.lastname@example.com",
  • "mfa_enabled": true,
  • "mfa_key": "string",
  • "api_key": "string"
}

MFA authentication

Authenticate using MFA

Request Body schema: application/json
required

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

Responses

Request samples

Content type
application/json
{
  • "mfa_token": "string",
  • "mfa_key": "string",
  • "device": "string"
}

Response samples

Content type
application/json
{
  • "name": "string",
  • "api_key": "string",
  • "email": "firstname.lastname@example.com"
}

Reactivate account

Request a new activation code for an account that was already registered, but not activated yet.

Request Body schema: application/json
required
email
required
string (Email)

Email address

Responses

Request samples

Content type
application/json
{
  • "email": "firstname.lastname@example.com"
}

Register account

Register a new account

Request Body schema: application/json
required
email
required
string <email>
password
required
string

Responses

Request samples

Content type
application/json
{
  • "email": "user@example.com",
  • "password": "string"
}

Logout

Log out user

Authorizations:
apiKeyAuth

Responses

Response samples

Content type
application/json
{
  • "name": "string",
  • "email": "firstname.lastname@example.com",
  • "is_premium": true,
  • "in_trial": true,
  • "profile_picture": "string",
  • "max_alias_free_plan": 0
}

Get stats

Returns stats about the number of aliases, number of emails forwarded/replied/blocked

Authorizations:
apiKeyAuth

Responses

Response samples

Content type
application/json
{
  • "nb_alias": 0,
  • "nb_block": 0,
  • "nb_forward": 0,
  • "nb_reply": 0
}

Enable sudo mode

Enable sudo mode

Authorizations:
apiKeyAuth
Request Body schema: application/json
required
password
string

Responses

Request samples

Content type
application/json
{
  • "password": "string"
}

Response samples

Content type
application/json
{
  • "ok": true
}

Get cookie token

Get a one time use cookie to exchange it for a valid cookie in the web app

Authorizations:
apiKeyAuth

Responses

Response samples

Content type
application/json
{
  • "token": "string"
}

Delete user

Delete user (requires sudo mode)

Authorizations:
apiKeyAuth

Responses

Response samples

Content type
application/json
{
  • "ok": true
}

Get user info

Get user info

Authorizations:
apiKeyAuth

Responses

Response samples

Content type
application/json
{
  • "name": "string",
  • "email": "firstname.lastname@example.com",
  • "is_premium": true,
  • "in_trial": true,
  • "profile_picture": "string",
  • "max_alias_free_plan": 0
}

Update user info

Update user info

Authorizations:
apiKeyAuth
Request Body schema: application/json
required
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

Responses

Request samples

Content type
application/json
{
  • "profile_picture": "string",
  • "name": "string"
}

Response samples

Content type
application/json
{
  • "name": "string",
  • "email": "firstname.lastname@example.com",
  • "is_premium": true,
  • "in_trial": true,
  • "profile_picture": "string",
  • "max_alias_free_plan": 0
}

alias

Create random alias

Create a new random alias

Authorizations:
apiKeyAuth
query Parameters
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 uuid or word. By default, use the user setting when creating new random alias.

Request Body schema: application/json
required
note
string

Note of this alias

Responses

Request samples

Content type
application/json
{
  • "note": "string"
}

Response samples

Content type
application/json
{
  • "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": {
    },
  • "mailboxes": [
    ],
  • "latest_activity": {
    },
  • "nb_block": 0,
  • "nb_forward": 0,
  • "nb_reply": 0,
  • "note": "string",
  • "pinned": true,
  • "disable_pgp": true,
  • "support_pgp": true
}

Get activities

Get activities for specific alias by id.

Authorizations:
apiKeyAuth
path Parameters
alias_id
required
number
Example: 142

ID of an alias

query Parameters
page_id
required
number >= 0
Default: 0
Example: page_id=0

The endpoint returns maximum 20 aliases for each page.

Responses

Response samples

Content type
application/json
{
  • "activities": [
    ]
}

Get contacts

Get contacts for specific alias by id.

Authorizations:
apiKeyAuth
path Parameters
alias_id
required
number
Example: 142

ID of an alias

query Parameters
page_id
required
number >= 0
Default: 0
Example: page_id=0

The endpoint returns maximum 20 aliases for each page.

Responses

Response samples

Content type
application/json
{
  • "contacts": [
    ]
}

Create contact

Create a new contact for an alias by id.

Authorizations:
apiKeyAuth
path Parameters
alias_id
required
number
Example: 142

ID of an alias

Request Body schema: application/json
required

Updated settings for the given alias.

contact
required
string (Email)

Email address

Responses

Request samples

Content type
application/json
{
  • "contact": "firstname.lastname@example.com"
}

Response samples

Content type
application/json
{
  • "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
}

Delete alias

Delete specific alias by id.

Authorizations:
apiKeyAuth
path Parameters
alias_id
required
number
Example: 142

ID of an alias

Responses

Response samples

Content type
application/json
{
  • "deleted": true
}

Get alias

Get specific alias by id.

Authorizations:
apiKeyAuth
path Parameters
alias_id
required
number
Example: 142

ID of an alias

Responses

Response samples

Content type
application/json
{
  • "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": {
    },
  • "mailboxes": [
    ],
  • "latest_activity": {
    },
  • "nb_block": 0,
  • "nb_forward": 0,
  • "nb_reply": 0,
  • "note": "string",
  • "pinned": true,
  • "disable_pgp": true,
  • "support_pgp": true
}

Update alias

Update specific alias by id.

Authorizations:
apiKeyAuth
path Parameters
alias_id
required
number
Example: 142

ID of an alias

Request Body schema: application/json
required

Updated settings for the given alias.

note
string
mailbox_id
integer
name
string
mailbox_ids
Array of integers
disable_pgp
boolean
pinned
boolean

Responses

Request samples

Content type
application/json
{
  • "note": "string",
  • "mailbox_id": 0,
  • "name": "string",
  • "mailbox_ids": [
    ],
  • "disable_pgp": true,
  • "pinned": true
}

Response samples

Content type
application/json
{
  • "ok": true
}

Toggle alias

Enable or disable specific alias by id.

Authorizations:
apiKeyAuth
path Parameters
alias_id
required
number
Example: 142

ID of an alias

Responses

Response samples

Content type
application/json
{
  • "enabled": false
}

Delete contact

Delete a contact by id.

Authorizations:
apiKeyAuth
path Parameters
contact_id
required
number
Example: 123

ID of a contact

Responses

Response samples

Content type
application/json
{
  • "deleted": true
}

Toggle contact blocking

Block or unblock a contact by id. Toggles the block_forward status.

Authorizations:
apiKeyAuth
path Parameters
contact_id
required
number
Example: 123

ID of a contact

Responses

Response samples

Content type
application/json
{
  • "block_forward": false
}

Get aliases

Get user aliases. Please note pinned, disabled, enabled are exclusive, i.e. only one can be present. They can only be set to true.

Authorizations:
apiKeyAuth
query Parameters
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.

Responses

Response samples

Content type
application/json
{
  • "aliases": [
    ]
}

Search aliases

Search user aliases. Please note pinned, disabled, enabled are exclusive, i.e. only one can be present. They can only be set to true.

Authorizations:
apiKeyAuth
query Parameters
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.

Request Body schema: application/json
optional
query
string

Full-text search for the e-mail address of the alias

Responses

Request samples

Content type
application/json
{
  • "query": "string"
}

Response samples

Content type
application/json
{
  • "aliases": [
    ]
}

Create custom alias

Create a new custom alias

Authorizations:
apiKeyAuth
query Parameters
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.

Request Body schema: application/json
required
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

Responses

Request samples

Content type
application/json
{
  • "alias_prefix": "string",
  • "signed_suffix": "string",
  • "mailbox_ids": [
    ],
  • "note": "string",
  • "name": "string"
}

Response samples

Content type
application/json
{
  • "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": {
    },
  • "mailboxes": [
    ],
  • "latest_activity": {
    },
  • "nb_block": 0,
  • "nb_forward": 0,
  • "nb_reply": 0,
  • "note": "string",
  • "pinned": true,
  • "disable_pgp": true,
  • "support_pgp": true
}

Get alias options

User alias info and suggestion. Used by the first extension screen when user opens the extension.

Authorizations:
apiKeyAuth
query Parameters
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.

Responses

Response samples

Content type
application/json
{
  • "can_create": true,
  • "prefix_suggestion": "string",
  • "suffixes": [
    ],
  • "recommendation": {
    }
}

mailbox

Create mailbox

Create a new mailbox

Authorizations:
apiKeyAuth
Request Body schema: application/json
required

The new mailbox address

email
string (Email)

Email address

Responses

Request samples

Content type
application/json
{
  • "email": "firstname.lastname@example.com"
}

Response samples

Content type
application/json
{
  • "email": "firstname.lastname@example.com",
  • "id": 1,
  • "default": true,
  • "creation_timestamp": 1580903760,
  • "nb_alias": 10,
  • "verified": true
}

Delete mailbox

Delete specific mailbox by id.

Authorizations:
apiKeyAuth
path Parameters
mailbox_id
required
number
Example: 142

ID of a mailbox

Responses

Response samples

Content type
application/json
{
  • "error": "string"
}

Update mailbox

Update specific mailbox by id.

Authorizations:
apiKeyAuth
path Parameters
mailbox_id
required
number
Example: 142

ID of a mailbox

Request Body schema: application/json
required

Updated settings of mailbox

default
boolean

If true, set the mailbox as the default mailbox.

email
string (Email)

Email address

cancel_email_change
boolean

If true, cancel the email change of the mailbox.

Responses

Request samples

Content type
application/json
{
  • "default": true,
  • "email": "firstname.lastname@example.com",
  • "cancel_email_change": true
}

Response samples

Content type
application/json
{
  • "error": "string"
}

Get mailboxes

Get user mailboxes.

Authorizations:
apiKeyAuth

Responses

Response samples

Content type
application/json
{
  • "mailboxes": [
    ]
}

custom-domain

Get custom domains

Get users custom domains.

Authorizations:
apiKeyAuth
path Parameters
alias_id
required
number
Example: 142

ID of an alias

Responses

Response samples

Content type
application/json
{
  • "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": [
    ],
  • "name": "string",
  • "nb_alias": 0,
  • "random_prefix_generation": false
}

Update custom domain

Update settings for a custom domain.

Authorizations:
apiKeyAuth
path Parameters
custom_domain_id
required
number
Example: 1

ID of a custom domain

Request Body schema: application/json
required

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

Responses

Request samples

Content type
application/json
{
  • "catch_all": true,
  • "random_prefix_generation": true,
  • "name": "string",
  • "mailbox_ids": [
    ]
}

Response samples

Content type
application/json
{
  • "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": [
    ],
  • "name": "string",
  • "nb_alias": 0,
  • "random_prefix_generation": false
}

Get deleted aliases

Get all deleted aliases for a custom domain (trash).

Authorizations:
apiKeyAuth
path Parameters
custom_domain_id
required
number
Example: 1

ID of a custom domain

Responses

Response samples

Content type
application/json
{
  • "aliases": [
    ]
}

contact

notification

settings

Get user settings

Retrieve user's configuration preferences

Authorizations:
apiKeyAuth

Responses

Response samples

Content type
application/json
{
  • "alias_generator": "word",
  • "notification": true,
  • "random_alias_default_domain": "string",
  • "sender_format": "AT",
  • "random_alias_suffix": "word"
}

Update user settings

Modify user's configuration preferences

Authorizations:
apiKeyAuth
Request Body schema: application/json
required
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

Responses

Request samples

Content type
application/json
{
  • "alias_generator": "word",
  • "notification": true,
  • "random_alias_default_domain": "string",
  • "sender_format": "AT",
  • "random_alias_suffix": "word"
}

Response samples

Content type
application/json
{
  • "alias_generator": "word",
  • "notification": true,
  • "random_alias_default_domain": "string",
  • "sender_format": "AT",
  • "random_alias_suffix": "word"
}

Get available domains for random aliases

Retrieve available domains for random alias creation

Authorizations:
apiKeyAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

export

Export aliases as CSV

Export user aliases in an importable CSV format that can be used in the settings screen

Authorizations:
apiKeyAuth

Responses

Response samples

Content type
application/json
{
  • "error": "string"
}

Export user data

Export comprehensive user data including aliases, custom domains, and app information

Authorizations:
apiKeyAuth

Responses

Response samples

Content type
application/json
{
  • "aliases": [
    ],
  • "custom_domains": [
    ],
  • "app_info": {
    }
}

phone

misc

Health

Check if the API server is healthy and responding. This endpoint does not require authentication.

Responses