Updates an existing User account.
Access control
Endpoints
Updating an existing User account is possible via these endpoints:
Request body
Property |
Type |
Description |
bio |
string |
The User's bio |
consent |
string |
A number that indicates the consent given by the user |
control |
string |
A number that indicates the level of control the user prefers |
github |
string |
The User's username on GitHub |
imperial |
boolean |
Whether or not the User prefers imperial units |
newsletter |
boolean |
Whether this Person prefers imperial measurements (true ) or not (false ) |
img |
string |
An image data-uri to store with this Person |
password |
string |
The (new) password for the User |
username |
string |
The (new) username for the User |
Response status codes
Possible status codes for these endpoints are:
Status code |
Description |
|
success |
|
the request was malformed |
|
the request lacks authentication |
|
authentication failed |
|
server error |
If the status code is not the `error` property
in the response body should indicate the nature of the problem.
Response body
Value |
Type |
Description |
result |
String |
Either success or error |
error |
String |
Will give info on the nature of the error. Only set if an error occurred. |
account.id |
Number |
The ID of the User |
account.bio |
String |
The bio of the User |
account.consent |
Number |
The consent given by the User |
account.control |
Number |
The control desired by the User |
account.createdAt |
String |
Date string indicating the moment the User was created |
account.email |
String |
The E-mail address currently tied to the User |
account.github |
String |
The GitHub username of the User |
account.img |
String |
The URL to the image stored with this User |
account.imperial |
Boolean |
Whether or not the User prefers imperial units |
account.initial |
String |
The E-mail address that the User was created with |
account.language |
String |
The language preferred by the user |
account.lastSignIn |
String |
Date string indicating them moment the User last signed in |
account.mfaEnabled |
Boolean |
Whether or not the User has MFA enabled |
account.newsletter |
Boolean |
Whether or not the User is subscribed to the FreeSewing newsletter |
account.patron |
Number |
The level of patronage the user provides to FreeSewing |
account.role |
String |
The role of the User |
account.status |
Number |
The status of the user |
account.updatedAt |
String |
Date string indicating the last time the User was updated |
account.username |
String |
The username of the User |
account.lusername |
String |
A lowercased version of the username of the User |
Example request
const udpate = await axios.put(
'https://backend.freesewing.org/account/jwt',
{
bio: "I like imperial now",
imperial: true,
username: "ImperialLover"
},
{
headers: {
Authorization: `Bearer ${token}`
}
}
)
Example response
{
"result": "success",
"account": {
"id": 14,
"bio": "I like imperial now",
"consent": 1,
"control": 1,
"createdAt": "2022-11-19T18:15:22.642Z",
"email": "test_54c6856275aaa8a1@freesewing.dev",
"github": "",
"img": "https://freesewing.org/avatar.svg",
"imperial": true,
"initial": "test_54c6856275aaa8a1@freesewing.dev",
"language": "en",
"lastSignIn": "2022-11-19T18:15:22.668Z",
"mfaEnabled": false,
"newsletter": false,
"patron": 0,
"role": "user",
"status": 1,
"updatedAt": "2022-11-19T18:15:22.668Z",
"username": "ImperialLover",
"lusername": "imperiallover"
}
}