Subscriber

APIs for managing subscriber's and subscriber access.

Add Subscriber Key

post

Adds a new key (subscription) for a subscriber to a venue unit. Accepts subscriber and unit details, service plan, contact preferences, and key information. Returns the created subscriber token, subscription details, and status.

Body
AccessTokenstringRequired

The access token for the network operator admin session.

UnitID_internalstringRequired

The unique internal identifier for the unit.

externalVenueIDstringOptional

Optional. External venue ID.

externalVenueUnitIDstringOptional

Optional. External venue unit ID.

ServicePlanIDstringRequired

The unique identifier for the service plan.

externalServicePlanIDstringOptional

Optional. External service plan ID.

externalSubscriberIDstringOptional

Optional. External subscriber ID.

EmailAddressstringRequired

The subscriber's email address.

GivenNamestringRequired

The subscriber's given name.

FamilyNamestringRequired

The subscriber's family name.

PhoneNumber.E164stringRequired

The subscriber's phone number in E.164 format.

localestringOptional

The subscriber's locale (e.g., en-us).

contactpref_smsbooleanOptional

Whether the subscriber prefers SMS contact.

contactpref_emailbooleanOptional

Whether the subscriber prefers email contact.

primary_keybooleanOptional

Whether this is the primary key for the subscriber.

UserPartForNewKeystringRequired

The user-defined part for the new key (PSK).

KeyTagstringOptional

Optional. Tag for the key.

StartDateTimeUTC.ISO8601string · date-timeRequired

Subscription start date/time (UTC, ISO8601).

EndDateTimeUTC.ISO8601string · date-timeRequired

Subscription end date/time (UTC, ISO8601).

InvoiceDateTimeUTC.ISO8601string · date-timeOptional

Optional. Invoice date/time (UTC, ISO8601).

Responses
200
Key added successfully. Returns subscriber and subscription details.
application/json
post
POST /preview/networkoperatorconsole/subscribers/addKey HTTP/1.1
Host: api.wifikey.io
Content-Type: application/json
Accept: */*
Content-Length: 774

{
  "AccessToken": "{{NetworkOperatorAdmin-AccessToken}}",
  "UnitID_internal": "USA.CO.80112.CustomerFIBERDEFAULTPROPERTYGROUP.ENGLEWOOD._V3VENUE.USA.MA.12345.GJTESTVE.SAMPLETOWN3.GUEST.DEFAULT.DEFAULT",
  "externalVenueID": "3768-ext-2",
  "externalVenueUnitID": "",
  "ServicePlanID": "USA.CO.80112.Customer.ENGLEWOOD._V3SERVICEPLAN_.10GBPS",
  "externalServicePlanID": "",
  "externalSubscriberID": "",
  "EmailAddress": "[email protected]",
  "GivenName": "Test",
  "FamilyName": "User",
  "PhoneNumber.E164": "+12345678905",
  "locale": "en-us",
  "contactpref_sms": true,
  "contactpref_email": true,
  "primary_key": true,
  "UserPartForNewKey": "abcdefgh",
  "KeyTag": "MYKEY1",
  "StartDateTimeUTC.ISO8601": "2021-11-16T15:35:26.965Z",
  "EndDateTimeUTC.ISO8601": "2021-11-23T15:35:26.965Z",
  "InvoiceDateTimeUTC.ISO8601": "2022-10-08T12:00Z"
}
200

Key added successfully. Returns subscriber and subscription details.

{
  "Status": "AUP not accepted",
  "EmailAddress": "[email protected]",
  "SubscriberToken": "TestToken",
  "PhoneNumber.E164": "+12345678906",
  "locale": "en-us",
  "GivenName": "Test",
  "FamilyName": "User",
  "contactpref_sms": false,
  "contactpref_email": false,
  "dateAddedUTC": "2021-11-16T20:35:26.965Z",
  "Subscription": {
    "psk": "abcdefgh.PoroRixe",
    "KeyTag": "MYKEY1",
    "UnitID_internal": "USA.CO.80112.CustomerFIBERDEFAULTPROPERTYGROUP.ENGLEWOOD._V3VENUE.USA.MA.12345.GJTESTVE.SAMPLETOWN3.GUEST.DEFAULT.DEFAULT",
    "purpose": "guest",
    "vlan": 1100,
    "UnitID": "GUEST",
    "UnitBuilding": "DEFAULT",
    "UnitFloor": "DEFAULT",
    "AddressLine1": "2 Annette Rd",
    "AddressLine2": "GUEST",
    "City": "SAMPLETOWN4",
    "State": "MA",
    "Country.ISO3166A3": "USA",
    "NASIdentifier": "USA.MA.12345.GJTESTVE.SAMPLETOWN3",
    "StartDateTimeUTC.ISO8601": "2021-11-16T15:35:26.965Z",
    "EndDateTimeUTC.ISO8601": "2021-11-23T15:35:26.965Z",
    "WelcomeEmail_sendNow": true,
    "WelcomeEmail_sendTime": "2021-11-16T15:35:26.965Z",
    "ServicePlanID": "USA.CO.80112.Customer.ENGLEWOOD._V3SERVICEPLAN_.10GBPS"
  }
}

Reset Subscriber Key

post

Resets or updates the PSK (pre-shared key) for a subscriber. You may set a custom PSK or use a legacy PSK format.

Note:

  • If you are attempting to set a CustomPSK, you should only send the NewKey value.

  • If you are using a LegacyPSK, you should send the UserPartForNewKey and the SubscriberToken will be appended for the full PSK.

Body
AccessTokenstringRequired

The access token for the network operator admin session.

CurrentKeyIDstringRequired

The unique identifier for the current key to be reset.

UserPartForNewKeystringOptional

The user-defined part for the new key (for legacy PSK; optional if using CustomPSK).

NewKeystringOptional

The new custom PSK value (for CustomPSK; optional if using legacy PSK).

Responses
200
Key reset successfully. Returns a message indicating the result.
application/json
post
POST /preview/networkoperatorconsole/subscribers/resetKey HTTP/1.1
Host: api.wifikey.io
Content-Type: application/json
Accept: */*
Content-Length: 197

