Shopping Cart

Endpoints related to shopping cart functionality.

List Venues for Shopping Cart

post

Returns a list of venues available for shopping cart operations. The response includes venue details, shopping cart configuration, and daily report statistics. Access is controlled by the user's access token and role. The endpoint supports both authenticated and public access, but the returned data may differ based on permissions.

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
AccessTokenstringOptional

Access token for the user session (optional for public access).

OperatorIDstringRequired

Operator ID to filter venues (required for operator/admin access).

Responses
200
List of venues and related statistics.
application/json
post
POST /preview/networkoperatorconsole/shoppingcart/listVenues HTTP/1.1
Host: api.wifikey.io
origin: https://demo.roamingiq.com
Content-Type: application/json
Accept: */*
Content-Length: 62

{
  "AccessToken": "{{Fake-AccessToken}}",
  "OperatorID": "OP123456"
}
{
  "VenueList": [
    {
      "dateAddedUTC.ISO8601": "2023-09-01T14:11:48.883Z",
      "VenueID": "USA.SAMPLE.12345.SAMPLEPROPERTY.SAMPLECITY._V3VENUE.USA.MA.12345.SAMPLEVENUE.SAMPLETOWN3",
      "VenueName": "SAMPLEVENUE",
      "AddressLine1": "123 Sample Street",
      "AddressLine2": "Suite 100",
      "City": "Sample City",
      "State": "NY",
      "Country": "USA",
      "Country.ISO3166A3": "USA",
      "PostalCode": "12345",
      "SupportPhoneNumber.E164": "+10000000002",
      "SupportEmailAddress": "[email protected]",
      "TZ": "America/New_York",
      "TimeZoneOffset": -4,
      "TimeZone": -4,
      "PropertyManagementGroupID": "USA.SAMPLE.12345.SAMPLEPROPERTY.SAMPLECITY",
      "FCCLabel": {
        "displayLabel": false,
        "TypicalLatency": -1
      },
      "DisplayOptionID": "USA.MA.12345.ROAMINIQDEMO.SAMPLETOWN3._V3DISPLAY_.default"
    },
    {
      "dateAddedUTC.ISO8601": "2024-03-21T19:40:02.694Z",
      "VenueID": "USA.SAMPLE.12345.SAMPLEPROPERTY.SAMPLECITY._V3VENUE.USA.FL.33137.SAMPLECAFE.SAMPLETOWN6",
      "VenueName": "SAMPLECAFE",
      "AddressLine1": "456 Example Boulevard",
      "AddressLine2": "Unit 200",
      "City": "Demo City",
      "State": "CA",
      "Country": "USA",
      "Country.ISO3166A3": "USA",
      "PostalCode": "90210",
      "SupportPhoneNumber.E164": "+10000000003",
      "SupportEmailAddress": "[email protected]",
      "TZ": "America/New_York",
      "TimeZoneOffset": -4,
      "TimeZone": -4,
      "PropertyManagementGroupID": "USA.SAMPLE.12345.SAMPLEPROPERTY.SAMPLECITY",
      "FCCLabel": {
        "displayLabel": false,
        "TypicalLatency": -1
      },
      "DisplayOptionID": "USA.MA.12345.ROAMINIQDEMO.SAMPLETOWN3._V3DISPLAY_.default"
    }
  ],
  "VenueCount": 55,
  "errorProcessing": false
}

List Service Plans for Shopping Cart

post

Lists the available service plans for shopping cart operations within a venue. Returns detailed information about each service plan, including bandwidth, device limits, pricing, FCC label, and more.

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
VenueIDstringRequired

The ID of the venue for which to list service plans.

Responses
200
List of available service plans for the venue.
application/json
post
POST /preview/networkoperatorconsole/shoppingcart/listServicePlans HTTP/1.1
Host: api.wifikey.io
origin: https://demo.roamingiq.com
Content-Type: application/json
Accept: */*
Content-Length: 25

