{
  "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
}