{
  "AccessToken": "{{NetworkOperatorAdmin-AccessToken}}",
  "CurrentKeyID": "FAKEKEYID-1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcd",
  "UserPartForNewKey": "abcdefgh2",
  "NewKey": "customPSK"
}
200

Key reset successfully. Returns a message indicating the result.

{
  "message": "Updated PSK. "
}

Close Subscriber Account

post

Closes a subscriber account and removes all subscriptions for the given email address. Requires a valid network operator admin access token. To end a specific subscription use /networkoperatorconsole/subscribers/resetSubscriptionEndDate

Body
AccessTokenstringRequired

The access token for the network operator admin session.

EmailAddressstringRequired

The email address of the subscriber to close.

Responses
200
Subscriber account closed successfully. Returns a message indicating the result.
application/json
post
POST /preview/networkoperatorconsole/subscribers/closeSubscriberAccount HTTP/1.1
Host: api.wifikey.io
Content-Type: application/json
Accept: */*
Content-Length: 92

{
  "AccessToken": "{{NetworkOperatorAdmin-AccessToken}}",
  "EmailAddress": "[email protected]"
}
200

Subscriber account closed successfully. Returns a message indicating the result.

{
  "message": "Closed subscriber account. "
}

List Subscriber Keys

post

Lists all keys (subscriptions) and related details for a subscriber, including administrative access, keys in keypools, devices, and logs. Requires a valid network operator admin access token and the subscriber's email address.

Body
AccessTokenstringRequired

The access token for the network operator admin session.

EmailAddressstringRequired

The email address of the subscriber to query.

Responses
200
Subscriber keys and details returned successfully.
application/json
post
POST /preview/networkoperatorconsole/subscribers/listSubscriberKeys HTTP/1.1
Host: api.wifikey.io
Content-Type: application/json
Accept: */*
Content-Length: 89

{
  "AccessToken": "{{NetworkOperatorAdmin-AccessToken}}",
  "EmailAddress": "[email protected]"
}
200

Subscriber keys and details returned successfully.