{
  "VenueID": "{{VenueID}}"
}
{
  "AvailableServicePlans": [
    {
      "ServicePlanID": "USA.MA.12345.ROAMINIQDEMO.SAMPLETOWN3._V3SERVICEPLAN_.1GBPS",
      "ServicePlanName": "1 Gbps (Retail)",
      "DownloadKbps": 1000000,
      "UploadKbps": 1000000,
      "ConcurrentDevices": 100,
      "GloballyAvailablePlan": false,
      "ServicePlanDescription": "1Gbps billed monthly",
      "externalServicePlanID": "",
      "FCCLabel": {
        "PlanID": "FABCDE1234567898",
        "TypicalUploadKbps": 1000000,
        "TypicalDownloadKbps": 1000000,
        "PrivacyPolicyURL": "https://www.testprivacypol.com",
        "NetworkMgmtPolicyURL": "https://www.testnetworkmgtpol.com",
        "DataPolicyURL": "https://www.testdatapol.com",
        "BundleDiscountURL": "https://www.testbundledisc.com",
        "SupportURL": "http://www.test.com/customerservice"
      },
      "SMSCode": "",
      "ServicePlanImageURL": "https://example.com/sample-images/serviceplan-sample.png",
      "TrialCycles": 0,
      "BillingCycleHours": 730.5,
      "BillingCycleRecurrence": 0,
      "Currencies": [
        "USD"
      ],
      "BillingCyclePrice.USD": 1600,
      "MaximumTrialCyclesPerSubscriberPerVenue": 0,
      "MaximumFreeEnrollmentsPerSubscriberPerVenue": 0,
      "SessionTimeoutSecondsPerDevice": 3600
    },
    {
      "ServicePlanID": "USA.MA.12345.ROAMINIQDEMO.SAMPLETOWN3._V3SERVICEPLAN_.100MBPS",
      "ServicePlanName": "100MBPS",
      "DownloadKbps": 100000,
      "UploadKbps": 100000,
      "ConcurrentDevices": 10,
      "GloballyAvailablePlan": true,
      "ServicePlanDescription": "24 hr guest access (100 Mbps)",
      "externalServicePlanID": "",
      "FCCLabel": {
        "PlanID": "",
        "TypicalUploadKbps": 100000,
        "TypicalDownloadKbps": 100000,
        "PrivacyPolicyURL": "",
        "NetworkMgmtPolicyURL": "",
        "DataPolicyURL": "",
        "BundleDiscountURL": "",
        "SupportURL": ""
      },
      "SMSCode": "",
      "ServicePlanImageURL": "https://domain/URL/company/speed1.png",
      "TrialCycles": 0,
      "BillingCycleHours": 24,
      "BillingCycleRecurrence": 0,
      "Currencies": [
        "USD"
      ],
      "BillingCyclePrice.USD": 0,
      "MaximumTrialCyclesPerSubscriberPerVenue": 0,
      "MaximumFreeEnrollmentsPerSubscriberPerVenue": 100,
      "SessionTimeoutSecondsPerDevice": 3600
    }
  ],
  "AvailableServicePlanCount": 2,
  "errorProcessing": false
}

List Venue Units

post

Retrieves a list of units. If you do not provide a VenueID, you will receive a list of all units for all venues. If you provide a VenueID, you will only receive a list of units for that venue.

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
VenueIDstringOptional

The ID of the venue for which to list units.

