{ "opencollection": "1.0.0", "info": { "name": "Guardian Passwordless API", "version": "1.0.0" }, "items": [ { "info": { "name": "Passwordless", "type": "folder" }, "items": [ { "info": { "name": "Initiate the passwordless flow", "type": "http" }, "http": { "method": "POST", "url": "{{baseUrl}}/v1/passwordless/init", "headers": [ { "name": "tenant-id", "value": "" } ], "body": { "type": "json", "data": "{}" } }, "docs": "API to signin, signup or signinup a user using passwordless flows. Currently only otp based passwordless flow is supported.\n\nThe first time this API is called, a unique state is returned in the response. Every subsequent request to init (to resend otp), must include the state parameter in the request, otherwise it is treated as a fresh request.\n" }, { "info": { "name": "Complete the passwordless flow", "type": "http" }, "http": { "method": "POST", "url": "{{baseUrl}}/v1/passwordless/complete", "headers": [ { "name": "tenant-id", "value": "" } ], "body": { "type": "json", "data": "{}" } }, "docs": "API to signin, signup or signinup a user using passwordless flows. Currently only otp based passwordless flow is supported.\n" }, { "info": { "name": "Initiate the passwordless flow", "type": "http" }, "http": { "method": "POST", "url": "{{baseUrl}}/v2/passwordless/init", "headers": [ { "name": "tenant-id", "value": "" } ], "body": { "type": "json", "data": "{}" } }, "docs": "API to signin, signup or signinup a user using passwordless flows. Currently only otp based passwordless flow is supported.\n\nThe first time this API is called, a unique state is returned in the response. Every subsequent request to init (to resend otp), must include the state parameter in the request, otherwise it is treated as a fresh request.\n" }, { "info": { "name": "Complete the passwordless flow", "type": "http" }, "http": { "method": "POST", "url": "{{baseUrl}}/v2/passwordless/complete", "headers": [ { "name": "tenant-id", "value": "" } ], "body": { "type": "json", "data": "{}" } }, "docs": "API to signin, signup or signinup a user using passwordless flows. Currently only otp based passwordless flow is supported.\n" }, { "info": { "name": "Send OTP for contact verification", "type": "http" }, "http": { "method": "POST", "url": "{{baseUrl}}/v1/otp/send", "headers": [ { "name": "tenant-id", "value": "" } ], "body": { "type": "json", "data": "{}" } }, "docs": "API to send OTP to a contact (SMS or Email) for verification purposes. This is independent of the authentication flow and can be used for various contact verification scenarios.\n\n**First Request**: Send contact details to initiate OTP sending. A unique state is returned.\n\n**Resend Request**: Use the state from the previous response to resend OTP to the same contact.\n\n**Rate Limiting**: \n- Maximum verification attempts per session (configurable, default: 5)\n- Maximum resend attempts per session (" }, { "info": { "name": "Verify OTP for contact verification", "type": "http" }, "http": { "method": "POST", "url": "{{baseUrl}}/v1/otp/verify", "headers": [ { "name": "tenant-id", "value": "" } ], "body": { "type": "json", "data": "{}" } }, "docs": "API to verify the OTP sent to a contact. Use the state received from the send OTP API along with the OTP received by the user.\n\n**Verification Rules**:\n- OTP must be valid and not expired (configurable validity, default: 15 minutes)\n- Maximum verification attempts per session (configurable, default: 5)\n- State must be valid and not expired\n\n**Success**: Returns 204 No Content on successful verification\n\n**Error Scenarios**:\n- `invalid_request`: Missing state or OTP parameters\n- `invalid_state`: " } ] } ], "bundled": true }