{
  "Status": "In Service",
  "EmailAddress": "[email protected]",
  "SubscriberToken": "TestToken",
  "PhoneNumber.E164": "+12345678907",
  "locale": "en-us",
  "GivenName": "Test",
  "FamilyName": "User",
  "externalReferenceID": "",
  "contactpref_sms": false,
  "contactpref_email": false,
  "dateAddedUTC.ISO8601": "2022-01-18T17:29:20.600Z",
  "AdministrativeAccess": {
    "NetworkSoftwareProviderAdministrator": [],
    "PropertyManagementAdministrator": [],
    "NetworkOperatorAdministrator": [
      "USA.MA.67890.Customer.SAMPLETOWN4"
    ],
    "VenueAdministrator": [
      "USA.MA.67890.CustomerOFFICELOCATIONS.SAMPLETOWN4._V3VENUE.USA.MA.67890.CustomerHQ.SAMPLETOWN4"
    ],
    "LeasingAgent": []
  },
  "KeyCount": 10,
  "KeyCountActive": 0,
  "DeviceCountOnline": 0,
  "DeviceCountOffline": 0,
  "KeysInKeyPools": {
    "USA.MA.67890.Customer.SAMPLETOWN4._V3SSID.VAULT.global": {
      "ssid": "VAULT",
      "88e3dd0ab4f74cdf8f3274dfff480695f783ffeea5bc3f36899217c548034f81": {
        "dateAddedUTC.ISO8601": "2022-01-21T17:34:44.312Z",
        "psk": "nxwyxpcq.BlotCity",
        "primary_key": true,
        "KeyTag": "151-1-1-569",
        "Calling-Station-Id-Whitelist": [],
        "NAS-Identifier-Whitelist": [],
        "log": [
          {
            "timestamp": "2022-01-21T17:34:44.664Z",
            "Administrator": "BlotCity",
            "function_name": "vault_venuemgmtconsole_addSubscriber",
            "event": "Adding new policy at ...",
            "SourceUA": "PostmanRuntime/7.29.0",
            "sourceIP": "203.0.113.42",
            "FirewallSourceIP": "203.0.113.42"
          }
        ],
        "VenueUnitPolicies": {
          "USA.MA.67890.CustomerOFFICELOCATIONS.SAMPLETOWN4._V3VENUE.USA.MA.67890.CustomerHQ.SAMPLETOWN4.151.1.1.admin@example.com.2022-01-21T17:34:44.312Z.2023-01-22T04:59:59.999Z": {
            "vlan": 151,
            "UnitID_internal": "USA.MA.67890.CustomerOFFICELOCATIONS.SAMPLETOWN4._V3VENUE.USA.MA.67890.CustomerHQ.SAMPLETOWN4.151.1.1",
            "UnitID": "151",
            "UnitBuilding": "1",
            "UnitFloor": "1",
            "AddressLine1": "2 Annette Rd",
            "AddressLine2": "",
            "City": "SAMPLETOWN4",
            "State": "MA",
            "PostalCode": "67890",
            "Country.ISO3166A3": "USA",
            "VenueID": "USA.MA.67890.CustomerOFFICELOCATIONS.SAMPLETOWN4._V3VENUE.USA.MA.67890.CustomerHQ.SAMPLETOWN4",
            "VenueName": "Customer HQ",
            "VenueAddressLine1": "2 Annette Rd",
            "VenueAddressLine2": "",
            "VenueCity": "SAMPLETOWN4",
            "VenueState": "MA",
            "VenuePostalCode": "67890",
            "VenueCountry.ISO3166A3": "USA",
            "dateAddedUTC.ISO8601": "2022-01-21T17:34:44.312Z",
            "StartDateTimeUTC.ISO8601": "2022-01-21T17:34:44.312Z",
            "EndDateTimeUTC.ISO8601": "2023-01-22T04:59:59.999Z",
            "ServicePlan": {
              "ServicePlanID": "USA.MA.67890.Customer.SAMPLETOWN4._V3SERVICEPLAN_.1 Gbps",
              "ServicePlanName": "1 Gbps",
              "DownloadKbps": 1000000,
              "UploadKbps": 1000000,
              "ConcurrentDevices": 100,
              "SessionTimeoutSecondsPerDevice": 86400,
              "LifetimeSeconds": 0
            }
          }
        },
        "Devices": {}
      }
    }
  },
  "AllDevices": {},
  "WPA2-Enterprise-SessionCount": 0,
  "WPA2-Enterprise-Sessions": {},
  "log": [
    {
      "timestamp": "2022-01-18T17:29:20.781Z",
      "Administrator": "NeifBawn",
      "function_name": "vault_networkoperatorconsole_enableStaffAccess",
      "event": "Adding [email protected] in DomainAdministrators group. ",
      "SourceUA": "PostmanRuntime/7.28.4",
      "sourceIP": "203.0.113.42",
      "FirewallSourceIP": "203.0.113.42"
    }
  ],
  "errorProcessing": false
}

List Subscriber Key Sessions

post

Lists session usage data for a specific key associated with a subscriber, including hourly or periodic usage statistics (octet counts, RSSI, device MAC addresses) for each reporting interval. Requires a valid network operator admin access token, the subscriber's email, and the key ID.

Body
AccessTokenstringRequired

The access token for the network operator admin session.

EmailAddressstringRequired

The email address of the subscriber to query.

KeyIDstringRequired

The unique identifier for the subscriber key.

Responses
200
Subscriber key session usage data returned successfully.
application/json
post
POST /preview/networkoperatorconsole/subscribers/listSubscriberKeySessions HTTP/1.1
Host: api.wifikey.io
Content-Type: application/json
Accept: */*
Content-Length: 175

{
  "AccessToken": "{{NetworkOperatorAdmin-AccessToken}}",
  "EmailAddress": "[email protected]",
  "KeyID": "FAKEKEYID-1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcd"
}
200

Subscriber key session usage data returned successfully.

{
  "UsageData": [
    {
      "ReportingTimestamp": "2025-06-11T18:00:00.000Z",
      "Acct-Input-Octets": 0,
      "Acct-Output-Octets": 0,
      "Acct-Total-Octets": 0,
      "rssi": 0,
      "Calling-Station-Id": []
    },
    {
      "ReportingTimestamp": "2025-06-11T19:00:00.000Z",
      "Acct-Input-Octets": 0,
      "Acct-Output-Octets": 0,
      "Acct-Total-Octets": 0,
      "rssi": 0,
      "Calling-Station-Id": []
    }
  ],
  "errorProcessing": false
}

List Subscriber Payments

post

Lists all payment records for a subscriber, including invoice, payment, plan, venue, and financial details. Requires a valid network operator admin access token and the subscriber's email address.

Body
AccessTokenstringRequired

The access token for the network operator admin session.

EmailAddressstringRequired

The email address of the subscriber to query.

Responses
200
Subscriber payment records returned successfully.
application/json
post
POST /preview/networkoperatorconsole/subscribers/listPayments HTTP/1.1
Host: api.wifikey.io
Content-Type: application/json
Accept: */*
Content-Length: 88

{
  "AccessToken": "{{NetworkOperatorAdmin-AccessToken}}",
  "EmailAddress": "[email protected]"
}
200

Subscriber payment records returned successfully.