Responses
200
List of available venue units for the venue.
application/json
post
POST /preview/networkoperatorconsole/shoppingcart/listVenueUnits HTTP/1.1
Host: api.wifikey.io
origin: https://demo.roamingiq.com
Content-Type: application/json
Accept: */*
Content-Length: 22

{
  "VenueID": "VENUE123"
}
{
  "VenueUnits": [
    {
      "UnitID_internal": "USA.SAMPLE.12345.SAMPLEPROPERTY.SAMPLECITY._V3VENUE.USA.MA.54321.TESTUNIT.SAMPLETOWN2.1102.1.1",
      "purpose": "wiredunit",
      "UnitID": "1102",
      "UnitFloor": "1",
      "UnitBuilding": "1",
      "AddressLine1": "789 Test Avenue",
      "AddressLine2": "",
      "City": "Test City",
      "State": "TX",
      "Country.ISO3166A3": "USA",
      "PostalCode": "75001",
      "Currency": "USD",
      "CurrencySymbol": "$"
    },
    {
      "UnitID_internal": "USA.SAMPLE.12345.SAMPLEPROPERTY.SAMPLECITY._V3VENUE.USA.MA.54321.TESTUNIT.SAMPLETOWN2.1104.1.1",
      "purpose": "wiredunit",
      "UnitID": "1104",
      "UnitFloor": "1",
      "UnitBuilding": "1",
      "AddressLine1": "789 Test Avenue",
      "AddressLine2": "",
      "City": "Test City",
      "State": "TX",
      "Country.ISO3166A3": "USA",
      "PostalCode": "75001",
      "Currency": "USD",
      "CurrencySymbol": "$"
    }
  ],
  "VenueUnitCount": 249,
  "dateUpdated": "2025-06-13T17:40:42.491Z",
  "errorProcessing": false
}

Request Shopping Cart Subscription

post

Requests a new subscription for a venue unit or venue. Requires identifiers and subscriber information. Handles validation and returns subscription status or error.

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
VenueIDstringOptional

The ID of the venue (optional if UnitID_internal is provided).

UnitID_internalstringOptional

The internal ID of the venue unit (optional if VenueID is provided).

EmailAddressstringOptional

Subscriber's email address.

Responses
200
Subscription request processed successfully.
application/json
post
POST /preview/networkoperatorconsole/shoppingcart/requestSubscription HTTP/1.1
Host: api.wifikey.io
origin: https://demo.roamingiq.com
Content-Type: application/json
Accept: */*
Content-Length: 84

{
  "VenueID": "VENUE123",
  "UnitID_internal": "UNIT001",
  "EmailAddress": "[email protected]"
}
{
  "errorProcessing": false
}

Verify Phone Number for Shopping Cart

post

Verifies a phone number using an SMS OTP for shopping cart operations. Requires the phone number and OTP. Returns verification status or error.

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
PhoneNumber.E164stringRequired

The phone number in E.164 format.

SMSOTPstringRequired

The SMS one-time password sent to the phone number.

StripeClientSecretstringOptional

The Stripe client secret (if required).

Responses
200
Phone number verified successfully.
application/json
post
POST /preview/networkoperatorconsole/shoppingcart/verifyPhoneNumber HTTP/1.1
Host: api.wifikey.io
origin: https://demo.roamingiq.com
Content-Type: application/json
Accept: */*
Content-Length: 53

{
  "PhoneNumber.E164": "+12345678900",
  "SMSOTP": "123456"
}
{
  "errorProcessing": false
}

Approve Shopping Cart Subscription Setup

post

Approves a pending subscription setup for a venue unit or subscriber. Requires identifiers such as SetupIntentId, UnitID_internal, or SubscriberToken. Returns approval status or error.

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
SetupIntentIdstringOptional

The Stripe setup intent ID.

UnitID_internalstringOptional

The internal ID of the venue unit.

SubscriberTokenstringOptional

The subscriber token.

Responses
200
Subscription setup approved successfully.
application/json
post
POST /preview/networkoperatorconsole/shoppingcart/approveSubscriptionSetup HTTP/1.1
Host: api.wifikey.io
origin: https://demo.roamingiq.com
Content-Type: application/json
Accept: */*
Content-Length: 97

{
  "SetupIntentId": "seti_1234567890",
  "UnitID_internal": "UNIT001",
  "SubscriberToken": "SUBSCRIBER123"
}
{
  "errorProcessing": false
}

Get New SMS OTP for Shopping Cart

post

Requests a new SMS OTP for phone number verification in shopping cart operations. Requires the phone number and Stripe client secret. Returns status or error.

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
PhoneNumber.E164stringRequired

