1.5 KiB
API
For now the only API client is the Chrome/Firefox extension. This extension relies on API Code
for authentication.
In every request the extension sends
-
the
API Code
is set inAuthentication
header. The check is done via theverify_api_key
wrapper, implemented inapp/api/base.py
-
the current website
hostname
which is the website subdomain name + domain name. For ex, if user is onhttp://dashboard.example.com/path1/path2?query
, the subdomain isdashboard.example.com
. This information is important to know where an alias is used in order to proposer to user the same alias if they want to create on alias on the same website in the future. Thehostname
is passed in the request query?hostname=
, seeapp/api/views/alias_options.py
for an example.
Currently the latest extension uses 2 endpoints:
/alias/options
: that returns what to suggest to user when they open the extension.
GET /alias/options hostname?="www.groupon.com"
Response: a json with following structure. ? means optional field.
recommendation?:
alias: www_groupon_com@simplelogin.co
hostname: www.groupon.com
custom:
suggestion: groupon
suffix: [@my_domain.com, .abcde@simplelogin.co]
can_create_custom: true
can_create_random: true # obsolete now
existing:
[email1, email2, ...]
/alias/custom/new
: allows user to create a new custom alias.
POST /alias/custom/new
prefix: www_groupon_com
suffix: @my_domain.com
Response:
201 -> OK {alias: "www_groupon_com@my_domain.com"}
409 -> duplicated