{
  "PaymentCount": 23,
  "NonZeroPaymentCount": 0,
  "Payments": [
    {
      "dateAddedUTC.ISO8601": "2024-06-25T15:04:32.227Z",
      "InvoiceDateTimeUTC.ISO8601": "2024-06-25T15:03:02.071Z",
      "PaymentSuccessDateTimeUTC.ISO8601": "2024-06-25T15:04:32.227Z",
      "GivenName": "*",
      "FamilyName": "AnyPlace Inc",
      "SubscriberToken": "BijlesCheveu",
      "externalSubscriberID": "2502900-14087",
      "externalSubscriptionID": "",
      "StripeCustomerID": "cus_SAMPLE1234567890",
      "StripePaymentIntentId": "",
      "StripeClientSecret": "",
      "EmailAddress": "[email protected]",
      "PhoneNumber.E164": "+12345678908",
      "ServicePlanID": "USA.VA.22102.Customer.City._V3SERVICEPLAN_.1GIGX1GIG",
      "ServicePlanName": "1GIG x 1GIG",
      "ServicePlanDescription": "1 Gbps billed monthly. Blazing fast internet speed. Perfect for 10+ devices.",
      "externalServicePlanID": "1x1 Gbps (Monthly)",
      "VenuePriceAdjustment": -10000,
      "VenueUnitPriceAdjustment": -2500,
      "BillingCycleHours": 730.5,
      "UploadKbps": 1000000,
      "DownloadKbps": 1000000,
      "Currency": "USD",
      "CurrencySymbol": "$",
      "ConcurrentDevices": 100,
      "BillingCyclePrice.USD": 0,
      "ListBillingCyclePrice.USD": 12500,
      "NetBillingCyclePrice.USD": 0,
      "UnitID_internal": "USA.VA.22102.CustomerMANAGEDPROPERTIES.City._V3VENUE.USA.NY.10005.Site.NEWYORK.18H-TEMP-937.1.18",
      "externalVenueUnitID": "",
      "externalVenueID": "",
      "VenueID": "USA.VA.22102.CustomerMANAGEDPROPERTIES.City._V3VENUE.USA.NY.10005.Site.NEWYORK",
      "VenueName": "10 Hanover Square",
      "AddressLine1": "10 Hanover Square",
      "AddressLine2": "#18H",
      "City": "New York",
      "State": "NY",
      "Country.ISO3166A3": "USA",
      "PostalCode": "10005",
      "AmountProcessed.USD": 0,
      "AmountReceived.USD": 0,
      "AmountRefunded.USD": 0,
      "StripeReceiptURL": "",
      "StripeRefundReceiptURL": "",
      "StripePaymentChargeId": "",
      "CancellationSource": "",
      "CancellationReasons": [],
      "BillingCyclePriceAdjustment": 0,
      "BillingCycleAdjustmentReasons": []
    },
    {
      "dateAddedUTC.ISO8601": "2024-07-02T18:21:45.822Z",
      "InvoiceDateTimeUTC.ISO8601": "2024-07-02T18:19:20.901Z",
      "PaymentSuccessDateTimeUTC.ISO8601": "2024-07-02T18:21:45.822Z",
      "GivenName": "*",
      "FamilyName": "AnyPlace Inc",
      "SubscriberToken": "BijlesCheveu",
      "externalSubscriberID": "2502900-14087",
      "externalSubscriptionID": "",
      "StripeCustomerID": "cus_SAMPLE1234567890",
      "StripePaymentIntentId": "",
      "StripeClientSecret": "",
      "EmailAddress": "[email protected]",
      "PhoneNumber.E164": "+12345678908",
      "ServicePlanID": "USA.VA.22102.Customer.City._V3SERVICEPLAN_.1GIGX1GIG",
      "ServicePlanName": "1GIG x 1GIG",
      "ServicePlanDescription": "1 Gbps billed monthly. Blazing fast internet speed. Perfect for 10+ devices.",
      "externalServicePlanID": "1x1 Gbps (Monthly)",
      "VenuePriceAdjustment": -10000,
      "VenueUnitPriceAdjustment": -2500,
      "BillingCycleHours": 730.5,
      "UploadKbps": 1000000,
      "DownloadKbps": 1000000,
      "Currency": "USD",
      "CurrencySymbol": "$",
      "ConcurrentDevices": 100,
      "BillingCyclePrice.USD": 0,
      "ListBillingCyclePrice.USD": 12500,
      "NetBillingCyclePrice.USD": 0,
      "UnitID_internal": "USA.VA.22102.CustomerMANAGEDPROPERTIES.City._V3VENUE.USA.NY.10005.95WALL.NEWYORK.2201.1.2",
      "externalVenueUnitID": "",
      "externalVenueID": "",
      "VenueID": "USA.VA.22102.CustomerMANAGEDPROPERTIES.City._V3VENUE.USA.NY.10005.95WALL.NEWYORK",
      "VenueName": "95 Wall",
      "AddressLine1": "95 Wall St",
      "AddressLine2": "Apt 2201",
      "City": "New York",
      "State": "NY",
      "Country.ISO3166A3": "USA",
      "PostalCode": "10005",
      "AmountProcessed.USD": 0,
      "AmountReceived.USD": 0,
      "AmountRefunded.USD": 0,
      "StripeReceiptURL": "",
      "StripeRefundReceiptURL": "",
      "StripePaymentChargeId": "",
      "CancellationSource": "",
      "CancellationReasons": [],
      "BillingCyclePriceAdjustment": 0,
      "BillingCycleAdjustmentReasons": []
    }
  ],
  "BillingCycleHours": 16801.5,
  "DownloadKbps": 23000000,
  "UploadKbps": 23000000,
  "PricePerDownloadGbps.USD": 1,
  "VenuePriceAdjustment": -230000,
  "VenueUnitPriceAdjustment": -57500,
  "MinInvoiceDateTimeUTC.ISO8601": "2023-06-18T19:20:36.485Z",
  "ListBillingCyclePrice.USD": 287500,
  "NetBillingCyclePrice.USD": 0,
  "errorProcessing": false
}

