MW API DOCUMENTATION
Get Term Condition
GET
API_END_POINT/mw_term_condition/
Terminology:
MW: the short name of MagicWeaver
CP: the short name of Client Partner who is a business client of MagicWeaver
MW-X-SECRET: A long secret/password string, provided by MW. It is shared by MW and CP for authenticating sign-in and sign-up requests and passing user information from CP sides to MW with encryption.
JWT: an encrypted token generate with jwt module of Python or other software with same algorithm
MW-JWT: is generated by MW server, used for authenticating service access and identifying user
MW-X-JWT: is generated by MW server or/and CP server with exactly same algorithm and secret key string. MW and CP use it for identifying each other for data and information exchange. For example, MW uses it to identify a CP and authenticate service access.
CP-JWT: is generated by CP server, used for authenticating their service access and identifying user account
Sign up
POST
API_END_POINT/sign_up/<partner>/
This endpoint allows you to get free cakes.
Path Parameters
partner
string
partner short name e.g. 'MW'
Request Body
"json"
string
{“email”: “xxx@xxx.xxx”, ”password”: “xxxxxxxxxx”}
Sign in from mw app
POST
API_END_POINT/sign_in/<partner>
Path Parameters
partner
string
partner short name e.g. 'MW'
Request Body
"json"
string
{"email": "xxx@xxx.xxx", "password": "xxxxxxxxxx"}
Sign in from CP app
POST
API_END_POINT/sign_in/<partner>
Path Parameters
partner
string
partner short name e.g. 'MW'
Request Body
"json"
string
{"mw_x_jwt": MW-X-JWT string}
Reset Password
POST
API_END_POINT/request_reset_passwd/<partner>/
Path Parameters
partner
string
partner short name e.g. 'MW'
Request Body
"json"
string
{"email": "useremail@xxx.com"}
POST
API_END_POINT/change_passwd/
Request Body
"json"
string
{ "old_password": "test", "new_password": "Wide", "confirm_password": "Wide"}
Create Profile
POST
API_END_POINT/create_profile/
Headers
"mw-jwt"
string
"MW-JWT string" obtained when sign in
Request Body
json
string
{
"profile": {
"front_gyro_z": 0,
"gender": "m",
"unit": "cm/kg",
"meta": {
"app_version": "2.9.92-dev",
"app_os": "android",
"app_os_version": "9",
"front": {
"focal_length": 4.3,
"focal_length_35mm": 26,
"rotation": [ 90.91763305664062, 90.97338104248047 ],
"aperture": 1.16,
"camera_name": "SM-G960U",
"resolution": [ 2880, 2160 ] },
"side": {
"focal_length": 4.3,
"focal_length_35mm": 26,
"rotation": [ 90.31617736816406, 92.4752197265625 ],
"aperture": 1.16,
"camera_name": "SM-G960U",
"resolution": [ 2880, 2160 ]
}
},
"side_photo": (str) Side photo png base64 stream,
"name": "delete me pls",
"reference": "letter",
"side_gyro_x": 0,
"fit": "regular",
"side_gyro_y": 0,
"side_gyro_z": 0,
"front_photo": (str) Front photo png base64 stream,
"front_gyro_x": 0,
"height_guess": 1.73,
"front_gyro_y": 0,
"weight_guess": 80
}
Delete profile
POST
API_END_POINT/delete_profile_by_id/<profile_id>/
Path Parameters
profile_id
string
Headers
mw-jwt
string
MW_JWT string(obtained when sign in)
Update profile
POST
API_END_POINT/update_profile/<profile_id>
Path Parameters
profile_id
string
Headers
mw-jwt
string
MW_JWT string(obtained when sign in)
Request Body
json
string
{
"profile":{
"name": (str) Name of new measurement profile "gender": (str) Gender ("m" | "f")
“unit”: (str) ("cm/kg” | “ft-in/lb"),
"height_guess": (float) Height in meter | foot inches, e.g. 1.79 m | 5'-10''
"weight_guess": (float) Weight in kg | pound, e.g. 80 kg | 176.6 lb
}
}
Update measurements
POST
API_END_POINT/update_measurements/<profile_id>/
Path Parameters
profile_id
string
Headers
mw-jwt
string
MW_JWT string(obtained when sign in)
Request Body
json
string
{
"profile": {
"measurements": {
key-value pairs of body part names and raw measurement values
arm: 55,
hip: 90,
chest: 93, ... }
}
}
Show 3D Model
GET
API_END_POINTshow_3d_models_in_js_viewer_by_profile_id/<profile_id>/
Path Parameters
profile_id
string
Headers
mw-jwt
string
MW_JWT string(obtained when sign in)
Ger Profile Measurements
POST
API_END_POINT/get_measurements_by_profile_id/<profile_id>/
Path Parameters
profile_id
string
Headers
mw-jwt
string
MW_JWT string(obtained when sign in)
Request Body
json
string
{ "parts": [], # names of body parts to calculate measurement for }
Get Profile Info
GET
API_END_POINT/get_profile_info_by_id/<profile_id>/
Path Parameters
profile_id
string
Headers
mw-jwt
string
MW_JWT string(obtained when sign in
List Profiles
GET
API_END_POINT/list_profiles/app_list/<sort_method>/
Path Parameters
sort_method
string
"time" or "name" or "process_status"
Headers
mw-jwt
string
MW_JWT string(obtained when sign in)
Get Single Profile
GET
API_END_POINT/list_profiles/app_list/<sort_method>/
Path Parameters
profile_id
string
Headers
mw-jwt
string
MW_JWT string(obtained when sign in)
GET
API_END_POINT/get_app_config
Path Parameters
string
Last updated