The phone number in E.164 format.

StripeClientSecretstringRequired

The Stripe client secret.

Responses
200
New SMS OTP sent successfully.
application/json
post
POST /preview/networkoperatorconsole/shoppingcart/getNewSMSOTP HTTP/1.1
Host: api.wifikey.io
origin: https://demo.roamingiq.com
Content-Type: application/json
Accept: */*
Content-Length: 76

{
  "PhoneNumber.E164": "+12345678900",
  "StripeClientSecret": "sk_test_SAMPLEKEY"
}
{
  "errorProcessing": false
}

Get Stripe Receipt URL for Shopping Cart

post

Retrieves the Stripe receipt URL for a completed payment in shopping cart operations. Requires the Stripe client secret. Returns the receipt URL or error.

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
StripeClientSecretstringRequired

The Stripe client secret for the payment.

Responses
200
Stripe receipt URL retrieved successfully.
application/json
post
POST /preview/networkoperatorconsole/shoppingcart/getStripeReceiptURL HTTP/1.1
Host: api.wifikey.io
origin: https://demo.roamingiq.com
Content-Type: application/json
Accept: */*
Content-Length: 43

{
  "StripeClientSecret": "sk_test_1234567890"
}
{
  "StripeReceiptURL": "https://dashboard.stripe.com/payments/receipt_1234567890",
  "errorProcessing": false
}

List Payments for Shopping Cart

post

Returns a list of payment records for shopping cart operations. Supports filtering by date range (MinInvoiceDateTimeUTC.ISO8601, MaxInvoiceDateTimeUTC.ISO8601) and/or by any of the other fields in the request body. The response includes payment details, pricing, adjustments, and Stripe receipt URLs.

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
AccessTokenstringOptional

Access token for authentication.

MinInvoiceDateTimeUTC.ISO8601stringOptional

Minimum invoice date (inclusive, ISO8601).

MaxInvoiceDateTimeUTC.ISO8601stringOptional

Maximum invoice date (inclusive, ISO8601).

EmailAddressstringOptional

Filter by subscriber email address (optional).

StripeCustomerIDstringOptional

Filter by Stripe customer ID (optional).

PhoneNumber.E164stringOptional

Filter by phone number (optional).

UnitID_internalstringOptional

Filter by internal unit ID (optional).

VenueIDstringOptional

Filter by venue ID (optional).

ServicePlanIDstringOptional

Filter by service plan ID (optional).

externalServicePlanIDstringOptional

Filter by external service plan ID (optional).