Refund Subscriber Payment

post

Initiates a refund for a subscriber payment. Requires a valid network operator admin access token, subscriber email, refund amount, currency, reason, Stripe client secret, and venue ID.

Body
AccessTokenstringRequired

The access token for the network operator admin session.

EmailAddressstringRequired

The email address of the subscriber to refund.

CurrencystringRequired

The currency for the refund (e.g., USD).

ReasonstringRequired

The reason for the refund.

RefundAmountintegerRequired

The amount to refund (in minor units, e.g., cents).

StripeClientSecretstringRequired

The Stripe client secret for the payment intent.

VenueIDstringRequired

The venue ID associated with the payment.

Responses
200
Refund initiated successfully. Returns a message and errorProcessing status.
application/json
post
POST /preview/networkoperatorconsole/subscribers/refundPayment HTTP/1.1
Host: api.wifikey.io
Content-Type: application/json
Accept: */*
Content-Length: 324

{
  "AccessToken": "{{NetworkOperatorAdmin-AccessToken}}",
  "EmailAddress": "[email protected]",
  "Currency": "USD",
  "Reason": "TestSSID",
  "RefundAmount": 500,
  "StripeClientSecret": "pi_SAMPLE1234567890123_secret_SampleSecretKey123456789",
  "VenueID": "USA.SAMPLE.12345.SAMPLEPROPERTY.SAMPLECITY._V3VENUE.USA.MA.24680.SAMPLERETAIL.SAMPLECITY2"
}
200

Refund initiated successfully. Returns a message and errorProcessing status.

{
  "message": "Initiated refund re_3Quy79CPkuNba5021bYdO59O for APIRequestBody.Currency 500",
  "errorProcessing": false
}

List Subscriber Log

post

Retrieves the activity log for a subscriber, including actions performed, timestamps, administrator details, and event messages. Requires a valid network operator admin access token and the subscriber's email address.

Body
AccessTokenstringRequired

The access token for the network operator admin session.

EmailAddressstringRequired

The email address of the subscriber whose log is being requested.

Responses
200
Subscriber log returned successfully.
application/json
post
POST /preview/networkoperatorconsole/subscribers/listSubscriberLog HTTP/1.1
Host: api.wifikey.io
Content-Type: application/json
Accept: */*
Content-Length: 89

{
  "AccessToken": "{{NetworkOperatorAdmin-AccessToken}}",
  "EmailAddress": "[email protected]"
}
200

Subscriber log returned successfully.

{
  "log": [
    {
      "timestamp": "2025-05-22T15:42:42.926Z",
      "function_name": "vault_subscriberconsole_acceptTandC",
      "event": {
        "message": "Subscriber accepted TandC. "
      },
      "Administrator": "Admin User ([email protected])",
      "SourceIP": "203.0.113.42",
      "SourceLocale": "en-us",
      "AdministratorOS": "",
      "AdministratorBrowser": "PostmanRuntime/7.44.0"
    },
    {
      "timestamp": "2025-05-22T15:42:29.048Z",
      "function_name": "vault_subscriberconsole_acceptTandC",
      "event": {
        "message": "Current OTP expired, sending new OTP. "
      },
      "Administrator": "Admin User ([email protected])",
      "SourceIP": "203.0.113.42",
      "SourceLocale": "en-us",
      "AdministratorOS": "",
      "AdministratorBrowser": "PostmanRuntime/7.44.0"
    },
    {
      "timestamp": "2025-01-22T16:04:52.881Z",
      "function_name": "vault_shoppingcart_stripepayment_addSubscriber",
      "event": {
        "message": "Added subscription at ... for KirEat.********* (1102-TEMP-3996-1-1-582) starting 2025-01-22T16:04:52.326Z"
      },
      "SourceIP": "203.0.113.42",
      "SourceLocale": "en-us",
      "AdministratorOS": "Mac OS 10.15.7",
      "AdministratorBrowser": "Safari 18.2",
      "UnitID_internal": "USA.SAMPLE.12345.SAMPLEPROPERTY.SAMPLECITY._V3VENUE.USA.MA.54321.TESTUNIT.SAMPLETOWN2.1102-TEMP-3996.1.1",
      "VenueID": "USA.SAMPLE.12345.SAMPLEPROPERTY.SAMPLECITY._V3VENUE.USA.MA.54321.TESTUNIT.SAMPLETOWN2"
    },
    {
      "timestamp": "2025-01-22T16:03:24.449Z",
      "function_name": "vault_shoppingcart",
      "event": {
        "message": "Updating StripeCustomerID=cus_SAMPLE1234567890. "
      },
      "Administrator": "Admin User ([email protected])",
      "SourceIP": "203.0.113.42",
      "SourceLocale": "en-us",
      "AdministratorOS": "Mac OS 10.15.7",
      "AdministratorBrowser": "Safari 18.2"
    },
    {
      "timestamp": "2025-01-22T16:03:21.595Z",
      "function_name": "vault_shoppingcart",
      "event": {
        "message": "Subscriber added. "
      },
      "SourceIP": "203.0.113.42",
      "SourceLocale": "en-us",
      "AdministratorOS": "Mac OS 10.15.7",
      "AdministratorBrowser": "Safari 18.2"
    }
  ],
  "errorProcessing": false
}

