Backend resource · STATIC DECLARATIONS
OTPReset Password View API reference · mansoq-core
Static source contract for OTPReset Password View: 2 declared or inherited operation mappings, schema/field evidence and authorization/refusal references. Deployment and behavioral review remain explicit.
Static API contract — behavior review pending. Source baseline f6e9f05f76d4.
Enable JavaScript to inspect structured operation, parameter, schema and permission evidence. Download this reference and its evidence.
Declared route and availability
This resource is declared in mansoq-core at /api/v1/otp/password_reset/. verified core mount in config/urls.py A registered path and an indexed handler do not prove deployment availability, user permission or production readiness.
Operation map
| Method | Path | Action | Evidence |
|---|---|---|---|
| POST | /api/v1/otp/password_reset/send/ |
send | @action declaration |
| POST | /api/v1/otp/password_reset/confirm/ |
confirm | @action declaration |
send · POST
POST /api/v1/otp/password_reset/send/ — action send. static contract extracted; runtime/permission/payload behavior review pending.
decorator request: OTPResetSendSpec. Declared fields below; inherited fields are retained in the schema inventory.
| Field | Type | Required | Constraints |
|---|---|---|---|
| phone_number | str | true | No extra constraint extracted |
Authorization: no literal permission name was resolved in the bounded handler/helper traversal. Authentication, inherited policies, object/facility scoping and middleware still require review; this does not mean public access.
Class policy declarations: permission_classes: ; authentication_classes: .
confirm · POST
POST /api/v1/otp/password_reset/confirm/ — action confirm. static contract extracted; runtime/permission/payload behavior review pending.
decorator request: OTPResetConfirmSpec. Declared fields below; inherited fields are retained in the schema inventory.
| Field | Type | Required | Constraints |
|---|---|---|---|
| phone_number | str | true | No extra constraint extracted |
| otp | str | true | No extra constraint extracted |
| password | str | true | min_length: 8 |
| username | str | None | false | No extra constraint extracted |
Authorization: no literal permission name was resolved in the bounded handler/helper traversal. Authentication, inherited policies, object/facility scoping and middleware still require review; this does not mean public access.
Class policy declarations: permission_classes: ; authentication_classes: .
Explicit response statuses in observed code: 409. Other branches/framework exception handling may differ.
Declared refusal/error evidence: ValidationError (dynamic detail; inspect source); Throttled (dynamic detail; inspect source).
Conditional gates: conditional/computed expression; inspect pinned declaration comparison settings.OTP_MAX_FAILURES; otp_obj.failed_attempts comparison settings.OTP_MAX_VERIFY_ATTEMPTS.
Integration review checklist
Confirm the installed route and full schema; review authentication, organization/facility scoping, all accepted fields, value-state and date/time semantics, idempotency, pagination, response/exception branches and the allowed correction/reversal workflow. Test positive and negative cases with synthetic data. This source reference does not establish external certification or replace an illustrated user procedure.
Pinned source evidence
Links require access to the private source repository.
- repositories/platform/mansoq-core/config/api_router.py:208
- repositories/platform/mansoq-core/mansoq/users/api/otp_viewset/reset_password.py:51
- repositories/platform/mansoq-core/mansoq/users/api/otp_viewset/reset_password.py:57
- repositories/platform/mansoq-core/mansoq/emr/api/viewsets/base.py:322
- repositories/platform/mansoq-core/mansoq/users/api/otp_viewset/reset_password.py:27
- repositories/platform/mansoq-core/mansoq/users/api/otp_viewset/reset_password.py:68
- repositories/platform/mansoq-core/mansoq/users/api/otp_viewset/reset_password.py:45