Create Password Reset
This request starts a password reset for a partner or a partner login, and sends an email with a confirmation code and a reset link to the address on file for the target.
For the full process, see How Password Reset Works.
| post | /oauth/password-reset |
Sample
A sample POST request to start a password reset, targeted by login:
curl -X POST \
'https://api.carrierx.com/core/v2/oauth/password-reset' \
-H 'Content-Type: application/json' \
--data-binary '{"login":"fcctest_mching_sublogin1","base_url":"https://carrierx.com/new-password/"}' \
-H 'Authorization: Bearer 5ebc03d6-8b2b-44ad-bf65-72d4f1491dda'
Response
200 status code with a serialized copy of the Password Reset object. The response never contains the confirmation code:
{
"password_reset_sid": "0d6f9a34-52c1-47f8-91be-3fb2a6d0c815",
"partner_sid": null,
"partner_login_sid": "b0a1c2d3-e4f5-4a6b-8c7d-9e0f1a2b3c4d",
"login": null,
"status": "pending",
"date_expiry": "2026-07-12T13:15:42.000Z",
"base_url": "https://carrierx.com/new-password/"
}
The email sent to the target contains a button linking to base_url followed by password_reset_sid, and the confirmation code displayed for manual entry, valid for 30 minutes. Advance the session with the Advance Password Reset request.
Required Scopes
To create a Password Reset object, the partner must have one of the following scopes enabled:
oauth.manageoauth.create
Body Arguments
JSON representation of the fields and values of the Password Reset object to be created.
Exactly one of the following fields must be set to determine the target of the password reset:
loginpartner_sidpartner_login_sid
base_url is optional.
Setting zero, or more than one, of login, partner_sid, and partner_login_sid returns a 422 error.
Refer to this table to view all fields that appear in the Password Reset object.
Errors
| Situation | Code | Field → Message |
|---|---|---|
| Zero or multiple targets set | 422 | partner_sid → "exactly one of 'partner_sid', 'partner_login_sid' and 'login' must be set" |
Unknown login | 422 | login → "cannot find partner or partner_login by login" |
Unknown partner_sid | 422 | partner_sid → "cannot find partner by sid" |
Unknown partner_login_sid | 422 | partner_login_sid → "cannot find partner_login by sid" |
Target partner is not active, suspended, or soft_suspended | 422 | "partner has inappropriate status" |
| Target has no email address on file | 422 | the targeting field (login, partner_sid, or partner_login_sid) → "partner_login has no email address" (or the partner equivalent) |
A partner login must have an email address on file to be a valid password reset target. To avoid leaking which logins exist, the CarrierX portal masks every possible error from this request behind a single, uniform message such as "If an account with this login exists, we've sent an email."