curl --request GET \
--url https://api.gigstack.io/v2/users/{id}/password-reset-operations/{operationId} \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.gigstack.io/v2/users/{id}/password-reset-operations/{operationId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.gigstack.io/v2/users/{id}/password-reset-operations/{operationId}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"success": true,
"data": {
"operation_id": "<string>",
"team_id": "<string>",
"user_id": "<string>",
"livemode": true,
"password_change": "not_verified",
"status": "prepared",
"attempt_in_progress": true,
"claim_expires_at": 1,
"email_delivery": "not_attempted",
"started_at": 1,
"updated_at": 1
}
}{
"success": false,
"error": {
"code": "<string>",
"message": "<string>"
}
}Read saved reset email status
Save a UUIDv4 before preparing. Current original credential, admin authority, target membership and exact team/mode are independently checked. Preparation sends no email. Execute consumes the confirmed intent before providers; no automatic retry. On an uncertain response read the same UUID. Recovery uses a different UUID and requires a current person in the private browser, never an agent challenge. The earlier code may remain valid and another email may arrive. Provider acceptance is neither delivery nor password change. Reset affects the global login even in test mode.
curl --request GET \
--url https://api.gigstack.io/v2/users/{id}/password-reset-operations/{operationId} \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.gigstack.io/v2/users/{id}/password-reset-operations/{operationId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.gigstack.io/v2/users/{id}/password-reset-operations/{operationId}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"success": true,
"data": {
"operation_id": "<string>",
"team_id": "<string>",
"user_id": "<string>",
"livemode": true,
"password_change": "not_verified",
"status": "prepared",
"attempt_in_progress": true,
"claim_expires_at": 1,
"email_delivery": "not_attempted",
"started_at": 1,
"updated_at": 1
}
}{
"success": false,
"error": {
"code": "<string>",
"message": "<string>"
}
}Authorizations
Authentication Method: HTTP Bearer token.
The runtime requires the literal Bearer prefix — a bare token in the
Authorization header is rejected with 401 unauthorized.
Header Format: Authorization: Bearer YOUR_API_KEY
Your API key is a JWT. Live keys operate on live data (livemode: true);
test keys operate on isolated test data (livemode: false).
Get your key at: app.gigstack.pro/settings?tab=api
Errors: credential failures are answered by the authentication layer with a raw
{ "message": … } body, not the standardized envelope — 401 for a missing, malformed or
expired token, 403 for a revoked key or a plan without API access. See the Unauthorized
and AuthForbidden responses.
Path Parameters
^[A-Za-z0-9_-]{1,128}$^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$Query Parameters
^[A-Za-z0-9_-]{1,128}$