Responses
200
List of payment records matching the filters.
application/json
post
POST /preview/networkoperatorconsole/shoppingcart/listPayments HTTP/1.1
Host: api.wifikey.io
origin: https://demo.roamingiq.com
Content-Type: application/json
Accept: */*
Content-Length: 314

{
  "AccessToken": "{{NetworkOperatorAdmin-AccessToken}}",
  "MinInvoiceDateTimeUTC.ISO8601": "2022-11-01T00:00:00.000Z",
  "MaxInvoiceDateTimeUTC.ISO8601": "2022-11-05T00:00:00.000Z",
  "EmailAddress": "",
  "StripeCustomerID": "",
  "PhoneNumber.E164": "",
  "UnitID_internal": "",
  "VenueID": "",
  "ServicePlanID": "",
  "externalServicePlanID": ""
}
200

List of payment records matching the filters.

{
  "PaymentCount": 5,
  "NonZeroPaymentCount": 5,
  "Payments": [
    {
      "dateAddedUTC.ISO8601": "2022-11-02T14:48:39.814Z",
      "InvoiceDateTimeUTC.ISO8601": "2022-11-02T05:31:00.326Z",
      "PaymentSuccessDateTimeUTC.ISO8601": "2022-11-02T14:48:39.814Z",
      "GivenName": "John",
      "FamilyName": "Smith",
      "SubscriberToken": "SUB123",
      "externalSubscriberID": "EXTSUB123",
      "externalSubscriptionID": "EXTSUBS456",
      "StripeCustomerID": "cus_FAKE1234567890",
      "StripePaymentIntentId": "pi_FAKE1234567890",
      "StripeClientSecret": "pi_FAKE1234567890_secret_FAKESECRET",
      "EmailAddress": "[email protected]",
      "PhoneNumber.E164": "+12345678901",
      "ServicePlanID": "PLAN123",
      "ServicePlanName": "Premium Plan",
      "ServicePlanDescription": "High speed internet",
      "externalServicePlanID": "PLANEXT123",
      "VenuePriceAdjustment": 0,
      "VenueUnitPriceAdjustment": 0,
      "BillingCycleHours": 730.5,
      "UploadKbps": 1000000,
      "DownloadKbps": 1000000,
      "Currency": "USD",
      "CurrencySymbol": "$",
      "ConcurrentDevices": 10,
      "BillingCyclePrice.USD": 10000,
      "ListBillingCyclePrice.USD": 10000,
      "NetBillingCyclePrice.USD": 10000,
      "UnitID_internal": "UNIT123",
      "externalVenueUnitID": "EXTUNIT123",
      "externalVenueID": "EXTVENUE123",
      "VenueID": "VENUE123",
      "VenueName": "Sample Venue",
      "AddressLine1": "123 Main St",
      "AddressLine2": "Apt 1",
      "City": "Sample City",
      "State": "CA",
      "Country.ISO3166A3": "USA",
      "PostalCode": "90001",
      "AmountProcessed.USD": 10000,
      "AmountReceived.USD": 10000,
      "AmountRefunded.USD": 0,
      "StripeReceiptURL": "https://pay.stripe.com/receipts/payment/FAKERECEIPTURL1",
      "StripeRefundReceiptURL": "https://pay.stripe.com/receipts/payment/FAKEREFUNDURL1",
      "StripePaymentChargeId": "ch_FAKE1234567890",
      "CancellationSource": "",
      "CancellationReasons": [],
      "BillingCyclePriceAdjustment": 0,
      "BillingCycleAdjustmentReasons": []
    },
    {
      "dateAddedUTC.ISO8601": "2022-11-02T14:48:39.814Z",
      "InvoiceDateTimeUTC.ISO8601": "2022-11-02T05:31:00.326Z",
      "PaymentSuccessDateTimeUTC.ISO8601": "2022-11-02T14:48:39.814Z",
      "GivenName": "John",
      "FamilyName": "Smith",
      "SubscriberToken": "SUB123",
      "externalSubscriberID": "EXTSUB123",
      "externalSubscriptionID": "EXTSUBS456",
      "StripeCustomerID": "cus_FAKE1234567890",
      "StripePaymentIntentId": "pi_FAKE1234567890",
      "StripeClientSecret": "pi_FAKE1234567890_secret_FAKESECRET",
      "EmailAddress": "[email protected]",
      "PhoneNumber.E164": "+12345678901",
      "ServicePlanID": "PLAN123",
      "ServicePlanName": "Premium Plan",
      "ServicePlanDescription": "High speed internet",
      "externalServicePlanID": "PLANEXT123",
      "VenuePriceAdjustment": 0,
      "VenueUnitPriceAdjustment": 0,
      "BillingCycleHours": 730.5,
      "UploadKbps": 1000000,
      "DownloadKbps": 1000000,
      "Currency": "USD",
      "CurrencySymbol": "$",
      "ConcurrentDevices": 10,
      "BillingCyclePrice.USD": 10000,
      "ListBillingCyclePrice.USD": 10000,
      "NetBillingCyclePrice.USD": 10000,
      "UnitID_internal": "UNIT123",
      "externalVenueUnitID": "EXTUNIT123",
      "externalVenueID": "EXTVENUE123",
      "VenueID": "VENUE123",
      "VenueName": "Sample Venue",
      "AddressLine1": "123 Main St",
      "AddressLine2": "Apt 1",
      "City": "Sample City",
      "State": "CA",
      "Country.ISO3166A3": "USA",
      "PostalCode": "90001",
      "AmountProcessed.USD": 10000,
      "AmountReceived.USD": 10000,
      "AmountRefunded.USD": 0,
      "StripeReceiptURL": "https://pay.stripe.com/receipts/payment/FAKERECEIPTURL1",
      "StripeRefundReceiptURL": "https://pay.stripe.com/receipts/payment/FAKEREFUNDURL1",
      "StripePaymentChargeId": "ch_FAKE1234567890",
      "CancellationSource": "",
      "CancellationReasons": [],
      "BillingCyclePriceAdjustment": 0,
      "BillingCycleAdjustmentReasons": []
    },
    {
      "dateAddedUTC.ISO8601": "2022-11-02T14:48:39.814Z",
      "InvoiceDateTimeUTC.ISO8601": "2022-11-02T05:31:00.326Z",
      "PaymentSuccessDateTimeUTC.ISO8601": "2022-11-02T14:48:39.814Z",
      "GivenName": "John",
      "FamilyName": "Smith",
      "SubscriberToken": "SUB123",
      "externalSubscriberID": "EXTSUB123",
      "externalSubscriptionID": "EXTSUBS456",
      "StripeCustomerID": "cus_FAKE1234567890",
      "StripePaymentIntentId": "pi_FAKE1234567890",
      "StripeClientSecret": "pi_FAKE1234567890_secret_FAKESECRET",
      "EmailAddress": "[email protected]",
      "PhoneNumber.E164": "+12345678901",
      "ServicePlanID": "PLAN123",
      "ServicePlanName": "Premium Plan",
      "ServicePlanDescription": "High speed internet",
      "externalServicePlanID": "PLANEXT123",
      "VenuePriceAdjustment": 0,
      "VenueUnitPriceAdjustment": 0,
      "BillingCycleHours": 730.5,
      "UploadKbps": 1000000,
      "DownloadKbps": 1000000,
      "Currency": "USD",
      "CurrencySymbol": "$",
      "ConcurrentDevices": 10,
      "BillingCyclePrice.USD": 10000,
      "ListBillingCyclePrice.USD": 10000,
      "NetBillingCyclePrice.USD": 10000,
      "UnitID_internal": "UNIT123",
      "externalVenueUnitID": "EXTUNIT123",
      "externalVenueID": "EXTVENUE123",
      "VenueID": "VENUE123",
      "VenueName": "Sample Venue",
      "AddressLine1": "123 Main St",
      "AddressLine2": "Apt 1",
      "City": "Sample City",
      "State": "CA",
      "Country.ISO3166A3": "USA",
      "PostalCode": "90001",
      "AmountProcessed.USD": 10000,
      "AmountReceived.USD": 10000,
      "AmountRefunded.USD": 0,
      "StripeReceiptURL": "https://pay.stripe.com/receipts/payment/FAKERECEIPTURL1",
      "StripeRefundReceiptURL": "https://pay.stripe.com/receipts/payment/FAKEREFUNDURL1",
      "StripePaymentChargeId": "ch_FAKE1234567890",
      "CancellationSource": "",
      "CancellationReasons": [],
      "BillingCyclePriceAdjustment": 0,
      "BillingCycleAdjustmentReasons": []
    }
  ],
  "BillingCycleHours": 3652.5,
  "DownloadKbps": 3450000,
  "UploadKbps": 3450000,
  "PricePerDownloadGbps.USD": null,
  "VenuePriceAdjustment": null,
  "VenueUnitPriceAdjustment": null,
  "MaxInvoiceDateTimeUTC.ISO8601": null,
  "MinInvoiceDateTimeUTC.ISO8601": null,
  "ListBillingCyclePrice.USD": null,
  "NetBillingCyclePrice.USD": null,
  "errorProcessing": false
}

List Subscriptions for Shopping Cart

post

Returns a list of active and historical subscriptions for shopping cart operations. Supports filtering by date range (MinViewWindowDateUTC.ISO8601, MaxViewWindowDateUTC.ISO8601) and/or by any of the other fields in the request body. The response includes subscription details, pricing, adjustments, status, and a detailed event history.

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
AccessTokenstringOptional

Access token for authentication.

MinViewWindowDateUTC.ISO8601stringOptional

Minimum subscription start date (inclusive, ISO8601).

MaxViewWindowDateUTC.ISO8601stringOptional

Maximum subscription end date (inclusive, ISO8601).

onlyDisplayPendingSubscriptionsstringOptional

Filter to only show pending subscriptions (optional).

EmailAddressstringOptional

Filter by subscriber email address (optional).

AccountStatusAtCreationstringOptional

Filter by account status at creation (optional).

StripeCustomerIDstringOptional

Filter by Stripe customer ID (optional).

PhoneNumber.E164stringOptional

Filter by phone number (optional).

UnitID_internalstringOptional

Filter by internal unit ID (optional).

VenueIDstringOptional

Filter by venue ID (optional).

ServicePlanIDstringOptional

Filter by service plan ID (optional).

externalServicePlanIDstringOptional

Filter by external service plan ID (optional).

paymentFailedstringOptional

Filter by payment failure status (optional).

Responses
200
List of subscriptions matching the filters.
application/json
post
POST /preview/networkoperatorconsole/shoppingcart/listSubscriptions HTTP/1.1
Host: api.wifikey.io
origin: https://demo.roamingiq.com
Content-Type: application/json
Accept: */*
Content-Length: 397