Reset Subscription Start Date

post

Updates the start date for a subscriber's existing subscription at a venue unit. Requires a valid network operator admin access token, subscriber token, unit and venue identifiers, and the new start date in ISO8601 format.

Body
AccessTokenstringRequired

The access token for the network operator admin session.

EmailAddressstringRequired

The email address of the subscriber.

SubscriberTokenstringRequired

The unique token for the subscriber.

UnitID_internalstringRequired

The unique internal identifier for the unit.

VenueIDstringRequired

The unique identifier for the venue.

StartDateTimeUTC.ISO8601string · date-timeRequired

The current start date/time of the subscription (UTC, ISO8601).

NewStartDateTimeUTC.ISO8601string · date-timeRequired

The new start date/time for the subscription (UTC, ISO8601).

UserTimeZoneintegerOptional

The user's timezone offset in minutes (e.g., 360 for UTC+6).

Responses
200
Subscription start date updated successfully.
application/json
post
POST /preview/networkoperatorconsole/subscribers/resetSubscriptionStartDate HTTP/1.1
Host: api.wifikey.io
Content-Type: application/json
Accept: */*
Content-Length: 452

{
  "AccessToken": "{{NetworkOperatorAdmin-AccessToken}}",
  "EmailAddress": "[email protected]",
  "SubscriberToken": "Token",
  "UnitID_internal": "USA.SAMPLE.12345.SAMPLEPROPERTY.SAMPLECITY._V3VENUE.USA.MA.12345.SAMPLEHOTEL.SAMPLETOWN3.108.2.1",
  "VenueID": "USA.SAMPLE.12345.SAMPLEPROPERTY.SAMPLECITY._V3VENUE.USA.MA.12345.SAMPLEHOTEL.SAMPLETOWN3",
  "StartDateTimeUTC.ISO8601": "2025-06-26T06:00Z",
  "NewStartDateTimeUTC.ISO8601": "2025-06-30T06:00Z",
  "UserTimeZone": 360
}
200

Subscription start date updated successfully.

{
  "UnitID_internal": "USA.SAMPLE.12345.SAMPLEPROPERTY.SAMPLECITY._V3VENUE.USA.MA.12345.SAMPLEHOTEL.SAMPLETOWN3.108.2.1",
  "SubscriberToken": "Token",
  "NewStartDateTimeUTC.ISO8601": "2025-06-30T04:00:00.000Z",
  "errorProcessing": false
}

Reset Subscription End Date

post

Updates the end date for a subscriber's existing subscription at a venue unit. Requires a valid network operator admin access token, subscriber token, unit and venue identifiers, and the new end date in ISO8601 format.

Body
AccessTokenstringRequired

The access token for the network operator admin session.

EmailAddressstringRequired

The email address of the subscriber.

SubscriberTokenstringRequired

The unique token for the subscriber.

UnitID_internalstringRequired

The unique internal identifier for the unit.

VenueIDstringRequired

The unique identifier for the venue.

StartDateTimeUTC.ISO8601string · date-timeRequired

The current start date/time of the subscription (UTC, ISO8601).

NewEndDateTimeUTC.ISO8601string · date-timeRequired

The new end date/time for the subscription (UTC, ISO8601).

UserTimeZoneintegerOptional

The user's timezone offset in minutes (e.g., 360 for UTC+6).

Responses
200
Subscription end date updated successfully.
application/json
post
POST /preview/networkoperatorconsole/subscribers/resetSubscriptionEndDate HTTP/1.1
Host: api.wifikey.io
Content-Type: application/json
Accept: */*
Content-Length: 457

{
  "AccessToken": "{{NetworkOperatorAdmin-AccessToken}}",
  "EmailAddress": "[email protected]",
  "SubscriberToken": "Token",
  "UnitID_internal": "USA.SAMPLE.12345.SAMPLEPROPERTY.SAMPLECITY._V3VENUE.USA.MA.12345.SAMPLEHOTEL.SAMPLETOWN3.108.2.1",
  "VenueID": "USA.SAMPLE.12345.SAMPLEPROPERTY.SAMPLECITY._V3VENUE.USA.MA.12345.SAMPLEHOTEL.SAMPLETOWN3",
  "StartDateTimeUTC.ISO8601": "2025-06-30T06:00:00.000Z",
  "NewEndDateTimeUTC.ISO8601": "2026-06-30T06:00Z",
  "UserTimeZone": 360
}
200

Subscription end date updated successfully.

{
  "message": "Subscription end date updated to  2026-07-01T03:59:59.999Z",
  "EndDateTimeUTC.ISO8601": "2026-07-01T03:59:59.999Z",
  "errorProcessing": false
}

Modify Subscriber Service Plan

post

