API reference OpenAPI 3.1
POST /auth/mfa/confirm

Mfa confirm

Requires the same live staff session that enrolled the factor. The factor is looked up by session user, not by a caller-supplied identity.

Bearer API key or staff session application/json operation mfaConfirm

Request

Content type: application/json · required

FieldTypeRequiredDescription
user_id string No Optional legacy field; must match the session user
factor_id string Yes —
code string Yes —
curl -X POST "$MONICHEK_API/auth/mfa/confirm" \
  -H "Authorization: Bearer $MONICHEK_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "user_id": "id_01M3R...",
  "factor_id": "id_01M3R...",
  "code": "string"
}'
const res = await fetch(`${MONICHEK_API}/auth/mfa/confirm`, {
  method: "POST",
  headers: {
    Authorization: `Bearer ${MONICHEK_API_KEY}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    "user_id": "id_01M3R...",
    "factor_id": "id_01M3R...",
    "code": "string"
  }),
});

const data = await res.json();
import os
import requests

res = requests.post(
    f"{os.environ['MONICHEK_API']}/auth/mfa/confirm",
    headers={"Authorization": f"Bearer {os.environ['MONICHEK_API_KEY']}"},
    json={
      "user_id": "id_01M3R...",
      "factor_id": "id_01M3R...",
      "code": "string"
    },
)
print(res.json())
$ch = curl_init(getenv('MONICHEK_API') . '/auth/mfa/confirm');
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_HTTPHEADER => [
        'Authorization: Bearer ' . getenv('MONICHEK_API_KEY'),
        'Content-Type: application/json',
    ],
    CURLOPT_POSTFIELDS => json_encode([
        'user_id' => 'id_01M3R...',
        'factor_id' => 'id_01M3R...',
        'code' => 'string',
    ]),
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;

Responses

200 OK enrolled application/json

No response example is published for this status.

Error responses

StatusMeaningBody
401 Unauthorized RFC 9457 problem
403 Forbidden RFC 9457 problem
409 Conflict RFC 9457 problem
422 Unprocessable Entity RFC 9457 problem

Errors use the RFC 9457 problem format with a stable code.