1
0
Fork 0
freesewing/markdown/dev/reference/backend/account/confirm/en.md
2023-05-22 16:41:02 +02:00

4 KiB

title
Confirm an account

Confirms a newly created User account. If confirmation is successful this will also result in a (passwordless) sign-in.

Endpoints

Confirming a new User account is possible via this endpoint:

Method Path Authentication
/confirm/signup/:id None

This endpoint requires no authentication

Request URL

The URL should contain the confirmation ID that was E-mailed to the E-mail address used for the signup. It replaces the :id placeholder in the endpoint listed above.

Request body

Property Type Description
consent Number An integer representing the consent given by the user to process their data

Response status codes

Possible status codes for these endpoints are:

Status code Description
success
the request was malformed
the confirmation was not found
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.
token String A JSON web token (JWT) token to authenticate with
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 confirm = await axios.post(
  'https://backend.freesewing.org/confirm/signup/3985f312-e407-458a-a78c-4596c361d284',
  { consent: 2 },
)

Example response

{
  "result": "success",
  "token": "eyJhbGciOiJIUzI1NiIsInR5c...truncated",
  "account": {
    "id": 14,
    "bio": "",
    "consent": 1,
    "control": 1,
    "createdAt": "2022-11-19T18:15:22.642Z",
    "email": "test_54c6856275aaa8a1@freesewing.dev",
    "github": "",
    "img": "https://freesewing.org/avatar.svg",
    "imperial": false,
    "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": "user-14",
    "lusername": "user-14"
  }
}