{
  "AccessToken": "{{NetworkOperatorAdmin-AccessToken}}",
  "MinViewWindowDateUTC.ISO8601": "2024-01-01T00:00:00.000Z",
  "MaxViewWindowDateUTC.ISO8601": "2026-01-31T23:59:59.000Z",
  "onlyDisplayPendingSubscriptions": "",
  "EmailAddress": "",
  "AccountStatusAtCreation": "",
  "StripeCustomerID": "",
  "PhoneNumber.E164": "",
  "UnitID_internal": "",
  "VenueID": "",
  "ServicePlanID": "",
  "externalServicePlanID": "",
  "paymentFailed": ""
}
{
  "SubscriptionCount": 1,
  "Subscriptions": [
    {
      "dateAddedUTC.ISO8601": "2024-09-05T17:27:53.076Z",
      "GivenName": "Jane",
      "FamilyName": "Doe",
      "locale": "en-us",
      "SubscriberToken": "SUB456",
      "AccountStatusAtCreation": "AUP not accepted",
      "externalSubscriberID": "",
      "externalSubscriptionID": "SUBS789",
      "PhoneNumber.E164": "+12345678902",
      "EmailAddress": "[email protected]",
      "contactpref_sms": false,
      "contactpref_email": true,
      "ServicePlanID": "PLAN456",
      "ServicePlanName": "Standard Plan",
      "ServicePlanDescription": "200/200 Mbps - billed monthly",
      "externalServicePlanID": "",
      "VenuePriceAdjustment": 0,
      "VenueUnitPriceAdjustment": -2500,
      "BillingCycleHours": 730.5,
      "DownloadKbps": 200000,
      "UploadKbps": 200000,
      "Currency": "USD",
      "CurrencySymbol": "$",
      "ConcurrentDevices": 100,
      "TrialCycles": 1,
      "ListBillingCyclePrice.USD": 2500,
      "NetBillingCyclePrice.USD": 0,
      "InvoiceDateTimeUTC.ISO8601": [
        "2024-09-05T17:41:13.201Z",
        "2025-02-05T17:41:13.201Z"
      ],
      "paymentFailed": true,
      "PaymentFailureReason": "Card was declined for an unknown reason.",
      "SetupSuccessDateTimeUTC.ISO8601": "2024-09-05T17:41:13.201Z",
      "StripeCustomerID": "cus_FAKE0987654321",
      "StripePaymentMethod": "pm_FAKE0987654321",
      "StripeSetupIntentId": "seti_FAKE0987654321",
      "StripeClientSecret": "seti_FAKE0987654321_secret_FAKESECRET2",
      "StripeRefreshDate": "2025-05-20T02:08:58.967Z",
      "UnitID_internal": "UNIT456",
      "RealPageUnitID": "",
      "RealPageSyncDateTimeUTC.ISO8601": "",
      "externalVenueUnitID": "EXTUNIT456",
      "PrimaryUnitID_internal": "",
      "externalVenueID": "",
      "VenueID": "VENUE456",
      "VenueName": "Another Venue",
      "AddressLine1": "456 Elm St",
      "AddressLine2": "Suite 200",
      "City": "Faketown",
      "State": "NY",
      "Country.ISO3166A3": "USA",
      "PostalCode": "10001",
      "StartDateTimeUTC.ISO8601": "2024-09-05T17:41:13.201Z",
      "EndDateTimeUTC.ISO8601": "2035-09-07T03:59:59.999Z",
      "CancellationSource": "2025-01-21T20:22:26.504Z Subscription ended by (FakeAdmin, 203.0.113.42 ,  , FakeBrowser  ).",
      "CancellationReasons": [],
      "BillingCyclePriceAdjustment": 0,
      "BillingCycleAdjustmentReasons": [],
      "SourceIP": "203.0.113.42",
      "AdministratorOS": "Windows 10",
      "AdministratorBrowser": "FakeBrowser 1.0",
      "SourceLocale": "en-us",
      "AccountAddedByAdministrator": "[email protected]",
      "Events": [
        {
          "timestamp": "2025-03-25T09:06:21.620Z",
          "event": "Updated venue-level price adjustment to 0. ",
          "reason": "",
          "SourceIP": "203.0.113.42",
          "FirewallSourceIP": "203.0.113.42",
          "AdministratorOS": "",
          "AdministratorBrowser": "FakeBrowser",
          "SourceLocale": "en-us",
          "Administrator": "[email protected]"
        },
        {
          "timestamp": "2025-03-25T09:06:21.361Z",
          "event": "Service plan updated from PLANOLD to PLAN456.",
          "reason": "",
          "SourceIP": "203.0.113.42",
          "FirewallSourceIP": "203.0.113.42",
          "AdministratorOS": "",
          "AdministratorBrowser": "FakeBrowser",
          "SourceLocale": "en-us",
          "Administrator": "[email protected]",
          "ServicePlanID": "PLAN456",
          "function_name": "vault_networkoperatorconsole_modifyServicePlan"
        },
        {
          "timestamp": "2025-01-21T20:22:26.504Z",
          "event": "Subscription end date updated to 2035-09-07T03:59:59.999Z",
          "reason": [],
          "SourceIP": "203.0.113.42",
          "FirewallSourceIP": "203.0.113.42",
          "AdministratorOS": "",
          "AdministratorBrowser": "FakeBrowser",
          "SourceLocale": "en-us",
          "Administrator": "[email protected]"
        },
        {
          "timestamp": "2024-10-05T17:43:18.231Z",
          "event": "Payment Failed, Service plan degraded to PLANOLD",
          "reason": "",
          "Administrator": "",
          "ServicePlanID": "PLANOLD"
        },
        {
          "timestamp": "2024-10-05T17:43:16.788Z",
          "event": "Payment failed - Card was declined for an unknown reason. (try_again_later). "
        },
        {
          "timestamp": "2024-09-05T17:44:08.660Z",
          "event": "Payment success, Service plan resumed to PLAN456",
          "reason": "",
          "Administrator": "",
          "ServicePlanID": "PLAN456"
        },
        {
          "timestamp": "2024-09-05T17:41:13.213Z",
          "event": "Payment method updated. "
        },
        {
          "timestamp": "2024-09-05T17:35:11.072Z",
          "event": "Updated unit-level price adjustment to -25",
          "reason": ""
        }
      ]
    }
  ],
  "errorProcessing": false
}

Was this helpful?