re-organize readme
This commit is contained in:
parent
6d9d017c08
commit
56a483d579
226
README.md
226
README.md
|
@ -684,6 +684,90 @@ Some errors should be fixed during development however: for example error like `
|
||||||
|
|
||||||
All following endpoint return `401` status code if the API Key is incorrect.
|
All following endpoint return `401` status code if the API Key is incorrect.
|
||||||
|
|
||||||
|
### Authentication endpoints
|
||||||
|
|
||||||
|
#### POST /api/auth/login
|
||||||
|
|
||||||
|
Input:
|
||||||
|
- email
|
||||||
|
- password
|
||||||
|
- device: device name. Used to create the API Key. Should be humanly readable so user can manage later on the "API Key" page.
|
||||||
|
|
||||||
|
Output:
|
||||||
|
- name: user name, could be an empty string
|
||||||
|
- mfa_enabled: boolean
|
||||||
|
- mfa_key: only useful when user enables MFA. In this case, user needs to enter their OTP token in order to login.
|
||||||
|
- api_key: if MFA is not enabled, the `api key` is returned right away.
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
Return 403 if user has enabled FIDO. The client can display a message to suggest user to use the `API Key` instead.
|
||||||
|
|
||||||
|
#### POST /api/auth/mfa
|
||||||
|
|
||||||
|
Input:
|
||||||
|
- mfa_token: OTP token that user enters
|
||||||
|
- mfa_key: MFA key obtained in previous auth request, e.g. /api/auth/login
|
||||||
|
- device: the device name, used to create an ApiKey associated with this device
|
||||||
|
|
||||||
|
Output:
|
||||||
|
- name: user name, could be an empty string
|
||||||
|
- api_key: if MFA is not enabled, the `api key` is returned right away.
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
#### POST /api/auth/facebook
|
||||||
|
|
||||||
|
Input:
|
||||||
|
- facebook_token: Facebook access token
|
||||||
|
- device: device name. Used to create the API Key. Should be humanly readable so user can manage later on the "API Key" page.
|
||||||
|
|
||||||
|
Output: Same output as for `/api/auth/login` endpoint
|
||||||
|
|
||||||
|
#### POST /api/auth/google
|
||||||
|
|
||||||
|
Input:
|
||||||
|
- google_token: Google access token
|
||||||
|
- device: device name. Used to create the API Key. Should be humanly readable so user can manage later on the "API Key" page.
|
||||||
|
|
||||||
|
Output: Same output as for `/api/auth/login` endpoint
|
||||||
|
|
||||||
|
#### POST /api/auth/register
|
||||||
|
|
||||||
|
Input:
|
||||||
|
- email
|
||||||
|
- password
|
||||||
|
|
||||||
|
Output: 200 means user is going to receive an email that contains an *activation code*. User needs to enter this code to confirm their account -> next endpoint.
|
||||||
|
|
||||||
|
#### POST /api/auth/activate
|
||||||
|
|
||||||
|
Input:
|
||||||
|
- email
|
||||||
|
- code: the activation code
|
||||||
|
|
||||||
|
Output:
|
||||||
|
- 200: account is activated. User can login now
|
||||||
|
- 400: wrong email, code
|
||||||
|
- 410: wrong code too many times. User needs to ask for an reactivation -> next endpoint
|
||||||
|
|
||||||
|
#### POST /api/auth/reactivate
|
||||||
|
|
||||||
|
Input:
|
||||||
|
- email
|
||||||
|
|
||||||
|
Output:
|
||||||
|
- 200: user is going to receive an email that contains the activation code.
|
||||||
|
|
||||||
|
#### POST /api/auth/forgot_password
|
||||||
|
|
||||||
|
Input:
|
||||||
|
- email
|
||||||
|
|
||||||
|
Output: always return 200, even if email doesn't exist. User need to enter correctly their email.
|
||||||
|
|
||||||
#### GET /api/user_info
|
#### GET /api/user_info
|
||||||
|
|
||||||
Given the API Key, return user name and whether user is premium.
|
Given the API Key, return user name and whether user is premium.
|
||||||
|
@ -705,6 +789,7 @@ Output: if api key is correct, return a json with user name and whether user is
|
||||||
|
|
||||||
If api key is incorrect, return 401.
|
If api key is incorrect, return 401.
|
||||||
|
|
||||||
|
### Alias endpoints
|
||||||
|
|
||||||
#### GET /api/v4/alias/options
|
#### GET /api/v4/alias/options
|
||||||
|
|
||||||
|
@ -797,115 +882,6 @@ If success, 201 with the new alias, for example
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
#### POST /api/auth/login
|
|
||||||
|
|
||||||
Input:
|
|
||||||
- email
|
|
||||||
- password
|
|
||||||
- device: device name. Used to create the API Key. Should be humanly readable so user can manage later on the "API Key" page.
|
|
||||||
|
|
||||||
Output:
|
|
||||||
- name: user name, could be an empty string
|
|
||||||
- mfa_enabled: boolean
|
|
||||||
- mfa_key: only useful when user enables MFA. In this case, user needs to enter their OTP token in order to login.
|
|
||||||
- api_key: if MFA is not enabled, the `api key` is returned right away.
|
|
||||||
|
|
||||||
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.
|
|
||||||
|
|
||||||
Return 403 if user has enabled FIDO. The client can display a message to suggest user to use the `API Key` instead.
|
|
||||||
|
|
||||||
#### POST /api/auth/mfa
|
|
||||||
|
|
||||||
Input:
|
|
||||||
- mfa_token: OTP token that user enters
|
|
||||||
- mfa_key: MFA key obtained in previous auth request, e.g. /api/auth/login
|
|
||||||
- device: the device name, used to create an ApiKey associated with this device
|
|
||||||
|
|
||||||
Output:
|
|
||||||
- name: user name, could be an empty string
|
|
||||||
- api_key: if MFA is not enabled, the `api key` is returned right away.
|
|
||||||
|
|
||||||
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.
|
|
||||||
|
|
||||||
#### POST /api/auth/facebook
|
|
||||||
|
|
||||||
Input:
|
|
||||||
- facebook_token: Facebook access token
|
|
||||||
- device: device name. Used to create the API Key. Should be humanly readable so user can manage later on the "API Key" page.
|
|
||||||
|
|
||||||
Output: Same output as for `/api/auth/login` endpoint
|
|
||||||
|
|
||||||
|
|
||||||
#### POST /api/auth/google
|
|
||||||
|
|
||||||
Input:
|
|
||||||
- google_token: Google access token
|
|
||||||
- device: device name. Used to create the API Key. Should be humanly readable so user can manage later on the "API Key" page.
|
|
||||||
|
|
||||||
Output: Same output as for `/api/auth/login` endpoint
|
|
||||||
|
|
||||||
#### POST /api/auth/register
|
|
||||||
|
|
||||||
Input:
|
|
||||||
- email
|
|
||||||
- password
|
|
||||||
|
|
||||||
Output: 200 means user is going to receive an email that contains an *activation code*. User needs to enter this code to confirm their account -> next endpoint.
|
|
||||||
|
|
||||||
|
|
||||||
#### POST /api/auth/activate
|
|
||||||
|
|
||||||
Input:
|
|
||||||
- email
|
|
||||||
- code: the activation code
|
|
||||||
|
|
||||||
Output:
|
|
||||||
- 200: account is activated. User can login now
|
|
||||||
- 400: wrong email, code
|
|
||||||
- 410: wrong code too many times. User needs to ask for an reactivation -> next endpoint
|
|
||||||
|
|
||||||
#### POST /api/auth/reactivate
|
|
||||||
|
|
||||||
Input:
|
|
||||||
- email
|
|
||||||
|
|
||||||
Output:
|
|
||||||
- 200: user is going to receive an email that contains the activation code.
|
|
||||||
|
|
||||||
#### POST /api/auth/forgot_password
|
|
||||||
|
|
||||||
Input:
|
|
||||||
- email
|
|
||||||
|
|
||||||
Output: always return 200, even if email doesn't exist. User need to enter correctly their email.
|
|
||||||
|
|
||||||
#### GET /api/mailboxes
|
|
||||||
|
|
||||||
Get user verified mailboxes.
|
|
||||||
|
|
||||||
Input:
|
|
||||||
- `Authentication` header that contains the api key
|
|
||||||
|
|
||||||
Output:
|
|
||||||
List of mailboxes. Each mailbox has id, email field.
|
|
||||||
|
|
||||||
```json
|
|
||||||
{
|
|
||||||
"mailboxes": [
|
|
||||||
{
|
|
||||||
"email": "a@b.c",
|
|
||||||
"id": 1
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"email": "m1@example.com",
|
|
||||||
"id": 2
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
#### GET /api/v2/aliases
|
#### GET /api/v2/aliases
|
||||||
|
|
||||||
Get user aliases.
|
Get user aliases.
|
||||||
|
@ -1133,7 +1109,6 @@ If success, 200 with the list of contacts, for example:
|
||||||
|
|
||||||
Please note that last_email_sent_timestamp and last_email_sent_date can be null.
|
Please note that last_email_sent_timestamp and last_email_sent_date can be null.
|
||||||
|
|
||||||
|
|
||||||
#### POST /api/aliases/:alias_id/contacts
|
#### POST /api/aliases/:alias_id/contacts
|
||||||
|
|
||||||
Create a new contact for an alias.
|
Create a new contact for an alias.
|
||||||
|
@ -1159,6 +1134,35 @@ Return 409 if contact is already added.
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### Mailbox endpoints
|
||||||
|
|
||||||
|
#### GET /api/mailboxes
|
||||||
|
|
||||||
|
Get user verified mailboxes.
|
||||||
|
|
||||||
|
Input:
|
||||||
|
- `Authentication` header that contains the api key
|
||||||
|
|
||||||
|
Output:
|
||||||
|
List of mailboxes. Each mailbox has id, email field.
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"mailboxes": [
|
||||||
|
{
|
||||||
|
"email": "a@b.c",
|
||||||
|
"id": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"email": "m1@example.com",
|
||||||
|
"id": 2
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### Contact endpoints
|
||||||
|
|
||||||
#### DELETE /api/contacts/:contact_id
|
#### DELETE /api/contacts/:contact_id
|
||||||
|
|
||||||
Delete a contact
|
Delete a contact
|
||||||
|
@ -1177,6 +1181,7 @@ If success, 200.
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### Misc endpoints
|
||||||
#### POST /api/apple/process_payment
|
#### POST /api/apple/process_payment
|
||||||
|
|
||||||
Process payment receipt
|
Process payment receipt
|
||||||
|
@ -1191,7 +1196,6 @@ Output:
|
||||||
4** if any error.
|
4** if any error.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## OAuth
|
## OAuth
|
||||||
|
|
||||||
SL currently supports code and implicit flow.
|
SL currently supports code and implicit flow.
|
||||||
|
|
Loading…
Reference in a new issue