Axuz Developers

POST /auth/password/change

(1) re-auth válida para FactorPassword; (2) âncoras da sessão corrente (sid do access + hash do refresh — callerSessionFromRequest); (3)...

  • Access: Signed in (incl. pre-session)
  • Service: https://auth-api.axuz.net

Accepted authentication

  • sessionCookie — Sessão plena Axuz (cookie de sessão da casa). Sessão restrita é 403 enrollment_required.
  • bearerSession — JWT de acesso da sessão em `Authorization: Bearer`.

(1) re-auth válida para FactorPassword; (2) âncoras da sessão corrente (sid do access + hash do refresh — callerSessionFromRequest); (3) política de senha (checkPasswordPolicy — mesma do signup/reset, inclui HIBP); (4) argon2id; (5) UPDATE; (6) revokeAfterPasswordChange: revoga as OUTRAS famílias e publica a revogação do access de cada uma. Sem âncora nenhuma (access legado sem sid e sem refresh) revoga TODAS, a corrente inclusive, expira os cookies e devolve relogin_required:true.

passwordChange troca a senha do usuário da sessão.

Retorno: 200 {ok, sessions_revoked, relogin_required[, sessions_revoke_failed]}; 400 invalid_body | weak_password | breached_password | password_too_long{max_bytes}; 401 unauthenticated; 403 reauth_required{factor,accepted_methods}; 500 infra.

Parameters

No parameters.

Request body

Corpo JSON. O schema detalhado deste endpoint ainda não está tipado na spec; veja a descrição da operação.

application/json

NameTypeRequiredDescription
(corpo)objectno
{}

Responses

200

{ok, sessions_revoked, relogin_required[, sessions_revoke_failed]}

400

Invalid_body | weak_password | breached_password | password_too_long{max_bytes}

NameTypeRequiredDescription
errorstringyes

401

Sem credencial valida

NameTypeRequiredDescription
errorstringyes

403

Sem permissao (nao e owner/admin; token sem escopo; token de integracao em rota nao permitida)

NameTypeRequiredDescription
errorstringyes

429

Limite de requisições excedido.

NameTypeRequiredDescription
errorstringyes

500

Infra

NameTypeRequiredDescription
errorstringyes

Examples

"Try it" is turned off in this reference. Use the examples with your test credential.

curl

curl -sS -X POST 'https://auth-api.axuz.net/auth/password/change' \
  -H "Authorization: Bearer $AXUZ_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{}'

Node.js

const res = await fetch("https://auth-api.axuz.net/auth/password/change", {
  method: 'POST',
  headers: {
    Authorization: `Bearer ${process.env.AXUZ_TOKEN}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({}),
});
if (!res.ok) throw new Error(`HTTP ${res.status}: ${await res.text()}`);
console.log(await res.json());

Python

import os
import requests

res = requests.request(
    "POST",
    "https://auth-api.axuz.net/auth/password/change",
    headers={
        "Authorization": f"Bearer {os.environ['AXUZ_TOKEN']}",
    },
    json={},
    timeout=30,
)
res.raise_for_status()
print(res.json())