Merran documentation API & integrations
Change your password
const url = 'http://localhost:3000/api/auth/change-password';const options = { method: 'POST', headers: { cookie: 'merran.session_token=<merran.session_token>', 'Content-Type': 'application/json' }, body: '{"currentPassword":"correct horse battery staple","newPassword":"a longer, newer passphrase","revokeOtherSessions":true}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url http://localhost:3000/api/auth/change-password \ --header 'Content-Type: application/json' \ --cookie merran.session_token=<merran.session_token> \ --data '{ "currentPassword": "correct horse battery staple", "newPassword": "a longer, newer passphrase", "revokeOtherSessions": true }'Needs your current password. The new one needs at least 10 characters. With revokeOtherSessions, everywhere else is signed out too, and a new token comes back for this session.
Authorizations
Section titled “Authorizations”Request Bodyrequired
Section titled “Request Bodyrequired”object
The new password to set
The current password is required
Must be a boolean value
Example
{ "currentPassword": "correct horse battery staple", "newPassword": "a longer, newer passphrase", "revokeOtherSessions": true}Responses
Section titled “Responses”Password successfully changed
object
New session token if other sessions were revoked
object
The unique identifier of the user
The email address of the user
The name of the user
The profile image URL of the user
Whether the email has been verified
When the user was created
When the user was last updated
Example
{ "token": "sample-session-token", "user": { "id": "0199e8b0-5a10-7a01-8b00-000000000001", "name": "Sam Rivera", "email": "sam@example.com", "emailVerified": false, "image": null, "createdAt": "2026-10-01T17:30:00.000Z", "updatedAt": "2026-10-01T17:30:00.000Z", "username": "sam", "displayUsername": "sam", "role": "admin", "banned": false }}Bad Request. Usually due to missing parameters, or invalid parameters.
object
Example generated
{ "message": "example"}Unauthorized. Due to missing or invalid authentication.
object
Example generated
{ "message": "example"}Forbidden. You do not have permission to access this resource or to perform this action.
object
Example generated
{ "message": "example"}Not Found. The requested resource was not found.
object
Example generated
{ "message": "example"}Too Many Requests. You have exceeded the rate limit. Try again later.
object
Example generated
{ "message": "example"}Internal Server Error. This is a problem with the server that you cannot fix.
object
Example generated
{ "message": "example"}© 2026 Kyle Johnson. Documentation: CC BY 4.0. Merran: AGPL-3.0-or-later.