Changes the service plan for a subscriber's existing subscription at a venue unit. Requires a valid network operator admin access token, subscriber token, unit and venue identifiers, and the new service plan ID.

Body
AccessTokenstringRequired

The access token for the network operator admin session.

EmailAddressstringRequired

The email address of the subscriber.

SubscriberTokenstringRequired

The unique token for the subscriber.

UnitID_internalstringRequired

The unique internal identifier for the unit.

VenueIDstringRequired

The unique identifier for the venue.

CurrentStartDateTimeUTC.ISO8601string · date-timeRequired

The current start date/time of the subscription (UTC, ISO8601).

NewServicePlanIDstringRequired

The unique identifier for the new service plan.

UserTimeZoneintegerOptional

The user's timezone offset in minutes (e.g., 360 for UTC+6).

Responses
200
Service plan updated successfully and payment failed status.
application/json
post
POST /preview/networkoperatorconsole/subscribers/modifyServicePlan HTTP/1.1
Host: api.wifikey.io
Content-Type: application/json
Accept: */*
Content-Length: 505

{
  "AccessToken": "{{NetworkOperatorAdmin-AccessToken}}",
  "EmailAddress": "[email protected]",
  "SubscriberToken": "Token",
  "UnitID_internal": "USA.SAMPLE.12345.SAMPLEPROPERTY.SAMPLECITY._V3VENUE.USA.MA.12345.SAMPLEHOTEL.SAMPLETOWN3.108.2.1",
  "VenueID": "USA.SAMPLE.12345.SAMPLEPROPERTY.SAMPLECITY._V3VENUE.USA.MA.12345.SAMPLEHOTEL.SAMPLETOWN3",
  "CurrentStartDateTimeUTC.ISO8601": "2025-06-30T06:00:00.000Z",
  "NewServicePlanID": "USA.MA.12345.ROAMINIQDEMO.SAMPLETOWN3._V3SERVICEPLAN_.500MBPSRETAIL",
  "UserTimeZone": 360
}
200

Service plan updated successfully and payment failed status.

{
  "paymentFailed": true,
  "errorProcessing": false
}

Modify Subscription Price

post

Updates the price adjustment for a subscriber's existing subscription at a venue unit. Requires a valid network operator admin access token, venue ID, and the new price adjustment value. Optionally accepts a new end date, Stripe client secret, and setup intent ID.

Body
AccessTokenstringRequired

The access token for the network operator admin session.

VenueIDstringRequired

The unique identifier for the venue.

NewVenueUnitPriceAdjustmentintegerRequired

The new price adjustment for the venue unit (in minor units, e.g., cents).

NewEndDateTimeUTC.ISO8601string · date-timeOptional

(Optional) The new end date/time for the subscription (UTC, ISO8601).

StripeClientSecretstringOptional

(Optional) The Stripe client secret for the payment intent.

SetupIntentIdstringOptional

(Optional) The Stripe setup intent ID.

Responses
200
Subscription price adjustment updated successfully.
application/json
post
POST /preview/networkoperatorconsole/subscribers/modifySubscriptionPrice HTTP/1.1
Host: api.wifikey.io
Content-Type: application/json
Accept: */*
Content-Length: 333

{
  "AccessToken": "{{NetworkOperatorAdmin-AccessToken}}",
  "VenueID": "USA.SAMPLE.12345.SAMPLEPROPERTY.SAMPLECITY._V3VENUE.USA.MA.12345.SAMPLEHOTEL.SAMPLETOWN3",
  "NewVenueUnitPriceAdjustment": -500,
  "NewEndDateTimeUTC.ISO8601": "2026-06-30T06:00Z",
  "StripeClientSecret": "seti_SAMPLE123456789_secret_SampleSecretKey987654321",
  "SetupIntentId": ""
}
200

Subscription price adjustment updated successfully.

{
  "message": "Updated unit-level price adjustment to -5. ",
  "errorProcessing": false
}

Apply One-Time Credit

post

Applies a one-time price adjustment (credit or charge) to the next billing cycle for a subscriber's active subscription. Requires a valid network operator admin access token, the adjustment amount (in minor units, e.g., cents), a reason, and the Stripe client secret.

Body
AccessTokenstringRequired

The access token for the network operator admin session.

NewBillingCyclePriceAdjustmentintegerRequired

The one-time price adjustment to apply (in minor units, e.g., cents; negative for credit).

ReasonstringRequired

The reason for the adjustment.

StripeClientSecretstringRequired

The Stripe client secret for the payment intent.

Responses
200
One-time credit applied successfully. Returns a message and errorProcessing status.
application/json
post
POST /preview/networkoperatorconsole/subscribers/applyOneTimeCredit HTTP/1.1
Host: api.wifikey.io
Content-Type: application/json
Accept: */*
Content-Length: 183

{
  "AccessToken": "{{NetworkOperatorAdmin-AccessToken}}",
  "NewBillingCyclePriceAdjustment": 200,
  "Reason": "test",
  "StripeClientSecret": "seti_SAMPLE123456789_secret_SampleSecretKey654321987"
}
200

One-time credit applied successfully. Returns a message and errorProcessing status.

{
  "message": "Applying one-time adjustment of -$2.00 to next bill due on Jul 7, 2025",
  "errorProcessing": false
}

Modify Venue Unit for Subscriber Key

post

Migrates a subscriber's key (subscription) to a new venue unit. Requires a valid network operator admin access token, the new unit ID, venue ID, and the Stripe client secret.

If the subscription is linked to Stripe, StripeClientSecret is required.

Body
AccessTokenstringRequired

The access token for the network operator admin session.

NewUnitID_internalstringRequired

The unique internal identifier for the new venue unit.

VenueIDstringRequired

The unique identifier for the venue.

StripeClientSecretstringRequired

(Required if the subscription is linked to Stripe) The Stripe client secret for the payment intent.

Responses
200
Venue unit migrated successfully. Returns a message and errorProcessing status.
application/json
post
POST /preview/networkoperatorconsole/subscribers/modifyVenueUnit HTTP/1.1
Host: api.wifikey.io
Content-Type: application/json
Accept: */*
Content-Length: 371

