My Account

Endpoints related to user authentication and account management.

Console Login

post

Authenticates a user (subscriber or Admministrator) and returns an authentication result with tokens. Accepts either EmailAddress or SubscriberToken and a Password. Handles Cognito authentication and returns user profile and tokens on success.

Header parameters
originstringRequired

The full URL of the calling console. This must match the expected value for your environment (e.g., https://demo.roamingiq.com). This header is required for all API calls and must be set exactly as expected by the backend.

Default: https://demo.roamingiq.comExample: https://demo.roamingiq.com
Body
EmailAddressstringOptional

Email address of the user (required for NSP admin login).

SubscriberTokenstringOptional

Subscriber token (required for subscriber login).

PasswordstringRequired

User password.

Responses
200
Login successful. Returns user profile and authentication tokens.
application/json
post
POST /preview/subscriberconsole/login HTTP/1.1
Host: api.wifikey.io
origin: https://demo.roamingiq.com
Content-Type: application/json
Accept: */*
Content-Length: 66

{
  "EmailAddress": "text",
  "SubscriberToken": "text",
  "Password": "text"
}
{
  "message": "text",
  "AuthenticationResult": {
    "AuthenticationResult": {
      "AccessToken": "text",
      "ExpiresIn": 1,
      "IdToken": "text",
      "RefreshToken": "text",
      "TokenType": "text"
    }
  },
  "Enabled": true,
  "CognitoStatus": "text",
  "locale": "text",
  "OperatorID": "text",
  "StripeCustomerID": "text",
  "SubscriberManagedviaSSO": true,
  "dateAddedUTC": "text",
  "AdministrativeAccess": {},
  "errorProcessing": true
}

Refresh Access Token

post

Refreshes the Cognito access token for a user session using a valid RefreshToken. Returns new authentication tokens if successful.

Header parameters
originstringRequired

The full URL of the calling console. This must match the expected value for your environment (e.g., https://demo.roamingiq.com). This header is required for all API calls and must be set exactly as expected by the backend.

Default: https://demo.roamingiq.comExample: https://demo.roamingiq.com
Body
AccessTokenstringRequired

The current (possibly expired) access token.

RefreshTokenstringRequired

The refresh token issued by Cognito.

Responses
200
Token refresh successful. Returns new authentication tokens.
application/json
post
POST /preview/subscriberconsole/refreshAccessToken HTTP/1.1
Host: api.wifikey.io
origin: https://demo.roamingiq.com
Content-Type: application/json
Accept: */*
Content-Length: 44

{
  "AccessToken": "text",
  "RefreshToken": "text"
}
{
  "message": "text",
  "AuthenticationResult": {
    "AuthenticationResult": {
      "AccessToken": "text",
      "ExpiresIn": 1,
      "IdToken": "text",
      "RefreshToken": "text",
      "TokenType": "text"
    }
  }
}

Accept Terms and Conditions

post

Allows a subscriber to accept the latest Terms and Conditions by setting a new password after first login or password reset. Requires a temporary password and a new password. Updates user attributes and account status in Cognito and the system.

Header parameters
originstringRequired

The full URL of the calling console. This must match the expected value for your environment (e.g., https://demo.roamingiq.com). This header is required for all API calls and must be set exactly as expected by the backend.

Default: https://demo.roamingiq.comExample: https://demo.roamingiq.com
Body
EmailAddressstringOptional

Email address of the user (required for email verification).

TemporaryPasswordstringRequired

The temporary password provided to the user (required).

NewPasswordstringRequired

The new password to set (must be at least 8 characters).

Responses
200
Terms and Conditions accepted, password changed, user verified, or already accepted.
application/json
Responseone of
or
post
POST /preview/subscriberconsole/acceptTandC HTTP/1.1
Host: api.wifikey.io
origin: https://demo.roamingiq.com
Content-Type: application/json
Accept: */*
Content-Length: 71

{
  "EmailAddress": "text",
  "TemporaryPassword": "text",
  "NewPassword": "text"
}
{
  "message": "string",
  "errorProcessing": false
}

Initiate Reset Console Password

post

Initiates the password reset process for a subscriber. If the subscriber has already accepted the Terms and Conditions, a password reset code (OTP) is generated and sent to the user's email. If the subscriber has not accepted the Terms and Conditions, a welcome email with a temporary password is sent. The API always returns a message indicating the result.

Header parameters
originstringRequired

The full URL of the calling console. This must match the expected value for your environment (e.g., https://demo.roamingiq.com). This header is required for all API calls and must be set exactly as expected by the backend.

Default: https://demo.roamingiq.comExample: https://demo.roamingiq.com
Body
EmailAddressstringRequired

Email address of the user requesting password reset.

Responses
200
Password reset code or welcome email sent successfully.
application/json
post
POST /preview/subscriberconsole/initiateResetConsolePassword HTTP/1.1
Host: api.wifikey.io
origin: https://demo.roamingiq.com
Content-Type: application/json
Accept: */*
Content-Length: 23

{
  "EmailAddress": "text"
}
{
  "message": "Code to reset password sent to [email protected]"
}

Confirm Reset Console Password

post

Confirms a password reset for a subscriber by validating the OTP (reset code) and setting a new password. The new password must be between 8 and 63 characters and meet character requirements. Returns a message indicating the result.

Header parameters
originstringRequired

The full URL of the calling console. This must match the expected value for your environment (e.g., https://demo.roamingiq.com). This header is required for all API calls and must be set exactly as expected by the backend.

Default: https://demo.roamingiq.comExample: https://demo.roamingiq.com
Body
EmailAddressstringRequired

Email address of the user resetting the password.

OTPstringRequired

The one-time password (reset code) sent to the user's email.

NewPasswordstringRequired

The new password to set (8-63 valid characters).

Responses
200
Password reset successful.
application/json
post
POST /preview/subscriberconsole/confirmResetConsolePassword HTTP/1.1
Host: api.wifikey.io
origin: https://demo.roamingiq.com
Content-Type: application/json
Accept: */*
Content-Length: 57

{
  "EmailAddress": "text",
  "OTP": "text",
  "NewPassword": "text"
}
{
  "message": "Password changed for [email protected]"
}

Console Logout

post

Logs out a subscriber or administrator from the console by invalidating all active sessions for the user in Cognito. Requires a valid AccessToken in the request body. On success, returns a confirmation message. On error (invalid token, user not found, or processing error), returns an error message.

Header parameters
originstringRequired

The full URL of the calling console. This must match the expected value for your environment (e.g., https://demo.roamingiq.com). This header is required for all API calls and must be set exactly as expected by the backend.

Default: https://demo.roamingiq.comExample: https://demo.roamingiq.com
Body
AccessTokenstringRequired

The Cognito access token for the user session to be logged out.

Responses
200
Logout successful. All user sessions invalidated.
application/json
post
POST /preview/subscriberconsole/logout HTTP/1.1
Host: api.wifikey.io
origin: https://demo.roamingiq.com
Content-Type: application/json
Accept: */*
Content-Length: 22

{
  "AccessToken": "text"
}
{
  "message": "User logged out. "
}

Update Subscriber PII

post

Updates Personally Identifiable Information (PII) for a subscriber. Requires a valid AccessToken (with SubscriberToken) and the fields to update. The endpoint validates the subscriber, checks their association with the operator, and updates PII fields if valid. Returns a message indicating success or error, including details of what was updated.

Header parameters
originstringRequired

The full URL of the calling console. This must match the expected value for your environment (e.g., https://demo.roamingiq.com). This header is required for all API calls and must be set exactly as expected by the backend.

Default: https://demo.roamingiq.comExample: https://demo.roamingiq.com
Body
AccessTokenstringRequired

Cognito access token for the subscriber session (must contain SubscriberToken).

EmailAddressstringOptional

Email address of the subscriber.

Example: [email protected]
GivenNamestringOptional

Subscriber's given (first) name.

Example: John
FamilyNamestringOptional

Subscriber's family (last) name.

Example: Doe
PhoneNumber.E164stringOptional

Subscriber's phone number in E.164 format.

Example: +12345678900
localestringOptional

Locale preference for the subscriber.

Example: en_US
contactpref_smsbooleanOptional

Whether the subscriber prefers SMS contact.

Example: true
contactpref_emailbooleanOptional

Whether the subscriber prefers email contact.

Example: false
Responses
200
PII updated successfully. The response includes a message describing what was updated.
application/json
post
POST /preview/subscriberconsole/updatePII HTTP/1.1
Host: api.wifikey.io
origin: https://demo.roamingiq.com
Content-Type: application/json
Accept: */*
Content-Length: 213

{
  "AccessToken": "{{Fake-AccessToken}}",
  "EmailAddress": "[email protected]",
  "GivenName": "John",
  "FamilyName": "Doe",
  "PhoneNumber.E164": "+12345678900",
  "locale": "en_US",
  "contactpref_sms": true,
  "contactpref_email": false
}
{
  "message": "Updating GivenName=John. Updating FamilyName=Doe. Updating [email protected]. Updating PhoneNumber.E164=+12345678900. Updating phone_number_verified = false. PII data updated. ",
  "errorProcessing": false
}

Was this helpful?