{
  "AccessToken": "{{NetworkOperatorAdmin-AccessToken}}",
  "NewUnitID_internal": "USA.SAMPLE.12345.SAMPLEPROPERTY.SAMPLECITY._V3VENUE.USA.MA.24680.SAMPLERETAIL.SAMPLECITY2.13104.Building-13.Floor-1",
  "VenueID": "USA.SAMPLE.12345.SAMPLEPROPERTY.SAMPLECITY._V3VENUE.USA.MA.24680.SAMPLERETAIL.SAMPLECITY2",
  "StripeClientSecret": "seti_SAMPLE123456789_secret_SampleSecretKey321987654"
}
200

Venue unit migrated successfully. Returns a message and errorProcessing status.

{
  "message": "Migrating key for Token, ssid: RoamingIQ Demo from USA.SAMPLE.12345.SAMPLEPROPERTY.SAMPLECITY._V3VENUE.USA.MA.24680.SAMPLERETAIL.SAMPLECITY2.13201.Building-13.Floor-2 to USA.SAMPLE.12345.SAMPLEPROPERTY.SAMPLECITY._V3VENUE.USA.MA.24680.SAMPLERETAIL.SAMPLECITY2.13104.Building-13.Floor-1",
  "errorProcessing": false
}

Resend Terms & Conditions Code

post

Resends the Terms & Conditions acceptance e-mail to the subscriber's email address for an active subscription at a venue. Requires a valid network operator admin access token, the subscriber's email, and the venue ID.

Body
AccessTokenstringRequired

The access token for the network operator admin session.

EmailAddressstringRequired

The email address of the subscriber.

VenueIDstringRequired

The unique identifier for the venue.

Responses
200
Code resent successfully. Returns errorProcessing status.
application/json
post
POST /preview/networkoperatorconsole/subscribers/resendCodeforTandC HTTP/1.1
Host: api.wifikey.io
Content-Type: application/json
Accept: */*
Content-Length: 194

{
  "AccessToken": "{{NetworkOperatorAdmin-AccessToken}}",
  "EmailAddress": "[email protected]",
  "VenueID": "USA.SAMPLE.12345.SAMPLEPROPERTY.SAMPLECITY._V3VENUE.USA.MA.24680.SAMPLERETAIL.SAMPLECITY2"
}
200

Code resent successfully. Returns errorProcessing status.

{
  "errorProcessing": false
}

Update Subscriber PII

post

Updates allowed Personally Identifiable Information (PII) fields for a subscriber. Only the following fields may be updated: GivenName, FamilyName, EmailAddress, PhoneNumber.E164, locale, contactpref_sms, contactpref_email. Requires a valid network operator admin access token and the subscriber's token.

Body
AccessTokenstringRequired

The access token for the network operator admin session.

SubscriberTokenstringRequired

The unique token for the subscriber whose PII is being updated.

GivenNamestringOptional

The subscriber's given name.

FamilyNamestringOptional

The subscriber's family name.

EmailAddressstringOptional

The subscriber's email address.

PhoneNumber.E164stringOptional

The subscriber's phone number in E.164 format.

localestringOptional

The subscriber's locale (e.g., en-us).

contactpref_smsbooleanOptional

Whether the subscriber prefers SMS contact.

contactpref_emailbooleanOptional

Whether the subscriber prefers email contact.

VenueIDstringOptional

(Optional) The unique identifier for the venue.

Responses
200
Subscriber PII updated successfully. Returns a message and errorProcessing status.
application/json
post
POST /preview/networkoperatorconsole/subscribers/updateSubscriberPIIs HTTP/1.1
Host: api.wifikey.io
Content-Type: application/json
Accept: */*
Content-Length: 350

{
  "AccessToken": "{{NetworkOperatorAdmin-AccessToken}}",
  "SubscriberToken": "Token",
  "GivenName": "Tester",
  "FamilyName": "Nesper",
  "EmailAddress": "[email protected]",
  "PhoneNumber.E164": "",
  "locale": "en-us",
  "contactpref_sms": false,
  "contactpref_email": true,
  "VenueID": "USA.SAMPLE.12345.SAMPLEPROPERTY.SAMPLECITY._V3VENUE.USA.MA.12345.SAMPLEHOTEL.SAMPLETOWN3"
}
200

Subscriber PII updated successfully. Returns a message and errorProcessing status.

{
  "message": "Updating GivenName=Tester. PII data updated. ",
  "errorProcessing": false
}

Was this helpful?