Download OpenAPI specification:
VAULT is an enterprise WiFi authentication, subscriber management, and monetization platform that provides comprehensive APIs for network operators, venue administrators, and subscribers. The platform integrates with property management systems, payment processors, and network infrastructure to deliver seamless WiFi services.
The VAULT API consists of three main console interfaces:
Self-service portal for WiFi subscribers and guests
Core Functions:
Administrative interface for property and venue managers
Core Functions:
Enterprise management for network service providers
Core Functions:
Backend Infrastructure: - AWS Lambda serverless functions for API endpoint handlers - AWS Cognito Identity Provider for authentication and user management - Distributed data storage for relationship and metadata management
Payment Processing: - Stripe integration for subscription billing and payment management - Automated billing cycles with failure handling and retry logic - Support for multiple currencies and regional payment methods
Network Integration: - ConnectWise API integration for network equipment management - PRTG monitoring system integration for real-time equipment status - RADIUS authentication support for WiFi infrastructure - Device bandwidth monitoring and usage analytics - Supported gateways: Nomadix, Mikrotik, Peplink
Security & Compliance: - Multi-level access controls with role-based permissions - Input validation and sanitization on all endpoints - Audit logging for compliance and security monitoring - GDPR-compliant data handling and privacy protection
👨💼 Staff & Support Operations (/staff/, /support/):
Venue Operations: - Multi-building property discovery and configuration management - Real-time network equipment monitoring with ConnectWise integration - Usage analytics and bandwidth reporting with timezone support - RSSI signal strength monitoring and network optimization - Operational history and audit logging
Subscriber Management: - Complete subscriber lifecycle from onboarding to billing - Payment processing with Stripe integration and transaction history - Subscription modifications including plan changes and pricing adjustments - Communication tools and notification systems - Email validation and PII data management
Unit-Level Management: - Individual unit usage tracking and bandwidth monitoring - WiFi key pool management for secure device authentication - Unit-specific audit logs and activity tracking
Authentication & Profile Management: - Multi-modal login support (email, phone, subscriber tokens) - Terms & Conditions acceptance workflow and compliance tracking - Password reset and account recovery with secure validation - Personal information updates with privacy controls
Device & Access Management: - WiFi key generation and device registration - Real-time device session monitoring and connection history - Device naming and tagging for user organization - Key lifecycle management including rotation and security updates
Subscription & Billing: - Self-service subscription management and plan modifications - Payment method management with Stripe integration - Subscription cancellation with automated processing - Transaction history and billing statement access
Support & Communication: - Self-service ticketing system with automated routing - Venue communication and message acknowledgment - Account activity logging for transparency - Multi-language support (English, Spanish)
Architecture: - OpenAPI 3.0.3 specification with comprehensive schema validation - RESTful design using POST methods with JSON payloads - Token-based authentication via AccessToken parameters - Standardized response format with consistent error handling
Security Framework: - TLS encryption with AWS Certificate Manager - AWS Cognito Identity Provider for authentication - Role-based access controls with venue-level isolation - Input validation and sanitization on all endpoints - Audit logging with immutable records and user attribution
All API endpoints require authentication via AccessToken in the JSON request body:
Cloud Services: - AWS Lambda serverless functions for scalable API processing - AWS Cognito Identity Provider for secure user authentication - Distributed data storage for scalable relationship management
External Integrations: - Stripe payment processing for subscription billing and transactions - ConnectWise API for network equipment management and configuration - PRTG monitoring system for real-time infrastructure status - SMTP services for automated email communications - Supported network gateways: Nomadix, Mikrotik, Peplink
Standard Request Structure: json { "AccessToken": "authentication_token", "VenueID": "venue_identifier", "RequestParameters": "endpoint_specific_data" }
Standard Response Structure: json { "message": "Operation result description", "errorProcessing": false, "data": "endpoint_specific_results", "SupportedLocales": { "en-us": "English (US)", "es-xl": "Spanish (Latin America)" } }
Error Response Format: - HTTP Status Codes: 200 (Success), 401 (Unauthorized), 403 (Forbidden), 404 (Not Found), 500 (Server Error) - Localized error messages with troubleshooting guidance - Rate limiting with 429 responses and retry-after headers - Service maintenance notifications with 503 responses
Comprehensive self-service portal for subscribers to manage their account, services, billing, and preferences independently.
Authenticate using email/password, phone/password, subscriber token, or SSO token with AWS Cognito integration.
Authentication Methods:
Features:
| EmailAddress required | string <email> Subscriber email address for authentication - mapped to Cognito username via operator-specific lookup |
| PhoneNumber | string^[\+]?[1-9][\d]{0,15}$ Phone number in E.164 format - mapped to Cognito username via phone lookup cache |
| SubscriberToken | string [ 5 .. 100 ] characters Legacy subscriber token used directly as Cognito username (minimum 5 characters) |
| Password required | string <password> [ 8 .. 128 ] characters Subscriber account password - validated against Cognito user pool with HMAC signature |
| authorizationToken | string^[A-Za-z0-9\-_]+\.[A-Za-z0-9\-_]+\.[A-Za-z0-9... Pre-authenticated JWT access token for SSO flows - bypasses password authentication |
Standard subscriber authentication using email and password
{- "EmailAddress": "john.doe@grandhotel.com",
- "Password": "mySecurePassword123"
}{- "SupportedLocales": {
- "en-us": "English (US)",
- "es-xl": "Spanish (Latin America)"
}, - "AuthenticationResult": {
- "AuthenticationResult": {
- "AccessToken": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.signature",
- "RefreshToken": "eyJjdHkiOiJKV1QiLCJlbmMiOiJBMjU2R0NNIiwiYWxnIjoiUlNBLU9BRVAifQ.refresh_token_content",
- "IdToken": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.id_token_content.signature",
- "TokenType": "Bearer",
- "ExpiresIn": 3600
}
}, - "SubscriberToken": "sub_abc123def456",
- "GivenName": "John",
- "FamilyName": "Doe",
- "locale": "en-us",
- "errorProcessing": false
}Complete subscriber account setup by accepting Terms & Conditions and setting a permanent password. Finalizes account activation for new subscribers with temporary passwords.
Required Parameters:
Core Actions:
Security & Error Handling:
| EmailAddress required | string <email> Subscriber email address for identity verification |
| PhoneNumber | string Subscriber phone number for identity verification (alternative to email) |
| SubscriberToken | string Direct subscriber token for identity verification (alternative method) |
| TemporaryPassword required | string <password> non-empty Temporary password received during registration process |
| NewPassword required | string <password> >= 8 characters New permanent password chosen by subscriber (becomes WiFi pre-shared key) |
Complete account setup using email address verification
{- "EmailAddress": "john.doe@grandhotel.com",
- "TemporaryPassword": "TempPass123",
- "NewPassword": "MySecurePassword123!"
}{- "message": "User verified. Password changed. Email verified.",
- "errorProcessing": false
}Initiate subscriber console password reset process with smart Cognito status detection and appropriate notification routing.
Required Parameters:
Status-Based Processing:
Features:
Response Messages:
| AccessToken required | string Valid access token for authentication and authorization |
| SubscriberToken required | string Unique subscriber identifier for password reset request |
| NotificationChannel | string Enum: "email" "sms" Optional notification channel preference (email or SMS) |
Initiate password reset for confirmed subscriber
{- "AccessToken": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9...",
- "SubscriberToken": "sub_abc123def456ghi789",
- "NotificationChannel": "email"
}{- "message": "Password reset code sent successfully",
- "errorProcessing": false,
- "statusCode": 200
}Complete password reset by validating OTP from email and setting new permanent password.
Required Parameters:
Process:
| AccessToken required | string Valid access token for authentication |
| SubscriberToken required | string Unique subscriber identifier for the account to reset |
| OTP required | string = 8 characters One-time password received via email from password reset initiation |
| NewPassword required | string <password> [ 8 .. 63 ] characters New permanent password (becomes WiFi pre-shared key) |
Confirm password reset using the 8-character code received via email
{- "AccessToken": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9...",
- "SubscriberToken": "sub_abc123def456",
- "OTP": "AB12CD34",
- "NewPassword": "MyNewSecurePassword123!"
}{- "message": "Password changed."
}Update personal identifiable information and preferences for a subscriber account with role-based access controls.
Required Parameters:
Updatable Fields:
Role-Based Access:
Security Features:
| AccessToken required | string Valid access token for authentication and role-based permissions |
| SubscriberToken required | string Unique subscriber identifier for the account to update |
| GivenName | string <= 50 characters First name (alphanumeric and punctuation only, HTML sanitized) |
| FamilyName | string <= 50 characters Last name (alphanumeric and punctuation only, HTML sanitized) |
| PhoneNumber | string Phone number (will be formatted to E.164 international standard) |
| contactpref_sms | boolean SMS contact preference for marketing communications |
| locale | string Enum: "en-us" "es-xl" Language preference for interface localization |
| externalSubscriberID | string <= 100 characters External system identifier (Network Operator only) |
| Status | string Enum: "Active" "AUP not accepted" "Unknown" "In Service" "Suspended" Subscriber account status (Administrator only) |
Self-service profile update with name and contact preferences
{- "AccessToken": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9...",
- "SubscriberToken": "sub_abc123def456",
- "GivenName": "John",
- "FamilyName": "Doe",
- "PhoneNumber": "+1-555-123-4567",
- "contactpref_sms": true,
- "locale": "en-us"
}{- "message": ""
}Retrieve current Terms and Conditions document with locale detection and fallback support.
Required Parameters:
Optional Parameters:
Features:
| AccessToken required | string Valid access token for authentication and domain verification |
| VenueID required | string Venue identifier for context (required parameter) |
| EmailAddress | string <email> Optional email address for Cognito profile locale lookup |
| locale | string Device locale for T&C content retrieval (defaults to 'en-us') |
Request Terms & Conditions with default locale
{- "AccessToken": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9...",
- "VenueID": "venue_abc123def456"
}{- "message": "",
- "DeviceLocale": "en-us",
- "TandC": "These Terms and Conditions govern your use of the WiFi service provided by the venue. By connecting to this network, you agree to comply with all applicable laws and regulations..."
}Retrieve subscriber WiFi keys with device status and venue configurations.
Required Parameters:
Optional Parameters:
Returned Data:
| AccessToken required | string Valid access token containing SubscriberToken for authentication |
| VenueID | string Optional venue filter to list keys for a specific venue |
Request subscriber's WiFi keys and device information
{- "AccessToken": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9...",
- "VenueID": "venue_abc123def456"
}{- "message": "",
- "SubscriberToken": "sub_abc123def456",
- "EmailAddress": "john.doe@grandhotel.com",
- "GivenName": "John",
- "FamilyName": "Doe",
- "PhoneNumber.E164": "+1-555-123-4567",
- "locale": "en-us",
- "contactpref_sms": true,
- "contactpref_email": true,
- "KeyCount": 2,
- "KeyCountActive": 2,
- "DeviceCountOnline": 2,
- "DeviceCountOffline": 1,
- "KeysInKeyPools": {
- "keypool_main_wifi": {
- "ssid": "GrandHotel_WiFi",
- "DisplayOrder": 1,
- "psk_secure_access": {
- "dateAddedUTC.ISO8601": "2025-01-15T10:30:00.000Z",
- "psk": "SecureAccess123!",
- "primary_key": true,
- "KeyTag": "Standard Access",
- "Devices": {
- "a1b2c3d4e5f6": {
- "UserDefinedHostName": "John's iPhone",
- "HostName": "iPhone",
- "ModelName": "iPhone 15",
- "currentlyOnline": true
}
}
}
}
}, - "messages_from_venues": { }
}Refresh authentication tokens using AWS Cognito refresh token mechanism for continuous session access.
Required Parameters:
Returns:
| AccessToken required | string Current (potentially expired) access token for user identification |
| RefreshToken required | string Valid refresh token from previous authentication for token renewal |
| VenueID required | string Venue identifier for context and session tracking |
Refresh tokens for mobile application session
{- "AccessToken": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...",
- "RefreshToken": "eyJjdHkiOiJKV1QiLCJlbmMiOiJBMjU2R0NNIiwiYWxnIjoiUlNBLU9BRVAifQ...",
- "VenueID": "venue_grandhotel_123"
}{- "message": "",
- "AuthenticationResult": {
- "AccessToken": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...",
- "RefreshToken": "eyJjdHkiOiJKV1QiLCJlbmMiOiJBMjU2R0NNIiwiYWxnIjoiUlNBLU9BRVAifQ...",
- "IdToken": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...",
- "ExpiresIn": 3600,
- "TokenType": "Bearer"
}
}Securely logout by invalidating all active tokens and signing out from all devices.
Required Parameters:
Impact:
| AccessToken required | string Valid access token to identify the user session to terminate |
| VenueID required | string Venue identifier for context |
{- "AccessToken": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...",
- "VenueID": "venue_12345"
}{- "message": "User logged out."
}Assign personalized names to WiFi keys for easier identification.
Required Parameters:
| AccessToken required | string Subscriber authentication token for API access |
| VenueID required | string Venue identifier for context |
| KeyID required | string Unique identifier of the WiFi key to update |
| KeyTag required | string <= 40 characters Custom tag/label for the key (max 40 characters, HTML sanitized) |
{- "AccessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
- "VenueID": "venue_12345",
- "KeyID": "psk_abc123def456",
- "KeyTag": "Living Room TV"
}{- "message": "",
- "KeyTag": "Living Room TV"
}Assign custom names to connected WiFi devices for easier identification.
Required Parameters:
| AccessToken required | string Subscriber authentication token for API access |
| VenueID required | string Venue identifier for context |
| Calling-Station-Id required | string^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$ MAC address of the device to rename (in standard format with colons or dashes) |
| UserDefinedHostName required | string <= 40 characters Custom name/label for the device (max 40 characters, HTML sanitized) |
{- "AccessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
- "VenueID": "venue_12345",
- "Calling-Station-Id": "AA:BB:CC:DD:EE:FF",
- "UserDefinedHostName": "Living Room Smart TV"
}{- "message": "",
- "Calling-Station-Id": "AA:BB:CC:DD:EE:FF",
- "UserDefinedHostName": "Living Room Smart TV"
}Cancel subscription with access preserved until end of current billing cycle.
Required Parameters:
Optional Parameters:
Returns:
| AccessToken required | string Subscriber authentication token for API access |
| VenueID required | string Venue identifier for the subscription context |
| endImmediately | boolean Default: false Optional flag to end subscription immediately instead of at billing cycle end |
| NewEndDateTimeUTC.ISO8601 | string <date-time> Optional custom end date for subscription (ISO 8601 format) |
{- "AccessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
- "VenueID": "venue_12345",
- "endImmediately": false
}{- "message": "",
- "endDate": "2024-12-31T23:59:59.999Z",
- "billingCycleEnd": "2024-12-31T23:59:59.999Z"
}Access payment transaction records with billing details, receipts, and subscription information.
Required Parameters:
Optional Parameters:
Returns: Payment records with invoice dates, amounts, Stripe receipt URLs, refund tracking, service details, and venue information ordered by invoice date.
| AccessToken required | string Subscriber authentication token for API access |
| VenueID required | string Venue identifier for filtering payments |
| MaxInvoiceDateTimeUTC.ISO8601 | string <date-time> Show payments with invoice date before this timestamp |
| MinInvoiceDateTimeUTC.ISO8601 | string <date-time> Show payments with invoice date after this timestamp |
| ServicePlanID | string Filter by specific service plan identifier |
| UnitID_internal | string Filter by internal unit identifier |
{- "AccessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
- "VenueID": "venue_12345",
- "MinInvoiceDateTimeUTC.ISO8601": "2024-01-01T00:00:00.000Z",
- "MaxInvoiceDateTimeUTC.ISO8601": "2024-12-31T23:59:59.999Z"
}{- "message": "",
- "PaymentCount": 3,
- "NonZeroPaymentCount": 2,
- "BillingCycleHours": 2160,
- "DownloadKbps": 300000,
- "UploadKbps": 30000,
- "PricePerDownloadGbps.USD": 99,
- "VenuePriceAdjustment": 0,
- "VenueUnitPriceAdjustment": 0,
- "ListBillingCyclePrice.USD": 59.97,
- "NetBillingCyclePrice.USD": 59.97,
- "Payments": [
- {
- "dateAddedUTC.ISO8601": "2024-01-01T00:00:00.000Z",
- "InvoiceDateTimeUTC.ISO8601": "2024-01-01T00:00:00.000Z",
- "PaymentSuccessDateTimeUTC.ISO8601": "2024-01-01T00:05:30.000Z",
- "GivenName": "John",
- "FamilyName": "Doe",
- "EmailAddress": "john.doe@example.com",
- "ServicePlanName": "Premium Internet",
- "BillingCyclePrice.USD": 29.99,
- "Currency": "USD",
- "CurrencySymbol": "$",
- "BillingCycleHours": 720,
- "DownloadKbps": 100000,
- "UploadKbps": 10000,
- "ConcurrentDevices": 5,
- "AmountProcessed.USD": 29.99,
- "AmountReceived.USD": 29.99,
- "AmountRefunded.USD": 0
}
]
}Submit technical issues, service requests, or assistance tickets with ConnectWise integration.
Required Parameters:
Optional Parameters:
Returns: ConnectWise ticket ID, reference number, status, company/site info, and board assignment.
| AccessToken required | string Subscriber authentication token for API access |
| VenueID required | string Venue identifier where the issue is occurring |
| contactName required | string <= 40 characters Contact person name for the ticket (max 40 characters) |
| summary required | string <= 100 characters Brief summary of the issue or request (max 100 characters) |
| contactEmailAddress | string <email> Contact email address (defaults to subscriber email if not provided) |
| contactPhoneNumber | string Contact phone number for follow-up |
| Description | string Detailed description of the issue or request |
| unitID | string Specific unit identifier within the venue |
| VAULTUnitID | string VAULT-specific unit identifier |
| CustomUnit | string Custom unit description if unit ID not available |
| TicketType | string Type of ticket for categorization |
| TicketSubType | string Sub-category of the ticket |
| serviceboardid | integer ConnectWise service board ID for routing |
{- "AccessToken": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...",
- "VenueID": "venue_12345",
- "contactName": "John Doe",
- "summary": "Internet connectivity issues",
- "contactEmailAddress": "john.doe@example.com",
- "Description": "WiFi connection drops frequently throughout the day",
- "unitID": "unit_101",
- "TicketType": "Resident Support",
- "TicketSubType": "Internet"
}{- "ticketId": "12345",
- "ticketNumber": "TKT-2025-001234",
- "status": "New",
- "company": {
- "id": 123,
- "name": "Residential Property Management"
}, - "site": {
- "id": 456,
- "name": "Building A"
}, - "board": {
- "id": 51,
- "name": "Resident Support"
}
}Retrieve session usage data and analytics for WiFi authentication keys including bandwidth consumption and connection history.
Required Parameters:
Optional Parameters:
| AccessToken required | string Subscriber authentication token for API access |
| VenueID required | string Venue identifier for filtering usage data |
| KeyID | string Optional specific WiFi key identifier to filter usage data |
| Calling-Station-Id | string^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$ Optional device MAC address to filter by specific device |
{- "AccessToken": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...",
- "VenueID": "venue_12345",
- "KeyID": "psk_abc123def456"
}{- "UsageData": [
- {
- "ReportingTimestamp": "2025-09-06T00:00:00.001Z",
- "Acct-Input-Octets": 45892608,
- "Acct-Output-Octets": 3145728,
- "Acct-Total-Octets": 49038336,
- "rssi": -42,
- "Calling-Station-Id": [
- "aabbccddeeff"
]
}, - {
- "ReportingTimestamp": "2025-09-06T01:00:00.001Z",
- "Acct-Input-Octets": 0,
- "Acct-Output-Octets": 0,
- "Acct-Total-Octets": 0,
- "rssi": 0,
- "Calling-Station-Id": [ ]
}, - {
- "ReportingTimestamp": "2025-09-06T14:00:00.001Z",
- "Acct-Input-Octets": 125829120,
- "Acct-Output-Octets": 8934400,
- "Acct-Total-Octets": 134763520,
- "rssi": -45,
- "Calling-Station-Id": [
- "aabbccddeeff",
- "112233445566"
]
}
]
}Retrieve payment method details for subscriber subscription including card and wallet information.
Required Parameters:
Returns:
| SubscriberToken required | string Unique identifier for the subscriber requesting payment method details |
| StripeClientSecret required | string Client secret from Stripe for secure payment method access |
{- "SubscriberToken": "sub_1234567890abcdef",
- "StripeClientSecret": "pi_1234567890_secret_abc123def456"
}{- "SetupSuccessDateTimeUTC.ISO8601": "2024-01-15T10:30:00.000Z",
- "card": {
- "funding": "credit",
- "brand": "visa",
- "exp_month": 12,
- "exp_year": 2028,
- "last4": "4242"
}
}Retrieve detailed analytics for device connection sessions including bandwidth usage, session duration, and connection quality metrics.
| AccessToken required | string Valid subscriber access token for authentication |
| VenueID | string Optional venue filter to show sessions for specific venue only |
| KeyID | string Optional key filter to show sessions for specific access key only |
| Calling-Station-Id | string Optional device MAC address filter for specific device analytics |
{- "AccessToken": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9..."
}{- "UsageData": [
- {
- "ReportingTimestamp": "2024-01-15T10:00:00.001Z",
- "Acct-Input-Octets": 15728640,
- "Acct-Output-Octets": 2097152,
- "Acct-Total-Octets": 17825792,
- "rssi": -45,
- "Calling-Station-Id": [
- "aabbccddeeff",
- "112233445566"
]
}, - {
- "ReportingTimestamp": "2024-01-15T11:00:00.001Z",
- "Acct-Input-Octets": 31457280,
- "Acct-Output-Octets": 4194304,
- "Acct-Total-Octets": 35651584,
- "rssi": -52,
- "Calling-Station-Id": [
- "aabbccddeeff"
]
}, - {
- "ReportingTimestamp": "2024-01-15T12:00:00.001Z",
- "Acct-Input-Octets": 0,
- "Acct-Output-Octets": 0,
- "Acct-Total-Octets": 0,
- "rssi": 0,
- "Calling-Station-Id": [ ]
}
]
}Reset and regenerate WiFi authentication keys for secure credential lifecycle management with optional custom key values.
| AccessToken required | string Valid subscriber access token for authentication |
| CurrentKeyID required | string ID of the current key to be reset/replaced |
| NewKey required | string [ 8 .. 63 ] characters ^[!-~]*$ Complete new WiFi password (8-63 characters, WPA2 compliant) |
| UserPartForNewKey | string <= 40 characters ^[!-~]*$ Custom prefix for new key (max 40 characters), system will append subscriber token |
| dryRun | boolean If true, validates new key without making changes |
{- "AccessToken": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9...",
- "CurrentKeyID": "key_abc123def456",
- "NewKey": "MyNewSecurePassword2024!"
}{- "success": true,
- "newKeyId": "key_def456ghi789",
- "message": "WiFi password updated successfully. All devices will need to reconnect.",
- "venues": [
- "venue_12345",
- "venue_67890"
], - "units": [
- "unit_aaa111",
- "unit_bbb222"
]
}Mark venue messages as acknowledged by subscriber to update message read status and notification tracking.
| AccessToken required | string Valid subscriber access token for authentication |
| MessageID required | string Unique identifier of the venue message to acknowledge |
{- "AccessToken": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9...",
- "MessageID": "msg_abc123def456"
}{- "message": "Message acknowledged by subscriber."
}Modify service plan selections and upgrade or downgrade subscription tiers for subscriber accounts.
{ }{- "success": true,
- "newServicePlanID": "plan_premium_unlimited",
- "billingAdjustment": 15,
- "effectiveDate": "2024-01-15T10:30:00.000Z",
- "message": "Service plan updated successfully. New features are now active.",
- "subscription": {
- "subscriptionId": "sub_1234567890abcdef",
- "currentPlan": "plan_premium_unlimited",
- "billingCycleHours": 720
}
}Retrieve subscriber activity logs including account actions, service changes, and system events for audit tracking.
| AccessToken required | string Valid subscriber access token for authentication |
| VenueID | string Optional venue filter to show logs for specific venue only |
{- "AccessToken": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9..."
}{- "log": [
- {
- "timestamp": "2025-09-12T14:30:00.000Z",
- "function_name": "vault_subscriberconsole_modifyServicePlan",
- "event": {
- "message": "Service plan updated from Basic to Premium",
- "reason": "Customer requested upgrade"
}, - "Administrator": "John Smith (admin@venue.com)",
- "SourceIP": "192.168.1.100",
- "SourceLocale": "en-US",
- "AdministratorOS": "Windows 10",
- "AdministratorBrowser": "Chrome 118.0",
- "ServicePlanID": "plan_premium_001",
- "UnitID_internal": "unit_abc123",
- "VenueID": "venue_12345"
}, - {
- "timestamp": "2025-09-12T10:15:00.000Z",
- "function_name": "vault_subscriberconsole_initiateResetConsolePassword",
- "event": {
- "message": "Password reset attempted. Email sent with new OTP."
}, - "SourceIP": "192.168.1.105",
- "SourceLocale": "en-US",
- "AdministratorOS": "macOS 14",
- "AdministratorBrowser": "Safari 17.0"
}, - {
- "timestamp": "2025-09-11T16:45:00.000Z",
- "function_name": "vault_subscription_events",
- "event": {
- "message": "Subscription payment successful"
}, - "UnitID_internal": "unit_abc123",
- "VenueID": "venue_12345"
}
]
}Resend Terms & Conditions notifications to subscribers who completed setup intent but need communications resent through preferred channel.
Required Parameters:
Optional Parameters:
Core Functionality:
Returns: Success confirmation with delivery status.
| AccessToken required | string Cognito authentication token for venue administrator with network operator permissions |
| VenueID required | string Unique venue identifier where the subscriber has a setup intent with delayed billing |
| EmailAddress required | string <email> Subscriber email address for identification (one identification method required) |
| PhoneNumber | string Subscriber phone number for identification (one identification method required) |
| SubscriberToken | string Internal subscriber token for direct identification (one identification method required) |
| NotificationChannel | string Enum: "email" "sms" Preferred notification delivery method for Terms & Conditions communication |
Venue administrator resending Terms & Conditions email using subscriber email
{- "AccessToken": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...",
- "VenueID": "venue_12345",
- "EmailAddress": "guest@grandhotel.com"
}Terms & Conditions email delivered successfully
{- "message": "",
- "errorProcessing": false
}Complete e-commerce functionality for venue browsing, service selection, and checkout processes for prospective subscribers.
Retrieve service plan catalog for network operator venues with multi-currency pricing, FCC regulatory compliance, trial cycle management, and venue-specific customizations.
Required Parameters:
Optional Parameters:
Processing:
Returns: Service plans with bandwidth specs (upload/download speeds), device limits, session management, SMS codes, pricing (multi-currency), trial configurations, FCC compliance data. Plans sorted by upload speed.
| VenueID | string.*\._V3VENUE$ Internal venue identifier for venue-level service plan retrieval (required if UnitID_internal not provided) |
| UnitID_internal | string.*\._V3VENUE$ Internal unit identifier for unit-specific service plan retrieval (required if VenueID not provided) |
| ShoppingCartEnabled | boolean Default: false Enable shopping cart mode with filtered plans (excludes bulk and low-speed plans under 10 Mbps) |
{- "VenueID": "venue_opera_house_sf._V3VENUE",
- "ShoppingCartEnabled": false
}{- "errorProcessing": false,
- "message": "",
- "AvailableServicePlans": [
- {
- "ServicePlanID": "high_speed_residential_plan_sf._V3SERVICEPLAN",
- "ServicePlanName": "High-Speed Residential Internet",
- "ServicePlanDescription": "Premium residential internet service with unlimited data",
- "DownloadKbps": 100000,
- "UploadKbps": 10000,
- "ConcurrentDevices": 10,
- "GloballyAvailablePlan": false,
- "externalServicePlanID": "PLAN-HIRES-001",
- "FCCLabel": {
- "PlanID": "SF-HIRES-RES-001",
- "TypicalDownloadKbps": 95000,
- "TypicalUploadKbps": 9500,
}, - "SMSCode": "HIRES",
- "TrialCycles": 3,
- "BillingCycleHours": 720,
- "BillingCycleRecurrence": 0,
- "Currencies": [
- "USD",
- "EUR"
], - "BillingCyclePrice.USD": 79.99,
- "BillingCyclePrice.EUR": 69.99,
- "MaximumTrialCyclesPerSubscriberPerVenue": 3,
- "MaximumFreeEnrollmentsPerSubscriberPerVenue": 1,
- "SessionTimeoutSecondsPerDevice": 3600
}, - {
- "ServicePlanID": "basic_residential_plan_sf._V3SERVICEPLAN",
- "ServicePlanName": "Basic Residential Internet",
- "ServicePlanDescription": "Affordable residential internet service",
- "DownloadKbps": 50000,
- "UploadKbps": 5000,
- "ConcurrentDevices": 5,
- "GloballyAvailablePlan": false,
- "externalServicePlanID": "PLAN-BASIC-001",
- "FCCLabel": {
- "PlanID": "SF-BASIC-RES-001",
- "TypicalDownloadKbps": 45000,
- "TypicalUploadKbps": 4500,
- "BundleDiscountURL": "",
}, - "SMSCode": "BASIC",
- "TrialCycles": 1,
- "BillingCycleHours": 720,
- "BillingCycleRecurrence": 0,
- "Currencies": [
- "USD",
- "EUR"
], - "BillingCyclePrice.USD": 39.99,
- "BillingCyclePrice.EUR": 34.99,
- "MaximumTrialCyclesPerSubscriberPerVenue": 1,
- "MaximumFreeEnrollmentsPerSubscriberPerVenue": 1,
- "SessionTimeoutSecondsPerDevice": 1800
}
], - "AvailableServicePlanCount": 2
}Process new subscription requests with Stripe payment integration, unit assignment, and automated service provisioning.
Core Functionality:
Parameters: StripeClientSecret, VenueID, UnitID_internal or externalVenueUnitID, EmailAddress, SubscriberToken, external IDs for integration, SetupIntentId.
| StripeClientSecret | string Stripe payment intent client secret for payment processing |
| VenueID | string.*\._V3VENUE$ Internal venue identifier for subscription assignment |
| UnitID_internal | string.*\._V3VENUE$ Internal unit identifier for specific unit assignment |
| externalVenueUnitID | string External unit identifier for property management integration |
| EmailAddress | string <email> Customer email address for subscription and communications |
| SubscriberToken | string Unique subscriber identification token |
| externalSubscriberID | string External subscriber identifier for CRM integration |
| externalSubscriptionID | string External subscription identifier for billing integration |
| SetupIntentId | string Stripe setup intent identifier for payment method setup |
{- "StripeClientSecret": "pi_3KJ123ABC_secret_xyz789",
- "VenueID": "venue_12345._V3VENUE",
- "UnitID_internal": "unit_67890._V3VENUE",
- "externalVenueUnitID": "UNIT-101",
- "EmailAddress": "customer@example.com",
- "SubscriberToken": "sub_token_abc123xyz",
- "externalSubscriberID": "CRM-CUST-001",
- "externalSubscriptionID": "BILLING-SUB-001",
- "SetupIntentId": "seti_1KJ123ABC_xyz789"
}{- "errorProcessing": false,
- "message": "Subscription request processed successfully",
- "psk": "wifi_key_abc123xyz",
- "subscriptionId": "sub_12345._V3SUB",
- "setupStatus": "completed",
- "paymentStatus": "succeeded",
- "unitAssignment": {
- "unitId": "unit_67890._V3VENUE",
- "externalUnitId": "UNIT-101"
}
}Retrieve venue listings for shopping cart integration and public subscription services.
Access Control:
Venue Information:
Features: Location-based filtering, service plan compatibility, capacity-based selection, multi-locale support, response format varies by access level (array for public, object for administrative).
| AccessToken required | string Cognito authentication token (optional for public shopping cart access) |
| ShoppingCartEnabled | boolean Filter venues by shopping cart availability (default: true for this endpoint) |
object Geographic filtering criteria for venue selection | |
object Service plan filtering criteria |
Public browsing of venues available for subscription
{- "AccessToken": "",
- "ShoppingCartEnabled": true
}{- "message": "Venues retrieved successfully",
- "errorProcessing": false,
- "data": [
- {
- "VenueID": "venue_grand_hotel",
- "VenueName": "Grand Hotel Downtown",
- "Address": {
- "Street": "123 Main Street",
- "City": "San Francisco",
- "State": "CA",
- "Country": "US"
}, - "ServicePlans": [
- {
- "ServicePlanID": "plan_basic_wifi",
- "Name": "Basic WiFi",
- "Price": 29.99,
- "Features": [
- "WiFi",
- "24/7_Support"
]
}, - {
- "ServicePlanID": "plan_premium_wifi",
- "Name": "Premium WiFi",
- "Price": 59.99,
- "Features": [
- "WiFi",
- "High_Speed",
- "Priority_Support"
]
}
], - "ShoppingCartEnabled": true,
- "AvailableUnits": 45
}
], - "SupportedLocales": {
- "en-us": "English (US)",
- "es-xl": "Spanish (Latin America)"
}
}Retrieve complete venue unit inventory with subscription compatibility information for shopping cart integration.
| AccessToken required | string Network operator authentication token from Cognito with venue management privileges |
| VenueID required | string Unique venue identifier for unit inventory retrieval |
| ServicePlanID | string Optional service plan ID for compatibility filtering and availability calculations |
| StartDateTimeUTC.ISO8601 | string <date-time> Optional start date for availability calculations and occupancy filtering |
{- "AccessToken": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...",
- "VenueID": "USA.CA.90210.LUXURYAPTS.BEVERLYHILLS"
}{- "message": "Venue unit inventory retrieved successfully",
- "errorProcessing": false,
- "statusCode": 200,
- "VenueUnitCount": 150,
- "VenueUnits": [
- {
- "UnitID_internal": "USA.CA.90210.LUXURYAPTS.BEVERLYHILLS.APT101",
- "UnitID": "Apt-101",
- "UnitFloor": "1st Floor",
- "UnitBuilding": "Building-A",
- "purpose": "localwirelessonly",
- "AddressLine1": "123 Beverly Hills Drive",
- "AddressLine2": "Suite 101",
- "City": "Beverly Hills",
- "State": "CA",
- "Country.ISO3166A3": "USA",
- "PostalCode": "90210",
- "Currency": "USD",
- "CurrencySymbol": "$"
}
], - "dateUpdated": "2025-09-12T19:35:05.456Z"
}Process subscription payments with comprehensive financial management including Stripe integration and multi-currency support.
| AccessToken required | string Network operator authentication token from Cognito with payment processing privileges |
| VenueID required | string Unique venue identifier for payment processing context |
| SubscriberToken | string Subscriber authentication token for payment authorization |
| PaymentMethodID | string Stripe payment method identifier for transaction processing |
| Amount | number <double> Payment amount in venue currency |
| Currency | string Payment currency code (ISO 4217) |
| PaymentDescription | string Description of payment for receipt and record keeping |
| AutomaticPaymentMethods | boolean Enable automatic payment method selection and processing |
| ConfirmPayment | boolean Immediately confirm payment after processing |
| SendReceipt | boolean Send payment receipt to customer email |
object Additional payment metadata for tracking and analytics |
{- "AccessToken": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...",
- "VenueID": "USA.CA.90210.LUXURYAPTS.BEVERLYHILLS",
- "SubscriberToken": "eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIn0...",
- "PaymentMethodID": "pm_1J5K6L7M8N9O0P1Q2R3S4T5U",
- "Amount": 49.99,
- "Currency": "USD",
- "PaymentDescription": "Monthly subscription payment - Premium 1000 Mbps Internet",
- "AutomaticPaymentMethods": true,
- "ConfirmPayment": true,
- "SendReceipt": true
}{- "message": "Subscription payment processed successfully",
- "errorProcessing": false,
- "statusCode": 200,
- "PaymentIntentID": "pi_1J5K6L7M8N9O0P1Q2R3S4T5U",
- "PaymentStatus": "succeeded",
- "TransactionID": "TXN_2025091219350567890",
- "PaymentAmount": 49.99,
- "Currency": "USD",
- "PaymentMethodDetails": {
- "Type": "card",
- "Last4": "4242",
- "Brand": "visa",
- "ExpMonth": 12,
- "ExpYear": 2027
}, - "ProcessingFee": 1.75,
- "NetAmount": 48.24,
- "PaymentDate": "2025-09-12T19:35:06.123Z",
- "NextBillingDate": "2025-10-12T19:35:06.123Z",
- "SubscriptionDetails": {
- "SubscriptionID": "SUB_2025091219350567890",
- "ServicePlanName": "Premium 1000 Mbps Internet",
- "BillingCycle": "monthly",
- "NextPaymentAmount": 49.99
}
}Retrieve comprehensive subscription information with analytics, filtering capabilities, and export options for subscription management.
| AccessToken required | string Network operator authentication token from Cognito with subscription management privileges |
| EmailAddress | string <email> Filter by customer email address (case-insensitive) |
| SubscriberToken | string Filter by specific subscriber authentication token |
| StripeCustomerID | string Filter by Stripe customer identifier |
| PhoneNumber.E164 | string Filter by phone number in E164 format |
| VenueID | string Filter by venue identifier |
| UnitID_internal | string Filter by internal unit identifier |
| ServicePlanID | string Filter by service plan identifier |
| externalSubscriberID | string Filter by external customer management system subscriber ID |
| externalSubscriptionID | string Filter by external subscription system identifier |
| externalServicePlanID | string Filter by external service plan identifier |
| paymentFailed | string Enum: "true" "false" Filter by payment failure status |
| AccountStatusAtCreation | string Filter by account status when subscription was created |
| MaxViewWindowDateUTC.ISO8601 | string <date-time> Maximum date filter for subscription start date |
| MinViewWindowDateUTC.ISO8601 | string <date-time> Minimum date filter for subscription end date |
| onlyDisplayPendingSubscriptions | boolean Show only pending subscriptions awaiting setup completion |
{- "AccessToken": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9..."
}{- "message": "Subscription list retrieved successfully",
- "errorProcessing": false,
- "statusCode": 200,
- "SubscriptionCount": 2,
- "Subscriptions": [
- {
- "dateAddedUTC.ISO8601": "2025-08-15T14:30:00Z",
- "SubscriberToken": "eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIn0...",
- "GivenName": "John",
- "FamilyName": "Doe",
- "EmailAddress": "john.doe@example.com",
- "PhoneNumber.E164": "+12025551234",
- "locale": "en-us",
- "AccountStatusAtCreation": "verified",
- "ServicePlanID": "USA.CA.90210.LUXURYAPTS.BEVERLYHILLS._V3SERVICEPLAN_.PREMIUM_1000_MBPS",
- "ServicePlanName": "Premium 1000 Mbps Internet",
- "ServicePlanDescription": "High-speed internet with premium features",
- "CurrentServicePlanID": "USA.CA.90210.LUXURYAPTS.BEVERLYHILLS._V3SERVICEPLAN_.PREMIUM_1000_MBPS",
- "BillingCycleHours": 720,
- "DownloadKbps": 1024000,
- "UploadKbps": 1024000,
- "Currency": "USD",
- "CurrencySymbol": "$",
- "ListBillingCyclePrice.USD": 99.99,
- "NetBillingCyclePrice.USD": 89.99,
- "VenuePriceAdjustment": -10,
- "VenueUnitPriceAdjustment": 0,
- "TrialCycles": 0,
- "ConcurrentDevices": 10,
- "UnitID_internal": "USA.CA.90210.LUXURYAPTS.BEVERLYHILLS.APT101",
- "VenueID": "USA.CA.90210.LUXURYAPTS.BEVERLYHILLS",
- "VenueName": "Luxury Apartments Beverly Hills",
- "StartDateTimeUTC.ISO8601": "2025-09-01T00:00:00Z",
- "EndDateTimeUTC.ISO8601": "2026-09-01T00:00:00Z",
- "StripeCustomerID": "cus_MaZKJ01P3y8SZn",
- "paymentFailed": false,
- "PaymentFailureReason": "",
- "SetupSuccessDateTimeUTC.ISO8601": "2025-08-15T14:30:00Z",
- "contactpref_email": true,
- "contactpref_sms": false,
- "gatewaysDeCommissioned": [
- "gateway_001",
- "gateway_002"
], - "AllGatewaysConfigured": true,
- "AllGatewaysDeCommissioned": false,
- "decommissionedGateways": [ ],
- "SubscriptionStartedProcessedUTC": "2025-08-15T14:35:00Z",
- "currentpsk": "psk_current_abc123",
- "RealPageUnitID": "RP_UNIT_12345",
- "PMS.SyncDateTimeUTC.ISO8601": "2025-08-15T08:00:00Z",
- "AddressLine1": "123 Beverly Hills Dr",
- "AddressLine2": "Suite 100",
- "City": "Beverly Hills",
- "State": "CA",
- "Country.ISO3166A3": "USA",
- "PostalCode": "90210",
- "CancellationSource": "",
- "CancellationReasons": [ ],
- "BillingCyclePriceAdjustment": 0,
- "BillingCycleAdjustmentReasons": [ ],
- "SourceIP": "192.168.1.100",
- "AdministratorOS": "macOS 14.0",
- "AdministratorBrowser": "Chrome 118.0",
- "SourceLocale": "en-US",
- "AccountAddedByAdministrator": "admin@luxuryapts.com",
- "Events": [
- {
- "timestamp": "2025-08-15T14:30:00Z",
- "type": "subscription_created",
- "data": {
- "subscription_id": "sub_123",
- "plan": "premium"
}
}
]
}
], - "Subscriptions_csv": [ ]
}Analyze Stripe payment transactions with comprehensive filtering, financial intelligence, and transaction analytics.
| AccessToken required | string Network operator authentication token from Cognito with payment analytics privileges |
| EmailAddress | string <email> Filter by customer email address |
| SubscriberToken | string Filter by specific subscriber authentication token |
| StripeCustomerID | string Filter by Stripe customer identifier |
| PhoneNumber.E164 | string Filter by phone number in E164 format |
| VenueID | string Filter by venue identifier |
| UnitID_internal | string Filter by internal unit identifier |
| ServicePlanID | string Filter by service plan identifier |
| externalSubscriberID | string Filter by external customer management system subscriber ID |
| externalSubscriptionID | string Filter by external subscription system identifier |
| externalVenueUnitID | string Filter by external unit identifier |
| externalVenueID | string Filter by external venue identifier |
| externalServicePlanID | string Filter by external service plan identifier |
| MaxStartDateTimeUTC.ISO8601 | string <date-time> Maximum subscription start date filter |
| MinStartDateTimeUTC.ISO8601 | string <date-time> Minimum subscription start date filter |
| MaxInvoiceDateTimeUTC.ISO8601 | string <date-time> Maximum invoice date filter |
| MinInvoiceDateTimeUTC.ISO8601 | string <date-time> Minimum invoice date filter (defaults to 2 years ago if not provided) |
{- "AccessToken": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9..."
}{- "message": "Payment transaction list retrieved successfully",
- "errorProcessing": false,
- "statusCode": 200,
- "PaymentCount": 2,
- "NonZeroPaymentCount": 2,
- "BillingCycleHours": 720,
- "DownloadKbps": 1024000,
- "UploadKbps": 1024000,
- "PricePerDownloadGbps.USD": 50,
- "VenuePriceAdjustment": -10,
- "VenueUnitPriceAdjustment": 0,
- "Payments": [
- {
- "PaymentIntentID": "PAY_2025091219350567890",
- "StripePaymentIntentId": "pi_1J5K6L7M8N9O0P1Q2R3S4T5U",
- "StripePaymentChargeId": "ch_1J5K6L7M8N9O0P1Q2R3S4T5U",
- "StripeCustomerID": "cus_MaZKJ01P3y8SZn",
- "SubscriberToken": "eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIn0...",
- "EmailAddress": "john.doe@example.com",
- "PhoneNumber.E164": "+12025551234",
- "GivenName": "John",
- "FamilyName": "Doe",
- "ServicePlanID": "USA.CA.90210.LUXURYAPTS.BEVERLYHILLS._V3SERVICEPLAN_.PREMIUM_1000_MBPS",
- "ServicePlanName": "Premium 1000 Mbps Internet",
- "VenueID": "USA.CA.90210.LUXURYAPTS.BEVERLYHILLS",
- "VenueName": "Luxury Apartments Beverly Hills",
- "UnitID_internal": "USA.CA.90210.LUXURYAPTS.BEVERLYHILLS.APT101",
- "UnitID": "Apt-101",
- "InvoiceDateTimeUTC.ISO8601": "2025-09-12T19:35:07.456Z",
- "StartDateTimeUTC.ISO8601": "2025-09-01T00:00:00Z",
- "EndDateTimeUTC.ISO8601": "2025-10-01T00:00:00Z",
- "BillingCycleHours": 720,
- "Currency": "USD",
- "CurrencySymbol": "$",
- "ListBillingCyclePrice": 99.99,
- "NetBillingCyclePrice": 89.99,
- "VenuePriceAdjustment": -10,
- "VenueUnitPriceAdjustment": 0,
- "BillingCyclePriceAdjustment": 0,
- "BillingCycleAdjustmentReasons": [ ],
- "DownloadKbps": 1024000,
- "UploadKbps": 1024000,
- "PaymentStatus": "succeeded"
}
], - "MaxInvoiceDateTimeUTC.ISO8601": "2025-12-31T23:59:59Z",
- "MinInvoiceDateTimeUTC.ISO8601": "2023-09-12T19:35:07.456Z"
}Access comprehensive payment history with multi-method transaction analytics including Stripe, offline, and manual payment processing.
| AccessToken required | string Network operator authentication token from Cognito with comprehensive payment analytics privileges |
| EmailAddress | string <email> Filter by customer email address |
| SubscriberToken | string Filter by specific subscriber authentication token |
| StripeCustomerID | string Filter by Stripe customer identifier |
| PhoneNumber.E164 | string Filter by phone number in E164 format |
| VenueID | string Filter by venue identifier |
| UnitID_internal | string Filter by internal unit identifier |
| ServicePlanID | string Filter by service plan identifier |
| externalSubscriberID | string Filter by external customer management system subscriber ID |
| externalSubscriptionID | string Filter by external subscription system identifier |
| externalVenueUnitID | string Filter by external unit identifier |
| externalVenueID | string Filter by external venue identifier |
| externalServicePlanID | string Filter by external service plan identifier |
| MaxStartDateTimeUTC.ISO8601 | string <date-time> Maximum subscription start date filter |
| MinStartDateTimeUTC.ISO8601 | string <date-time> Minimum subscription start date filter |
| MaxInvoiceDateTimeUTC.ISO8601 | string <date-time> Maximum invoice date filter |
| MinInvoiceDateTimeUTC.ISO8601 | string <date-time> Minimum invoice date filter (defaults to 2 years ago if not provided) |
| PaymentMethod | string Enum: "stripe" "cash" "bank_transfer" "check" "all" Filter by payment method type |
| PaymentStatus | string Enum: "succeeded" "pending" "failed" "refunded" "disputed" Filter by payment processing status |
| MinAmount | number <double> Minimum payment amount filter |
| MaxAmount | number <double> Maximum payment amount filter |
{- "AccessToken": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9..."
}{- "message": "Multi-method payment history retrieved successfully",
- "errorProcessing": false,
- "statusCode": 200,
- "PaymentCount": 3,
- "NonZeroPaymentCount": 3,
- "TotalRevenue": 269.97,
- "StripeRevenue": 179.98,
- "CashRevenue": 89.99,
- "PaymentMethodBreakdown": {
- "Stripe": 2,
- "Cash": 1
}, - "Payments": [
- {
- "PaymentIntentID": "PAY_2025091219350567890",
- "PaymentMethod": "stripe",
- "StripePaymentIntentId": "pi_1J5K6L7M8N9O0P1Q2R3S4T5U",
- "StripeCustomerID": "cus_MaZKJ01P3y8SZn",
- "SubscriberToken": "eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIn0...",
- "EmailAddress": "john.doe@example.com",
- "GivenName": "John",
- "FamilyName": "Doe",
- "ServicePlanName": "Premium 1000 Mbps Internet",
- "VenueName": "Luxury Apartments Beverly Hills",
- "UnitID": "Apt-101",
- "InvoiceDateTimeUTC.ISO8601": "2025-09-12T19:35:07.789Z",
- "PaymentDateTimeUTC.ISO8601": "2025-09-12T19:35:07.789Z",
- "Currency": "USD",
- "CurrencySymbol": "$",
- "NetBillingCyclePrice": 89.99,
- "ProcessingFee": 2.65,
- "NetAmount": 87.34,
- "PaymentStatus": "succeeded",
}, - {
- "PaymentIntentID": "PAY_2025091219350567891",
- "PaymentMethod": "cash",
- "CashReceiptNumber": "CASH_20250912_001",
- "SubscriberToken": "eyJzdWIiOiI5ODc2NTQzMjEwIiwibmFtZSI6IkphbmUgU21pdGgifQ...",
- "EmailAddress": "jane.smith@example.com",
- "GivenName": "Jane",
- "FamilyName": "Smith",
- "ServicePlanName": "Basic 100 Mbps Internet",
- "VenueName": "Luxury Apartments Beverly Hills",
- "UnitID": "Apt-202",
- "InvoiceDateTimeUTC.ISO8601": "2025-09-11T19:35:07.789Z",
- "PaymentDateTimeUTC.ISO8601": "2025-09-11T20:15:00.000Z",
- "Currency": "USD",
- "CurrencySymbol": "$",
- "NetBillingCyclePrice": 89.99,
- "ProcessingFee": 0,
- "NetAmount": 89.99,
- "PaymentStatus": "succeeded"
}
], - "MaxInvoiceDateTimeUTC.ISO8601": "2025-12-31T23:59:59Z",
- "MinInvoiceDateTimeUTC.ISO8601": "2023-09-12T19:35:07.789Z"
}Retrieve Stripe-hosted payment receipt URL for a completed transaction using StripeClientSecret identifier.
Required Parameters:
Returns:
| StripeClientSecret required | string The unique Stripe client secret identifier associated with the payment transaction. This secret is used to locate the specific payment intent and retrieve its associated receipt URL from the transaction records. |
Request to retrieve the receipt URL for a specific payment transaction
{- "StripeClientSecret": "pi_3JDOE2JdtcKntT1B0dPbfmtc_secret_0HfC5v2e"
}Receipt URL successfully retrieved for completed payment transaction
Retrieves display options for operator or venue interfaces, enabling dynamic UI configuration and branding. This endpoint supports access-based filtering with granular permission controls.
| AccessToken | string Authentication token for the current session (required if DisplayOptionID not provided) |
| DisplayOptionID | string ID to filter for a specific display option (required if AccessToken not provided) |
{- "AccessToken": "string",
- "DisplayOptionID": "string"
}{- "DisplayOptions": [
- {
- "DisplayOptionID": "string",
- "DisplayOptionName": "string",
- "DisplayOptionValue": "string"
}
], - "SupportedLocales": { },
- "message": "string",
- "errorProcessing": false
}Comprehensive venue management system for property owners, managers, and network operators to oversee venue operations and subscriber services.
Retrieve venues with role-based filtering and access control for venue management.
| AccessToken required | string Cognito authentication access token or empty string for public access.
|
Request from network operator with domain administrator privileges
{- "AccessToken": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9..."
}Object format with aggregated statistics for authenticated subscriber
{- "VenueList": {
- "venue_001": {
- "VenueID": "venue_001",
- "VenueName": "Downtown Apartments",
- "externalVenueID": "EXT_V_001",
- "AddressLine1": "123 Main Street",
- "City": "Chicago",
- "State": "IL",
- "PostalCode": "60601",
- "DisplayOptionID": "display_001",
- "ShoppingCart": {
- "enableShoppingCart": true
}, - "DailyReport": {
- "DeviceReportDateTimeUTC.ISO8601": "2025-01-15T14:30:15.123Z",
- "UnitCount_GlobalWirelessPlusLocalWiredAccess": 247,
- "UnitCount_LocalWirelessAccess": 89,
- "PolicyCount_GlobalWirelessPlusLocalWiredAccess": 198,
- "PolicyCount_LocalWirelessAccess": 67,
- "DeviceCount": 456,
- "OnlineDeviceCount": 389
}
}
}, - "VenueCount": 1,
- "UnitCount_GlobalWirelessPlusLocalWiredAccess": 247,
- "UnitCount_LocalWirelessAccess": 89,
- "PolicyCount_GlobalWirelessPlusLocalWiredAccess": 198,
- "PolicyCount_LocalWirelessAccess": 67,
- "DeviceCount": 456,
- "OnlineDeviceCount": 389,
- "errorProcessing": false,
- "message": "Venues retrieved successfully"
}Retrieves a list of unique building identifiers within a specified venue for property management and administrative purposes. This endpoint provides essential organizational data for multi-building properties by extracting distinct building names from all venue units.
Key Features:
Data Processing Flow:
Use Cases:
Access is controlled through Cognito authentication with venue-specific permissions ensuring users only access buildings in venues they are authorized to manage.
| AccessToken required | string Cognito authentication token for venue administrator access. The token must belong to a user with administrative permissions for the specified venue through the network operator relationship. |
| VenueID required | string Unique venue identifier to retrieve building information from. The system will query all venue units associated with this venue ID to extract unique building identifiers. |
Request from venue administrator to list buildings in their managed venue
{- "AccessToken": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...",
- "VenueID": "venue_12345"
}{- "UnitBuildings": [
- "A",
- "B",
- "C",
- "D"
], - "message": ""
}Retrieve comprehensive venue information including property management, network equipment, subscriber data, service plans, integrations, and display configurations.
Required Parameters:
Returns - Venue Profile:
Returns - Display Configuration:
Returns - Shopping Cart & Billing:
Returns - Subscription Configuration:
Returns - VLAN Configuration:
Returns - Integrations:
Returns - FCC Compliance:
Returns - Administrative Staff:
Additional Returns: Property management group details, network operator connections, WiFi keypools with SSIDs, core equipment status, available service plans, unit organization by building/floor, active subscriptions, and utilization metrics.
Access Control: Role-based venue visibility through Cognito authentication. Sensitive integration credentials are masked for venue management console users.
| AccessToken required | string Cognito authentication token for user verification and role-based access control. Must belong to a user with administrative access to the specified venue. |
| VenueID required | string^[a-zA-Z0-9_-]+$ Unique venue identifier to retrieve comprehensive details for |
Request from venue administrator to view detailed venue information
{- "AccessToken": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...",
- "VenueID": "venue_12345"
}{- "venue_12345": {
- "VenueID": "venue_12345",
- "VenueName": "Downtown Apartments",
- "AddressLine1": "123 Main Street",
- "City": "Chicago",
- "State": "IL",
- "TimeZoneOffset": -6,
- "PropertyManagementGroup": {
- "PropertyManagementGroupID": "pmg_001",
- "PropertyManagementGroupName": "Metro Property Management"
}, - "NetworkOperatorConnections": {
- "operator_001": {
- "NetworkOperatorName": "Metro WiFi Services",
- "AddressLine1": "456 Business Ave",
- "City": "Chicago",
- "State": "IL",
- "SupportEmailAddress": [
- "support@metrowifi.com"
], - "PhoneNumber.E164": "+15551234567"
}
}, - "Keypools": {
- "keypool_001": {
- "ssid": "MetroWiFi_Resident",
- "AuthenticationMechanism": "WPA2 PSK"
}
}, - "CoreEquipmentStatus": {
- "equipment_001": {
- "EquipmentID": "FW-001",
- "EquipmentType": "Firewall",
- "Status": "UP",
- "statusupdateDateTimeUTC.ISO8601": "2025-01-15T10:30:00.000Z"
}
}, - "CoreEquipmentCount": 5,
- "CoreEquipmentUPCount": 4,
- "AvailableServicePlans": [
- {
- "ServicePlanID": "plan_premium_001",
- "ServicePlanName": "Premium Internet Access"
}
], - "UnitsWithoutSubscriptionsCount": 12,
- "PendingAUP": 0
}
}Retrieve audit trail and activity logs for venue operations, administrative actions, and system events with chronological ordering.
Required Parameters:
Optional Parameters:
Log Categories: Configuration changes, administrative actions, system events, integration activities.
Filtering: Venue administrators see filtered logs (excludes network equipment and SIEM), network operators see complete logs. Returns most recent 100 entries with administrator profile enrichment.
| AccessToken required | string Cognito authentication token for venue administrator access with audit log permissions |
| VenueID required | string Unique venue identifier to retrieve activity logs for. The system queries audit logs associated with this venue ID including administrative actions and system events. |
| externalVenueID | string Optional external venue identifier used by integrated systems. When provided, the system automatically resolves this to the internal venue ID for log retrieval. Takes precedence over VenueID when both are specified. |
{- "AccessToken": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...",
- "VenueID": "venue_12345"
}{- "VenueID": "venue_12345",
- "log": [
- {
- "dateAddedUTC.ISO8601": "2024-09-11T15:30:45.123Z",
- "function_name": "vault_venuemgmtconsole_configureVenue",
- "event": {
- "message": "SupportPhoneNumber.E164 set to +1-555-0123. VenueName updated to 'Downtown Location'."
}, - "Administrator": "John Smith (john.smith@example.com)",
- "SourceIP": "192.168.1.100",
- "SourceLocale": "en-US,US",
- "AdministratorOS": "macOS 14.0",
- "AdministratorBrowser": "Chrome 118.0.0.0",
- "UnitID_internal": [ ],
- "ServicePlanID": [ ],
- "VenueID": [
- "venue_12345"
]
}, - {
- "dateAddedUTC.ISO8601": "2024-09-11T14:15:30.456Z",
- "function_name": "vault_venuemgmtconsole_addVenueUnit",
- "event": {
- "message": "Added unit Building-A-101 to venue. UnitType set to Studio.",
- "unitDetails": {
- "UnitName": "Building-A-101",
- "UnitType": "Studio",
- "Building": "A",
- "Floor": "1"
}
}, - "Administrator": "Jane Doe (jane.doe@property.com)",
- "SourceIP": "10.0.1.50",
- "SourceLocale": "en-US,US",
- "AdministratorOS": "Windows 11",
- "AdministratorBrowser": "Edge 118.0.1938.54",
- "UnitID_internal": [
- "unit_12345_001"
], - "ServicePlanID": [ ],
- "VenueID": [
- "venue_12345"
]
}
], - "message": ""
}Retrieves comprehensive daily bandwidth usage statistics for all units within a venue, providing detailed consumption data for network monitoring and billing purposes. The endpoint supports timezone-aware reporting with automatic date calculations based on venue location.
Key Features:
Usage Metrics Provided:
Date Processing:
Access Control: Access is controlled through Cognito authentication with venue-specific permissions. Users can only access usage data for venues they are authorized to manage.
| AccessToken required | string Cognito authentication token for venue administrator access |
| VenueID required | string Primary venue identifier. Can be either the internal venue ID or an external venue ID from integrated systems. The system automatically resolves external venue IDs to internal references for data retrieval. |
| externalVenueID | string Alternative external venue identifier used by integrated systems. When provided, this takes precedence over VenueID for venue identification. Supports mapping between external system IDs and internal venue references. |
| UsageReportStartDateUTC.ISO8601 | string <date-time> Optional specific date for usage report in ISO 8601 UTC format. When not provided, the system defaults to returning the previous day's usage data adjusted for the venue's local timezone. Date Processing:
|
{- "AccessToken": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...",
- "VenueID": "venue_12345",
- "UsageReportStartDateUTC.ISO8601": "2024-09-10T00:00:00.000Z"
}{- "UsageData": [
- {
- "UnitID_internal": "unit_12345_001",
- "UnitID": "101",
- "UnitBuilding": "A",
- "UnitFloor": "1",
- "UsageReportDateUTC.ISO8601": "2024-09-10T23:59:59.999Z",
- "Acct-Input-Octets": 2147483648,
- "Acct-Output-Octets": 536870912,
- "Acct-Total-Octets": 2684354560
}, - {
- "UnitID_internal": "unit_12345_002",
- "UnitID": "102",
- "UnitBuilding": "A",
- "UnitFloor": "1",
- "UsageReportDateUTC.ISO8601": "2024-09-10T23:59:59.999Z",
- "Acct-Input-Octets": 1073741824,
- "Acct-Output-Octets": 268435456,
- "Acct-Total-Octets": 1342177280
}, - {
- "UnitID_internal": "unit_12345_003",
- "UnitID": "201",
- "UnitBuilding": "A",
- "UnitFloor": "2",
- "UsageReportDateUTC.ISO8601": "2024-09-10T23:59:59.999Z",
- "Acct-Input-Octets": 536870912,
- "Acct-Output-Octets": 134217728,
- "Acct-Total-Octets": 671088640
}
], - "message": ""
}Updates venue contact information including primary contact details and support configuration. This endpoint allows venue administrators to modify essential contact data with input validation, sanitization, and comprehensive audit logging.
Key Features:
Input Processing:
Validation Rules:
Audit Logging:
Data Flow:
Access is controlled through Cognito authentication with venue administrator permissions ensuring users can only modify venues they are authorized to manage.
| AccessToken required | string Administrator access token for authentication |
| VenueID required | string Unique identifier of the venue to configure |
| PrimaryContactGivenName | string <= 40 characters Primary contact's first/given name (max 40 characters, HTML sanitized) |
| PrimaryContactFamilyName | string <= 40 characters Primary contact's last/family name (max 40 characters, HTML sanitized) |
| PrimaryContactEmailAddress | string <email> Primary contact's email address (becomes support email, RFC validated) |
| PrimaryContactPhoneNumber.E164 | string Primary contact's phone number (will be validated and formatted to E.164) |
| Country.ISO3166A3 | string Three-letter country code for phone number validation (defaults to 'USA') |
{- "AccessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
- "VenueID": "venue_12345",
- "PrimaryContactGivenName": "John",
- "PrimaryContactFamilyName": "Smith",
- "PrimaryContactEmailAddress": "john.smith@hotel.com",
- "PrimaryContactPhoneNumber.E164": "+1-555-123-4567",
- "Country.ISO3166A3": "USA"
}{- "message": "PrimaryContactGivenName set to John. PrimaryContactFamilyName set to Smith. SupportEmailAddress set to john.smith@hotel.com. SupportPhoneNumber.E164 set to +15551234567."
}Retrieves comprehensive daily bandwidth usage data and historical consumption patterns for a specific venue unit over the last 180 days. This endpoint provides detailed analytics for unit-level bandwidth monitoring and capacity planning.
Key Features:
Usage Metrics Provided:
Data Processing Flow:
Cache Strategy:
Time Window Processing:
Access is controlled through Cognito authentication with venue-specific permissions ensuring users only access usage data for venue units they are authorized to manage.
| AccessToken required | string Valid Cognito access token for authentication and authorization |
| VenueID required | string Internal venue identifier (required for venue management console access) |
| externalVenueID | string External venue identifier (alternative to VenueID for integration purposes) |
| UnitID_internal required | string Internal venue unit identifier for which usage data is requested |
| externalVenueUnitID | string External venue unit identifier (alternative to UnitID_internal for integration) |
{- "AccessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
- "VenueID": "venue_12345",
- "UnitID_internal": "venue_12345.UNIT101.BLDG1.FLOOR2"
}{- "message": "",
- "UsageData": [
- {
- "ReportingTimestamp": "2024-12-10T00:00:00.001Z",
- "UsageReportDateUTC.ISO8601": "2024-12-10T00:00:00.001Z",
- "Acct-Input-Octets": 1048576000,
- "Acct-Output-Octets": 2097152000,
- "Acct-Total-Octets": 3145728000
}, - {
- "ReportingTimestamp": "2024-12-11T00:00:00.001Z",
- "UsageReportDateUTC.ISO8601": "2024-12-11T00:00:00.001Z",
- "Acct-Input-Octets": 2097152000,
- "Acct-Output-Octets": 1572864000,
- "Acct-Total-Octets": 3670016000
}
]
}Retrieves comprehensive audit trail and activity logs for a specific venue unit, including administrative actions, configuration changes, and system events with chronological ordering and administrator identification.
Key Features:
Unit Identification Methods:
Log Categories:
Filtering by Role:
Data Processing Flow:
Access is controlled through Cognito authentication with venue-specific permissions ensuring users only access logs for venue units they are authorized to manage.
| AccessToken required | string Valid Cognito access token for authentication and authorization |
| VenueID | string Internal venue identifier (optional if UnitID_internal is provided) |
| externalVenueID | string External venue identifier for property management integration |
| UnitID_internal | string Internal venue unit identifier for log retrieval |
| externalVenueUnitID | string External venue unit identifier (requires VenueID or externalVenueID) |
{- "AccessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
- "UnitID_internal": "venue_12345.UNIT101.BLDG1.FLOOR2"
}{- "message": "",
- "UnitID_internal": "venue_12345.UNIT101.BLDG1.FLOOR2",
- "log": [
- {
- "dateAddedUTC.ISO8601": "2024-12-18T10:30:15.123Z",
- "function_name": "vault_venuemgmtconsole_addSubscriber",
- "event": {
- "message": "New subscriber account created for unit",
- "subscriberToken": "sub_abc123def456"
}, - "Administrator": "John Smith (admin@venue.com)",
- "SourceIP": "192.168.1.100",
- "SourceLocale": "en-US",
- "UnitID_internal": [
- "venue_12345.UNIT101.BLDG1.FLOOR2"
], - "VenueID": [
- "venue_12345"
]
}, - {
- "dateAddedUTC.ISO8601": "2024-12-18T09:15:30.456Z",
- "function_name": "vault_venuemgmtconsole_configureVenueUnit",
- "event": {
- "message": "Unit configuration updated",
- "changes": "SSID updated, price adjustment applied"
}, - "Administrator": "Jane Doe (jane@venue.com)",
- "SourceIP": "10.0.0.50",
- "SourceLocale": "en-US",
- "UnitID_internal": [
- "venue_12345.UNIT101.BLDG1.FLOOR2"
]
}
]
}Get complete venue portfolio with operational status, performance metrics, and role-based access control. Returns venue identification, address details, contact info, unit/policy/device counts, daily report metrics, shopping cart configuration, and real-time online device status. Access level determines data visibility: network operators get full portfolio, venue administrators get assigned venues only, subscribers get personal usage stats, public access gets shopping-cart-enabled venues only.
| AccessToken required | string Authentication token with appropriate access level for venue portfolio retrieval |
| VenueID required | string Venue identifier for API context (required for operator console endpoints) |
{- "AccessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvcGVyYXRvcl8xMjMiLCJpYXQiOjE2ODQ1NjcxMjN9...",
- "VenueID": "venue_hotel_downtown"
}{- "errorProcessing": false,
- "message": "Venue portfolio retrieved successfully",
- "VenueCount": 3,
- "VenueList": {
- "venue_hotel_downtown._V3VENUE.12345": {
- "VenueID": "venue_hotel_downtown._V3VENUE.12345",
- "VenueName": "Downtown Hotel & Conference Center",
- "externalVenueID": "PMS_VENUE_001",
- "AddressLine1": "123 Hotel Plaza Drive",
- "City": "Downtown",
- "State": "CA",
- "PostalCode": "90210",
- "Country": "USA",
- "SupportEmailAddress": "support@hotelnetwork.com",
- "SupportPhoneNumber.E164": "+1-555-123-4567",
- "DisplayOptionID": "display_config_hotel_001",
- "ShoppingCart": {
- "enableShoppingCart": true
}, - "DailyReport": {
- "DeviceReportDateTimeUTC.ISO8601": "2025-09-11T18:30:00.000Z",
- "UnitCount_GlobalWirelessPlusLocalWiredAccess": 150,
- "UnitCount_LocalWirelessAccess": 75,
- "UnitCount_GlobalWirelessRoaming": 25,
- "PolicyCount_GlobalWirelessPlusLocalWiredAccess": 142,
- "PolicyCount_LocalWirelessAccess": 71,
- "DeviceCount": 425,
- "OnlineDeviceCount": 387
}
}, - "venue_resort_beachfront._V3VENUE.67890": {
- "VenueID": "venue_resort_beachfront._V3VENUE.67890",
- "VenueName": "Beachfront Resort & Spa",
- "externalVenueID": "PMS_VENUE_002",
- "AddressLine1": "456 Ocean Boulevard",
- "City": "Beachside",
- "State": "CA",
- "PostalCode": "90211",
- "Country": "USA",
- "SupportEmailAddress": "support@beachfrontresort.com",
- "SupportPhoneNumber.E164": "+1-555-234-5678",
- "DisplayOptionID": "display_config_resort_001",
- "ShoppingCart": {
- "enableShoppingCart": true
}, - "DailyReport": {
- "DeviceReportDateTimeUTC.ISO8601": "2025-09-11T18:30:00.000Z",
- "UnitCount_GlobalWirelessPlusLocalWiredAccess": 200,
- "UnitCount_LocalWirelessAccess": 100,
- "UnitCount_GlobalWirelessRoaming": 50,
- "PolicyCount_GlobalWirelessPlusLocalWiredAccess": 189,
- "PolicyCount_LocalWirelessAccess": 95,
- "DeviceCount": 650,
- "OnlineDeviceCount": 598
}
}
}
}Create and register new venue with complete address validation and network integration. Requires address fields (VenueName, AddressLine1, City, State, Country ISO 3166 Alpha-3, PostalCode), supports optional AddressLine2/3. Network operator domain administrator access required.
| AccessToken required | string Network operator authentication token |
| VenueName required | string Descriptive name for the venue |
| AddressLine1 required | string Primary address line (street number and name) |
| AddressLine2 | string Secondary address information (optional) |
| AddressLine3 | string Additional address details (optional) |
| City required | string City or municipality name |
| State required | string State, province, or administrative region |
| Country required | string ISO 3166 Alpha-3 country code |
| PostalCode required | string Postal or ZIP code |
| Country.ISO3166A3 | string Alternative country code field (mapped to Country) |
{- "AccessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
- "VenueName": "Downtown Business Hotel",
- "AddressLine1": "123 Main Street",
- "City": "Chicago",
- "State": "Illinois",
- "Country": "USA",
- "PostalCode": "60601"
}{- "message": "Venue created successfully",
- "VenueID": "venue_downtown_hotel_001",
- "Address": {
- "FormattedAddress": "123 Main Street, Chicago, Illinois 60601, USA",
- "GeographicCoordinates": {
- "Latitude": 41.8781,
- "Longitude": -87.6298
}
}, - "NetworkConfiguration": {
- "OperatorAssignment": "op_network_001",
- "RegionalSettings": {
- "Region": "us-central",
- "TimeZone": "America/Chicago"
}
}
}Configure venue network equipment settings including gateways and network infrastructure. Updates equipment parameters such as IP addresses, credentials, manufacturer settings, and operational status. Supports gateway configuration reset and ACL management for MikroTik devices.
Key Features:
Equipment Types: Gateway equipment enforces a maximum limit of 3 gateways per venue.
Gateway Configuration Reset: When resetAllSubscriptions=true and equipment type is Gateway, all subscriptions at the venue have their gatewayConfigured properties removed, forcing reconfiguration on next scheduler cycle. This also resets gateway error counters.
ACL Update Process: When updateACL=true, updates MikroTik gateway firewall rules to allow incoming connections from Vault API servers. Environment-specific IP addresses are automatically selected based on deployment domain (wifikey.link, roamingiqtest.com, api.wifikey.io, apiaus.wifikey.io).
| AccessToken required | string Authentication token for network operator access - requires NetworkOperator or NetworkSoftwareProvider role |
| VenueID required | string [ 5 .. 100 ] characters Internal Vault venue identifier where equipment is located |
| EquipmentID required | string [ 5 .. 100 ] characters Unique identifier for the network equipment to configure |
| Manufacturer | string Enum: "MikroTik" "Mikrotik" "Nomadix" "Peplink" "PepLink" "RiQ" Equipment manufacturer - MikroTik, Nomadix, Peplink, or RiQ |
| Model | string <= 40 characters Equipment model designation - sanitized and limited to 40 characters |
| EquipmentType | string <= 20 characters Equipment classification - Gateway type enforces 3 gateway per venue limit. Change requires VenueEquipmentUpdater role if equipment already configured. |
| WirelessZone | string <= 40 characters Wireless network zone designation - sanitized and limited to 40 characters |
| MikrotikPre643 | boolean Flag indicating MikroTik RouterOS version prior to 6.43 (affects API communication protocol) |
| ConnectionProtocol | string Enum: "http" "https" Communication protocol for equipment API access |
| IPAddress | string <ipv4> Equipment IPv4 or IPv6 address - validated with validator.isIP() |
| Port | string^[0-9]{1,5}$ Equipment API port number - validated with validator.isPort() |
| Username | string <= 64 characters Equipment authentication username - sanitized and limited to 64 characters |
| Password | string <password> <= 100 characters Equipment authentication password - sanitized and limited to 100 characters. Not returned in audit logs. |
| Status | string Enum: "UP" "DOWN" Equipment operational status - setting to UP resets gateway error counters |
| resetAllSubscriptions | boolean When true and equipment is a Gateway, removes gatewayConfigured properties from all venue subscriptions and payment intents, forcing reconfiguration. Also resets gateway error counters. |
| updateACL | boolean Update MikroTik gateway ACL to allow connections from Vault API servers. Automatically selects environment-specific IP addresses. |
Update MikroTik gateway settings and refresh ACL rules
{- "AccessToken": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...",
- "VenueID": "venue_abc123",
- "EquipmentID": "gw_mikrotik_001",
- "Manufacturer": "MikroTik",
- "Model": "RB4011iGS+5HacQ2HnD-IN",
- "EquipmentType": "Gateway",
- "ConnectionProtocol": "https",
- "IPAddress": "192.168.1.1",
- "Port": "8728",
- "Username": "admin",
- "Password": "SecurePassword123",
- "MikrotikPre643": false,
- "Status": "UP",
- "updateACL": true
}{- "message": "Updated Manufacturer = MikroTik. Updated Model = RB4011iGS+5HacQ2HnD-IN. Updated IPAddress to 192.168.1.1. Updated Port to 8728. Updating Status to UP. Updated ACL. ",
- "errorProcessing": false,
- "statusCode": 200,
- "update_acl": {
- "UpdateACL": {
- "FilterRules": {
- "SuccessAdd": 2,
- "FailedAdd": 0
}, - "AddAddressList": {
- "SuccessAdd": 1,
- "FailedAdd": 0
}, - "Service": {
- "API": {
- "UpdateStatus": "Success"
}, - "API-SSL": {
- "UpdateStatus": "Success"
}
}
}
}
}Retrieve all units within a venue with complete configuration data including unit identification (UnitID_internal, UnitID, externalVenueUnitID), address details (AddressLine1/2, City, State, PostalCode, Country ISO 3166 Alpha-3), building/floor information, unit classification (purpose type), and SMS codes. Supports querying by VenueID or externalVenueID. Returns VenueUnitCount and VenueUnits array with comprehensive unit details.
| AccessToken required | string Authentication token for network operator access |
| VenueID | string Internal Vault venue identifier for unit retrieval |
| externalVenueID | string External property management system venue identifier |
{- "AccessToken": "string",
- "VenueID": "venue_12345",
- "externalVenueID": "PMS_VENUE_001"
}{- "VenueUnitCount": 2,
- "VenueUnits": [
- {
- "UnitID_internal": "unit_12345",
- "UnitID": "APT-101",
- "externalVenueUnitID": "PMS_UNIT_101",
- "purpose": "wiredunit",
- "UnitFloor": "1",
- "UnitBuilding": "Main Building",
- "AddressLine1": "123 Main Street, Apt 101",
- "AddressLine2": "",
- "City": "New York",
- "State": "NY",
- "PostalCode": "10001",
- "Country.ISO3166A3": "USA",
- "SMSCode": "NYC101"
}, - {
- "UnitID_internal": "unit_12346",
- "UnitID": "APT-102",
- "externalVenueUnitID": "PMS_UNIT_102",
- "purpose": "localwirelessonly",
- "UnitFloor": "1",
- "UnitBuilding": "Main Building",
- "AddressLine1": "123 Main Street, Apt 102",
- "AddressLine2": "",
- "City": "New York",
- "State": "NY",
- "PostalCode": "10001",
- "Country.ISO3166A3": "USA",
- "SMSCode": "NYC102"
}
], - "dateUpdated": "2025-09-12T10:45:23.456Z"
}Add venue unit to venue with automatic VLAN generation and configuration. Creates venue_unit vertices in Neptune with address validation, purpose-based VLAN assignment, and webhook notifications. This endpoint uses a regional proxy pattern where requests are validated locally and forwarded to the primary region for execution.
Architecture Pattern:
Access Control - Role Hierarchy:
Required Parameters:
Execution Flow:
Business Logic (Venue.addUnit in Primary Region):
VLAN Auto-Generation Algorithm:
wiredunit: MinimumAutoGeneratedVLAN_GlobalWirelessPlusLocalWiredAccess to MaximumAutoGeneratedVLAN_GlobalWirelessPlusLocalWiredAccesslocalwirelessonly: MinimumAutoGeneratedVLAN_LocalWirelessAccess to MaximumAutoGeneratedVLAN_LocalWirelessAccessglobalroaming: Uses venue/operator VLAN ranges (similar to wiredunit)UnitID_internal Construction:
Location Data Hierarchy:
Unit Purpose Types:
wiredunit - Global wireless + local wired access (default, uses GlobalWirelessPlusLocalWiredAccess VLAN range)localwirelessonly - Local wireless access only, no roaming (uses LocalWirelessAccess VLAN range)globalroaming - Global wireless roaming without local wired (uses GlobalWirelessRoaming VLAN range)Validation Rules:
Error Scenarios:
Response Handling:
Performance Characteristics:
Integration Points:
Webhook Event:
Features:
| AccessToken required | string Network operator authentication token with domain administrator privileges |
| VenueID required | string Target venue identifier for unit creation (supports external venue ID lookup) |
| externalVenueID | string External venue identifier for property management system integration |
| UnitID required | string Unique unit identifier (auto-generated from address if not provided) |
| UnitBuilding required | string Building designation within venue complex (required, max 20 chars, defaults to 'DEFAULT') |
| UnitFloor required | string Floor or level designation (required, max 20 chars, defaults to 'DEFAULT') |
| AddressLine1 | string Primary unit address (inherits from venue if not provided) |
| AddressLine2 | string Secondary address information (optional unit-specific details) |
| City | string Municipality designation (inherits from venue if not provided) |
| State | string State or province identifier (inherits from venue if not provided) |
| PostalCode | string Postal or ZIP code (inherits from venue if not provided) |
| Country.ISO3166A3 | string ISO 3166 Alpha-3 country code (inherits from venue if not provided) |
| purpose | string Default: "wiredunit" Enum: "wiredunit" "localwirelessonly" "globalroaming" Unit type classification for network access configuration |
| vlan | integer [ 1 .. 4095 ] Optional VLAN assignment (auto-generated if not provided, range 1-4095) |
| PrimaryUnitID_internal | string Internal primary unit identifier for unit relationships |
| PrimaryUnitID | string Primary unit identifier for unit management |
| RealPageUnitID | integer RealPage property management system unit identifier |
{- "AccessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvcGVyYXRvcl8xMjMiLCJpYXQiOjE2ODQ1NjcxMjN9...",
- "VenueID": "venue_hotel_downtown._V3VENUE.12345",
- "UnitID": "101",
- "UnitBuilding": "Building-A",
- "UnitFloor": "1",
- "AddressLine1": "123 Hotel Plaza Drive, Unit 101",
- "AddressLine2": "Suite 101",
- "City": "Downtown",
- "State": "CA",
- "PostalCode": "90210",
- "Country.ISO3166A3": "USA",
- "purpose": "wiredunit"
}{- "errorProcessing": false,
- "message": "Unit added.",
- "UnitID_internal": "venue_hotel_downtown._V3VENUE.12345.101.BUILDING-A.1",
- "VenueID": "venue_hotel_downtown._V3VENUE.12345",
- "vlan": 101
}Update venue physical address and location details including street addresses (AddressLine1/2 max 40 chars), city, postal code, and geographic coordinates. Address updates synchronized across all related venue units, subscriptions, and payment records. Validates address uniqueness within operator's venue portfolio. Uses configureVenue implementation. Domain administrator access required.
| AccessToken required | string Administrative access token with NetworkOperator domain administrator privileges required for venue address modifications |
| VenueID required | string Unique identifier of the venue whose address information will be updated. Must be a venue within the operator's managed portfolio. |
| VenueName | string <= 40 characters Updated venue name or location identifier. Limited to 40 characters and sanitized to remove HTML tags and special characters. |
| AddressLine1 | string <= 40 characters Primary street address line including building number and street name. Sanitized input limited to 40 characters. |
| AddressLine2 | string <= 40 characters Secondary address line for suite, apartment, or unit details. Optional field that can be removed by sending a single space character. Limited to 40 characters. |
| City | string <= 40 characters City or municipality name for the venue location. HTML tags and special characters are sanitized. Limited to 40 characters. |
| PostalCode | string Postal or ZIP code for the venue address. Validated using international postal code formats to ensure accuracy. |
| externalVenueID | string <= 64 characters External system identifier for venue integration with third-party management platforms. Can be removed by sending a single space character. Limited to 64 characters. |
Update all address components for a venue location
{- "AccessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
- "VenueID": "venue_12345678-90ab-cdef-1234-567890abcdef",
- "VenueName": "Downtown Business Center",
- "AddressLine1": "123 Main Street",
- "AddressLine2": "Suite 100",
- "City": "New York",
- "PostalCode": "10001",
- "externalVenueID": "EXT_VENUE_001"
}Address components successfully updated with audit details
{- "message": "Updated VenueName = Downtown Business Center. Updated AddressLine1 = 123 Main Street. Updated City = New York. Updated PostalCode = 10001.",
- "errorProcessing": false,
- "statusCode": 200
}Configure ConnectWise PSA integration for automated ticketing and service management. Requires URL (HTTPS required), Authorization token, optional serviceboardid for ticket routing, ClientID for API authentication, and CompanyID for venue mapping. Enables automatic support ticket creation and company tracking. Domain administrator access required. Uses configureVenue implementation with field mapping support for legacy compatibility.
| AccessToken required | string Domain administrator access token with venue configuration privileges |
| VenueID required | string Unique venue identifier for ConnectWise integration setup |
| URL required | string <uri> ConnectWise PSA server URL (HTTPS required) |
| Authorization required | string ConnectWise API authorization token for PSA system access |
| serviceboardid | string ConnectWise service board identifier for ticket routing |
| ClientID | string ConnectWise client identifier for API authentication |
| CompanyID | string ConnectWise company record identifier for venue mapping |
{- "AccessToken": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...",
- "VenueID": "USA.CA.90210.HOSPITALITY.BEVERLYHILLS._V3VENUE_.USA.CA.90210.LUXURYHOTEL.BEVERLYHILLS",
- "Authorization": "Basic dXNlcm5hbWU6cGFzc3dvcmQ=",
- "serviceboardid": "Support Board",
- "ClientID": "MyCompanyIntegration",
- "CompanyID": "LUXURYHOTEL"
}{- "message": "ConnectWise PSA integration configured successfully. Service board mapped to Support Board.",
- "errorProcessing": false,
- "VenueID": "USA.CA.90210.HOSPITALITY.BEVERLYHILLS._V3VENUE_.USA.CA.90210.LUXURYHOTEL.BEVERLYHILLS"
}Configure PRTG (Paessler Router Traffic Grapher) monitoring system integration for venue-specific network equipment monitoring.
⚠️ Deprecated: Sunset date 2040-12-30.
Required Parameters:
Monitoring Capabilities:
Features:
| AccessToken required | string Network operator authentication token with domain administrator privileges |
| VenueID required | string Unique venue identifier for PRTG integration configuration |
required | object |
{- "AccessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
- "VenueID": "venue_12345",
- "Integrations": {
- "PRTG": {
- "Username": "monitoring_user",
- "PasswordHash": "1234567890"
}
}
}{- "message": "PRTG monitoring integration configured successfully",
- "VenueID": "venue_12345",
- "monitoring_status": "enabled",
- "integration_details": {
- "username": "monitoring_user",
- "sensors_configured": 25
}
}Activate service plan for subscriber access at venue by establishing service plan-venue association. Validates service plan and venue existence within operator portfolio, prevents duplicate associations, and automatically syncs to backup systems. Supports domain administrator, account manager, and customer support access roles. Enables subscriber provisioning, service discovery, and self-service plan selection. Cache automatically updated for service plan availability queries. Network operator authentication required.
| AccessToken required | string Authentication token for network operator access |
| ServicePlanID required | string Service plan identifier to activate at venue |
| VenueID required | string Venue identifier where service plan will be enabled |
{- "AccessToken": "string",
- "ServicePlanID": "plan_12345",
- "VenueID": "venue_67890"
}{- "ServicePlanID": "plan_12345",
- "VenueID": "venue_67890",
- "message": "Service plan Premium WiFi enabled for Downtown Hotel"
}Remove service plan from venue offerings, preventing new subscriber selections while maintaining existing active subscriptions. Validates operator ownership and creates audit trail. Network operator authentication required.
| AccessToken required | string Network operator authentication token |
| VenueID required | string Unique identifier of the venue where the service plan should be disabled |
| ServicePlanID required | string Unique identifier of the service plan to disable at the venue |
{- "AccessToken": "string",
- "VenueID": "string",
- "ServicePlanID": "string"
}{- "message": "string",
- "ServicePlanID": "string"
}⚠️ CRITICAL WARNING: This operation cannot be undone and permanently removes ALL venue data including property information, tenant records, staff assignments, network configurations, subscriber accounts, and historical analytics.
Required Parameters:
Optional Parameters:
Data Deleted: Units, staff, subscribers, equipment, billing history, usage analytics, operational logs, network configurations.
Process: Multiple confirmation steps, complete audit trail, optional scheduled deletion with stakeholder notifications.
| AccessToken required | string Network operator authentication token with administrative deletion privileges |
| VenueID required | string Target venue identifier for permanent deletion |
| DeletionReason required | string Enum: "BusinessClosure" "ContractTermination" "DataMigration" "RegulatoryCompliance" "SecurityIncident" Business justification for venue deletion |
| ConfirmationCode required | string^DELETE-VENUE-[A-Z0-9]{4}$ Security confirmation code to verify intentional deletion (format: DELETE-VENUE-XXXX) |
| DataRetentionCompliance required | boolean Confirmation that data deletion meets regulatory compliance requirements |
| ScheduledDeletionDate | string <date-time> Optional scheduled deletion date for planned business operations |
| DataExportRequired | boolean Request data export before deletion for business continuity |
object | |
| AuditDocumentation | string Additional compliance documentation and business justification |
{- "AccessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
- "VenueID": "VENUE_12345",
- "DeletionReason": "BusinessClosure",
- "ConfirmationCode": "DELETE-VENUE-A1B2",
- "DataRetentionCompliance": true,
- "NotificationPreferences": {
- "NotifyStakeholders": true,
- "NotificationMethod": "email",
- "IncludeAuditReport": true
}, - "AuditDocumentation": "Property closure due to end of lease agreement - Legal Case #LG-2024-001"
}{- "success": true,
- "deletionId": "DEL_987654321",
- "venue": {
- "venueId": "VENUE_12345",
- "venueName": "Downtown Apartment Complex",
- "deletionTimestamp": "2024-01-15T10:30:00Z"
}, - "deletedData": {
- "venueUnits": 150,
- "networkEquipment": 25,
- "customerRecords": 300,
- "staffAssignments": 8,
- "auditRecords": 15420
}, - "audit": {
- "auditTrailId": "AUDIT_456789012",
- "performedBy": "admin@networkprovider.com",
- "complianceStatus": "COMPLIANT",
- "dataRetentionPeriod": "90 days"
}, - "notifications": {
- "stakeholdersNotified": 12,
- "notificationStatus": "DELIVERED"
}
}⚠️ WARNING: This removes ALL units and tenant data from the venue permanently while preserving venue infrastructure.
Required Parameters:
Optional Parameters:
Removes: All residential/commercial unit records, tenant profiles, unit-specific equipment, billing history, usage analytics.
Preserves: Venue infrastructure, core network equipment, venue staff access.
| AccessToken required | string Network operator authentication token with administrative deletion privileges |
| VenueID required | string Target venue identifier for bulk unit deletion |
| DeletionReason required | string Enum: "PropertyRenovation" "PortfolioRestructuring" "SystemMigration" "RegulatoryCompliance" "BusinessConversion" Business justification for bulk unit deletion |
| ConfirmationCode required | string^DELETE-UNITS-[A-Z0-9]{4}$ Security confirmation code to verify intentional bulk deletion (format: DELETE-UNITS-XXXX) |
| UnitCountConfirmation required | integer >= 1 Exact number of units being deleted for verification |
| PreserveTenantData | boolean Default: false Option to preserve tenant data for business continuity |
| ScheduledDeletionDate | string <date-time> Optional scheduled deletion date for planned operations |
| DataExportRequired | boolean Request data export before deletion for historical records |
object | |
| AuditDocumentation | string Additional compliance documentation and business justification |
{- "AccessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
- "VenueID": "VENUE_12345",
- "DeletionReason": "PropertyRenovation",
- "ConfirmationCode": "DELETE-UNITS-C3D4",
- "UnitCountConfirmation": 150,
- "DataExportRequired": true,
- "NotificationPreferences": {
- "NotifyTenants": true,
- "NotifyStakeholders": true,
- "NotificationMethod": "email",
- "IncludeProgressUpdates": true
}, - "AuditDocumentation": "Property renovation project requiring complete unit reconfiguration - Project #REN-2024-003"
}{- "success": true,
- "deletionId": "BULK_DEL_456789123",
- "venue": {
- "venueId": "VENUE_12345",
- "venueName": "Downtown Apartment Complex",
- "remainingUnits": 0
}, - "deletionSummary": {
- "totalUnitsDeleted": 150,
- "tenantRecordsRemoved": 300,
- "deviceAssignments": 450,
- "networkConfigurations": 150,
- "auditRecords": 25670,
- "processingDuration": "15 minutes 32 seconds"
}, - "dataExport": {
- "exportGenerated": true,
- "exportFileLocation": "s3://vault-data-exports/VENUE_12345/units-export-2024-01-15.zip",
- "exportSize": "1.2 GB"
}, - "audit": {
- "auditTrailId": "AUDIT_789012345",
- "performedBy": "admin@networkprovider.com",
- "deletionTimestamp": "2024-01-15T11:45:32Z",
- "complianceStatus": "COMPLIANT"
}, - "notifications": {
- "tenantsNotified": 300,
- "stakeholdersNotified": 15,
- "notificationStatus": "DELIVERED"
}
}Permanently delete specific unit and all tenant data while preserving venue and other units.
Required Parameters:
Optional Parameters:
Removes: Unit profile, tenant records, unit-specific network devices, billing history, usage analytics, support tickets.
Preserves: Venue infrastructure, other units, venue staff settings, shared network equipment.
| AccessToken required | string Network operator authentication token with administrative deletion privileges |
| VenueID required | string Parent venue identifier containing the target unit |
| UnitID required | string Specific unit identifier for targeted deletion |
| DeletionReason required | string Enum: "TenantMoveOut" "UnitRenovation" "PropertyRestructuring" "RegulatoryCompliance" "EquipmentFailure" Business justification for unit deletion |
| ConfirmationCode required | string^DELETE-UNIT-[A-Z0-9]{4}$ Security confirmation code to verify intentional unit deletion (format: DELETE-UNIT-XXXX) |
| PreserveTenantData | boolean Default: false Option to preserve tenant data for business continuity |
| ScheduledDeletionDate | string <date-time> Optional scheduled deletion date for planned operations |
| DataExportRequired | boolean Request data export before deletion for historical records |
object | |
| AuditDocumentation | string Additional compliance documentation and business justification |
{- "AccessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
- "VenueID": "VENUE_12345",
- "UnitID": "UNIT_A101",
- "DeletionReason": "TenantMoveOut",
- "ConfirmationCode": "DELETE-UNIT-E5F6",
- "DataExportRequired": true,
- "NotificationPreferences": {
- "NotifyTenant": true,
- "NotifyVenueManager": true,
- "NotificationMethod": "email"
}, - "AuditDocumentation": "Tenant move-out completed - Unit A101 ready for renovation project REN-2025-004"
}{- "success": true,
- "deletionId": "UNIT_DEL_123456789",
- "unit": {
- "unitId": "UNIT_A101",
- "unitName": "Apartment A101",
- "venueId": "VENUE_12345",
- "deletionTimestamp": "2025-09-12T14:30:00Z"
}, - "deletedData": {
- "tenantRecords": 2,
- "deviceAssignments": 3,
- "networkConfigurations": 1,
- "billingRecords": 12,
- "auditRecords": 145
}, - "dataExport": {
- "exportGenerated": true,
- "exportFileLocation": "s3://vault-data-exports/VENUE_12345/unit-A101-export-2025-09-12.zip",
- "exportSize": "15.3 MB"
}, - "audit": {
- "auditTrailId": "AUDIT_987654321",
- "performedBy": "admin@networkprovider.com",
- "complianceStatus": "COMPLIANT"
}, - "notifications": {
- "tenantNotified": true,
- "stakeholdersNotified": 3,
- "notificationStatus": "DELIVERED"
}
}Resend Terms & Conditions notifications to subscribers who completed setup intent but need communications resent through preferred channel.
Required Parameters:
Optional Parameters:
Core Functionality:
Returns: Success confirmation with delivery status.
| AccessToken required | string Cognito authentication token for venue administrator with network operator permissions |
| VenueID required | string Unique venue identifier where the subscriber has a setup intent with delayed billing |
| EmailAddress required | string <email> Subscriber email address for identification (one identification method required) |
| PhoneNumber | string Subscriber phone number for identification (one identification method required) |
| SubscriberToken | string Internal subscriber token for direct identification (one identification method required) |
| NotificationChannel | string Enum: "email" "sms" Preferred notification delivery method for Terms & Conditions communication |
Venue administrator resending Terms & Conditions email using subscriber email
{- "AccessToken": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...",
- "VenueID": "venue_12345",
- "EmailAddress": "guest@grandhotel.com"
}Terms & Conditions email delivered successfully
{- "message": "",
- "errorProcessing": false
}Retrieve connected property management organizations for network operators.
Required Parameters:
Processing:
Returns:
Use Cases: Business development, partnership management, operational coordination between property managers and network operators.
| AccessToken required | string Valid network operator authentication token |
{- "AccessToken": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9..."
}{- "PropertyManagementGroups": {
- "property1": {
- "PropertyManagementGroupName": "Xperity Property Management",
- "AddressLine1": "123 Main Street",
- "AddressLine2": "Suite 100",
- "City": "Miami",
- "State": "FL",
- "Country.ISO3166A3": "USA",
- "PostalCode": "33126",
- "EmailAddress": "admin@xperity.com",
- "PhoneNumber": "",
- "dateAddedUTC.ISO8601": "2025-01-15T10:30:00.000Z"
}, - "property2": {
- "PropertyManagementGroupName": "Xperity Property Management",
- "AddressLine1": "123 Main Street",
- "AddressLine2": "Suite 100",
- "City": "Miami",
- "State": "FL",
- "Country.ISO3166A3": "USA",
- "PostalCode": "33126",
- "EmailAddress": "admin@xperity.com",
- "PhoneNumber": "",
- "dateAddedUTC.ISO8601": "2025-01-15T10:30:00.000Z"
}
}, - "PropertyManagementGroupsCount": 3,
- "message": ""
}Complete subscriber database management system for tracking, monitoring, and administering all subscriber accounts and services.
Check if email exists in Cognito user pool and retrieve subscriber profile including name, phone, locale, and subscriber token. Returns consistent response structure with defaults for missing attributes.
| AccessToken required | string Cognito access token for authentication. Must belong to a user with venue administration privileges. |
| EmailAddress required | string <email> Email address to validate and lookup in the subscriber database. Email will be normalized to lowercase for consistent matching. |
{- "AccessToken": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...",
- "EmailAddress": "subscriber@example.com"
}{- "message": "",
- "GivenName": "John",
- "FamilyName": "Smith",
- "PhoneNumber.E164": "+15551234567",
- "locale": "en-us",
- "contactpref_sms": true,
- "contactpref_email": true
}Create new subscriber accounts with WiFi access provisioning and billing configuration.
| EmailAddress required | string <email> Valid email address for subscriber account creation and notifications |
| UnitID_internal required | string Internal unit identifier for venue network access |
| VenueID | string Venue identifier for location-based access |
| SubscriberToken | string Existing subscriber token for account updates (optional for new subscribers) |
| UserPartForNewKey | string [ 1 .. 40 ] characters Custom part of Wi-Fi password (1-40 characters, WPA-compatible) |
| NewKey | string [ 8 .. 63 ] characters Legacy Wi-Fi password for existing network credentials (8-63 characters, WPA-compatible) |
| contactpref_email | boolean Email communication preference for notifications and updates |
| contactpref_sms | boolean SMS communication preference for notifications and alerts |
| externalSubscriberID | string External system subscriber identifier for integration purposes |
| externalSubscriptionID | string External system subscription identifier for billing integration |
| StartDateTimeUTC.ISO8601 | string <date-time> Subscription start date and time in ISO 8601 format |
| EndDateTimeUTC.ISO8601 | string <date-time> Subscription end date and time in ISO 8601 format |
| InvoiceDateTimeUTC.ISO8601 | string <date-time> Invoice date for billing purposes, sets trial cycles to 0 |
{- "EmailAddress": "john.doe@example.com",
- "UnitID_internal": "unit_12345",
- "VenueID": "venue_67890",
- "SubscriberToken": "subscriber_token_abc123",
- "UserPartForNewKey": "mypassword123",
- "NewKey": "legacypass12345",
- "contactpref_email": true,
- "contactpref_sms": false,
- "externalSubscriberID": "ext_sub_789",
- "externalSubscriptionID": "ext_subscription_456",
- "StartDateTimeUTC.ISO8601": "2024-01-15T10:00:00.000Z",
- "EndDateTimeUTC.ISO8601": "2024-12-31T23:59:59.000Z",
- "InvoiceDateTimeUTC.ISO8601": "2024-01-15T00:00:00.000Z"
}{- "SubscriberToken": "subscriber_abc123def456",
- "EmailAddress": "john.doe@example.com",
- "Status": "AUP not accepted",
- "TemporaryPassword": "TempPass123",
- "StripeCustomerID": "cus_stripe123456",
- "contactpref_email": true,
- "contactpref_sms": false,
- "externalSubscriberID": "ext_sub_789"
}Finalize subscription termination for specific venue unit and date range. Validates subscriber via Cognito, performs timezone calculations, and marks matching policies as confirmed for termination.
| UnitID_internal required | string Internal venue unit identifier for subscription policy matching |
| VenueID required | string Venue identifier for policy location validation |
| EmailAddress required | string <email> Subscriber email address for Cognito user identification |
| StartDateTimeUTC.ISO8601 required | string <date-time> Subscription start date for policy matching (timezone-adjusted) |
| EndDateTimeUTC.ISO8601 required | string <date-time> Subscription end date for policy matching (timezone-adjusted) |
| UserTimeZone | integer Browser timezone offset in minutes for date adjustment calculations |
{- "UnitID_internal": "unit_12345",
- "VenueID": "venue_67890",
- "EmailAddress": "john.doe@example.com",
- "StartDateTimeUTC.ISO8601": "2024-01-15T10:00:00.000Z",
- "EndDateTimeUTC.ISO8601": "2024-12-31T23:59:59.000Z",
- "UserTimeZone": -300
}{- "GivenName": "John",
- "FamilyName": "Doe",
- "PhoneNumber.E164": "+1234567890",
- "ConfirmedEndDate.ISO8601": "2024-01-15T14:30:45.123Z",
- "message": ""
}Get communication history for subscriber including venue admin messages. Returns message history with subjects, content, delivery timestamps, and acknowledgment status.
| EmailAddress required | string <email> Subscriber email address for Cognito user identification and message lookup |
| VenueID required | string Venue identifier for filtering venue-specific messages |
{- "EmailAddress": "john.doe@example.com",
- "VenueID": "venue_67890"
}{- "messages": {
- "msg_123abc": {
- "dateSentUTC.ISO8601": "2024-01-15T10:00:00.000Z",
- "dateAcknowledgedUTC.ISO8601": "2024-01-15T10:15:30.123Z",
- "Subject": "WiFi Service Activation",
- "Message": "Your WiFi service has been successfully activated."
}, - "msg_456def": {
- "dateSentUTC.ISO8601": "2024-01-20T14:30:00.000Z",
- "dateAcknowledgedUTC.ISO8601": "2024-01-20T14:45:15.789Z",
- "Subject": "Service Update Notification",
- "Message": "We have upgraded your service plan as requested."
}
}, - "message": ""
}Retrieve hourly usage session data and bandwidth statistics for past 7 days. Includes device connections, signal strength (RSSI), and venue/key pool filtering. Supports lookup by email or subscriber token.
| EmailAddress required | string <email> Subscriber email address for Cognito user identification and session lookup |
| SubscriberToken | string Direct subscriber token for session data retrieval (alternative to email) |
| PhoneNumber.E164 | string Subscriber phone number in E.164 format for identification |
| VenueID | string Filter sessions for specific venue location |
| KeyID | string Filter sessions for specific key pool or PSK identifier |
| Calling-Station-Id | string MAC address of specific device to filter sessions (accepts various formats) |
{- "EmailAddress": "john.doe@example.com",
- "SubscriberToken": "subscriber_abc123def456",
- "PhoneNumber.E164": "+1234567890",
- "VenueID": "venue_67890",
- "KeyID": "keypool_12345",
- "Calling-Station-Id": "aa:bb:cc:dd:ee:ff"
}{- "UsageData": [
- {
- "ReportingTimestamp": "2024-01-15T10:59:59.001Z",
- "Acct-Input-Octets": 104857600,
- "Acct-Output-Octets": 20971520,
- "Acct-Total-Octets": 125829120,
- "rssi": 82,
- "Calling-Station-Id": [
- "aabbccddeeff",
- "112233445566"
]
}, - {
- "ReportingTimestamp": "2024-01-15T11:59:59.001Z",
- "Acct-Input-Octets": 52428800,
- "Acct-Output-Octets": 10485760,
- "Acct-Total-Octets": 62914560,
- "rssi": 78,
- "Calling-Station-Id": [
- "aabbccddeeff"
]
}
]
}Query payment intent records with multi-field filtering (email, phone, tokens, external IDs, Stripe customer ID). Supports date range filtering, venue/unit/plan filtering, and automatic payload reduction for large datasets (>5000 records). Returns complete transaction history with Stripe integration, receipt URLs, pricing details, and refund tracking.
| EmailAddress | string <email> Filter payments for specific subscriber email address |
| SubscriberToken | string Filter payments for specific subscriber token |
| PhoneNumber.E164 | string Filter payments for specific subscriber phone number in E.164 format |
| externalSubscriberID | string Filter payments for external subscriber identifier |
| externalSubscriptionID | string Filter payments for external subscription identifier |
| StripeCustomerID | string Filter payments for specific Stripe customer |
| VenueID | string Filter payments for specific venue |
| externalVenueID | string Filter payments for external venue identifier |
| UnitID_internal | string Filter payments for specific internal venue unit identifier |
| externalVenueUnitID | string Filter payments for external venue unit identifier |
| ServicePlanID | string Filter payments for specific service plan |
| externalServicePlanID | string Filter payments for external service plan identifier |
| MaxInvoiceDateTimeUTC.ISO8601 | string <date-time> Filter payments with invoice dates before or equal to this timestamp |
| MinInvoiceDateTimeUTC.ISO8601 | string <date-time> Filter payments with invoice dates after or equal to this timestamp |
| MaxStartDateTimeUTC.ISO8601 | string <date-time> Filter payments with subscription start dates before or equal to this timestamp |
| MinStartDateTimeUTC.ISO8601 | string <date-time> Filter payments with subscription start dates after or equal to this timestamp |
{- "EmailAddress": "john.doe@example.com",
- "SubscriberToken": "subscriber_abc123def456",
- "PhoneNumber.E164": "+1234567890",
- "externalSubscriberID": "ext_sub_789",
- "externalSubscriptionID": "ext_subscription_456",
- "StripeCustomerID": "cus_stripe123456",
- "VenueID": "venue_67890",
- "externalVenueID": "ext_venue_123",
- "UnitID_internal": "unit_12345",
- "externalVenueUnitID": "ext_unit_456",
- "ServicePlanID": "serviceplan_xyz789",
- "externalServicePlanID": "ext_plan_abc123",
- "MaxInvoiceDateTimeUTC.ISO8601": "2024-12-31T23:59:59.999Z",
- "MinInvoiceDateTimeUTC.ISO8601": "2024-01-01T00:00:00.000Z",
- "MaxStartDateTimeUTC.ISO8601": "2024-12-31T23:59:59.999Z",
- "MinStartDateTimeUTC.ISO8601": "2024-01-01T00:00:00.000Z"
}{- "PaymentCount": 3,
- "NonZeroPaymentCount": 2,
- "Payments": [
- {
- "dateAddedUTC.ISO8601": "2024-01-15T10:00:00.000Z",
- "InvoiceDateTimeUTC.ISO8601": "2024-01-15T10:00:00.000Z",
- "PaymentSuccessDateTimeUTC.ISO8601": "2024-01-15T10:05:30.123Z",
- "GivenName": "John",
- "FamilyName": "Doe",
- "SubscriberToken": "subscriber_abc123",
- "EmailAddress": "john.doe@example.com",
- "ServicePlanName": "Premium WiFi Plan",
- "BillingCycleHours": 720,
- "UploadKbps": 10000,
- "DownloadKbps": 100000,
- "Currency": "USD",
- "BillingCyclePrice.USD": 29.99,
- "ListBillingCyclePrice.USD": 24.99,
- "NetBillingCyclePrice.USD": 24.99
}
]
}Process partial or full refunds through Stripe payment processing. Validates payment intent ownership, calculates available refund amount (considering previous refunds), and processes refund with audit logging. Supports multiple currencies and refund reasons (customer request, duplicate, fraud).
| StripeClientSecret required | string Stripe client secret for the payment intent to be refunded |
| RefundAmount required | integer >= 1 Refund amount in cents (smallest currency unit) |
| Currency required | string Enum: "USD" "GBP" "CNY" "CAD" "INR" "AUD" Currency code for the refund amount |
| VenueID | string Venue identifier for payment intent validation |
| Reason | string Enum: "requested_by_customer" "duplicate" "fraudulent" Reason for the refund for audit and compliance purposes |
{- "StripeClientSecret": "pi_1234567890abcdef_secret_xyz123",
- "RefundAmount": 2999,
- "Currency": "USD",
- "VenueID": "venue_67890",
- "Reason": "requested_by_customer"
}{- "message": "Initiated refund re_1ABC2DEF3GHI for USD 29.99",
- "refund_id": "re_1ABC2DEF3GHI",
- "amount_refunded": 2999,
- "available_balance": 2999,
- "previous_refunds": 0
}Get comprehensive audit logs for subscribers including administrative actions, subscription events, payment activities, and system interactions. Includes administrator information from Cognito, source IP/location/browser tracking, and chronological event sorting with deduplication. Supports venue-specific filtering.
| AccessToken required | string Administrator authentication token for venue console access |
| SubscriberToken required | string Unique subscriber identifier for log retrieval |
| VenueID | string Optional venue identifier for venue-specific log filtering |
{- "AccessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
- "SubscriberToken": "sub_1234567890abcdef",
- "VenueID": "venue_67890"
}{- "log": [
- {
- "timestamp": "2024-01-15T14:30:45.123Z",
- "function_name": "vault_venuemgmtconsole_addSubscriber",
- "event": {
- "message": "Subscriber account created successfully",
- "reason": "new_account_setup"
}, - "Administrator": "John Smith (john.smith@venue.com)",
- "SourceIP": "192.168.1.100",
- "SourceLocale": "en-US",
- "AdministratorOS": "macOS 14.1",
- "AdministratorBrowser": "Chrome/119.0.0.0",
- "UnitID_internal": "unit_456",
- "VenueID": "venue_67890"
}, - {
- "timestamp": "2024-01-15T13:45:30.789Z",
- "function_name": "vault_subscription_events",
- "event": {
- "message": "Payment processed successfully"
}, - "ServicePlanID": "plan_premium_monthly",
- "Administrator": "System Automated (system@vault.com)",
- "SourceIP": "10.0.0.1",
- "UnitID_internal": "unit_456",
- "VenueID": "venue_67890"
}
]
}Send messages to individual subscribers, specific units, buildings, or venue-wide. Validates subscriber via Cognito, tracks message delivery, and maintains audit trails.
| AccessToken required | string Administrator authentication token for venue console access |
| VenueID required | string Venue identifier where subscribers are located |
| Subject required | string Message subject line for subscriber communication |
| Message required | string Message content to be sent to subscribers |
| EmailAddress | string <email> Optional specific subscriber email address for targeted messaging |
| UnitID_internal | string Optional specific unit identifier for unit-based messaging |
| UnitBuilding | string Optional building identifier for building-wide messaging |
| sendEmailNotification | boolean Default: false Whether to send email notifications in addition to in-app messages |
{- "AccessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
- "VenueID": "venue_67890",
- "Subject": "Important Venue Update",
- "Message": "Your service plan has been updated. Please check your account for details.",
- "EmailAddress": "subscriber@example.com",
- "UnitID_internal": "unit_456",
- "UnitBuilding": "Building-A",
- "sendEmailNotification": true
}{- "message": "Message sent.",
- "GivenName": "John",
- "EmailAddress": "john.doe@example.com",
- "locale": "en-US"
}Remove previously confirmed subscription end dates to enable service continuation or reactivation. Processes all venue unit policies and maintains audit trails.
| AccessToken required | string Administrator authentication token for venue console access |
| VenueID required | string Venue identifier where subscription confirmations should be reset |
{- "AccessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
- "VenueID": "venue_67890"
}{- "message": "",
- "resetDate.ISO8601": "2025-09-11T20:15:30.123Z"
}Change subscription start date for billing cycle adjustments. Validates against existing subscriptions to prevent conflicts, updates Stripe payment intents, and triggers notification emails. Cannot modify after subscription has begun.
| AccessToken required | string Administrator authentication token for venue console access |
| VenueID required | string Venue identifier where the subscription is located |
| UnitID_internal required | string Internal venue unit identifier for the subscription |
| NewStartDateTimeUTC.ISO8601 required | string <date-time> New subscription start date and time in ISO 8601 UTC format |
| StartDateTimeUTC.ISO8601 | string <date-time> Optional current start date for validation (prevents setting same date) |
| Reason | string Optional reason for the start date modification for audit purposes |
| doNotResetDatetoMidnight | boolean Default: false Skip automatic start-of-day adjustments for residential units |
{- "AccessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
- "VenueID": "venue_67890",
- "UnitID_internal": "unit_456",
- "NewStartDateTimeUTC.ISO8601": "2025-10-01T10:00:00.000Z",
- "StartDateTimeUTC.ISO8601": "2025-09-15T10:00:00.000Z",
- "Reason": "Customer requested delayed activation",
- "doNotResetDatetoMidnight": false
}{- "UnitID_internal": "unit_456",
- "SubscriberToken": "sub_1234567890abcdef",
- "NewStartDateTimeUTC.ISO8601": "2025-10-01T10:00:00.000Z"
}Calculate prorated refund amount for subscription cancellations based on unused time and billing policies. Supports immediate or scheduled termination, with timezone-aware end date adjustments for residential units.
| AccessToken required | string Administrator authentication token for venue console access |
| VenueID required | string Venue identifier for subscription access validation |
| StripeClientSecret required | string Stripe client secret for the payment intent requiring refund calculation |
| EndDateTimeUTC.ISO8601 required | string <date-time> Requested subscription end date for refund calculation |
| endImmediately | boolean Default: false Whether to end subscription immediately without end-of-day adjustments |
| doNotResetDatetoMidnight | boolean Default: false Skip automatic end-of-day adjustments for residential units |
{- "AccessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
- "VenueID": "venue_67890",
- "StripeClientSecret": "pi_1234567890abcdef_secret_xyz123",
- "EndDateTimeUTC.ISO8601": "2025-10-15T23:59:59.999Z",
- "endImmediately": false,
- "doNotResetDatetoMidnight": false
}{- "UnusedRefundAmount": 1500,
- "MaxRefundAmount": [
- {
- "amount": 2999,
- "currency": "USD",
- "subscription_id": "sub_123"
}
], - "EndDateTimeUTC.ISO8601": "2025-10-15T23:59:59.999Z"
}Transfer subscriber to a different unit within the same venue. Validates unit availability, prevents scheduling conflicts, preserves billing cycle, and maintains service continuity.
| AccessToken required | string Administrator authentication token |
| VenueID required | string Venue identifier containing both units |
| UnitID_internal required | string Current unit identifier for the subscriber |
| NewUnitID_internal required | string Destination unit identifier for subscriber transfer |
{- "AccessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
- "VenueID": "venue_67890",
- "UnitID_internal": "unit_456",
- "NewUnitID_internal": "unit_789"
}{- "message": "Unit assignment updated successfully"
}Set, remove, or modify the subscription end date for active subscriptions. Automatically calculates and processes prorated refunds when terminating early.
Operations:
endImmediately flag)requestedRefundAmount)Note: Updates network policies, triggers webhooks, and sends notification emails. Residential units get automatic end-of-day adjustments unless doNotResetDatetoMidnight is true.
| AccessToken required | string Administrator authentication token from Cognito |
| VenueID required | string Venue identifier for the subscription |
| externalVenueID | string External venue identifier for property management integration |
| UnitID_internal required | string Internal venue unit identifier for the subscription |
| externalVenueUnitID | string External unit identifier for property management system integration |
| UnitID | string Legacy unit identifier for compatibility |
| UnitBuilding | string Building identifier within venue |
| UnitFloor | string Floor identifier within building |
| NewEndDateTimeUTC.ISO8601 required | string New subscription end date in ISO 8601 UTC format, or empty string to remove end date |
| StripeClientSecret | string Stripe client secret for subscription identification |
| SetupIntentId | string Setup intent ID for legacy subscription identification |
| endImmediately | boolean Flag to terminate subscription immediately regardless of specified date |
| requestedRefundAmount | integer Override refund amount in cents (optional manual refund specification) |
| CancellationReasons | Array of strings Array of cancellation reason codes or descriptions |
| Reason | string Administrative reason for end date modification |
| doNotResetDatetoMidnight | boolean Prevent automatic end-of-day adjustment for timezone processing |
{- "AccessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
- "VenueID": "USA.CA.90210.BEVERLYHILLS.VENUE",
- "UnitID_internal": "USA.CA.90210.BEVERLYHILLS.VENUE.APT101",
- "NewEndDateTimeUTC.ISO8601": "2025-12-31T23:59:59.999Z",
- "Reason": "Contract extension approved"
}{- "message": "Subscription end date updated to 2025-12-31T23:59:59.999Z",
- "EndDateTimeUTC.ISO8601": "2025-12-31T23:59:59.999Z",
- "errorProcessing": false
}Upgrade or downgrade service plan with automatic billing adjustments. Validates plan availability at venue and calculates prorated charges for mid-cycle changes via Stripe.
| AccessToken required | string Administrator authentication token |
| VenueID required | string Venue identifier for service plan validation |
| SubscriberToken required | string Subscriber identifier for plan modification |
| NewServicePlanID required | string New service plan identifier to assign |
{- "AccessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
- "VenueID": "venue_67890",
- "SubscriberToken": "sub_1234567890abcdef",
- "NewServicePlanID": "plan_premium_unlimited"
}{- "message": "Service plan updated successfully"
}Apply pricing adjustments, discounts, or promotional rates to subscriber accounts. Updates Stripe payment records and maintains pricing history for audit purposes.
| AccessToken required | string Administrator authentication token |
| VenueID required | string Venue identifier for pricing validation |
| SubscriberToken required | string Subscriber identifier for price modification |
| NewPrice required | integer New subscription price in cents |
| Reason | string Reason for price modification |
{- "AccessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
- "VenueID": "venue_67890",
- "SubscriberToken": "sub_1234567890abcdef",
- "NewPrice": 2999,
- "Reason": "Promotional discount applied"
}{- "message": "Subscription price updated successfully"
}Apply one-time billing credits for service adjustments, compensation, or promotions. Updates Stripe payment processing and maintains credit history for compliance tracking.
| AccessToken required | string Administrator authentication token |
| VenueID required | string Venue identifier for credit validation |
| SubscriberToken required | string Subscriber identifier for credit application |
| CreditAmount required | integer Credit amount to apply in cents |
| Reason | string Reason for credit application |
{- "AccessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
- "VenueID": "venue_67890",
- "SubscriberToken": "sub_1234567890abcdef",
- "CreditAmount": 1500,
- "Reason": "Service interruption compensation"
}{- "message": "One-time credit applied successfully"
}Create subscriber accounts with WiFi key generation or update existing subscriber access.
Required Parameters:
Account Resolution Parameters (at least one required):
Optional Parameters:
Features:
| AccessToken required | string Network operator authentication token for administrative access |
| EmailAddress required | string <email> Subscriber email address for account identification and communication |
| PhoneNumber | string Subscriber phone number in E.164 format for SMS notifications |
| SubscriberToken | string Existing subscriber token for account updates |
| VenueID required | string Target venue identifier for subscriber assignment |
| ServicePlanID | string Service plan identifier (optional - defaults to venue default) |
| externalServicePlanID | string External service plan ID for property management integration |
| UserPartForNewKey | string [ 1 .. 40 ] characters User-specified portion of WiFi password (1-40 characters) |
| NewKey | string [ 8 .. 63 ] characters Complete WiFi password for legacy system imports (8-63 characters) |
| GivenName | string Subscriber first name |
| FamilyName | string Subscriber last name |
object Nested policy configuration for venue unit assignment and addressing |
Create new subscriber account with WiFi key using email identification
{- "AccessToken": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...",
- "EmailAddress": "tenant@grandhotel.com",
- "VenueID": "venue_grand_hotel_downtown",
- "GivenName": "Sarah",
- "FamilyName": "Johnson",
- "UserPartForNewKey": "SarahWiFi2024",
- "ServicePlanID": "plan_premium_unlimited",
- "PolicyforSubscriberKey": {
- "UnitID": "ROOM_302",
- "UnitBuilding": "Main Tower",
- "UnitFloor": "3rd Floor",
- "AddressLine1": "456 Grand Avenue",
- "City": "Downtown",
- "State": "CA",
- "Country.ISO3166A3": "USA",
- "PostalCode": "90210"
}
}New subscriber account created with WiFi access and billing setup
{- "message": "WiFi key created successfully",
- "errorProcessing": false,
- "SubscriberToken": "sub_new_subscriber_123",
- "EmailAddress": "tenant@grandhotel.com",
- "GivenName": "Sarah",
- "FamilyName": "Johnson",
- "PhoneNumber.E164": "+15559876543",
- "StripeCustomerID": "cus_stripe_customer_abc123",
- "StripeSetupIntentId": "seti_setup_intent_def456",
- "StripeClientSecret": "seti_secret_client_xyz789",
- "StripePublishableKey": "pk_live_stripe_key_789",
- "Subscription": {
- "UnitID_internal": "unit_internal_12345",
- "externalVenueUnitID": "ROOM_302",
- "psk": "SarahWiFi2024.sub_new_subscriber_123",
- "ServicePlanID": "plan_premium_unlimited",
- "StartDateTimeUTC.ISO8601": "2025-09-12T10:30:00.000Z"
}, - "dateAddedUTC.ISO8601": "2025-09-12T10:30:00.000Z"
}⚠️ CRITICAL WARNING: This operation permanently removes all financial transaction data and network policies for a subscriber. Deletion cannot be undone and complies with PCI-DSS secure data destruction requirements.
Required Parameters:
Deletion Process (5 Sequential Steps):
Data Permanently Removed:
Batch Processing Logic:
Multi-Region Synchronization:
Access Control Cleanup:
Error Handling:
PCI-DSS Compliance:
Returns:
Integration with CloseSubscriberAccount:
| AccessToken required | string Network operator authentication token with administrative deletion privileges |
| SubscriberToken required | string Unique subscriber identifier (system-generated token) for transaction deletion |
{- "AccessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
- "SubscriberToken": "sub_1234567890abcdef"
}{- "message": "Subscription closed. Transactions removed. ",
- "errorProcessing": false,
- "statusCode": 200
}⚠️ CRITICAL WARNING: This operation permanently and irrevocably deletes all subscriber data. Once completed, the deletion cannot be undone. This action complies with data privacy regulations including GDPR Article 17 (Right to Erasure) and CCPA Section 1798.105.
Required Parameters:
What Gets Deleted:
Deletion Process:
Data Privacy Compliance:
Important Notes:
| AccessToken required | string Network operator authentication token with administrative deletion privileges |
| SubscriberToken required | string Unique subscriber identifier (system-generated token) for complete account deletion |
{- "AccessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
- "SubscriberToken": "sub_1234567890abcdef"
}{- "message": "Subscription closed. Transactions removed. Subscriber account deleted. ",
- "errorProcessing": false,
- "statusCode": 200
}Retrieve comprehensive subscriber portfolio with analytics and account management data.
Required Parameters:
Features:
Returns: Account profiles, service plans, usage analytics, bandwidth consumption, billing status, payment history, support interactions, satisfaction metrics, venue assignments, device registrations with analytics including revenue, lifetime value, usage forecasting, capacity planning, service optimization recommendations.
Filtering: By venue, service plan, account status, usage patterns (high/medium/low), billing status, payment health, date ranges for historical analytics.
| AccessToken required | string Network operator authentication token with subscriber management privileges |
| VenueID required | string Target venue identifier for subscriber filtering (use 'ALL' for network-wide view) |
| ServicePlanFilter | Array of strings Filter subscribers by specific service plans |
| AccountStatusFilter | Array of strings Items Enum: "ACTIVE" "SUSPENDED" "TERMINATED" "TRIAL" "PENDING" Filter by account status |
| UsageThreshold | string Default: "ALL" Enum: "HIGH" "MEDIUM" "LOW" "ALL" Filter subscribers by usage patterns |
| BillingStatusFilter | Array of strings Items Enum: "CURRENT" "PAST_DUE" "CREDIT_HOLD" "PREPAID" "COMP" Filter by billing status |
object | |
| AnalyticsLevel | string Default: "standard" Enum: "basic" "standard" "comprehensive" Level of analytics data to include |
object | |
object |
{- "AccessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
- "VenueID": "ALL",
- "ServicePlanFilter": [
- "PREMIUM",
- "ENTERPRISE"
], - "AccountStatusFilter": [
- "ACTIVE"
], - "UsageThreshold": "HIGH",
- "AnalyticsLevel": "comprehensive",
- "Pagination": {
- "Limit": 50,
- "Offset": 0
}, - "IncludeAnalytics": {
- "UsageMetrics": true,
- "RevenueMetrics": true,
- "SupportMetrics": true
}
}{- "success": true,
- "portfolioSummary": {
- "totalSubscribers": 2547,
- "activeSubscribers": 2398,
- "newSubscribers": 127,
- "churnedSubscribers": 23,
- "averageRevenuePerSubscriber": 89.5,
- "totalMonthlyRecurringRevenue": 214623.1
}, - "servicePlanDistribution": [
- {
- "servicePlan": "PREMIUM",
- "subscriberCount": 856,
- "monthlyRevenue": 85600,
- "averageUsage": {
- "bandwidthGB": 145.7,
- "connectionHours": 421.2
}
}, - {
- "servicePlan": "ENTERPRISE",
- "subscriberCount": 234,
- "monthlyRevenue": 46800,
- "averageUsage": {
- "bandwidthGB": 289.3,
- "connectionHours": 678.5
}
}
], - "subscribers": [
- {
- "subscriberId": "SUB_123456789",
- "accountInfo": {
- "name": "John Smith",
- "email": "john.smith@example.com",
- "accountStatus": "ACTIVE",
- "memberSince": "2023-03-15T10:30:00Z"
}, - "serviceConfiguration": {
- "servicePlan": "PREMIUM",
- "monthlyRate": 99.99,
- "features": [
- "HIGH_SPEED",
- "PRIORITY_SUPPORT",
- "PREMIUM_CONTENT"
]
}, - "venueAssignment": {
- "venueId": "VENUE_12345",
- "venueName": "Downtown Apartment Complex",
- "unitId": "UNIT_A101"
}, - "usageAnalytics": {
- "monthlyBandwidth": 167.3,
- "averageConnectionTime": 14.2,
- "peakUsageHour": 20,
- "connectionQuality": "EXCELLENT"
}, - "billingInfo": {
- "billingStatus": "CURRENT",
- "lastPaymentDate": "2025-09-01T09:15:00Z",
- "accountBalance": 0,
- "lifetimeValue": 2847.73
}
}
], - "pagination": {
- "limit": 50,
- "offset": 0,
- "totalCount": 2547,
- "hasMore": true
}, - "analytics": {
- "generatedAt": "2025-09-12T15:30:00Z",
- "dataFreshness": "Real-time",
- "performanceMetrics": {
- "queryTimeMs": 245,
- "dataPoints": 125847
}
}
}Enable subscriber access to self-service customer portal with customizable features and security settings.
Portal Features:
Required Parameters:
Optional Parameters:
Security: MFA setup, secure password policies, account lockout protection, session timeout management, mobile-optimized responsive design.
| AccessToken required | string Network operator authentication token with subscriber management privileges |
| SubscriberID required | string Target subscriber identifier for console access enablement |
| ConsoleAccessLevel required | string Enum: "BASIC" "STANDARD" "ADVANCED" "PREMIUM" Level of console access to grant |
| AuthenticationMethod required | string Enum: "PASSWORD" "SMS_VERIFICATION" "EMAIL_VERIFICATION" "MULTI_FACTOR" Primary authentication method for subscriber console |
required | object |
object | |
object | |
object | |
object |
{- "AccessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
- "SubscriberID": "SUB_123456789",
- "ConsoleAccessLevel": "STANDARD",
- "AuthenticationMethod": "MULTI_FACTOR",
- "InitialCredentials": {
- "Username": "subscriber_123456789",
- "TemporaryPassword": "TempPass2025!",
- "SecurityQuestions": [
- {
- "Question": "What was the name of your first pet?",
- "Answer": "Fluffy"
}
]
}, - "CustomBranding": {
- "BrandColor": "#0066CC",
- "CompanyName": "Network Provider Inc."
}, - "FeaturePermissions": {
- "BillingAccess": true,
- "UsageAnalytics": true,
- "SupportTickets": true,
- "ServiceControl": false,
- "DeviceManagement": true
}, - "NotificationPreferences": {
- "SendWelcomeEmail": true,
- "SendSMSNotification": true,
- "IncludeUserGuide": true
}, - "SessionSettings": {
- "SessionTimeoutMinutes": 120,
- "ConcurrentSessions": 3,
- "RequirePasswordChange": true
}
}{- "success": true,
- "consoleActivationId": "CONSOLE_ACT_987654321",
- "subscriber": {
- "subscriberId": "SUB_123456789",
- "consoleStatus": "ACTIVE",
- "accessLevel": "STANDARD",
- "activationTimestamp": "2025-09-12T16:15:00Z"
}, - "authentication": {
- "username": "subscriber_123456789",
- "authenticationMethod": "MULTI_FACTOR",
- "passwordChangeRequired": true
}, - "permissions": {
- "billingAccess": true,
- "usageAnalytics": true,
- "supportTickets": true,
- "serviceControl": false,
- "deviceManagement": true
}, - "branding": {
- "customBrandingApplied": true,
- "brandColor": "#0066CC",
- "companyName": "Network Provider Inc."
}, - "notifications": {
- "welcomeEmailSent": true,
- "smsNotificationSent": true,
- "userGuideIncluded": true,
- "notificationTimestamp": "2025-09-12T16:16:00Z"
}, - "sessionConfiguration": {
- "sessionTimeoutMinutes": 120,
- "maxConcurrentSessions": 3,
- "securityLevel": "STANDARD"
}, - "audit": {
- "performedBy": "operator@networkprovider.com",
- "activationReason": "Customer self-service enablement",
- "complianceStatus": "COMPLIANT"
}
}Send password reset codes or welcome notifications to subscribers for console access recovery.
Required Parameters:
Optional Parameters:
Workflows:
Features: Email delivery as primary method, SMS support, automatic template selection (reset vs welcome), delivery preferences configuration, operator email/SMS server validation, subscriber verification, complete audit trail with administrator identification.
Security: Cognito authentication ensures only authorized network operators can initiate password resets.
| AccessToken required | string Network operator access token with domain administrator or customer support privileges |
| SubscriberToken required | string Subscriber identifier for password reset code delivery |
| EmailAddress | string <email> Subscriber email address for account lookup (alternative to SubscriberToken) |
| PhoneNumber | string^\+[1-9]\d{1,14}$ E.164 formatted phone number for subscriber identification (alternative to SubscriberToken) |
| NotificationChannel | string Enum: "EMAIL" "SMS" Preferred notification delivery channel |
Send reset code using subscriber token identification
{- "AccessToken": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...",
- "SubscriberToken": "5978d2e8-9540-4612-816f-1d14f6ba38e8",
- "NotificationChannel": "EMAIL"
}Reset code delivered via configured notification channel
{- "message": "Password reset notification sent successfully",
- "errorProcessing": false,
- "statusCode": 200
}Add devices to subscriber authorized device whitelist for secure network access control.
Supported Devices: Smartphones, tablets, laptops, desktops, IoT devices, smart TVs, gaming consoles, network equipment, business equipment, guest devices.
Required Parameters:
Optional Parameters:
Features: MAC address validation, duplicate detection, conflict prevention, real-time network configuration updates, complete audit trail.
| AccessToken required | string Network operator authentication token with subscriber management privileges |
| SubscriberID required | string Target subscriber identifier for device whitelist modification |
| DeviceMAC required | string^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$ MAC address of device to be added to whitelist |
| DeviceType required | string Enum: "SMARTPHONE" "TABLET" "LAPTOP" "DESKTOP" "IOT_DEVICE" "SMART_TV" "GAMING_CONSOLE" "NETWORK_EQUIPMENT" "BUSINESS_EQUIPMENT" "GUEST_DEVICE" Category of device being authorized |
| AccessLevel required | string Enum: "FULL_ACCESS" "LIMITED_ACCESS" "GUEST_ACCESS" "IOT_ACCESS" "BUSINESS_ACCESS" Level of network access to grant to the device |
| DeviceName | string User-friendly name for device identification |
| DeviceDescription | string Detailed description of device for administrative purposes |
object | |
object | |
object | |
object |
{- "AccessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
- "SubscriberID": "SUB_123456789",
- "DeviceMAC": "AA:BB:CC:DD:EE:FF",
- "DeviceType": "SMARTPHONE",
- "AccessLevel": "FULL_ACCESS",
- "DeviceName": "John's iPhone",
- "DeviceDescription": "iPhone 15 Pro - Personal device for primary account holder",
- "AccessDuration": {
- "DurationType": "PERMANENT"
}, - "BandwidthLimit": {
- "DownloadMbps": 100,
- "UploadMbps": 20,
- "PriorityLevel": "HIGH"
}, - "ContentFilter": {
- "FilterLevel": "BASIC",
- "BlockedCategories": [
- "ADULT_CONTENT",
- "MALWARE"
]
}, - "NotificationSettings": {
- "NotifyOnConnection": true,
- "SecurityAlerts": true,
- "UsageReports": true
}
}{- "success": true,
- "whitelistEntryId": "WL_ENTRY_987654321",
- "subscriber": {
- "subscriberId": "SUB_123456789",
- "totalWhitelistedDevices": 7,
- "whitelistLimit": 10
}, - "device": {
- "macAddress": "AA:BB:CC:DD:EE:FF",
- "deviceName": "John's iPhone",
- "deviceType": "SMARTPHONE",
- "accessLevel": "FULL_ACCESS",
- "status": "AUTHORIZED",
- "addedTimestamp": "2025-09-12T16:45:00Z"
}, - "accessConfiguration": {
- "accessDuration": "PERMANENT",
- "bandwidthLimits": {
- "downloadMbps": 100,
- "uploadMbps": 20,
- "priorityLevel": "HIGH"
}, - "contentFilter": {
- "filterLevel": "BASIC",
- "blockedCategories": [
- "ADULT_CONTENT",
- "MALWARE"
]
}
}, - "networkConfiguration": {
- "configurationApplied": true,
- "accessGranted": true,
- "networkPolicies": [
- "DEVICE_AUTH_POLICY",
- "BANDWIDTH_POLICY",
- "CONTENT_FILTER_POLICY"
], - "configurationTimestamp": "2025-09-12T16:45:30Z"
}, - "notifications": {
- "subscriberNotified": true,
- "securityAlertsEnabled": true,
- "usageTrackingEnabled": true
}, - "audit": {
- "performedBy": "operator@networkprovider.com",
- "operationReason": "Subscriber requested device authorization",
- "securityAssessment": "PASSED",
- "complianceStatus": "COMPLIANT"
}
}Remove MAC addresses from subscriber calling station whitelists for device de-authorization and network access revocation.
Required Parameters:
Optional Parameters:
Features: MAC address verification, active connection management with graceful termination, session cleanup, security validation, immediate network access revocation, centralized control, batch operations, temporary suspension with restoration, emergency revocation, compliance enforcement, real-time network configuration updates, complete audit trail.
| AccessToken required | string Network operator authentication token with subscriber management privileges |
| SubscriberID required | string Target subscriber identifier for device whitelist modification |
| DeviceMAC required | string^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$ MAC address of device to be removed from whitelist |
| RemovalReason required | string Enum: "DEVICE_REPLACEMENT" "SECURITY_INCIDENT" "ACCOUNT_CHANGE" "LOST_STOLEN" "POLICY_VIOLATION" "SUBSCRIBER_REQUEST" "MAINTENANCE" "COMPLIANCE" "DEVICE_MALFUNCTION" "TEMPORARY_SUSPENSION" Reason for device de-authorization |
| ForceRemoval | boolean Default: false Override active connections and immediately remove device access |
object | |
| NotifySubscriber | boolean Default: true Whether to notify subscriber of device removal |
| ArchiveDevice | boolean Default: true Whether to maintain device history for potential restoration |
| CleanupSessions | boolean Default: true Whether to cleanup all active device sessions immediately |
| RemovalNotes | string Additional notes about device removal for administrative purposes |
{- "AccessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
- "SubscriberID": "SUB_123456789",
- "DeviceMAC": "AA:BB:CC:DD:EE:FF",
- "RemovalReason": "DEVICE_REPLACEMENT",
- "ForceRemoval": false,
- "GracePeriod": {
- "EnableGracePeriod": true,
- "GraceDurationMinutes": 30,
- "NotificationMessage": "Your device access will be removed in 30 minutes due to device replacement"
}, - "NotifySubscriber": true,
- "ArchiveDevice": true,
- "CleanupSessions": true,
- "RemovalNotes": "Device replaced with newer model - iPhone 15 Pro upgrade"
}{- "success": true,
- "removalId": "REMOVAL_987654321",
- "subscriber": {
- "subscriberId": "SUB_123456789",
- "totalWhitelistedDevices": 6,
- "whitelistLimit": 10
}, - "device": {
- "macAddress": "AA:BB:CC:DD:EE:FF",
- "previousDeviceName": "John's Old iPhone",
- "deviceType": "SMARTPHONE",
- "previousAccessLevel": "FULL_ACCESS",
- "status": "REMOVED",
- "removalTimestamp": "2025-09-12T17:00:00Z",
- "removalReason": "DEVICE_REPLACEMENT"
}, - "removalProcess": {
- "gracePeriodProvided": true,
- "gracePeriodDuration": 30,
- "forceRemoval": false,
- "activeConnectionsTerminated": 2,
- "sessionsCleanedUp": 3
}, - "networkConfiguration": {
- "configurationUpdated": true,
- "accessRevoked": true,
- "policiesRemoved": [
- "DEVICE_AUTH_POLICY",
- "BANDWIDTH_POLICY",
- "CONTENT_FILTER_POLICY"
], - "configurationTimestamp": "2025-09-12T17:00:30Z"
}, - "notifications": {
- "subscriberNotified": true,
- "notificationMethod": "EMAIL_SMS",
- "gracePeriodNotificationSent": true
}, - "archiveStatus": {
- "deviceArchived": true,
- "archiveId": "ARCH_123456789",
- "restorationPossible": true,
- "retentionPeriod": 90
}, - "audit": {
- "performedBy": "operator@networkprovider.com",
- "removalReason": "Device replaced with newer model - iPhone 15 Pro upgrade",
- "securityImpact": "LOW_RISK",
- "complianceStatus": "COMPLIANT",
- "auditTimestamp": "2025-09-12T17:01:00Z"
}
}Add Network Access Servers (NAS) to subscriber whitelists for controlled network infrastructure access.
Supported NAS Types: WIRELESS_AP, ETHERNET_SWITCH, VPN_GATEWAY, AUTH_SERVER, EDGE_DEVICE, ROUTER, FIREWALL, LOAD_BALANCER.
Required Parameters:
Optional Parameters:
Features: NAS identity verification, infrastructure security assessment, duplicate detection, security validation, network segmentation, centralized control, capacity limits, temporary access, bulk operations, category management, real-time network configuration updates, complete audit trail.
| AccessToken required | string Network operator authentication token with subscriber management privileges |
| SubscriberID required | string Target subscriber identifier for NAS whitelist modification |
| NASID required | string Network Access Server identifier to be added to whitelist |
| NASType required | string Enum: "WIRELESS_AP" "ETHERNET_SWITCH" "VPN_GATEWAY" "AUTH_SERVER" "EDGE_DEVICE" "ROUTER" "FIREWALL" "LOAD_BALANCER" Category of NAS being authorized |
| AccessLevel required | string Enum: "FULL_INFRASTRUCTURE" "LIMITED_ACCESS" "MAINTENANCE_ACCESS" "GUEST_NETWORK" "BUSINESS_ACCESS" Level of network access to grant through the NAS |
| NASName | string User-friendly name for NAS identification |
| NASDescription | string Detailed description of NAS for administrative purposes |
object | |
object | |
object | |
object | |
object |
{- "AccessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
- "SubscriberID": "SUB_123456789",
- "NASID": "NAS_AP001_LOBBY",
- "NASType": "WIRELESS_AP",
- "AccessLevel": "FULL_INFRASTRUCTURE",
- "NASName": "Lobby Wireless Access Point",
- "NASDescription": "Main lobby wireless access point - high-capacity dual-band",
- "NASLocation": {
- "Building": "Main Building",
- "Floor": "Ground Floor",
- "Room": "Lobby Area",
- "Coordinates": {
- "Latitude": 40.7128,
- "Longitude": -74.006
}
}, - "AccessDuration": {
- "DurationType": "PERMANENT"
}, - "BandwidthLimit": {
- "MaxThroughputMbps": 1000,
- "ConcurrentConnections": 100,
- "PriorityLevel": "HIGH"
}, - "SecurityPolicy": {
- "EncryptionRequired": true,
- "AuthenticationMethod": "WPA3_ENTERPRISE",
- "AccessControlList": [
- "192.168.1.0/24",
- "10.0.0.0/8"
]
}, - "NotificationSettings": {
- "NotifyOnActivation": true,
- "SecurityAlerts": true,
- "PerformanceMonitoring": true
}
}{- "success": true,
- "whitelistEntryId": "NAS_WL_987654321",
- "subscriber": {
- "subscriberId": "SUB_123456789",
- "totalAuthorizedNAS": 5,
- "nasLimit": 10
}, - "nas": {
- "nasId": "NAS_AP001_LOBBY",
- "nasName": "Lobby Wireless Access Point",
- "nasType": "WIRELESS_AP",
- "accessLevel": "FULL_INFRASTRUCTURE",
- "status": "AUTHORIZED",
- "activatedTimestamp": "2025-09-12T17:15:00Z"
}, - "networkConfiguration": {
- "configurationApplied": true,
- "nasActivated": true,
- "securityPolicies": [
- "ENCRYPTION_POLICY",
- "AUTH_POLICY",
- "ACCESS_CONTROL_POLICY"
], - "configurationTimestamp": "2025-09-12T17:15:30Z"
}, - "performanceMetrics": {
- "maxThroughput": 1000,
- "maxConcurrentConnections": 100,
- "priorityLevel": "HIGH",
- "monitoringEnabled": true
}, - "audit": {
- "performedBy": "operator@networkprovider.com",
- "authorizationReason": "Infrastructure upgrade - new high-capacity wireless access point",
- "securityAssessment": "PASSED",
- "complianceStatus": "COMPLIANT"
}
}Remove Network Access Servers (NAS) from subscriber whitelists for infrastructure de-authorization and access revocation.
Required Parameters:
Optional Parameters:
Features: NAS identity verification, active connection management with graceful termination, session cleanup, security validation, immediate infrastructure access revocation, centralized control, batch operations, emergency revocation, maintenance mode, real-time network configuration updates, complete audit trail.
| AccessToken required | string Network operator authentication token with subscriber management privileges |
| SubscriberID required | string Target subscriber identifier for NAS whitelist modification |
| NASID required | string Network Access Server identifier to be removed from whitelist |
| RemovalReason required | string Enum: "INFRASTRUCTURE_UPGRADE" "SECURITY_INCIDENT" "MAINTENANCE" "DECOMMISSIONING" "POLICY_CHANGE" "SUBSCRIBER_REQUEST" "END_OF_LIFE" "PERFORMANCE_ISSUES" "COMPLIANCE" "EMERGENCY_SHUTDOWN" Reason for NAS de-authorization |
| ForceRemoval | boolean Default: false Override active connections and immediately remove NAS access |
object | |
| NotifySubscriber | boolean Default: true Whether to notify subscriber of NAS removal |
| ArchiveNAS | boolean Default: true Whether to maintain NAS history for potential restoration |
| CleanupConnections | boolean Default: true Whether to cleanup all active connections through NAS immediately |
object | |
| RemovalNotes | string Additional notes about NAS removal for administrative purposes |
{- "AccessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
- "SubscriberID": "SUB_123456789",
- "NASID": "NAS_AP001_LOBBY",
- "RemovalReason": "INFRASTRUCTURE_UPGRADE",
- "ForceRemoval": false,
- "GracePeriod": {
- "EnableGracePeriod": true,
- "GraceDurationMinutes": 60,
- "NotificationMessage": "Network access point will be removed in 60 minutes for infrastructure upgrade"
}, - "NotifySubscriber": true,
- "ArchiveNAS": true,
- "CleanupConnections": true,
- "MaintenanceWindow": {
- "ScheduledMaintenance": true,
- "MaintenanceStartTime": "2025-09-13T02:00:00Z",
- "EstimatedDuration": 4
}, - "RemovalNotes": "Legacy access point being replaced with Wi-Fi 6E model"
}{- "success": true,
- "removalId": "NAS_REMOVAL_987654321",
- "subscriber": {
- "subscriberId": "SUB_123456789",
- "totalAuthorizedNAS": 4,
- "nasLimit": 10
}, - "nas": {
- "nasId": "NAS_AP001_LOBBY",
- "previousNASName": "Lobby Wireless Access Point",
- "nasType": "WIRELESS_AP",
- "previousAccessLevel": "FULL_INFRASTRUCTURE",
- "status": "REMOVED",
- "removalTimestamp": "2025-09-12T17:30:00Z",
- "removalReason": "INFRASTRUCTURE_UPGRADE"
}, - "removalProcess": {
- "gracePeriodProvided": true,
- "gracePeriodDuration": 60,
- "forceRemoval": false,
- "activeConnectionsTerminated": 15,
- "configurationsCleanedUp": 8
}, - "networkConfiguration": {
- "configurationUpdated": true,
- "accessRevoked": true,
- "policiesRemoved": [
- "ENCRYPTION_POLICY",
- "AUTH_POLICY",
- "ACCESS_CONTROL_POLICY"
], - "configurationTimestamp": "2025-09-12T17:30:30Z"
}, - "maintenanceInfo": {
- "scheduledMaintenance": true,
- "maintenanceWindow": {
- "startTime": "2025-09-13T02:00:00Z",
- "estimatedDuration": 4
}, - "expectedRestoration": "2025-09-13T06:00:00Z"
}, - "archiveStatus": {
- "nasArchived": true,
- "archiveId": "NAS_ARCH_123456789",
- "restorationPossible": true,
- "retentionPeriod": 90
}, - "audit": {
- "performedBy": "operator@networkprovider.com",
- "removalReason": "Legacy access point being replaced with Wi-Fi 6E model",
- "securityImpact": "LOW_RISK",
- "complianceStatus": "COMPLIANT",
- "auditTimestamp": "2025-09-12T17:31:00Z"
}
}Remove specific authentication keys from subscriber accounts for secure key lifecycle management.
Required Parameters:
Optional Parameters:
Features:
| AccessToken required | string Network operator authentication token with subscriber management privileges |
| SubscriberID required | string Target subscriber identifier for key removal |
| KeyID required | string Specific key identifier to be removed from subscriber account |
| RemovalReason required | string Enum: "SECURITY_INCIDENT" "KEY_COMPROMISE" "SERVICE_DEACTIVATION" "CREDENTIAL_ROTATION" "SUBSCRIBER_REQUEST" "COMPLIANCE" "KEY_EXPIRY" "SYSTEM_MIGRATION" "POLICY_VIOLATION" "MAINTENANCE" Reason for key removal |
| KeyType | string Enum: "API_KEY" "ACCESS_TOKEN" "SERVICE_KEY" "SESSION_KEY" "DEVICE_KEY" "TEMP_KEY" "ADMIN_KEY" Type of key being removed |
| ForceRemoval | boolean Default: false Override active sessions and immediately remove key access |
object | |
| NotifySubscriber | boolean Default: true Whether to notify subscriber of key removal |
| ArchiveKey | boolean Default: true Whether to maintain key history for audit purposes (key value excluded) |
| CleanupSessions | boolean Default: true Whether to cleanup all active sessions using the key immediately |
| RemovalNotes | string Additional notes about key removal for administrative purposes |
{- "AccessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
- "SubscriberID": "SUB_123456789",
- "KeyID": "KEY_API_123456",
- "RemovalReason": "CREDENTIAL_ROTATION",
- "KeyType": "API_KEY",
- "ForceRemoval": false,
- "GracePeriod": {
- "EnableGracePeriod": true,
- "GraceDurationMinutes": 30,
- "NotificationMessage": "Authentication key will be removed in 30 minutes due to credential rotation"
}, - "NotifySubscriber": true,
- "ArchiveKey": true,
- "CleanupSessions": true,
- "RemovalNotes": "Regular 90-day credential rotation - replaced with new API key"
}{- "success": true,
- "removalId": "KEY_REMOVAL_987654321",
- "subscriber": {
- "subscriberId": "SUB_123456789",
- "totalActiveKeys": 3,
- "keyLimit": 10
}, - "key": {
- "keyId": "KEY_API_123456",
- "keyType": "API_KEY",
- "previousKeyName": "Main Application API Key",
- "keyUsage": "APPLICATION_ACCESS",
- "status": "REMOVED",
- "removalTimestamp": "2025-09-12T17:45:00Z",
- "removalReason": "CREDENTIAL_ROTATION"
}, - "removalProcess": {
- "gracePeriodProvided": true,
- "gracePeriodDuration": 30,
- "forceRemoval": false,
- "activeSessionsTerminated": 5,
- "applicationsNotified": 2
}, - "authenticationSystem": {
- "systemUpdated": true,
- "keyDeactivated": true,
- "cacheCleared": true,
- "updateTimestamp": "2025-09-12T17:45:30Z"
}, - "sessionCleanup": {
- "sessionsCleanedUp": 5,
- "tokensRevoked": 8,
- "cacheEntriesRemoved": 12,
- "cleanupCompleted": true
}, - "notifications": {
- "subscriberNotified": true,
- "notificationMethod": "EMAIL",
- "gracePeriodNotificationSent": true,
- "applicationsNotified": true
}, - "archiveStatus": {
- "keyArchived": true,
- "archiveId": "KEY_ARCH_123456789",
- "auditRetention": true,
- "retentionPeriod": 365
}, - "audit": {
- "performedBy": "operator@networkprovider.com",
- "removalReason": "Regular 90-day credential rotation - replaced with new API key",
- "securityImpact": "MINIMAL_RISK",
- "complianceStatus": "COMPLIANT",
- "auditTimestamp": "2025-09-12T17:46:00Z"
}
}Reset and regenerate subscriber authentication keys for secure credential lifecycle management.
| AccessToken required | string Network operator authentication token with subscriber management privileges |
| CurrentKeyID required | string Current key identifier to be reset |
| UserPartForNewKey | string <= 40 characters User-defined part for new key generation (max 40 characters, WPA-valid characters only) |
| NewKey | string [ 8 .. 63 ] characters Complete new key value (8-63 characters, WPA-valid characters only) |
{- "AccessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
- "CurrentKeyID": "KEY_API_123456",
- "UserPartForNewKey": "MyNewKey2025"
}{- "message": "Wi-Fi password updated."
}Modify subscriber subscription pricing with flexible pricing management and billing adjustments.
| AccessToken required | string Network operator authentication token with pricing management privileges |
| SubscriberID required | string Target subscriber identifier for pricing modification |
required | object |
| EffectiveDate required | string <date> Date when pricing changes should take effect |
| ModificationReason required | string Enum: "PROMOTIONAL_CAMPAIGN" "CUSTOMER_RETENTION" "COMPETITIVE_ADJUSTMENT" "LOYALTY_REWARD" "VOLUME_DISCOUNT" "SERVICE_UPGRADE" "MARKET_POSITIONING" "BILLING_CORRECTION" "POLICY_UPDATE" "SPECIAL_OFFER" Reason for pricing modification |
| ProrationMethod | string Default: "DAILY_PRORATION" Enum: "IMMEDIATE" "NEXT_CYCLE" "DAILY_PRORATION" "FULL_CYCLE_CREDIT" Method for handling mid-cycle pricing changes |
object | |
| NotifySubscriber | boolean Default: true Whether to notify subscriber of pricing changes |
| ApprovalRequired | boolean Default: false Whether pricing change requires additional approval |
object | |
object | |
| ModificationNotes | string Additional notes about pricing modification |
{- "AccessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
- "SubscriberID": "SUB_123456789",
- "PriceModification": {
- "ModificationType": "PROMOTIONAL_DISCOUNT",
- "NewPrice": 79.99,
- "Currency": "USD",
- "DiscountPercentage": 15
}, - "EffectiveDate": "2025-10-01",
- "ModificationReason": "PROMOTIONAL_CAMPAIGN",
- "ProrationMethod": "DAILY_PRORATION",
- "PromotionalPeriod": {
- "IsPromotional": true,
- "PromotionDuration": 3,
- "RevertToPrice": 99.99,
- "AutoRevert": true
}, - "NotifySubscriber": true,
- "ApprovalRequired": false,
- "BillingOptions": {
- "GenerateCredit": true,
- "AdjustNextInvoice": true,
- "SendUpdatedInvoice": true
}, - "ModificationNotes": "Q4 promotional campaign - 15% discount for 3 months"
}{- "success": true,
- "modificationId": "PRICE_MOD_987654321",
- "subscriber": {
- "subscriberId": "SUB_123456789",
- "currentPlan": "PREMIUM_UNLIMITED",
- "accountStatus": "ACTIVE"
}, - "pricingChanges": {
- "previousPrice": 99.99,
- "newPrice": 79.99,
- "currency": "USD",
- "discountApplied": 20,
- "discountPercentage": 15,
- "modificationType": "PROMOTIONAL_DISCOUNT",
- "effectiveDate": "2025-10-01",
- "modificationTimestamp": "2025-09-12T18:15:00Z"
}, - "promotionalInfo": {
- "isPromotional": true,
- "promotionDuration": 3,
- "promotionEndDate": "2026-01-01",
- "revertToPrice": 99.99,
- "autoRevert": true
}, - "billingImpact": {
- "prorationMethod": "DAILY_PRORATION",
- "prorationAmount": 6.67,
- "creditGenerated": 6.67,
- "nextInvoiceAdjustment": -6.67,
- "billingCycleDate": "2025-10-15"
}, - "financialAnalysis": {
- "monthlyImpact": -20,
- "annualImpact": -60,
- "lifetimeValueImpact": -240,
- "retentionRisk": "LOW"
}, - "notifications": {
- "subscriberNotified": true,
- "notificationMethod": "EMAIL",
- "notificationSentAt": "2025-09-12T18:15:30Z",
- "invoiceUpdated": true
}, - "approvalStatus": {
- "requiresApproval": false,
- "approvalStatus": "AUTO_APPROVED",
- "approvedBy": "SYSTEM_AUTO_APPROVAL"
}, - "audit": {
- "performedBy": "operator@networkprovider.com",
- "modificationReason": "Q4 promotional campaign - 15% discount for 3 months",
- "businessImpact": "CUSTOMER_RETENTION_POSITIVE",
- "complianceStatus": "COMPLIANT",
- "auditTimestamp": "2025-09-12T18:16:00Z"
}
}Apply one-time billing credits to subscriber accounts for flexible billing adjustments and promotional credit management.
| AccessToken required | string Network operator authentication token with billing management privileges |
| SetupIntentId required | string Stripe setup intent identifier for the subscriber |
| StripeClientSecret | string Stripe client secret for the subscriber payment setup |
| NewBillingCyclePriceAdjustment required | integer [ -999999 .. 999999 ] Credit amount in cents (use negative value for credit, positive for charge) |
| VenueID | string Venue identifier for venue-specific operations |
| Reason | string <= 500 characters Business reason for applying the credit |
{- "AccessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
- "StripeClientSecret": "pi_1ABC123DEF456GHI789_secret_XYZ",
- "NewBillingCyclePriceAdjustment": -2500,
- "Reason": "Service outage compensation - 2 hour downtime on 2025-09-10"
}{- "success": true,
- "creditApplied": {
- "amount": "$25.00",
- "currency": "USD",
- "effectiveDate": "2025-10-12T00:00:00Z"
}, - "billingImpact": {
- "nextInvoiceDate": "Oct 15, 2025",
- "adjustedAmount": "$74.99",
- "creditCarryForward": "$0.00"
}, - "subscriber": {
- "setupIntentId": "seti_1ABC123DEF456GHI789",
- "currentBalance": "-$25.00",
- "nextInvoiceAmount": "$74.99"
}, - "auditTrail": {
- "appliedBy": "admin@networkprovider.com",
- "applicationTimestamp": "2025-09-12T18:30:00Z",
- "reason": "Service outage compensation - 2 hour downtime on 2025-09-10"
}
}Migrate subscriber subscriptions between venue units enabling seamless subscriber relocations within venues.
Required Parameters:
Optional Parameters:
Migration Process:
Features:
| AccessToken required | string Network operator authentication token with subscriber management privileges |
| NewUnitID_internal required | string >= 5 characters Target venue unit internal identifier for migration destination |
| SetupIntentId required | string Stripe setup intent identifier for the subscriber |
| StripeClientSecret | string Stripe client secret for the subscriber payment setup |
| VenueID | string Venue identifier for venue console access validation |
| Reason | string <= 500 characters Business reason for unit migration |
{- "AccessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
- "SetupIntentId": "seti_1ABC123DEF456GHI789",
- "NewUnitID_internal": "unit_12345_internal_abc",
- "Reason": "Subscriber relocation to unit 205 due to apartment change"
}{- "success": true,
- "migration": {
- "fromUnit": {
- "unitId": "104-Building A-Floor 1",
- "address": "123 Main St, Apt 104"
}, - "toUnit": {
- "unitId": "205-Building B-Floor 2",
- "address": "123 Main St, Apt 205",
- "vlan": "vlan_205"
}
}, - "subscriber": {
- "setupIntentId": "seti_1ABC123DEF456GHI789",
- "subscriberToken": "sub_ABC123DEF456",
- "ssid": "VaultWiFi_205"
}, - "networkConfiguration": {
- "policyMigrated": true,
- "vlanConfigured": true,
- "gatewayUpdated": true
}, - "auditTrail": {
- "migratedBy": "admin@networkprovider.com",
- "migrationTimestamp": "2025-09-12T18:45:00Z",
- "reason": "Subscriber relocation to unit 205 due to apartment change"
}, - "message": "Migrating key for sub_ABC123DEF456, ssid: VaultWiFi_104 from unit_104_internal to unit_205_internal"
}Reset and modify subscription start dates for flexible service activation scheduling and billing adjustments.
| AccessToken required | string Network operator authentication token with subscription management privileges |
| UnitID_internal required | string Internal venue unit identifier for subscription location |
| NewStartDateTimeUTC.ISO8601 required | string <date-time> New subscription start date and time in ISO 8601 UTC format |
| StartDateTimeUTC.ISO8601 | string <date-time> Current start date for validation and comparison |
| Reason | string <= 500 characters Business reason for start date change |
| doNotResetDatetoMidnight | boolean Skip automatic start-of-day adjustments for residential units |
| VenueID | string Venue identifier for venue-specific operations |
{- "AccessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
- "UnitID_internal": "unit_12345_internal_abc",
- "NewStartDateTimeUTC.ISO8601": "2025-10-15T00:00:00.000Z",
- "Reason": "Delayed move-in - tenant requested service activation postponed to October 15"
}{- "success": true,
- "subscription": {
- "UnitID_internal": "unit_12345_internal_abc",
- "SubscriberToken": "sub_ABC123DEF456",
- "NewStartDateTimeUTC.ISO8601": "2025-10-15T00:00:00.000Z"
}, - "scheduling": {
- "startDate": "Oct 15, 2025, 12:00 AM PDT",
- "timezone": "America/Los_Angeles",
- "adjustedForLocation": true
}, - "billingImpact": {
- "nextBillingDate": "2025-11-15T00:00:00.000Z",
- "billingCycleAdjusted": true
}, - "networkConfiguration": {
- "policiesUpdated": true,
- "serviceActivation": "scheduled"
}, - "notifications": {
- "subscriberNotified": true,
- "emailSuppressed": false
}, - "auditTrail": {
- "changedBy": "admin@networkprovider.com",
- "changeTimestamp": "2025-09-12T18:50:00Z",
- "reason": "Delayed move-in - tenant requested service activation postponed to October 15"
}
}Calculate accurate pro-rated refund amounts for subscription cancellations and service terminations.
| AccessToken required | string Network operator authentication token with financial management privileges |
| StripeClientSecret required | string Stripe client secret for subscription payment identification |
| EndDateTimeUTC.ISO8601 required | string <date-time> Proposed subscription end date for refund calculation in ISO 8601 UTC format |
| endImmediately | boolean Whether to end subscription immediately without end-of-day adjustments |
| doNotResetDatetoMidnight | boolean Skip automatic time adjustments for residential units |
| requestedRefundAmount | integer [ 0 .. 999999 ] Specific refund amount requested in cents (overrides calculated amount) |
{- "AccessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
- "StripeClientSecret": "pi_1ABC123DEF456GHI789_secret_XYZ",
- "EndDateTimeUTC.ISO8601": "2025-10-20T23:59:59.999Z",
- "endImmediately": false
}{- "success": true,
- "refundAnalysis": {
- "UnusedRefundAmount": 1875,
- "MaxRefundAmount": 2500,
- "EndDateTimeUTC.ISO8601": "2025-10-20T23:59:59.999Z"
}, - "billingDetails": {
- "currentBillingPeriod": {
- "startDate": "2025-10-01T00:00:00.000Z",
- "endDate": "2025-11-01T00:00:00.000Z",
- "totalAmount": "$25.00"
}, - "proRationDetails": {
- "hourlyRate": 0.0347,
- "hoursRemaining": 276,
- "unusedAmount": "$18.75"
}
}, - "paymentHistory": {
- "lastInvoiceAmount": "$25.00",
- "previousRefunds": "$0.00",
- "availableForRefund": "$25.00"
}, - "subscriptionDetails": {
- "stripeClientSecret": "pi_1ABC123DEF456GHI789_secret_XYZ",
- "currency": "USD",
- "billingCycleHours": 720
}, - "calculation": {
- "calculationMethod": "pro_rated_hourly",
- "adjustedForLocation": true,
- "trialPeriodHandling": false
}
}Reset subscription end dates, manage cancellations, and process automatic refunds with intelligent refund calculations.
| AccessToken required | string Network operator authentication token with subscription management privileges |
| NewEndDateTimeUTC.ISO8601 required | string New subscription end date in ISO 8601 UTC format (empty string to remove end date) |
| StripeClientSecret required | string Stripe client secret for subscription identification |
| SetupIntentId | string Setup intent identifier for subscription lookup |
| UnitID_internal | string Internal venue unit identifier |
| SubscriberToken | string Subscriber authentication token |
| endImmediately | boolean End subscription immediately without end-of-day adjustments |
| doNotResetDatetoMidnight | boolean Skip automatic time adjustments for residential units |
| requestedRefundAmount | integer [ 0 .. 999999 ] Specific refund amount in cents (overrides calculated amount) |
| CancellationReasons | Array of strings Array of cancellation reasons for audit purposes |
| VenueID | string Venue identifier for venue-specific operations |
{- "AccessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
- "StripeClientSecret": "pi_1ABC123DEF456GHI789_secret_XYZ",
- "NewEndDateTimeUTC.ISO8601": "2025-10-31T23:59:59.999Z",
- "CancellationReasons": [
- "Customer request",
- "Moved to different property"
]
}{- "success": true,
- "subscription": {
- "endDateUpdate": {
- "originalEndDate": "2025-12-31T23:59:59.999Z",
- "newEndDate": "2025-10-31T23:59:59.999Z",
- "adjustedForLocation": true,
- "endDateRemoved": false
}
}, - "refundProcessing": {
- "refundCalculated": true,
- "refundAmount": "$12.50",
- "refundId": "re_1ABC123DEF456GHI789",
- "paymentIntentId": "pi_1ABC123DEF456GHI789"
}, - "cancellationDetails": {
- "cancellationReasons": [
- "Customer request",
- "Moved to different property"
], - "cancellationSource": "Network operator console",
- "effectiveDate": "2025-10-31T23:59:59.999Z"
}, - "networkConfiguration": {
- "policiesUpdated": true,
- "accessRevoked": true,
- "cleanupCompleted": true
}, - "auditTrail": {
- "updatedBy": "admin@networkprovider.com",
- "updateTimestamp": "2025-09-12T19:00:00Z",
- "cancellationSource": "2025-09-12T19:00:00.000Z Subscription end date updated by (admin@networkprovider.com, 192.168.1.100, Windows, Chrome)"
}
}Permanently close subscriber accounts, terminate all active subscriptions, and revoke administrative privileges.
Required Parameters:
Optional Parameters:
Account Closure Process:
Administrative Privilege Revocation:
Data & Compliance:
Features:
| AccessToken required | string Network operator authentication token with subscriber management privileges |
| SubscriberToken required | string Subscriber authentication token for account identification |
| EmailAddress | string <email> Subscriber email address for account lookup |
| UnitID_internal | string Internal venue unit identifier for subscriber location |
| Reason | string <= 40 characters Business reason for account closure (max 40 characters) |
| VenueID | string Venue identifier for venue-specific operations |
{- "AccessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
- "SubscriberToken": "sub_ABC123DEF456",
- "Reason": "Customer request - account termination"
}{- "success": true,
- "accountClosure": {
- "subscriberToken": "sub_ABC123DEF456",
- "closureTimestamp": "2025-09-12T19:05:00Z",
- "reason": "Reason: Customer request - account termination"
}, - "subscriptionTermination": {
- "activeSubscriptionsCancelled": 2,
- "immediateTermination": true,
- "refundsProcessed": [
- {
- "subscriptionId": "pi_1ABC123DEF456GHI789_secret_XYZ",
- "refundAmount": "$15.50",
- "refundId": "re_1ABC123DEF456GHI789"
}
]
}, - "accessRevocation": {
- "venueAdministratorRemoved": true,
- "leasingAgentRemoved": false,
- "domainAdministratorRemoved": false,
- "siemAdministratorRemoved": false,
- "accountManagerRemoved": false,
- "customerSupportRemoved": false
}, - "dataCleanup": {
- "cacheCleared": true,
- "operatorDataUpdated": true,
- "accountMarkedClosed": true
}, - "auditTrail": {
- "closedBy": "admin@networkprovider.com",
- "closureTimestamp": "2025-09-12T19:05:00Z",
- "reason": "Reason: Customer request - account termination"
}, - "message": "Account Closed - sub_ABC123DEF456. Reason: Customer request - account termination"
}Process partial and full refunds on subscriber payments through Stripe payment integration.
| AccessToken required | string Network operator authentication token with payment management privileges |
| StripeClientSecret required | string Stripe client secret identifying the payment intent to refund |
| RefundAmount required | integer [ 1 .. 1000000 ] Refund amount in smallest currency unit (cents, pence, etc.) |
| Currency required | string Enum: "USD" "GBP" "CNY" "CAD" "INR" "AUD" Currency code for refund processing |
| Reason | string Enum: "requested_by_customer" "duplicate" "fraudulent" Reason for refund (optional) - used for Stripe refund categorization |
| VenueID | string Venue identifier for venue-specific refund processing (optional) |
{- "AccessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
- "StripeClientSecret": "pi_1ABC123DEF456GHI789_secret_XYZ",
- "RefundAmount": 1550,
- "Currency": "USD",
- "Reason": "requested_by_customer",
- "VenueID": "venue_ABC123"
}{- "success": true,
- "refundDetails": {
- "refundId": "re_1ABC123DEF456GHI789",
- "paymentIntentId": "pi_1ABC123DEF456GHI789",
- "refundAmount": 1550,
- "currency": "USD",
- "formattedAmount": "$15.50",
- "reason": "requested_by_customer"
}, - "originalPayment": {
- "originalAmount": 2999,
- "formattedOriginalAmount": "$29.99",
- "billingDate": "2025-08-15",
- "previousRefunds": 0,
- "availableBalance": 1449
}, - "auditTrail": {
- "processedBy": "admin@networkprovider.com",
- "processedAt": "2025-09-12T19:10:00Z",
- "sourceIP": "192.168.1.100",
- "sourceLocale": "en-US"
}, - "message": "Initiated refund re_1ABC123DEF456GHI789 for $15.50"
}Clear subscriber device cache from Redis storage to resolve connectivity issues and support network troubleshooting.
| SubscriberToken required | string [ 1 .. 255 ] characters ^[a-zA-Z0-9_-]{1,255}$ Unique subscriber identifier for device cache clearing. This token is used to locate and delete all cached device information associated with the subscriber. |
Clear all cached device information for a specific subscriber to resolve connectivity issues
{- "SubscriberToken": "sub_abc123def456"
}Device cache successfully cleared for subscriber
{- "message": "Subscriber device cache cleared successfully"
}Retrieve comprehensive WiFi authentication key information for subscribers including WPA2 PSK credentials, keypool associations, venue unit policies, and device connection details.
| AccessToken required | string Network operator authentication token with subscriber management privileges |
| SubscriberToken required | string Subscriber authentication token for direct account identification |
| EmailAddress | string <email> Subscriber email address for account lookup |
| PhoneNumber | string Subscriber phone number in E.164 format for account identification |
| externalSubscriberID | string External system subscriber identifier for property management integration |
| VenueID | string Venue identifier for venue-specific key filtering (optional) |
{- "AccessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
- "SubscriberToken": "sub_ABC123DEF456"
}{- "success": true,
- "subscriberInfo": {
- "subscriberToken": "sub_ABC123DEF456",
- "emailAddress": "subscriber@example.com",
- "status": "In Service",
- "cognitoStatus": "CONFIRMED",
- "contactPreferences": {
- "emailEnabled": true,
- "smsEnabled": false
}
}, - "keyInventory": {
- "keyCount": 3,
- "keyCountActive": 2,
- "deviceCountOnline": 5,
- "deviceCountOffline": 2
}, - "keysInKeyPools": {
- "keypool_ABC123": {
- "ssid": "VenueWiFi_5G",
- "displayOrder": 10,
- "keys": {
- "key_DEF456": {
- "dateAdded": "2025-08-15T10:30:00Z",
- "psk": "UserPart.sub_ABC123DEF456",
- "primaryKey": true,
- "keyTag": "Main WiFi Key",
- "currentState": "Active",
- "callingStationWhitelist": [
- "00:11:22:33:44:55"
], - "nasIdentifierWhitelist": [
- "venue-controller-01"
], - "venueUnitPolicies": {
- "policy_789": {
- "unitIdInternal": "unit_12345_internal_abc",
- "externalVenueUnitId": "apt_789_building_a",
- "unitId": "101",
- "unitBuilding": "Building A",
- "unitFloor": "Floor 1",
- "vlan": 100,
- "servicePlan": {
- "servicePlanId": "plan_premium_100mbps",
- "downloadSpeedKbps": 100000,
- "uploadSpeedKbps": 25000
}
}
}
}
}
}
}, - "allDevices": {
- "001122334455": {
- "macAddress": "00:11:22:33:44:55",
- "deviceName": "John's iPhone",
- "lastSeen": "2025-09-12T18:45:00Z",
- "connectionStatus": "online",
- "profiles": [
- "Main WiFi Key"
], - "ssidHistory": [
- "VenueWiFi_5G",
- "VenueWiFi_2G"
]
}
}
}Retrieve comprehensive activity logs and audit trails for subscriber accounts including administrative actions, subscription events, payment activities, and system interactions.
Required Parameters:
Optional Parameters:
Audit Trail Features:
Event Categories:
Data Processing:
Features:
| AccessToken required | string Network operator authentication token with subscriber management privileges |
| SubscriberToken required | string Subscriber authentication token for direct account identification |
| EmailAddress | string <email> Subscriber email address for account lookup |
| PhoneNumber | string Subscriber phone number in E.164 format for account identification |
| externalSubscriberID | string External system subscriber identifier for property management integration |
| VenueID | string Venue identifier for venue-specific log filtering (optional) |
{- "AccessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
- "SubscriberToken": "sub_ABC123DEF456",
- "VenueID": "venue_ABC123"
}{- "success": true,
- "subscriberInfo": {
- "subscriberToken": "sub_ABC123DEF456",
- "emailAddress": "subscriber@example.com",
- "status": "In Service"
}, - "logSummary": {
- "totalEvents": 127,
- "eventTypes": {
- "administrativeActions": 45,
- "subscriptionEvents": 62,
- "systemEvents": 20
}, - "dateRange": {
- "earliest": "2025-07-15T10:00:00Z",
- "latest": "2025-09-12T18:45:00Z"
}
}, - "log": [
- {
- "timestamp": "2025-09-12T18:45:00Z",
- "functionName": "vault_networkoperatorconsole_modifyServicePlan",
- "eventType": "subscription",
- "event": {
- "message": "Service plan upgraded from Basic to Premium",
- "reason": "Customer requested upgrade for faster speeds"
}, - "administrator": {
- "emailAddress": "admin@networkprovider.com",
- "fullName": "John Smith"
}, - "sourceInformation": {
- "sourceIP": "192.168.1.100",
- "sourceLocale": "en-US"
}, - "venueContext": {
- "venueId": "venue_ABC123",
- "venueName": "Downtown Apartments"
}
}
]
}Retrieve active and historical session information for subscriber WiFi keys with connection analytics and device tracking.
| AccessToken required | string Network operator authentication token with subscriber management privileges |
| SubscriberToken required | string Subscriber authentication token for direct account identification |
| EmailAddress | string <email> Subscriber email address for account lookup |
| PhoneNumber.E164 | string Subscriber phone number in E.164 format for account identification |
| KeyID | string WiFi key identifier for key-specific session filtering (optional) |
| VenueID | string Venue identifier for venue-specific session filtering (optional) |
| Calling-Station-Id | string^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$ Device MAC address for device-specific filtering (optional, format: 00:11:22:33:44:55) |
{- "AccessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
- "SubscriberToken": "sub_ABC123DEF456",
- "VenueID": "venue_ABC123"
}{- "success": true,
- "analyticsOverview": {
- "reportingPeriod": {
- "startDate": "2025-09-05T19:25:00Z",
- "endDate": "2025-09-12T19:25:00Z",
- "totalHours": 168
}, - "totalUsage": {
- "totalInputOctets": 15728640000,
- "totalOutputOctets": 3145728000,
- "totalOctets": 18874368000,
- "formattedTotal": "17.6 GB"
}, - "deviceSummary": {
- "uniqueDevices": 5,
- "activeDevices": 3,
- "totalSessions": 47
}, - "performanceMetrics": {
- "averageRSSI": -45,
- "signalQuality": "Good"
}
}, - "usageData": [
- {
- "reportingTimestamp": "2025-09-12T19:00:00Z",
- "acctInputOctets": 134217728,
- "acctOutputOctets": 33554432,
- "acctTotalOctets": 167772160,
- "rssi": -42,
- "callingStationId": [
- "001122334455",
- "aabbccddeeff"
], - "formattedUsage": {
- "download": "128 MB",
- "upload": "32 MB",
- "total": "160 MB"
}
}
], - "deviceBreakdown": [
- {
- "macAddress": "00:11:22:33:44:55",
- "deviceName": "John's iPhone",
- "usageStats": {
- "totalInputOctets": 5368709120,
- "totalOutputOctets": 1073741824,
- "totalOctets": 6442450944,
- "formattedTotal": "6.0 GB"
}, - "connectionMetrics": {
- "averageRSSI": -38,
- "sessionCount": 15,
- "totalConnectedHours": 89,
- "lastSeen": "2025-09-12T18:45:00Z"
}
}
]
}Retrieve comprehensive payment history and billing analytics for subscribers with advanced financial transaction management.
Required Parameters:
Optional Parameters:
Stripe Integration:
Billing Analytics:
Returns:
Security & Compliance:
Performance:
| AccessToken required | string Network operator authentication token with subscriber management and financial data access privileges |
| SubscriberToken required | string Subscriber authentication token for direct account payment history retrieval |
| EmailAddress | string <email> Subscriber email address for payment history lookup |
| PhoneNumber.E164 | string Subscriber phone number in E.164 format for payment identification |
| VenueID | string Venue identifier for venue-specific payment history filtering |
| UnitID_internal | string Internal venue unit identifier for unit-specific billing history |
| ServicePlanID | string Service plan identifier for plan-specific revenue analysis |
| externalSubscriberID | string External system subscriber identifier for cross-platform correlation |
| externalSubscriptionID | string External billing system subscription identifier |
| externalVenueID | string External property management system venue identifier |
| externalVenueUnitID | string External system venue unit identifier |
| externalServicePlanID | string External billing system service plan identifier |
| StripeCustomerID | string Stripe customer identifier for payment platform correlation |
| MinInvoiceDateTimeUTC.ISO8601 | string <date-time> Minimum invoice date for date range filtering (ISO8601 format) |
| MaxInvoiceDateTimeUTC.ISO8601 | string <date-time> Maximum invoice date for date range filtering (ISO8601 format) |
| MinStartDateTimeUTC.ISO8601 | string <date-time> Minimum service start date for subscription lifecycle filtering |
| MaxStartDateTimeUTC.ISO8601 | string <date-time> Maximum service start date for subscription lifecycle filtering |
{- "AccessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
- "SubscriberToken": "sub_ABC123DEF456",
- "VenueID": "venue_ABC123",
- "MinInvoiceDateTimeUTC.ISO8601": "2025-01-01T00:00:00Z",
- "MaxInvoiceDateTimeUTC.ISO8601": "2025-12-31T23:59:59Z"
}{- "PaymentCount": 47,
- "NonZeroPaymentCount": 42,
- "BillingCycleHours": 8760,
- "DownloadKbps": 5000000,
- "UploadKbps": 1000000,
- "PricePerDownloadGbps.USD": 25.99,
- "VenuePriceAdjustment": -150,
- "VenueUnitPriceAdjustment": -75.5,
- "ListBillingCyclePrice.USD": 2549.99,
- "NetBillingCyclePrice.USD": 2324.49,
- "MinInvoiceDateTimeUTC.ISO8601": "2025-01-15T10:30:00Z",
- "MaxInvoiceDateTimeUTC.ISO8601": "2025-09-12T19:30:00Z",
- "Payments": [
- {
- "dateAddedUTC.ISO8601": "2025-09-12T19:30:00Z",
- "InvoiceDateTimeUTC.ISO8601": "2025-09-12T19:00:00Z",
- "PaymentSuccessDateTimeUTC.ISO8601": "2025-09-12T19:05:30Z",
- "SubscriberToken": "sub_ABC123DEF456",
- "GivenName": "John",
- "FamilyName": "Smith",
- "EmailAddress": "john.smith@example.com",
- "PhoneNumber.E164": "+1234567890",
- "StripeCustomerID": "cus_1234567890abcdef",
- "StripePaymentIntentId": "pi_1234567890abcdef",
- "ServicePlanID": "USA.CA.90210.OPERATOR.VENUE._V3SERVICEPLAN_.PREMIUM",
- "ServicePlanName": "Premium WiFi Plan",
- "BillingCycleHours": 720,
- "Currency": "USD",
- "CurrencySymbol": "$",
- "BillingCyclePrice.USD": 59.99,
- "NetBillingCyclePrice.USD": 54.99,
- "VenuePriceAdjustment": -3,
- "VenueUnitPriceAdjustment": -2,
- "DownloadKbps": 100000,
- "UploadKbps": 20000,
- "ConcurrentDevices": 10,
- "VenueID": "venue_ABC123",
- "VenueName": "Downtown Apartments Complex",
- "AddressLine1": "123 Main Street",
- "City": "Beverly Hills",
- "State": "CA",
- "Country.ISO3166A3": "USA",
- "PostalCode": "90210",
- "AmountProcessed.USD": 5999,
- "AmountReceived.USD": 5725,
- "AmountRefunded.USD": 0
}
]
}Update subscriber personal information and contact preferences for venue-managed accounts with secure PII handling.
| AccessToken required | string Cognito authentication token for venue administrator with network operator permissions |
| EmailAddress required | string <email> Subscriber email address for identification (one identification method required) |
| PhoneNumber | string Subscriber phone number for identification (one identification method required) |
| SubscriberToken | string Internal subscriber token for direct identification (one identification method required) |
| GivenName | string <= 40 characters Updated first name (HTML sanitized, trimmed to 40 characters) |
| FamilyName | string <= 40 characters Updated last name (HTML sanitized, trimmed to 40 characters) |
| PhoneNumber.E164 | string Updated phone number in E.164 international format |
| contactpref_sms | boolean SMS contact preference (automatically retrieved from existing subscriber data) |
| contactpref_email | boolean Email contact preference (automatically retrieved from existing subscriber data) |
| locale | string Enum: "en-us" "es-xl" Language preference for communications |
| Status | string Account status (administrative access required) |
| externalSubscriberID | string <= 40 characters External system subscriber identifier (HTML sanitized, trimmed to 40 characters) |
Venue administrator updating guest's personal information
{- "AccessToken": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...",
- "EmailAddress": "guest@grandhotel.com",
- "GivenName": "John",
- "FamilyName": "Smith",
- "PhoneNumber.E164": "+15559876543"
}Subscriber profile updated through venue management console
{- "message": "",
- "errorProcessing": false,
- "data": {
- "SubscriberToken": "sub_abc123def456",
- "contactpref_sms": true,
- "contactpref_email": false
}
}Management of authentication key pools for subscriber access control and venue-specific authentication services.
Retrieves WiFi key pools and pre-shared key (PSK) configurations available for a specific venue unit, providing SSID information for WPA2 authentication access control.
Requires AccessToken for venue administration authentication, VenueID for venue identifier, and UnitID_internal for target unit. Returns WPA2 PSK key pools with SSID details, including venue-wide pools (no unit assignment) and unit-specific pools (explicitly assigned). Excludes global pools to focus on venue-specific configurations.
Access is controlled through Cognito authentication with venue administrator permissions ensuring users only access key pool information for venues they are authorized to manage.
| AccessToken required | string Cognito access token for authentication. Must belong to a user with venue administration privileges for the specified venue. |
| VenueID required | string Unique identifier of the venue for which to list key pools. Must be a venue the authenticated user has administrative access to. |
| UnitID_internal required | string Internal identifier of the specific venue unit. Used to filter key pools that are either globally available to the venue or specifically assigned to this unit. |
{- "AccessToken": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...",
- "VenueID": "venue_12345",
- "UnitID_internal": "unit_67890"
}{- "message": "",
- "Keypools": {
- "keypool_123": {
- "ssid": "VenueWiFi_Guest"
}, - "keypool_456": {
- "ssid": "VenueWiFi_Premium"
}
}
}Retrieve complete keypool (WiFi network) catalog with authentication mechanisms, venue connections, scope information, and usage statistics.
Required Parameters:
Returns:
WiFi Network Information:
Security Protocols:
Scope Options:
| AccessToken required | string JWT authentication token (domain administrator, account manager, or customer support) |
| VenueID required | string Venue identifier (required for API consistency but not used in query logic) |
{- "AccessToken": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...",
- "VenueID": "OP123.USA.CA.94102.APARTMENTS.123"
}{- "myKeyPoolCount": 3,
- "myKeyPoolList": {
- "OP123._V3SSID.GuestWiFi.global": {
- "ssid": "GuestWiFi",
- "Scope": "global",
- "RuckusR1ControllerID": "",
- "DisplayOrder": 10,
- "AuthenticationMechanism": "WPA2 PSK",
- "SubscriberList": [ ],
- "InactiveSubscriberCount": 0,
- "InactiveSubscriberList": [ ],
- "dateAddedUTC.ISO8601": "2025-01-15T10:30:00.000Z",
- "KeyCount": 1000,
- "SubscriberCount": 350,
- "ConnectedVenueCount": 25,
- "ConnectedVenueList": { }
}, - "OP123._V3SSID.ResidentWiFi.a8f3d2e1": {
- "ssid": "ResidentWiFi",
- "Scope": "a8f3d2e1",
- "RuckusR1ControllerID": "",
- "DisplayOrder": 20,
- "AuthenticationMechanism": "WPA2 PSK",
- "SubscriberList": [ ],
- "InactiveSubscriberCount": 0,
- "InactiveSubscriberList": [ ],
- "dateAddedUTC.ISO8601": "2025-02-01T14:20:00.000Z",
- "KeyCount": 500,
- "SubscriberCount": 120,
- "ConnectedVenueCount": 2,
- "ConnectedVenueList": {
- "OP123.USA.CA.94102.APARTMENTS.123": {
- "VenueName": "Sunset Apartments",
- "AddressLine1": "123 Main St",
- "AddressLine2": "Building A",
- "City": "San Francisco",
- "State": "CA",
- "Country.ISO3166A3": "USA",
- "PostalCode": "94102",
- "NAS-Identifier": "nas-sunset-apts"
}, - "OP123.USA.CA.94102.APARTMENTS.456": {
- "VenueName": "Downtown Lofts",
- "AddressLine1": "456 Market St",
- "AddressLine2": "",
- "City": "San Francisco",
- "State": "CA",
- "Country.ISO3166A3": "USA",
- "PostalCode": "94103"
}
}
}, - "OP123._V3SSID.PremiumWiFi.b9e2c3f4": {
- "ssid": "PremiumWiFi",
- "Scope": "b9e2c3f4",
- "RuckusR1ControllerID": "OP123._V3RUCKUSR1CONTROLLER.CTRL001",
- "DisplayOrder": 5,
- "AuthenticationMechanism": "WPA3",
- "SubscriberList": [ ],
- "InactiveSubscriberCount": 0,
- "InactiveSubscriberList": [ ],
- "dateAddedUTC.ISO8601": "2025-03-10T08:15:00.000Z",
- "KeyCount": 200,
- "SubscriberCount": 45,
- "ConnectedVenueCount": 1,
- "ConnectedVenueList": {
- "OP123.USA.NY.10001.HOTEL.789": {
- "VenueName": "Grand Plaza Hotel",
- "AddressLine1": "789 Broadway",
- "AddressLine2": "Suite 100",
- "City": "New York",
- "State": "NY",
- "Country.ISO3166A3": "USA",
- "PostalCode": "10001"
}
}
}
}, - "errorProcessing": false,
- "statusCode": 200
}Create new keypool (SSID) for network operator with automatic venue attachments based on scope. Supports WPA2-PSK and WPA3-DPSK authentication via Ruckus R1 Controller integration. Multi-region synchronized deployment.
Required Parameters:
Optional Parameters:
Authentication Mechanisms:
Scope Types & Venue Attachment:
KeyPoolID Format:
Validation Checks:
Keypool Creation:
Returns:
Processing Flow:
| AccessToken required | string JWT authentication token from Cognito or legacy auth |
| OperatorID | string Network operator ID (required for NetworkSoftwareProvider, auto-populated for DomainAdministrator) |
| SSID required | string [ 2 .. 32 ] characters SSID name (2-32 characters, WiFi standards compliant, automatically trimmed to 32) |
| VenueID | string Venue ID for local scope attachment (automatically sets scope to 'local') |
| Scope | string Enum: "global" "local" Keypool scope: 'global' (default, all venues) or 'local' (specific venues/units) |
| RuckusR1ControllerID | string Ruckus R1 Controller ID for WPA3-DPSK authentication (requires explicit Scope parameter) |
| RuckusR1DPSKPoolName | string Ruckus R1 DPSK pool display name (optional, for display purposes only) |
{- "AccessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
- "SSID": "GuestWiFi",
- "Scope": "global"
}{- "KeyPoolID": "OP123._V3SSID.GuestWiFi.global",
- "SSID": "GuestWiFi",
- "message": "Keypool added: OP123._V3SSID.GuestWiFi.global. Attached keypool to 25 venues. ",
- "errorProcessing": false
}Configure existing keypool (SSID) including venue connections/disconnections, display order management, and permanent deletion. Supports dynamic venue attachment/detachment for local scope keypools with multi-region synchronization.
Required Parameters:
Configuration Operations (6 types):
Scope Restrictions:
Venue Connection Behavior:
Permanent Deletion Process:
Processing Flow:
| AccessToken required | string JWT authentication token (domain administrator privileges required) |
| KeyPoolID required | string Keypool identifier (format: {OperatorID}._V3SSID.{SSID}.{scope}) |
| connectVenueID | string Venue ID to connect keypool to (local scope only) |
| disconnectVenueID | string Venue ID to disconnect keypool from (local scope only) |
| DisplayOrder | integer [ 1 .. 100 ] Display priority order for keypool presentation in UI (1-100, lower numbers appear first) |
| deleteKeyPoolPermanently | boolean Set true to permanently delete keypool with all associated data (local scope only, irreversible) |
{- "AccessToken": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...",
- "KeyPoolID": "OP123._V3SSID.ResidentWiFi.a8f3d2e1",
- "connectVenueID": "OP123.USA.CA.94102.APARTMENTS.123"
}{- "message": "Connected keypool OP123._V3SSID.ResidentWiFi.a8f3d2e1 to venue OP123.USA.CA.94102.APARTMENTS.123",
- "errorProcessing": false,
- "KeyPoolID": "OP123._V3SSID.ResidentWiFi.a8f3d2e1",
- "statusCode": 200
}Permanently delete key pool with all associated PSKs and bins.
⚠️ WARNING: Deletion is irreversible - removes all Pre-Shared Keys, bins, and cached references.
Required Parameters:
Safety Restrictions:
Features:
| AccessToken required | string Domain administrator access token with deletion privileges |
| KeyPoolID required | string Unique key pool identifier for permanent deletion |
{- "AccessToken": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...",
- "KeyPoolID": "USA.TX.75001.CORPORATE._V3SSID.OLDWIFI.local"
}{- "message": "Deleted keypool USA.TX.75001.CORPORATE._V3SSID.OLDWIFI.local. All PSKs and bins removed.",
- "errorProcessing": false,
- "KeyPoolID": "USA.TX.75001.CORPORATE._V3SSID.OLDWIFI.local"
}Extends the validity period for existing scratch card batches to prevent expiration and maintain service availability.
Use Cases:
Features:
| AccessToken required | string Administrative access token with NetworkOperator domain administrator privileges required for scratch card batch management operations |
| KeyPoolID required | string Unique identifier of the key pool containing the scratch cards to be extended. Used to locate and validate the specific card batch within the operator's inventory. |
| ScratchCard_BatchID required | string <date-time> ISO 8601 date-time identifier of the scratch card batch to extend. This timestamp represents when the batch was originally created and serves as the unique batch identifier. |
| ExtendByHours required | integer [ 1 .. 8760 ] Number of hours to add to the current expiration date of all cards in the batch. The extension is added to each card's existing EndDateTimeUTC.ISO8601 value. |
Add 168 hours (7 days) to the scratch card batch expiration
{- "AccessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
- "KeyPoolID": "keypool_12345678-90ab-cdef-1234-567890abcdef",
- "ScratchCard_BatchID": "2025-09-01T10:30:25.123Z",
- "ExtendByHours": 168
}Scratch card batch validity extended by 168 hours (7 days)
{- "message": "",
- "2025-09-01T10:30:25.123Z": {
- "EndDateTimeUTC.ISO8601": "2025-10-08T10:30:25.123Z"
}
}Permanently invalidates scratch card batches to prevent unauthorized usage and maintain security.
Features:
Use Cases:
| AccessToken required | string Administrative access token with NetworkOperator domain administrator privileges required for scratch card batch invalidation operations |
| KeyPoolID required | string Unique identifier of the key pool containing the scratch cards to be invalidated. Used to locate and validate the specific card batch within the operator's inventory. |
| ScratchCard_BatchID required | string <date-time> ISO 8601 date-time identifier of the scratch card batch to invalidate. This timestamp represents when the batch was originally created and serves as the unique batch identifier for permanent deactivation. |
Invalidate compromised scratch card batch for security purposes
{- "AccessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
- "KeyPoolID": "keypool_12345678-90ab-cdef-1234-567890abcdef",
- "ScratchCard_BatchID": "2025-09-01T10:30:25.123Z"
}Complete scratch card batch marked as invalid with timestamp
{- "message": "",
- "2025-09-01T10:30:25.123Z": {
- "ScratchCard_invalidated": "2025-09-12T19:35:09.789Z"
}
}Comprehensive support ticket system with ConnectWise PSA integration for venue management and subscriber assistance.
Get venue support tickets with filtering by status, priority, and date range. Integrates with external ticketing systems for unified ticket management.
| AccessToken required | string Administrator authentication token |
| VenueID required | string Venue identifier for ticket filtering |
{- "AccessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
- "VenueID": "venue_67890"
}{- "tickets": [
- {
- "ticketId": "string",
- "status": "string",
- "priority": "string",
- "subject": "string",
- "created": "2019-08-24T14:15:22Z"
}
]
}Submit new support request with priority level, contact details, and issue description. Auto-routes to appropriate team and integrates with external ticketing systems.
| AccessToken required | string Administrator authentication token |
| VenueID required | string Venue identifier for ticket association |
| Subject required | string Ticket subject or title |
| Description required | string Detailed description of the issue |
| Priority required | string Enum: "low" "medium" "high" "critical" Ticket priority level |
| Category | string Ticket category for routing |
{- "AccessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
- "VenueID": "venue_67890",
- "Subject": "WiFi connectivity issue in Building A",
- "Description": "Multiple subscribers reporting intermittent connectivity in Building A, units 101-105",
- "Priority": "high",
- "Category": "technical"
}{- "ticketId": "TKT-2025-001234",
- "message": "Support ticket created successfully"
}Retrieve support tickets from ConnectWise PSA system with multi-venue support and advanced filtering.
Required Parameters:
Retrieval Options:
Features:
| AccessToken required | string Authentication token for network operator access |
| TicketID | string Specific ConnectWise ticket ID for individual ticket retrieval |
| VAULTID | Array of strings Array of Vault venue IDs for multi-venue ticket retrieval |
| StartDateTimeUTC.ISO8601 | string <date-time> Start date for ticket filtering in ISO8601 format (defaults to 90 days ago) |
| EndDateTimeUTC.ISO8601 | string <date-time> End date for ticket filtering in ISO8601 format (defaults to tomorrow) |
| showClosed | boolean Include closed and resolved tickets in results (defaults to false) |
| emailAddress | Array of strings <email> [ items <email > ] Array of email addresses for customer-specific ticket filtering |
{- "AccessToken": "string",
- "TicketID": "12345",
- "VAULTID": [
- "venue_001",
- "venue_002"
], - "StartDateTimeUTC.ISO8601": "2025-06-15T00:00:00.000Z",
- "EndDateTimeUTC.ISO8601": "2025-09-13T00:00:00.000Z",
- "showClosed": false,
- "emailAddress": [
- "customer@example.com",
- "support@venue.com"
]
}{- "12345": {
- "id": 12345,
- "summary": "Wi-Fi connectivity issue resolved",
- "status": {
- "id": 1,
- "name": "Resolved"
}, - "company": {
- "id": 100,
- "name": "Venue Property Management"
}, - "contactEmailAddress": "manager@venue.com",
- "dateEntered": "2025-09-10T09:15:00Z",
- "closedFlag": false
}, - "12346": {
- "id": 12346,
- "summary": "Equipment upgrade request",
- "status": {
- "id": 2,
- "name": "In Progress"
}, - "company": {
- "id": 100,
- "name": "Venue Property Management"
}, - "contactEmailAddress": "tech@venue.com",
- "dateEntered": "2025-09-11T16:45:00Z",
- "closedFlag": false
}
}Access comprehensive support ticket history with ConnectWise integration.
Required Parameters:
Optional Parameters:
Returned Data:
Features:
| AccessToken required | string Subscriber authentication token for API access |
| VenueID required | string Venue identifier for filtering tickets |
| TicketID | string Optional specific ticket ID to retrieve detailed information |
| StartDateTimeUTC.ISO8601 | string <date-time> Start date for ticket search range (defaults to 90 days ago) |
| EndDateTimeUTC.ISO8601 | string <date-time> End date for ticket search range (defaults to tomorrow) |
| showClosed | boolean Default: false Include closed/resolved tickets in results |
{- "AccessToken": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...",
- "VenueID": "venue_12345",
- "showClosed": false
}{- "TicketCount": 2,
- "Tickets": {
- "12345": {
- "id": "12345",
- "summary": "Internet connectivity issue",
- "status": "In Progress",
- "UnitID_support": "Building A - Unit 101",
- "contactName": "John Doe",
- "dateEntered": "2025-09-10T14:30:00Z",
- "lastUpdated": "2025-09-12T10:15:00Z",
- "siteID": "site_789",
- "VLAN": "VLAN100",
- "Purpose": "Residential",
- "UnitID": "101",
- "Floor": "1",
- "Building": "Building A",
- "VAULT_ID": "venue_12345"
}, - "12346": {
- "id": "12346",
- "summary": "WiFi password reset request",
- "status": "Open",
- "UnitID_support": "Building A - Unit 102",
- "contactName": "Jane Smith",
- "dateEntered": "2025-09-11T09:15:00Z",
- "lastUpdated": "2025-09-11T09:15:00Z",
- "siteID": "site_789",
- "VLAN": "VLAN100",
- "Purpose": "Residential",
- "UnitID": "102",
- "Floor": "1",
- "Building": "Building A",
- "VAULT_ID": "venue_12345"
}
}
}Submit technical issues, service requests, or assistance tickets with ConnectWise integration.
Required Parameters:
Optional Parameters:
Returns: ConnectWise ticket ID, reference number, status, company/site info, and board assignment.
| AccessToken required | string Subscriber authentication token for API access |
| VenueID required | string Venue identifier where the issue is occurring |
| contactName required | string <= 40 characters Contact person name for the ticket (max 40 characters) |
| summary required | string <= 100 characters Brief summary of the issue or request (max 100 characters) |
| contactEmailAddress | string <email> Contact email address (defaults to subscriber email if not provided) |
| contactPhoneNumber | string Contact phone number for follow-up |
| Description | string Detailed description of the issue or request |
| unitID | string Specific unit identifier within the venue |
| VAULTUnitID | string VAULT-specific unit identifier |
| CustomUnit | string Custom unit description if unit ID not available |
| TicketType | string Type of ticket for categorization |
| TicketSubType | string Sub-category of the ticket |
| serviceboardid | integer ConnectWise service board ID for routing |
{- "AccessToken": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...",
- "VenueID": "venue_12345",
- "contactName": "John Doe",
- "summary": "Internet connectivity issues",
- "contactEmailAddress": "john.doe@example.com",
- "Description": "WiFi connection drops frequently throughout the day",
- "unitID": "unit_101",
- "TicketType": "Resident Support",
- "TicketSubType": "Internet"
}{- "ticketId": "12345",
- "ticketNumber": "TKT-2025-001234",
- "status": "New",
- "company": {
- "id": 123,
- "name": "Residential Property Management"
}, - "site": {
- "id": 456,
- "name": "Building A"
}, - "board": {
- "id": 51,
- "name": "Resident Support"
}
}Staff member management system for venue administrators, support personnel, and operational staff with role-based access control.
Grants venue access permissions to staff members for property management and subscriber administration, establishing role-based access controls within the VAULT system.
Key Features:
Role Types:
Process Flow:
Access Control:
Integration Features:
Access is controlled through Cognito authentication with network operator or venue administrator permissions ensuring only authorized users can grant staff access to venue management functions.
| AccessToken required | string Cognito access token for authentication. Must belong to a user with venue administration privileges for the specified venue. |
| VenueID required | string Unique identifier of the venue for which staff access is being granted. Must be a venue the authenticated user has administrative access to. |
| Role required | string Enum: "VenueAdministrator" "LeasingAgent" Administrative role to grant to the staff member. Determines the level of access and permissions within the venue management system. |
| EmailAddress required | string <email> Email address of the staff member receiving access. Used for account creation, authentication, and notifications. |
| GivenName required | string <= 40 characters First name of the staff member for account creation and personalized communications. |
| FamilyName required | string <= 40 characters Last name of the staff member for account creation and identification purposes. |
| locale | string Language and region preference for the staff member's account interface and notifications. |
{- "AccessToken": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...",
- "VenueID": "venue_12345",
- "Role": "VenueAdministrator",
- "EmailAddress": "staff@example.com",
- "GivenName": "John",
- "FamilyName": "Smith",
- "locale": "en-US"
}{- "SubscriberToken": "staff_token_67890",
- "EmailAddress": "staff@example.com",
- "GivenName": "John",
- "FamilyName": "Smith",
- "locale": "en-US",
- "dateAddedUTC": "2025-09-11T19:36:58.723Z"
}Revokes venue access permissions from staff members for property management and subscriber administration, removing administrative privileges while maintaining account integrity.
Key Features:
Access Removal Process:
Security Features:
Permission Types Removed:
Data Processing Flow:
Access is controlled through Cognito authentication with network operator or venue administrator permissions ensuring only authorized users can revoke staff access to venue management functions.
| AccessToken required | string Cognito access token for authentication. Must belong to a user with venue administration privileges for the specified venue. |
| VenueID required | string Unique identifier of the venue from which staff access is being revoked. Must be a venue the authenticated user has administrative access to. |
| EmailAddress required | string <email> Email address of the staff member whose access is being revoked. Used to identify the staff member account for permission removal. |
| SubscriberToken | string Alternative identifier for the staff member whose access is being revoked. Can be used instead of EmailAddress for staff identification. |
{- "AccessToken": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...",
- "VenueID": "venue_12345",
- "EmailAddress": "staff@example.com"
}{- "message": "Operation complete. "
}Grant venue management access by creating subscriber account and assigning role permissions.
Required Parameters:
Available Roles:
Features:
| AccessToken required | string Network operator authentication token |
| VenueID required | string Unique identifier of the venue for staff access |
| Role required | string Role to assign to staff member - VenueAdministrator for full management, LeasingAgent for resident operations |
| EmailAddress required | string Email address of the staff member |
| GivenName required | string First name of the staff member |
| FamilyName | string Last name of the staff member |
| locale | string Preferred language locale |
{- "AccessToken": "string",
- "VenueID": "string",
- "Role": "string",
- "EmailAddress": "string",
- "GivenName": "string",
- "FamilyName": "string",
- "locale": "string"
}{- "SubscriberToken": "string",
- "EmailAddress": "string",
- "GivenName": "string",
- "FamilyName": "string",
- "locale": "string"
}Remove staff access permissions for venue with immediate or scheduled revocation.
Required Parameters:
Supported Roles:
Optional Parameters:
Features:
| AccessToken required | string Network operator authentication token with staff management privileges |
| VenueID required | string Target venue identifier for staff access revocation |
| StaffEmailAddress required | string <email> Email address of staff member whose access is being revoked |
| Role required | string Enum: "VenueAdministrator" "LeasingAgent" "CustomerService" "MaintenanceStaff" Specific role being revoked from staff member |
| RevocationReason required | string Enum: "EmploymentTermination" "RoleChange" "SecurityIncident" "BusinessRestructuring" "PolicyViolation" Business justification for access revocation |
| EffectiveDate | string <date-time> Optional scheduled revocation date for planned access changes |
object | |
| AuditNotes | string Additional documentation for compliance and audit purposes |
{- "AccessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
- "VenueID": "VENUE_12345",
- "StaffEmailAddress": "staff.member@venue.com",
- "Role": "LeasingAgent",
- "RevocationReason": "EmploymentTermination",
- "NotificationPreferences": {
- "NotifyStaff": true,
- "NotifyVenueManager": true,
- "NotificationMethod": "email"
}, - "AuditNotes": "Access revoked due to employment termination - HR Case #12345"
}{- "success": true,
- "revocationId": "REV_789012345",
- "staffMember": {
- "emailAddress": "staff.member@venue.com",
- "revokedRole": "LeasingAgent",
- "remainingRoles": [ ]
}, - "venue": {
- "venueId": "VENUE_12345",
- "venueName": "Downtown Apartment Complex",
- "remainingStaffCount": 3
}, - "audit": {
- "timestamp": "2024-01-10T14:30:00Z",
- "performedBy": "operator@networkprovider.com",
- "auditTrailId": "AUDIT_345678901",
- "complianceStatus": "COMPLIANT"
}
}Staff access revocation endpoint for network operator domain administrators to remove personnel from administrative roles.
⚠️ WARNING: Irreversible operation requiring administrative action to restore. System-wide impact affecting all network operator systems.
Required Parameters:
Administrative Roles Removed:
Processing:
Returns:
Features:
| AccessToken required | string Network operator authentication token with domain administrator privileges |
| EmailAddress required | string <email> Email address of staff member to disable access for (automatically normalized to lowercase) |
| OperatorID | string Network operator identifier (automatically derived from AccessToken if not provided) |
Standard request to remove staff member administrative access
{- "AccessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
- "EmailAddress": "john.smith@metrowifi.com"
}Complete staff access removal with role details
{- "message": "",
- "errorProcessing": false,
- "statusCode": 200,
- "EmailAddress": "john.smith@metrowifi.com",
- "DisabledDateTime": "2025-09-21T14:45:30.123Z",
- "OperatorID": "op_network_metro_wifi",
- "RolesRemoved": [
- "DomainAdministrator",
- "SIEMAdministrator"
]
}Staff access enablement endpoint for granting administrative permissions with role-based access control.
Required Parameters:
Optional Parameters:
Network Operator Roles:
Venue-Specific Roles:
Role Hierarchy & Authorization:
Processing:
Returns:
Features:
| AccessToken required | string Valid JWT access token with staff management permissions |
| EmailAddress required | string <email> Email address of the staff member to enable access for (validated and normalized) |
| GivenName | string <= 40 characters Staff member's first name (required for domain roles) |
| FamilyName | string <= 40 characters Staff member's last name (required for domain roles) |
| Role | string Enum: "DomainAdministrator" "SIEMAdministrator" "AccountManager" "CustomerSupport" "VenueAdministrator" "LeasingAgent" Role to assign to the staff member |
| VenueID | string Venue identifier for venue-specific roles (required for VenueAdministrator and LeasingAgent) |
| Domain | string Domain assignment for network software provider operations |
Granting domain administrator role for full network access
{- "AccessToken": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...",
- "EmailAddress": "admin@operator.com",
- "GivenName": "Jennifer",
- "FamilyName": "Williams",
- "Role": "DomainAdministrator",
- "Domain": "operator.network.com"
}{- "message": "Staff access has been enabled successfully.",
- "errorProcessing": false,
- "statusCode": 200,
- "data": { },
- "SupportedLocales": {
- "en-us": "English (US)",
- "es-xl": "Spanish (Latin America)"
}
}Network equipment management and monitoring for network operators to oversee infrastructure, performance, and maintenance operations.
Retrieves real-time status information for Customer Premises Equipment (CPE) through integrated ConnectWise configuration management and monitoring systems. This endpoint provides comprehensive equipment health monitoring and operational status across venue network infrastructure.
Equipment Categories Monitored:
Integration Features:
Response Modes:
Access Control: Access is controlled through Cognito authentication with venue-specific permissions. Only venues configured with ConnectWise integration are supported.
| AccessToken required | string Cognito authentication token for venue administrator access |
| VenueID required | string Unique identifier for the venue to monitor |
| UnitID | string Optional filter to show CPE status for specific ConnectWise unit only |
| SiteID | string Optional filter to show CPE status for specific ConnectWise site only |
| VAULTUnitID | string Optional filter using VAULT unit identifier from ConnectWise configuration |
| SummaryOnly | boolean Default: false Return only aggregate UP/DOWN counts without individual device details |
{- "AccessToken": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...",
- "VenueID": "venue_12345",
- "SummaryOnly": true
}{- "Summary": {
- "UP": 42,
- "DOWN": 3
}, - "message": ""
}Retrieves Received Signal Strength Indicator (RSSI) data for venue wireless infrastructure, providing comprehensive signal quality distribution metrics for network performance monitoring and optimization.
Key Features:
Signal Strength Analysis:
Data Processing Flow:
Use Cases:
Access is controlled through Cognito authentication with venue-specific permissions ensuring users only access RSSI data for venues they are authorized to manage.
| AccessToken required | string Valid Cognito access token for venue management authentication |
| VenueID | string Internal venue identifier for RSSI data retrieval |
| externalVenueID | string External venue identifier (alternative to VenueID) |
{- "AccessToken": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IlZlbnVlIE1hbmFnZXIiLCJpYXQiOjE1MTYyMzkwMjJ9.signature",
- "VenueID": "venue_67890"
}{- "RSSIDistribution": [
- {
- "rssi": 1,
- "connections": 0
}, - {
- "rssi": 2,
- "connections": 1
}, - {
- "rssi": 15,
- "connections": 8
}, - {
- "rssi": 25,
- "connections": 15
}, - {
- "rssi": 35,
- "connections": 12
}, - {
- "rssi": 45,
- "connections": 6
}, - {
- "rssi": 55,
- "connections": 3
}, - {
- "rssi": 65,
- "connections": 1
}, - {
- "rssi": 75,
- "connections": 0
}
], - "errorProcessing": false,
- "statusCode": 200
}Get comprehensive operator configuration including infrastructure settings, API documentation, service integrations, and role-based administrative data. Returns operator identification, contact information, regional settings, API endpoint URLs, Postman documentation links, and integration settings with automatic Stripe/webhook credential masking. Role-based filtering applies different data visibility for administrators vs non-administrative users.
| AccessToken required | string Network operator authentication token with administrative privileges for full configuration access |
| VenueID required | string Venue identifier for API context (required for consistency across operator console endpoints) |
{- "AccessToken": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJuZXRvcGVyYXRvcl8xMjMiLCJhZG1pbl9hY2Nlc3MiOnRydWV9...",
- "VenueID": "downtown_hotel._V3VENUE.op_roamingiq_network"
}{- "errorProcessing": false,
- "message": "Configuration retrieved successfully",
- "OperatorID": "op_roamingiq_network",
- "NetworkOperatorName": "RoamingIQ Hospitality Network",
- "Domain": "wifikey.io",
- "EmailDomain": "guests.wifikey.io",
- "AddressLine1": "1234 Technology Drive",
- "City": "San Francisco",
- "State": "CA",
- "PostalCode": "94105",
- "PhoneNumber": "+1-555-123-WIFI",
- "EmailAddress": "admin@roamingiq.com",
- "SupportedLocales": {
- "en-us": "English (US)",
- "es-xl": "Spanish (Latin America)"
}, - "APIDoc": {
}, - "ShoppingCart": {
- "Stripe": {
- "Stripe_Secret_key": "sk_live_51****",
- "Stripe_Webhook_signingsecret": "whsec_1a2b****"
}
}, - "NetworkConfiguration": {
- "CustomPSK": true
}, - "DisplayConfiguration": {
- "brandcolor": "#0098e5"
}
}Get complete service plan catalog with bandwidth specs, pricing models, device limits, billing cycles, WirelessOnlyPlan settings (requires WirelessOnlyPlanVLANOffset for venue level configuration), and FCC regulatory compliance info. Returns multi-currency pricing with venue-specific price/trial adjustments, upload/download speeds, concurrent device limits, and external system integration IDs. Optional filtering by externalServicePlanID.
| AccessToken required | string Valid Cognito authentication token for network operator administrator or customer support |
| externalServicePlanID | string Optional filter to retrieve specific service plan by external system identifier |
{- "AccessToken": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9..."
}[- {
- "ServicePlanID": "OPERATOR123._V3SERVICEPLAN_.PREMIUMUNLIMITED",
- "ServicePlanName": "Premium Unlimited Internet",
- "ServicePlanDescription": "High-speed unlimited internet access - billed monthly",
- "externalServicePlanID": "ext_plan_premium_monthly",
- "UploadKbps": 100000,
- "DownloadKbps": 500000,
- "ConcurrentDevices": 25,
- "BillingCycleHours": 730,
- "BillingCycleRecurrence": 0,
- "TrialCycles": 1,
- "MaximumTrialCyclesPerSubscriberPerVenue": 1,
- "MaximumFreeEnrollmentsPerSubscriberPerVenue": 0,
- "SessionTimeoutSecondsPerDevice": 3600,
- "GloballyAvailablePlan": false,
- "SMSCode": "PREMIUM",
- "ServicePlanImageURL": "",
- "Currencies": [
- "USD",
- "CAD"
], - "BillingCyclePrice.USD": 7999,
- "BillingCyclePrice.CAD": 9999,
- "FCCLabel": {
- "PlanID": "FCC-PREMIUM-001",
- "TypicalUploadKbps": 100000,
- "TypicalDownloadKbps": 500000,
}
}, - {
- "ServicePlanID": "OPERATOR123._V3SERVICEPLAN_.BASICHOMEINTERNET",
- "ServicePlanName": "Basic Home Internet",
- "ServicePlanDescription": "Reliable internet for everyday use - billed monthly",
- "externalServicePlanID": "ext_plan_basic_monthly",
- "UploadKbps": 25000,
- "DownloadKbps": 100000,
- "ConcurrentDevices": 10,
- "BillingCycleHours": 720,
- "BillingCycleRecurrence": 0,
- "TrialCycles": 0,
- "MaximumTrialCyclesPerSubscriberPerVenue": 0,
- "MaximumFreeEnrollmentsPerSubscriberPerVenue": 1,
- "SessionTimeoutSecondsPerDevice": 3600,
- "GloballyAvailablePlan": false,
- "SMSCode": "BASIC",
- "ServicePlanImageURL": "",
- "Currencies": [
- "USD"
], - "BillingCyclePrice.USD": 2999,
- "FCCLabel": {
- "PlanID": "FCC-BASIC-001",
- "TypicalUploadKbps": 25000,
- "TypicalDownloadKbps": 100000,
- "PrivacyPolicyURL": "",
- "NetworkMgmtPolicyURL": "",
- "DataPolicyURL": "",
- "BundleDiscountURL": "",
- "SupportURL": ""
}
}
]Configure comprehensive venue unit settings including identity, address, network, notifications, billing, and integrations. This endpoint validates authentication and authorization, then proxies requests to the primary region's gremlinconsole for execution.
Configurable Properties:
Access Control:
Handler Architecture: This endpoint is a thin API layer that:
https://{API_SUBDOMAIN}.{REGION_PRIMARY}.{DOMAIN}/{CODE_BRANCH}/gremlinconsole/executeCommandVenue.configureUnit business logic in primary regionCritical Behaviors:
Performance:
Security:
| AccessToken required | string Network operator authentication token with domain administrator privileges |
| UnitID_internal required | string Internal venue unit identifier (required for unit lookup) |
| externalVenueUnitID | string <= 40 characters External venue unit identifier for third-party system integration |
| UnitID | string <= 40 characters Human readable venue unit identifier for display purposes |
| UnitBuilding | string <= 40 characters Building identifier or name where the unit is located |
| UnitFloor | string <= 40 characters Floor identifier or description for the unit location |
| AddressLine1 | string <= 40 characters Primary address line (street address) |
| AddressLine2 | string <= 40 characters Secondary address line (apartment, suite, etc.) - can be cleared with single space |
| City | string <= 40 characters City name where the unit is located |
| State | string State, province, or region where the unit is located |
| Country | string <= 40 characters Country name where the unit is located |
| PostalCode | string <= 40 characters Postal code validated against international standards |
object Network settings and SSID configuration for the venue unit | |
object Notification and communication preferences for subscribers at this venue unit | |
| RealPageUnitID | integer >= 1 RealPage system unit identifier (must be positive integer for integration) |
object E-commerce and shopping cart configuration for the venue unit | |
| vlan | integer [ 1 .. 4094 ] VLAN ID assignment for network segmentation (triggers PSK updates and gateway re-configuration) |
| SMSCode | string <= 20 characters SMS short code for subscriber communications specific to this unit |
| deleteEmptyVenueUnit | boolean Permanently delete unit (requires zero active subscriptions unless forceDelete is true) - admin endpoint only |
| forceDelete | boolean Force deletion of unit even with active subscriptions - initiates subscription cleanup and gateway decommission, requires retry after equipment is disabled (few minutes) |
{- "AccessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
- "UnitID_internal": "unit_12345",
- "externalVenueUnitID": "EXT-BLDGA-101",
- "UnitID": "Building A - Apartment 101",
- "UnitBuilding": "Building A",
- "UnitFloor": "1st Floor",
- "AddressLine1": "123 Innovation Drive",
- "AddressLine2": "Suite 101",
- "City": "San Francisco",
- "State": "California",
- "Country": "United States",
- "PostalCode": "94105",
- "NetworkConfiguration": {
- "VenueUnitSSID": [
- "GUEST_WIFI_101",
- "PREMIUM_ACCESS_101"
], - "allowOverlappingSubscriptionWiredUnit": false
}, - "Notifications": {
- "suppressSubscriberEmails": false,
- "sendSubscriptionAddedEmail": true,
- "sendSubscriptionEndEmail": true,
- "suppressSubscriberSMS": false
}, - "RealPageUnitID": 12345,
- "ShoppingCart": {
- "enableShoppingCart": true,
- "ShoppingCartPriceAdjustment": -10
}, - "vlan": 100,
- "SMSCode": "WIFI101"
}{- "message": "Updated external venue unit ID = EXT-BLDGA-101. Updated unit ID = Building A - Apartment 101. Updated building = Building A. Updated floor = 1st Floor. Updated address line 1 = 123 Innovation Drive. Updated address line 2 = Suite 101. Updated city = San Francisco. Updated state = California. Updated country = United States. Updated postal code = 94105. Added GUEST_WIFI_101 to VenueUnitSSID. Added PREMIUM_ACCESS_101 to VenueUnitSSID. Updating allowOverlappingSubscriptionWiredUnit to false. Updating sendSubscriptionAddedEmail to true. Updating sendSubscriptionEndEmail to true. Updated RealPageUnitID to 12345. Updating enableShoppingCart to true.",
- "errorProcessing": false,
- "statusCode": 200
}Update venue unit address information with validation and geographic positioning. Uses same configureVenueUnit implementation for address updates including AddressLine1/2, City, State, PostalCode, building, floor, and geographic coordinates. Domain administrator access required.
| AccessToken required | string Network operator authentication token with domain administrator privileges |
| UnitID_internal required | string Internal unit identifier for address update |
object Comprehensive address information for unit | |
object Additional location information | |
object Geographic positioning data |
{- "AccessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
- "UnitID_internal": "unit_hotel_room_101",
- "AddressInformation": {
- "UnitAddress": "Suite 101, Executive Floor",
- "AddressLine1": "123 Ocean Drive",
- "AddressLine2": "Building A, Floor 10",
- "City": "Miami Beach",
- "State": "Florida",
- "PostalCode": "33139",
- "Country": "USA"
}, - "LocationDetails": {
- "Floor": "10th Floor",
- "Building": "Tower A",
- "LocationDescription": "Ocean view suite with private balcony"
}, - "GeographicInformation": {
- "Latitude": 25.7617,
- "Longitude": -80.1918
}
}{- "message": "Unit address updated successfully",
- "AddressConfiguration": {
- "UnitID_internal": "unit_hotel_room_101",
- "FormattedAddress": "Suite 101, 123 Ocean Drive, Building A Floor 10, Miami Beach, FL 33139, USA",
- "LastUpdated": "2025-09-11T22:47:15Z"
}, - "GeographicData": {
- "Coordinates": {
- "Latitude": 25.7617,
- "Longitude": -80.1918
}, - "AddressValidation": "Validated successfully"
}
}Configure all venue settings including identity, address, network configuration, service plans, integrations, notifications, shopping cart, and display options. This endpoint uses a regional proxy pattern where requests are validated locally and forwarded to the primary region for execution.
Architecture Pattern:
Access Control - Role Hierarchy:
Required Parameters:
Configuration Categories:
Validation & Business Rules:
Regional Proxy Workflow:
Features:
| AccessToken required | string Network operator access token for authentication |
| VenueID required | string Unique identifier of the venue to configure |
| externalVenueID | string <= 40 characters External system venue identifier for integrations |
| VenueName | string <= 40 characters Display name for the venue (HTML sanitized, 40 char max) |
| AddressLine1 | string <= 40 characters Primary street address (40 char max, triggers uniqueness check) |
| AddressLine2 | string <= 40 characters Secondary address line (40 char max, use " " to remove) |
| City | string <= 40 characters City name (40 char max, HTML sanitized) |
| PostalCode | string ZIP/postal code with international validation |
object Network-related configuration settings | |
object Default service plan assignments for different access types | |
object FCC network performance labeling configuration | |
object Email and SMS notification preferences | |
object Third-party system integration settings | |
object Reporting configuration for subscription lifecycle events | |
object Property Management System integration for automatic unit and subscriber synchronization. Supports RealPage and Entrata PMS platforms with venue-specific configuration. | |
object E-commerce and billing configuration | |
| DisplayOptionID | string Display option template identifier for venue UI customization |
| deleteEmptyVenueUnits | boolean Delete all venue units without active subscriptions. This bulk operation removes:
Units with active subscriptions (EndDateTimeUTC.ISO8601 in future) are protected unless forceDelete=true. Error if occupied units exist and forceDelete=false: "Venue has X occupied unit(s)." with statusCode 401 |
| forceDelete | boolean Force deletion of units with active subscriptions by initiating asynchronous subscription cleanup. Workflow when forceDelete=true:
Requires retry pattern: Equipment decommissioning is asynchronous (takes several minutes). User must retry the deleteEmptyVenueUnits request after a few minutes to complete deletion once subscriptions are ended and gateways decommissioned. Only valid when deleteEmptyVenueUnits=true. Has no effect otherwise. |
{- "AccessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
- "VenueID": "venue_67890",
- "externalVenueID": "HOTEL_001",
- "VenueName": "Downtown Business Hotel",
- "AddressLine1": "123 Main Street",
- "AddressLine2": "Suite 100",
- "City": "New York",
- "PostalCode": "10001",
- "NetworkConfiguration": {
- "NAS-Identifier": "HOTEL.DOWNTOWN.NYC",
- "MinimumAutoGeneratedVLAN_GlobalWirelessPlusLocalWiredAccess": 100,
- "MaximumAutoGeneratedVLAN_GlobalWirelessPlusLocalWiredAccess": 200,
- "MinimumAutoGeneratedVLAN_LocalWirelessAccess": 300,
- "MaximumAutoGeneratedVLAN_LocalWirelessAccess": 400,
- "allowOverlappingSubscriptionWiredUnit": false,
- "Ruckus": {
- "TenantID": "tenant_abc123",
- "APIClientID": "client_xyz789",
- "APIClientSecret": "secret_key_here",
- "DPSKPoolID": "dpsk_pool_456",
- "enableSync": true
}
}, - "ServicePlanConfiguration": {
- "DefaultServicePlanID_GlobalWirelessPlusLocalWiredAccess": "plan_global_123",
- "DefaultServicePlanID_LocalWirelessAccess": "plan_local_456",
- "DefaultServicePlanID_Roaming": "plan_roaming_789"
}, - "FCCLabel": {
- "displayLabel": true,
- "TypicalLatency": 25
}, - "Notifications": {
- "WelcomeEmail_countdown_hours": 24,
- "suppressSubscriberEmails": false,
- "sendSubscriptionAddedEmail": true,
- "sendSubscriptionEndEmail": true,
- "suppressSubscriberSMS": false
}, - "Integrations": {
- "ConnectWise": {
- "Authorization": "Basic dXNlcjpwYXNz",
- "serviceboardid": "ServiceBoard1",
- "ClientID": "client123",
- "CompanyID": "company456"
}, - "PRTG": {
- "Username": "prtguser",
- "PasswordHash": "hashedpassword123"
}
}, - "Reporting": {
- "ReportingSubscriptionEnd_lookahead_hours": 168,
- "ReportingSubscriptionEnd_frequency_hours": 24
}, - "PMS": {
- "ProfileID": "USA.MA.02030.DEV-SR-01.FRANKLIN._V3PMSPROFILE_.REALPAGE_PROFILE",
- "RealPage": {
- "SiteId": "5369060"
}, - "enableUnitSync": true,
- "enableSubscriberSync": true
}, - "ShoppingCart": {
- "enableShoppingCart": true,
- "Stripe": {
- "StripePublishableKey": "pk_test_...",
- "Stripe_Secret_key": "sk_test_...",
- "Stripe_Webhook_signingsecret": "whsec_...",
- "Stripe_allowrefund": false
}, - "TrialCycleAdjustment": 0,
- "MaximumTrialCyclesPerSubscriber": 1,
- "MaximumFreeEnrollmentsPerSubscriber": 3,
- "ShoppingCartPriceAdjustment": 0
}, - "DisplayOptionID": "display_option_123"
}{- "message": "Updated externalVenueID = HOTEL_001. Updated VenueName = Downtown Business Hotel. Updated AddressLine1 = 123 Main Street. Updated AddressLine2 = Suite 100. Updated City = New York. Updated PostalCode = 10001. Updated NAS-Identifier = HOTEL.DOWNTOWN.NYC. Updating MinimumAutoGeneratedVLAN_GlobalWirelessPlusLocalWiredAccess to 100. Updating MaximumAutoGeneratedVLAN_GlobalWirelessPlusLocalWiredAccess to 200. Updating MinimumAutoGeneratedVLAN_LocalWirelessAccess to 300. Updating MaximumAutoGeneratedVLAN_LocalWirelessAccess to 400. Updated Ruckus.URL = https://api.ruckus.cloud. Updated Ruckus.TenantID = tenant_abc123. Updated Ruckus.APIClientID = client_xyz789. Updated Ruckus.APIClientSecret = secret_key_here. Updated Ruckus.DPSKPoolID = dpsk_pool_456. Updated DefaultServicePlanID_GlobalWirelessPlusLocalWiredAccess - plan_global_123. Updated DefaultServicePlanID_LocalWirelessAccess - plan_local_456. Updated DefaultServicePlanID_Roaming - plan_roaming_789. Updating FCCLabel.displayLabel to true. Updating FCCLabel.TypicalLatency to 25 millisecond(s). Updating WelcomeEmail_countdown_hours to 24. Updating suppressSubscriberEmails to false. Updating sendSubscriptionAddedEmail to true. Updating sendSubscriptionEndEmail to true. Updating suppressSubscriberSMS to false. Updated Integrations.ConnectWise.URL = https://your-instance.connectwise.com. Updated ConnectWiseAuthorization = Basic dXNlcjpwYXNz. Updated ConnectWiseserviceboardid = ServiceBoard1. Updated ConnectWiseClientID = client123. Updated ConnectWiseCompanyID = company456. Updated Integrations.PRTG.URL = https://prtg.example.com. Updated PRTGUsername = prtguser. Updated PRTGPasswordHash. Updating ReportingSubscriptionEnd_lookahead_hours to 168. Updating ReportingSubscriptionEnd_frequency_hours to 24. Updated RealPagePMCId to 12345. Updated RealPageSiteId to 67890. Updating enableRealPageSync to true. Updating enableShoppingCart to true. Updated StripePublishableKey = pk_test_.... Updated Stripe_Secret_key = sk_test_.... Updated Stripe_Webhook_signingsecret = whsec_.... Updating Stripe_allowrefund to false. Updating TrialCycleAdjustment to 0. Updating MaximumTrialCyclesPerSubscriber to 1. Updating MaximumFreeEnrollmentsPerSubscriber to 3. Updating ShoppingCartPriceAdjustment.USD to 0. Updated DisplayOptionID = display_option_123.",
- "errorProcessing": false
}Configure PRTG (Paessler Router Traffic Grapher) monitoring system integration for venue-specific network equipment monitoring.
⚠️ Deprecated: Sunset date 2040-12-30.
Required Parameters:
Monitoring Capabilities:
Features:
| AccessToken required | string Network operator authentication token with domain administrator privileges |
| VenueID required | string Unique venue identifier for PRTG integration configuration |
required | object |
{- "AccessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
- "VenueID": "venue_12345",
- "Integrations": {
- "PRTG": {
- "Username": "monitoring_user",
- "PasswordHash": "1234567890"
}
}
}{- "message": "PRTG monitoring integration configured successfully",
- "VenueID": "venue_12345",
- "monitoring_status": "enabled",
- "integration_details": {
- "username": "monitoring_user",
- "sensors_configured": 25
}
}Register new network equipment at venue with automatic configuration. Creates equipment node and immediately configures settings via configureVenueEquipment.
Required Parameters:
Optional Configuration:
Equipment Limits:
Behavior:
| AccessToken required | string Cognito authentication token for network operator domain administrator access |
| VenueID required | string Venue identifier where equipment will be registered |
| EquipmentID required | string Unique equipment identifier within venue |
| ConnectionProtocol required | string Enum: "http" "https" Communication protocol for equipment management interface |
| IPAddress required | string Equipment management IP address (IPv4 or IPv6 format) |
| Port required | integer [ 1 .. 65535 ] Network communication port for equipment management |
| Username required | string <= 64 characters Equipment management interface username |
| Password required | string <password> <= 100 characters Equipment management interface password |
| Manufacturer | string <= 20 characters Equipment manufacturer name (HTML tags removed, trimmed) |
| Model | string <= 20 characters Equipment model designation (HTML tags removed, trimmed) |
| EquipmentType | string <= 20 characters Equipment classification (HTML tags removed, trimmed) |
| WirelessZone | string Optional wireless zone assignment |
| MikrotikPre643 | boolean Compatibility flag for MikroTik RouterOS versions before 6.43 |
{- "AccessToken": "string",
- "VenueID": "venue_12345",
- "EquipmentID": "GW-MAIN-01",
- "ConnectionProtocol": "https",
- "IPAddress": "192.168.1.100",
- "Port": 8728,
- "Username": "admin",
- "Password": "SecurePass123!",
- "Manufacturer": "MikroTik",
- "Model": "CCR1036",
- "EquipmentType": "gateway",
- "WirelessZone": "Building-A",
- "MikrotikPre643": false
}{- "EquipmentID_internal": "venue_12345._V3EQUIPMENT.GW-MAIN-01",
- "message": "Equipment added successfully. Gateway configured successfully."
}⚠️ API Alias: This endpoint is an alias for /networkoperatorconsole/venues/configureVenueEquipment. Please refer to that endpoint for complete documentation, parameters, and examples.
See /networkoperatorconsole/venues/configureVenueEquipment for schema
{ }Permanently remove network equipment from venue inventory and decommission configurations.
⚠️ WARNING: Equipment removal may impact network performance and connectivity.
Required Parameters:
Data Removed:
Supported Equipment Types:
Optional Features:
| AccessToken required | string Network operator authentication token with administrative privileges |
| VenueID required | string Parent venue identifier containing the target equipment |
| EquipmentID required | string Specific equipment identifier for targeted deletion |
| DeletionReason required | string Enum: "EquipmentFailure" "TechnologyUpgrade" "VenueRestructuring" "CostOptimization" "MaintenanceReplacement" Business justification for equipment removal |
| ConfirmationCode required | string^DELETE-EQUIP-[A-Z0-9]{4}$ Security confirmation code to verify intentional equipment deletion (format: DELETE-EQUIP-XXXX) |
| PreserveConfiguration | boolean Default: true Option to preserve equipment configuration for replacement device |
| ScheduledRemovalDate | string <date-time> Optional scheduled removal date for planned maintenance |
| ReplacementEquipmentID | string Identifier of replacement equipment for seamless transition |
object | |
| MaintenanceDocumentation | string Equipment condition and maintenance notes for asset management |
{- "AccessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
- "VenueID": "VENUE_12345",
- "EquipmentID": "AP_CISCO_001",
- "DeletionReason": "EquipmentFailure",
- "ConfirmationCode": "DELETE-EQUIP-G7H8",
- "PreserveConfiguration": true,
- "ReplacementEquipmentID": "AP_CISCO_002",
- "NotificationPreferences": {
- "NotifyVenueManager": true,
- "NotifyTenants": true,
- "NotificationMethod": "email"
}, - "MaintenanceDocumentation": "Access point failed after power surge - RMA case #12345 submitted to Cisco"
}{- "success": true,
- "deletionId": "EQUIP_DEL_987654321",
- "equipment": {
- "equipmentId": "AP_CISCO_001",
- "equipmentType": "Wireless Access Point",
- "model": "Cisco Aironet 3802I",
- "venueId": "VENUE_12345",
- "removalTimestamp": "2025-09-12T14:45:00Z"
}, - "configurationBackup": {
- "backupGenerated": true,
- "backupLocation": "s3://vault-config-backups/VENUE_12345/AP_CISCO_001-config-2025-09-12.json",
- "configurationSize": "2.1 KB"
}, - "networkImpact": {
- "affectedUnits": 12,
- "alternativeEquipment": [
- "AP_CISCO_002",
- "AP_CISCO_003"
], - "serviceDisruption": "Minimal"
}, - "replacement": {
- "replacementScheduled": true,
- "replacementEquipmentId": "AP_CISCO_002",
- "estimatedInstallationDate": "2025-09-13T10:00:00Z"
}, - "audit": {
- "auditTrailId": "AUDIT_456789123",
- "performedBy": "admin@networkprovider.com",
- "complianceStatus": "COMPLIANT"
}, - "notifications": {
- "venueManagerNotified": true,
- "tenantsNotified": 12,
- "notificationStatus": "DELIVERED"
}
}Change subscriber service plans with automated billing and feature updates.
Required Parameters:
Plan Change Types:
Optional Parameters:
Features:
| AccessToken required | string Network operator authentication token with subscriber management privileges |
| SubscriberID required | string Target subscriber identifier for service plan modification |
required | object |
| EffectiveDate required | string <date-time> Service plan change effective date |
| BillingAction required | string Enum: "PRORATE" "FULL_CYCLE" "CREDIT_ONLY" "NO_CHARGE" Billing action for service plan change |
| ReasonCode | string Enum: "UPGRADE_REQUEST" "DOWNGRADE_REQUEST" "RETENTION" "PROMOTION" "TECHNICAL_REQUIREMENT" "COST_OPTIMIZATION" Business reason for service plan change |
| PromoCode | string Optional promotional code for special pricing |
Array of objects | |
object | |
object |
{- "AccessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
- "SubscriberID": "SUB_123456789",
- "NewServicePlan": {
- "PlanID": "PLAN_PREMIUM_100",
- "PlanName": "Premium 100Mbps",
- "MonthlyRate": 89.99,
- "BandwidthLimit": {
- "DownloadMbps": 100,
- "UploadMbps": 20
}, - "Features": [
- "HIGH_SPEED",
- "PRIORITY_SUPPORT",
- "STREAMING_OPTIMIZATION"
]
}, - "EffectiveDate": "2025-09-15T00:00:00Z",
- "BillingAction": "PRORATE",
- "ReasonCode": "UPGRADE_REQUEST",
- "NotificationPreferences": {
- "NotifyCustomer": true,
- "NotificationMethod": "email",
- "IncludeBillingDetails": true
}
}{- "success": true,
- "planChangeId": "PLAN_CHG_987654321",
- "subscriber": {
- "subscriberId": "SUB_123456789",
- "previousPlan": {
- "planId": "PLAN_BASIC_50",
- "planName": "Basic 50Mbps",
- "monthlyRate": 49.99
}, - "newPlan": {
- "planId": "PLAN_PREMIUM_100",
- "planName": "Premium 100Mbps",
- "monthlyRate": 89.99,
- "effectiveDate": "2025-09-15T00:00:00Z"
}
}, - "billing": {
- "proratedCharge": 26.67,
- "proratedCredit": -8.33,
- "netBillingImpact": 18.34,
- "nextBillDate": "2025-10-01T00:00:00Z",
- "paymentProcessed": true
}, - "features": {
- "activatedFeatures": [
- "HIGH_SPEED",
- "PRIORITY_SUPPORT",
- "STREAMING_OPTIMIZATION"
], - "deactivatedFeatures": [ ],
- "bandwidthChange": {
- "previousDownload": 50,
- "newDownload": 100,
- "previousUpload": 10,
- "newUpload": 20
}
}, - "notifications": {
- "customerNotified": true,
- "notificationMethod": "email",
- "notificationTimestamp": "2025-09-12T16:00:00Z"
}, - "audit": {
- "performedBy": "operator@networkprovider.com",
- "planChangeReason": "UPGRADE_REQUEST",
- "timestamp": "2025-09-12T16:00:00Z"
}
}Update personally identifiable information (PII) for subscribers with privacy protection and compliance support.
⚠️ Restrictions: Cannot update SSO-managed subscribers. Externally managed PII data may be read-only. Email uniqueness is enforced system-wide.
Required Parameters:
Updatable Fields:
Features:
| AccessToken required | string Domain administrator access token with subscriber management privileges |
| SubscriberToken | string Unique subscriber identifier for PII updates |
| EmailAddress | string <email> Primary email address for subscriber communication |
| PhoneNumber | string E.164 formatted phone number with country code |
| GivenName | string Subscriber's first name or given name |
| FamilyName | string Subscriber's last name or family name |
| Status | string Enum: "In Service" "AUP Not Accepted" Subscriber account status for service management |
| newExternalSubscriberID | string New external system identifier for subscriber mapping |
| locale | string Enum: "en-us" "es-xl" Subscriber's preferred language and locale setting |
| contactpref_sms | boolean SMS communication preference setting |
| contactpref_email | boolean Email communication preference setting |
{- "AccessToken": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...",
- "SubscriberToken": "5978d2e8-9540-4612-816f-1d14f6ba38e8",
- "EmailAddress": "john.smith.updated@example.com",
- "PhoneNumber": "+12345678901",
- "GivenName": "John",
- "FamilyName": "Smith",
- "Status": "In Service",
- "contactpref_sms": true,
- "contactpref_email": true
}{- "message": "Updating GivenName=John. Updating Status= In Service. PII updated successfully.",
- "errorProcessing": false
}Retrieve subscriber email addresses, verification status, communication preferences, and email delivery analytics.
Required Parameters:
Optional Parameters:
Returns:
Features:
| AccessToken required | string Network operator authentication token with subscriber information privileges |
| SubscriberID required | string Target subscriber identifier for email information retrieval |
| IncludeHistory | boolean Default: false Include email communication history and analytics |
| VerificationDetails | boolean Default: true Include detailed email verification status and history |
| CommunicationPreferences | boolean Default: true Include complete communication preference settings |
| DeliveryAnalytics | boolean Default: false Include email delivery metrics and engagement analytics |
object Historical data range for analytics |
{- "AccessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
- "SubscriberID": "SUB_123456789",
- "IncludeHistory": true,
- "VerificationDetails": true,
- "CommunicationPreferences": true,
- "DeliveryAnalytics": true,
- "DateRange": {
- "StartDate": "2025-08-01T00:00:00Z",
- "EndDate": "2025-09-12T23:59:59Z"
}
}{- "success": true,
- "subscriber": {
- "subscriberId": "SUB_123456789",
- "accountStatus": "ACTIVE"
}, - "emailInformation": {
- "primaryEmail": {
- "emailAddress": "subscriber@example.com",
- "verified": true,
- "verificationDate": "2025-03-15T10:30:00Z",
- "isPrimary": true
}, - "secondaryEmails": [
- {
- "emailAddress": "backup@example.com",
- "verified": false,
- "purpose": "BACKUP"
}
], - "businessEmail": {
- "emailAddress": "user@company.com",
- "domain": "company.com",
- "domainVerified": true
}
}, - "verification": {
- "overallStatus": "VERIFIED",
- "lastVerificationAttempt": "2025-09-01T14:22:00Z",
- "verificationMethod": "EMAIL_LINK",
- "securityLevel": "ENHANCED"
}, - "communicationPreferences": {
- "notifications": {
- "accountUpdates": true,
- "billingReminders": true,
- "serviceAlerts": true,
- "marketingCommunications": false
}, - "frequency": "DAILY_DIGEST",
- "format": "HTML",
- "language": "en-US"
}, - "deliveryAnalytics": {
- "deliveryRate": {
- "successRate": 98.5,
- "bounceRate": 1.5,
- "totalEmailsSent": 47
}, - "engagement": {
- "openRate": 72.3,
- "clickThroughRate": 15.6,
- "avgTimeToOpen": "4.2 hours"
}
}, - "communicationHistory": [
- {
- "timestamp": "2025-09-10T09:15:00Z",
- "type": "BILLING",
- "subject": "Your September billing statement is ready",
- "deliveryStatus": "DELIVERED",
- "opened": true,
- "openedAt": "2025-09-10T11:22:00Z"
}
], - "audit": {
- "retrievedBy": "support@networkprovider.com",
- "retrievalTimestamp": "2025-09-12T16:30:00Z",
- "accessReason": "Customer support case #CS-2025-0912-001",
- "privacyCompliance": "GDPR_COMPLIANT"
}
}Retrieves comprehensive activity and event logs for specific network equipment, providing detailed operational history, configuration changes, and administrative actions.
Use Cases:
Log Categories:
Features:
| AccessToken required | string Administrative access token with NetworkOperator domain administrator privileges required for equipment log access |
| EquipmentID required | string Unique identifier of the network equipment whose activity logs will be retrieved. Must be equipment within the operator's managed infrastructure. |
Request to retrieve complete activity logs for specified network equipment
{- "AccessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
- "EquipmentID": "equipment_12345678-90ab-cdef-1234-567890abcdef"
}Complete activity log showing VLAN configuration changes and port operations
{- "message": "",
- "Status": "In Service",
- "EquipmentID": "equipment_12345678-90ab-cdef-1234-567890abcdef",
- "EquipmentName": "GW-001-Main",
- "EquipmentType": "Gateway",
- "Manufacturer": "Mikrotik",
- "Model": "CCR1009-7G-1C-1S+",
- "ConnectionProtocol": "api",
- "IPAddress": "192.168.1.1",
- "log": [
- {
- "dateAddedUTC.ISO8601": "2025-09-12T14:30:25.123Z",
- "function_name": "vault_networkoperator_equipmentConfigurator",
- "event": {
- "Request": "Disable port unit_ABC123 (VLAN: 100)",
- "Status": "SUCCESS",
- "Command": "DELETE",
- "PORT": 100,
- "ChangeAuthStatus": "SUCCESS"
}, - "Administrator": "admin@example.com",
- "FirewallSourceIP": "203.0.113.45",
- "SourceIP": "198.51.100.10",
- "SourceLocale": "en-US"
}, - {
- "dateAddedUTC.ISO8601": "2025-09-12T14:25:15.456Z",
- "function_name": "vault_networkoperator_equipmentConfigurator",
- "event": {
- "Request": "Enable port unit_XYZ789 (VLAN: 101)",
- "Status": "SUCCESS",
- "Command": "CREATE",
- "PORT": 101,
- "ChangeAuthStatus": "SUCCESS",
- "PortSpeedStatus": "SUCCESS"
}, - "Administrator": "admin@example.com",
- "FirewallSourceIP": "203.0.113.45",
- "SourceIP": "198.51.100.10",
- "SourceLocale": "en-US"
}
]
}Specialized error monitoring and diagnostic system for network equipment error detection and analysis.
Required Parameters:
Error Monitoring:
Monitored Error Categories:
Error Details Provided:
Use Cases:
Features:
| AccessToken required | string Network operator authentication token with equipment monitoring privileges |
| VenueID required | string Venue identifier for venue-specific equipment error filtering |
{- "AccessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
- "VenueID": "venue_ABC123"
}{- "message": "Found 12 equipment error events in the past 3 days",
- "Errors": [
- {
- "EquipmentID": "eq_gateway_001",
- "dateAddedUTC.ISO8601": "2025-09-12T19:35:00Z",
- "function_name": "vault_networkoperator_equipmentConfigurator",
- "VenueID": "venue_ABC123",
- "UnitID_internal": "unit_internal_XYZ789",
- "Request": "Enable port unit_internal_XYZ789(VLAN: 101) for 100000 DOWN/20000 UP.",
- "Status": "FAILED",
- "ChangeAuthStatus": "FAIL",
- "PortSpeedStatus": "SUCCESS",
- "ERROR": "Gateway timeout - unable to connect to equipment",
- "Command": "CREATE",
- "PORT": 101,
- "BandwidthQueueCreated": false,
- "InterfaceCreated": false,
- "HotSpotCreated": false,
- "DHCPServerCreated": false,
- "equipmentType": "Gateway",
- "manufacturer": "MikroTik",
- "model": "RB4011iGS+RM",
- "ipAddress": "192.168.1.1",
- "errorSeverity": "High",
- "impactDescription": "Subscriber unable to access internet service - port configuration failed",
- "resolutionSuggestion": "Check gateway connectivity and retry configuration. Contact equipment vendor if issue persists."
}
]
}Comprehensive VLAN disable queue management system for tracking and coordinating pending VLAN disable operations for expired subscriptions.
Purpose:
Tracked Operations:
Returns:
Features:
Business Integration:
| AccessToken required | string Network operator authentication token with VLAN management privileges |
| VenueID required | string Venue identifier for venue-specific VLAN disable queue filtering |
{- "AccessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
- "VenueID": "venue_DEF456"
}{- "message": "Found 8 pending VLAN disable operations",
- "PendingDisableOperations": [
- {
- "SubscriptionID": "sub_ABC123XYZ",
- "VenueID": "venue_DEF456",
- "UnitID_internal": "unit_internal_GHI789",
- "EquipmentID": "eq_gateway_002",
- "VLAN_Port": 205,
- "expirationDateUTC.ISO8601": "2025-09-10T23:59:59Z",
- "queuedDateUTC.ISO8601": "2025-09-11T00:15:30Z",
- "policyStatus": "PENDING_GATEWAY",
- "priority": "NORMAL",
- "subscriptionType": "Premium Internet Access",
- "terminationReason": "EXPIRED",
- "gatewayStatus": "ONLINE",
- "equipmentType": "Gateway",
- "manufacturer": "MikroTik",
- "model": "RB4011iGS+RM",
- "ipAddress": "192.168.1.2",
- "estimatedExecutionTime": "2025-09-12T02:00:00Z",
- "retryCount": 0,
- "lastError": null,
- "businessImpact": "LOW",
- "customerNotificationSent": true
}
]
}Monitors and manages pending gateway VLAN enable operations within the network operator's infrastructure.
Purpose:
Features:
| AccessToken required | string Administrative access token with NetworkOperator domain administrator privileges required for VLAN queue management |
Request to retrieve all pending VLAN enable operations across the network
{- "AccessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
}Multiple subscription intents awaiting gateway VLAN configuration
{- "message": "",
- "SubscriptionCount": 3,
- "Subscriptions": [
- {
- "VenueID": "venue_12345678-90ab-cdef-1234-567890abcdef",
- "UnitID_internal": "unit_internal_ABC123-DEF456",
- "vlan": 100,
- "SubscriberEmail": "subscriber1@example.com",
- "StartDateTimeUTC.ISO8601": "2025-09-12T14:30:25.123Z",
- "EndDateTimeUTC.ISO8601": "2099-12-31T23:59:59.999Z",
- "Status": "VLAN not enabled."
}, - {
- "VenueID": "venue_87654321-ba09-fedc-4321-098765fedcba",
- "UnitID_internal": "unit_internal_XYZ789-UVW012",
- "vlan": 101,
- "SubscriberEmail": "subscriber2@example.com",
- "StartDateTimeUTC.ISO8601": "2025-09-12T14:25:15.456Z",
- "EndDateTimeUTC.ISO8601": "2025-10-12T14:25:15.456Z",
- "Status": "VLAN not enabled."
}, - {
- "VenueID": "venue_abcdefab-cdef-1234-5678-abcdefabcdef",
- "UnitID_internal": "unit_internal_MNO345-PQR678",
- "vlan": 102,
- "SubscriberEmail": "subscriber3@example.com",
- "StartDateTimeUTC.ISO8601": "2025-09-12T14:20:45.789Z",
- "EndDateTimeUTC.ISO8601": "2099-12-31T23:59:59.999Z",
- "Status": "VLAN not enabled."
}
]
}Monitor webhook activity logs, track integration events, and analyze webhook delivery status across network operations.
| AccessToken required | string Network operator authentication token with webhook monitoring privileges |
| VenueID required | string Venue identifier for venue-specific webhook activity filtering |
| MinViewWindowDateUTC.ISO8601 | string <date-time> Start date for webhook activity analysis (defaults to 24 hours ago) |
| MaxViewWindowDateUTC.ISO8601 | string <date-time> End date for webhook activity analysis (defaults to current time) |
| Type | Array of strings Filter by specific webhook event types |
{- "AccessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
- "VenueID": "venue_GHI789",
- "MinViewWindowDateUTC.ISO8601": "2025-09-11T19:35:00Z",
- "MaxViewWindowDateUTC.ISO8601": "2025-09-12T19:35:00Z",
- "Type": [
- "SubscriptionSetupSuccess",
- "VenueUnitAdded"
]
}{- "message": "24 webhooks found.",
- "Webhooks": [
- {
- "dateAddedUTC.ISO8601": "2025-09-12T15:30:00Z",
- "Type": "SubscriptionSetupSuccess",
- "Payload": {
- "Type": "SubscriptionSetupSuccess",
- "dateAddedUTC.ISO8601": "2025-09-12T15:30:00Z",
- "SubscriberToken": "sub_token_ABC123",
- "UnitID_internal": "unit_internal_XYZ789",
- "VenueID": "venue_GHI789",
- "SubscriptionID": "subscription_DEF456",
- "ServicePlan": {
- "ServicePlanID": "plan_premium_monthly",
- "ServicePlanName": "Premium Monthly Internet Access"
}
}, - "webhookresponse": [
- {
- "dateTransactionUTC.ISO8601": "2025-09-12T15:30:15Z",
- "status": 200,
- "statusText": "OK",
- "headers": {
- "content-type": "application/json",
- "x-response-time": "150ms"
}, - "data": {
- "success": true,
- "message": "Webhook received successfully",
- "transaction_id": "txn_webhook_789"
}, - "deliveryAttempt": 1,
- "responseTime": 150,
- "success": true
}
]
}, - {
- "dateAddedUTC.ISO8601": "2025-09-12T16:45:00Z",
- "Type": "TestWebhookSuccess",
- "Payload": {
- "Type": "TestWebhookSuccess",
- "dateAddedUTC.ISO8601": "2025-09-12T16:45:00Z",
- "TestResult": "Success",
- "TestMessage": "Test webhook delivery successful",
- "TestData": {
- "status": "active",
- "testId": "test_success_001"
}
}, - "webhookresponse": [
- {
- "dateTransactionUTC.ISO8601": "2025-09-12T16:45:05Z",
- "status": 200,
- "statusText": "OK",
- "headers": {
- "content-type": "application/json",
- "x-test-webhook": "success"
}, - "data": {
- "Result": "Test Success"
}, - "deliveryAttempt": 1,
- "responseTime": 95,
- "success": true
}
]
}, - {
- "dateAddedUTC.ISO8601": "2025-09-12T17:15:00Z",
- "Type": "TestWebhookFailure",
- "Payload": {
- "Type": "TestWebhookFailure",
- "dateAddedUTC.ISO8601": "2025-09-12T17:15:00Z",
- "TestResult": "Failure",
- "TestMessage": "Test webhook delivery failure simulation",
- "TestData": {
- "status": "error",
- "testId": "test_fail_001",
- "errorCode": "TEST_FAILURE"
}
}, - "webhookresponse": [
- {
- "dateTransactionUTC.ISO8601": "2025-09-12T17:15:08Z",
- "status": 500,
- "statusText": "Internal Server Error",
- "headers": {
- "content-type": "application/json",
- "x-test-webhook": "failure"
}, - "data": {
- "Result": "Test Failure"
}, - "deliveryAttempt": 1,
- "responseTime": 200,
- "success": false
}
]
}
]
}Comprehensive scratch card batch creation system for generating cryptographically secure prepaid internet access codes with distributed Lambda-based processing. Supports high-volume generation of 100-card batches with flexible validity period configuration and WPA2/WPA3 enterprise authentication integration.
Required Parameters:
Optional Parameters:
Security Features:
Returns:
Use Cases:
Features:
| AccessToken required | string Network operator authentication token with scratch card creation privileges |
| VenueID required | string Venue identifier for venue-specific scratch card batch creation |
| KeyPoolID required | string Keypool identifier for access code storage and organization |
| ScratchCard_BatchID | string <date-time> Optional batch identifier (defaults to current timestamp) |
| StartDateTimeUTC.ISO8601 | string <date-time> Access validity start date (defaults to current time, max 90 days in future) |
| EndDateTimeUTC.ISO8601 | string <date-time> Access validity end date (required for validity window) |
| UserPartofKey | string [ 0 .. 20 ] characters Optional custom prefix for access codes (auto-generated if not provided) |
{- "AccessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
- "VenueID": "venue_JKL012",
- "KeyPoolID": "keypool_ABC123",
- "StartDateTimeUTC.ISO8601": "2025-09-12T20:00:00Z",
- "EndDateTimeUTC.ISO8601": "2025-09-15T20:00:00Z",
- "UserPartofKey": "HOTEL2025"
}{- "message": "Generating scratch cards. Download scratch cards using /networkoperatorconsole/scratchcards/viewScratchCardBatch.",
- "ScratchCard_BatchID": "2025-09-12T19:35:00.123Z",
- "batchDetails": {
- "batchSize": 100,
- "validityPeriod": {
- "startDate": "2025-09-12T20:00:00Z",
- "endDate": "2025-09-15T20:00:00Z",
- "durationHours": 72
}, - "keyConfiguration": {
- "keyPoolID": "keypool_ABC123",
- "userPrefix": "HOTEL2025",
- "encryptionMethod": "PBKDF2-SHA1"
}, - "processingStatus": {
- "status": "INITIATED",
- "estimatedCompletionTime": "2025-09-12T19:40:00Z",
- "distributedProcessing": true
}
}
}Retrieve comprehensive scratch card batch information including individual card status, usage analytics, and validity periods for inventory management and business performance tracking.
Required Parameters:
Returns - Batch Configuration:
Returns - Individual Card Information:
Returns - Business Intelligence Data:
Use Cases:
Features:
| AccessToken required | string Network operator authentication token for batch access |
| KeyPoolID required | string Unique identifier for the key pool associated with the scratch card batch |
| ScratchCard_BatchID required | string <date-time> Unique batch identifier (ISO 8601 timestamp) for the scratch card batch |
Query scratch card batch for hotel guest access program
{- "AccessToken": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.hotel_operator_token",
- "KeyPoolID": "pool_grandhotel_guestaccess",
- "ScratchCard_BatchID": "2023-09-15T14:30:00.000Z"
}Detailed batch information for hotel guest access cards
{- "2023-09-15T14:30:00.000Z": {
- "guest_wifi_001_abc123": {
- "ssid": "GrandHotel_Guest",
- "ScratchCard_invalidated": false,
- "StartDateTimeUTC.ISO8601": "2023-09-15T14:30:00.000Z",
- "EndDateTimeUTC.ISO8601": "2023-09-22T14:30:00.000Z"
}, - "guest_wifi_002_def456": {
- "ssid": "GrandHotel_Guest",
- "ScratchCard_invalidated": false,
- "StartDateTimeUTC.ISO8601": "2023-09-15T14:30:00.000Z",
- "EndDateTimeUTC.ISO8601": "2023-09-22T14:30:00.000Z"
}, - "guest_wifi_003_ghi789": {
- "ssid": "GrandHotel_Guest",
- "ScratchCard_invalidated": true,
- "StartDateTimeUTC.ISO8601": "2023-09-15T14:30:00.000Z",
- "EndDateTimeUTC.ISO8601": "2023-09-22T14:30:00.000Z"
}
}
}Retrieve network operator activity logs for administrative actions, configuration changes, and system events.
| AccessToken required | string Valid network operator access token for authentication |
| MaxViewWindowDateUTC.ISO8601 | string <date-time> End date for log retrieval window (defaults to current time) |
| MinViewWindowDateUTC.ISO8601 | string <date-time> Start date for log retrieval window (defaults to 24 hours ago) |
| function_name | string Filter logs by specific function name |
{- "AccessToken": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9..."
}{- "log": [
- {
- "dateAddedUTC.ISO8601": "2025-09-12T15:30:00.000Z",
- "function_name": "vault_networkoperatorconsole_addVenue",
- "event": {
- "message": "New venue added: Downtown Convention Center"
}, - "Administrator": "John Administrator (admin@operator.com)",
- "SourceIP": "192.168.1.100",
- "SourceLocale": "en-US",
- "AdministratorOS": "Windows 10",
- "VenueID": "venue_downtown_001"
}, - {
- "dateAddedUTC.ISO8601": "2025-09-12T14:15:00.000Z",
- "function_name": "vault_networkoperatorconsole_modifySubscriberProfile",
- "event": {
- "message": "Subscriber profile updated"
}, - "Administrator": "Jane Manager (manager@operator.com)",
- "Subscriber": "sub_1234567890",
- "SourceIP": "192.168.1.105",
- "SourceLocale": "en-US"
}
], - "log_count": 156,
- "log_returned": 2
}Safely remove RADIUS authentication server from network operator's infrastructure with proper validation and data consistency measures.
| AccessToken required | string Valid network operator access token for authentication |
| RadiusServerIP required | string <ipv4> IP address of the RADIUS server to remove |
{- "AccessToken": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9...",
- "RadiusServerIP": "192.168.1.10"
}{- "Success": "Removed RadiusServerIP. ",
- "RadiusServerIP": "192.168.1.10"
}Configure and manage terms and conditions documents for network operator services with multi-locale support and content management.
| AccessToken required | string Valid network operator access token for authentication |
| locale required | string Enum: "en-us" "es-xl" Target locale for the Terms and Conditions content |
| TandC required | string Terms and Conditions content (HTML allowed, scripts will be sanitized) |
{- "AccessToken": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9...",
- "locale": "en-us",
- "TandC": "<h2>Terms of Service</h2><p>By using this WiFi service, you agree to comply with all applicable laws and regulations...</p>"
}{- "TandC.en-us": "<h2>Terms of Service</h2><p>By using this WiFi service, you agree to comply with all applicable laws and regulations...</p>"
}Administrative endpoint for network operators to create new service plans with bandwidth specifications, concurrent device limits, and billing cycle configuration.
Required Parameters:
Optional Parameters:
Processing:
Returns:
Features:
| AccessToken required | string Valid Cognito authentication token for domain administrator or network software provider |
| ServicePlanName required | string <= 256 characters Descriptive name for the service plan - used to generate ServicePlanID |
| ServicePlanDescription | string <= 256 characters Optional detailed description of service plan features (automatically enhanced with billing cycle info) |
| UploadKbps required | integer [ 1 .. 100000000000000 ] Upload bandwidth limit in Kbps (automatically corrected to 1-100000000000000 range) |
| DownloadKbps required | integer [ 1 .. 100000000000000 ] Download bandwidth limit in Kbps (automatically corrected to 1-100000000000000 range) |
| ConcurrentDevices required | integer [ 1 .. 10000 ] Maximum concurrent device connections per subscriber (automatically corrected to 1-10000 range) |
| BillingCycleHours | number [ 1 .. 730.5 ] Billing cycle duration in hours (automatically corrected to 1-730.5 range, adds description suffix) |
| WirelessOnlyPlan | boolean Default: false Indicates if this service plan is restricted to wireless-only access (no wired network access) |
| OperatorID | string Required only for Network Software Provider access - specifies target operator |
{- "AccessToken": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...",
- "ServicePlanName": "Basic Home Internet",
- "ServicePlanDescription": "Reliable internet for everyday use",
- "UploadKbps": 25000,
- "DownloadKbps": 100000,
- "ConcurrentDevices": 10,
- "BillingCycleHours": 720
}{- "ServicePlanID": "OPERATOR456._V3SERVICEPLAN_.BASICHOMEINTERNET",
- "message": "Plan added: OPERATOR456._V3SERVICEPLAN_.BASICHOMEINTERNET - 25000 UP / 100000 DOWN - 10 concurrent devices per subscriber. Service plan configured successfully."
}Service plan configuration update endpoint for network operators to modify existing service plan parameters.
Required Parameters:
Updatable Configuration:
Processing:
Returns:
Features:
| AccessToken required | string Valid Cognito authentication token for domain administrator or network software provider |
| ServicePlanID required | string Unique identifier for the service plan to configure |
| ServicePlanName | string <= 40 characters Display name for the service plan (max 40 characters) |
| ServicePlanDescription | string <= 256 characters Description of the service plan (max 256 characters) |
| UploadKbps | integer [ 1 .. 100000000000000 ] Upload bandwidth limit in kilobits per second |
| DownloadKbps | integer [ 1 .. 100000000000000 ] Download bandwidth limit in kilobits per second |
| ConcurrentDevices | integer [ 1 .. 10000 ] Maximum concurrent devices allowed per subscriber |
| BillingCyclePrice.USD | integer [ 0 .. 1200000 ] Billing cycle price in US dollars (cents) |
| BillingCyclePrice.EUR | integer [ 0 .. 1200000 ] Billing cycle price in Euros (cents) |
| BillingCyclePrice.GBP | integer [ 0 .. 1200000 ] Billing cycle price in British Pounds (pence) |
| BillingCyclePrice.CAD | integer [ 0 .. 1200000 ] Billing cycle price in Canadian Dollars (cents) |
| BillingCyclePrice.AUD | integer [ 0 .. 1200000 ] Billing cycle price in Australian Dollars (cents) |
| BillingCyclePrice.CNY | integer [ 0 .. 1200000 ] Billing cycle price in Chinese Yuan (fen) |
| BillingCyclePrice.INR | integer [ 0 .. 1200000 ] Billing cycle price in Indian Rupees (paise) |
| BillingCyclePrice.LKR | integer [ 0 .. 1200000 ] Billing cycle price in Sri Lankan Rupees (cents) |
| GloballyAvailablePlan | boolean Whether the plan is globally available |
| AllowSelfSignup | boolean Whether subscribers can self-signup for this plan |
| externalServicePlanID | string <= 64 characters External service plan identifier (max 64 characters, use " " to remove) |
| SMSCode | string <= 6 characters SMS code for the plan (max 6 characters, use " " to remove) |
| migrateToServicePlan | string Service plan ID to migrate existing subscriptions to (must have same billing cycle) |
object FCC label information for regulatory compliance |
{- "AccessToken": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...",
- "ServicePlanID": "OP001._V3SERVICEPLAN_.PREMIUM",
- "ServicePlanName": "Premium Internet Plan",
- "ServicePlanDescription": "High-speed internet with priority support",
- "UploadKbps": 50000,
- "DownloadKbps": 100000,
- "ConcurrentDevices": 5
}{- "message": "Updated ServicePlanName to Premium Internet Plan. Updated UploadKbps to 50000. Updated DownloadKbps to 100000. Updated ConcurrentDevices to 5.",
- "ServicePlanID": "OP001._V3SERVICEPLAN_.PREMIUM",
- "statusCode": 200,
- "errorProcessing": false
}Network operator infrastructure and settings configuration endpoint for comprehensive operator-level management.
Required Parameters:
Network Infrastructure Configuration:
Operator Profile Updates:
Terms & Conditions Configuration:
Security Controls:
Email Configuration:
Features:
| AccessToken required | string Network operator authentication token with domain administrator privileges |
| NetworkOperatorName | string Network operator name for branding and identification |
| Address | string <= 500 characters Network operator business address |
| AddressLine1 | string Primary address line for operator location |
| AddressLine2 | string Secondary address line (suite, floor, etc.) |
| PostalCode | string Postal code for operator location |
| Country.ISO3166A3 | string ISO 3166 Alpha-3 country code |
| EmailAddress | string <email> Primary email address for network operator contact |
| PhoneNumber.E164 | string^\+[1-9]\d{1,14}$ Phone number in E.164 international format |
| DisplayOptionID | string Display options identifier for branding configuration |
object Terms and Conditions configuration for multiple locales | |
object Network infrastructure configuration parameters | |
| SourceIPRangeWhiteList | string Comma-separated list of IP ranges (CIDR notation) allowed for administrative access |
object Email branding and template configuration | |
object SMS template configuration for subscriber communications | |
object Notification system configuration | |
object Reporting and analytics configuration | |
object E-commerce and shopping cart configuration | |
| Okta_MetadataURL | string <uri> Okta SAML metadata URL for SSO integration |
| Office365_MetadataURL | string <uri> Office 365 SAML metadata URL for SSO integration |
| Redeploy | boolean Force configuration redeployment and validation |
{- "AccessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
- "NetworkOperatorName": "Enterprise WiFi Solutions",
- "Address": "456 Corporate Center, Floor 5, Business District",
- "PostalCode": "54321",
- "Country.ISO3166A3": "USA",
- "EmailAddress": "admin@enterprise-wifi.com",
- "PhoneNumber.E164": "+15551234567",
- "DisplayOptionID": "display_corporate_theme",
- "NetworkConfiguration": {
- "MinimumAutoGeneratedVLAN_GlobalWirelessPlusLocalWiredAccess": 100,
- "MaximumAutoGeneratedVLAN_GlobalWirelessPlusLocalWiredAccess": 500,
- "MinimumAutoGeneratedVLAN_LocalWirelessAccess": 501,
- "MaximumAutoGeneratedVLAN_LocalWirelessAccess": 1000,
- "GlobalSSID": [
- "CorpWiFi",
- "CorpGuest"
], - "CustomPSK": true,
- "allowOverlappingSubscriptionWiredUnit": false
}, - "SourceIPRangeWhiteList": "192.168.0.0/16,10.0.0.0/8,172.16.0.0/12",
- "EmailConfiguration": {
- "brandcolor": "#0098e5",
- "en-us": {
- "WelcomeEmail": {
- "NewSubscriber": {
- "Subject": "Welcome to {venuename} {operatorname} WiFi service",
- "preheader": " ",
- "title": "Welcome to <span style=\"font-family: 'DM Sans', sans-serif; border-bottom: 5px solid {brandcolor};\"><b><span class=\"dynamic-element\" style=\"white-space: nowrap;\">{venuename}</span></b></span> WiFi service!",
- "serviceinfo": {
- "template": "<!--begin CARD-->\n <tr>\n <td align=\"center\" style=\"padding: 15px 0px 0px 0px;\">\n <table role=\"presentation\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\">\n <tr>\n <td align=\"center\" style=\"padding: 5px 5px 25px 5px; background-color: #ffffff;\">\n <table role=\"presentation\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\">\n <!--begin CARD CONTENT AREA-->\n <!--begin CARD TITLE-->\n <tr>\n <td align=\"left\" style=\"width: 100%; padding: 15px 15px 15px 15px; color: #464646;; font-family: 'DM Sans', sans-serif; font-size: 20px; line-height: 28px;\">\n WiFi Service Information\n </td>\n </tr>\n <!--end CARD TITLE-->\n <!--begin TABLE-->\n <tr>\n <td align=\"center\" style=\"padding: 0px;\">\n <table role=\"presentation\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\">\n <colgroup>\n <col style=\"width:50%;\" span=\"2\">\n </colgroup> \n {networkname}\n {subscriptionstart}\n {subscriptionend}\n </table>\n </td>\n </tr>\n <!--end TABLE-->\n <!--end CARD CONTENT AREA-->\n </table>\n </td>\n </tr>\n <tr>\n <td bgcolor=\"#d0d0d0\" height=\"2\" style=\"-ms-text-size-adjust: 100%; -webkit-text-size-adjust: 100%; font-size: 2px; line-height: 2px; max-height: 2px; min-height: 2px; mso-table-lspace: 0pt; mso-table-rspace: 0pt !important;\"> </td>\n </tr>\n </table>\n </td>\n </tr>\n <!--end CARD-->",
- "networkname": "<tr>\n <!--begin CEll 1-->\n <td align=\"center\" style=\"padding: 10px;\">\n <table role=\"presentation\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\">\n <!--begin CARD TEXT-->\n <tr>\n <td align=\"left\" style=\"width: 100%; padding: 0px; color: #464646;; font-family: 'DM Sans', sans-serif; font-size: 14px; line-height: 20px;\">\n WiFi Network Name (SSID)\n </td>\n </tr>\n <!--end CARD TEXT-->\n </table>\n </td>\n <!--end CELL 1-->\n <!--begin CELL 2-->\n <td align=\"center\" style=\"padding: 10px;\">\n <table role=\"presentation\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\">\n <!--begin CARD TEXT-->\n <tr>\n <td align=\"right\" style=\"width: 100%; padding: 0px; color:brandcolor}; font-family: 'DM Sans', sans-serif; font-size: 14px; line-height: 20px;\">\n <span class=\"dynamic-element\">{ssid}</span>\n </td>\n </tr>\n <!--end CARD TEXT-->\n </table>\n </td>\n <!--end CELL 2-->\n</tr>",
- "wifipassword": "<tr>\n <!--begin CEll 1-->\n <td align=\"center\" style=\"padding: 10px;\">\n <table role=\"presentation\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\">\n <!--begin CARD TEXT-->\n <tr>\n <td align=\"left\" style=\"width: 100%; padding: 0px; color: #464646;; font-family: 'DM Sans', sans-serif; font-size: 14px; line-height: 20px;\">\n WiFi Password\n </td>\n </tr>\n <!--end CARD TEXT-->\n </table>\n </td>\n <!--end CELL 1-->\n <!--begin CELL 2-->\n <td align=\"center\" style=\"padding: 10px;\">\n <table role=\"presentation\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\">\n <!--begin CARD TEXT-->\n <tr>\n <td align=\"right\" style=\"width: 100%; padding: 0px; color:brandcolor}; font-family: 'DM Sans', sans-serif; font-size: 14px; line-height: 20px;\">\n <span class=\"dynamic-element\">{psk}</span>\n </td>\n </tr>\n <!--end CARD TEXT-->\n </table>\n </td>\n <!--end CELL 2-->\n</tr>",
- "subscriptionstart": "<tr>\n <!--begin CEll 1-->\n <td align=\"center\" style=\"padding: 10px;\">\n <table role=\"presentation\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\">\n <!--begin CARD TEXT-->\n <tr>\n <td align=\"left\" style=\"width: 100%; padding: 0px; color: #464646;; font-family: 'DM Sans', sans-serif; font-size: 14px; line-height: 20px;\">\n Service Start Date\n </td>\n </tr>\n <!--end CARD TEXT-->\n </table>\n </td>\n <!--end CELL 1-->\n <!--begin CELL 2-->\n <td align=\"center\" style=\"padding: 10px;\">\n <table role=\"presentation\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\">\n <!--begin CARD TEXT-->\n <tr>\n <td align=\"right\" style=\"width: 100%; padding: 0px; color:brandcolor}; font-family: 'DM Sans', sans-serif; font-size: 14px; line-height: 20px;\">\n <span class=\"dynamic-element\">{startdate}</span>\n </td>\n </tr>\n <!--end CARD TEXT-->\n </table>\n </td>\n <!--end CELL 2-->\n</tr>",
- "subscriptionend": "<tr>\n <!--begin CEll 1-->\n <td align=\"center\" style=\"padding: 10px;\">\n <table role=\"presentation\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\">\n <!--begin CARD TEXT-->\n <tr>\n <td align=\"left\" style=\"width: 100%; padding: 0px; color: #464646;; font-family: 'DM Sans', sans-serif; font-size: 14px; line-height: 20px;\">\n Service End Date\n </td>\n </tr>\n <!--end CARD TEXT-->\n </table>\n </td>\n <!--end CELL 1-->\n <!--begin CELL 2-->\n <td align=\"center\" style=\"padding: 10px;\">\n <table role=\"presentation\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\">\n <!--begin CARD TEXT-->\n <tr>\n <td align=\"right\" style=\"width: 100%; padding: 0px; color:brandcolor}; font-family: 'DM Sans', sans-serif; font-size: 14px; line-height: 20px;\">\n <span class=\"dynamic-element\">{enddate}</span>\n </td>\n </tr>\n <!--end CARD TEXT-->\n </table>\n </td>\n <!--end CELL 2-->\n</tr>"
}, - "header": "Getting Started",
- "message": "Wi-Fi service has been provisioned for your residence. Please create your {operatorname} account to retrieve your WiFi password before you move-in so that your service is instantly available to you on move in day. You can use any internet connected smartphone, tablet, or computer to activate your WiFi account.",
- "actionbutton": "<!--begin BUTTON-->\n\n <tr>\n <td align=\"center\" style=\"padding: 20px 0px;\">\n <div>\n <!--[if mso]>\n <v:roundrect xmlns:v=\"urn:schemas-microsoft-com:vml\" xmlns:w=\"urn:schemas-microsoft-com:office:word\" href=\"{actionbuttonurl}\" target=\"_blank\" style=\"height: 50px; v-text-anchor: middle; width: 260px;\" arcsize=\"50%\" stroke=\"f\" fillcolor=\"{brandcolor}\">\n <w:anchorlock/>\n <center>\n <![endif]-->\n <a href=\"{actionbuttonurl}\" target=\"_blank\" style=\"background-color:brandcolor}; border-radius: 25px; color: #ffffff; display: inline-block; font-family: 'DM Sans', sans-serif; font-size: 14px; line-height: 50px; text-align: center; text-decoration: none; width: 260px; -webkit-text-size-adjust: none;\">\n <b>Create {operatorname} Account</b>\n </a>\n <!--[if mso]>\n </center>\n </v:roundrect>\n <![endif]-->\n </div>\n </td>\n </tr>\n <!--end BUTTON-->",
- "additional_instructions": "Alternatively, you can go to <span class=\"dynamic-element\">{operatortermsurl}</span>, enter <span class=\"dynamic-element\">{subscriberemail}</span> as your email address, and <span class=\"dynamic-element\">{onetimepassword}</span> (case sensitive) as confirmation code to activate your account."
}, - "KnownSubscriber": {
- "Subject": "Welcome to {venuename} {operatorname} WiFi service",
- "preheader": " ",
- "title": "Welcome to <span style=\"font-family: 'DM Sans', sans-serif; border-bottom: 5px solid {brandcolor};\"><b><span class=\"dynamic-element\" style=\"white-space: nowrap;\">{venuename}</span></b></span> WiFi service!",
- "serviceinfo": {
- "template": "<!--begin CARD-->\n <tr>\n <td align=\"center\" style=\"padding: 15px 0px 0px 0px;\">\n <table role=\"presentation\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\">\n <tr>\n <td align=\"center\" style=\"padding: 5px 5px 25px 5px; background-color: #ffffff;\">\n <table role=\"presentation\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\">\n <!--begin CARD CONTENT AREA-->\n <!--begin CARD TITLE-->\n <tr>\n <td align=\"left\" style=\"width: 100%; padding: 15px 15px 15px 15px; color: #464646;; font-family: 'DM Sans', sans-serif; font-size: 20px; line-height: 28px;\">\n WiFi Service Information\n </td>\n </tr>\n <!--end CARD TITLE-->\n <!--begin TABLE-->\n <tr>\n <td align=\"center\" style=\"padding: 0px;\">\n <table role=\"presentation\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\">\n <colgroup>\n <col style=\"width:50%;\" span=\"2\">\n </colgroup> \n {networkname}\n {subscriptionstart}\n {subscriptionend}\n </table>\n </td>\n </tr>\n <!--end TABLE-->\n <!--end CARD CONTENT AREA-->\n </table>\n </td>\n </tr>\n <tr>\n <td bgcolor=\"#d0d0d0\" height=\"2\" style=\"-ms-text-size-adjust: 100%; -webkit-text-size-adjust: 100%; font-size: 2px; line-height: 2px; max-height: 2px; min-height: 2px; mso-table-lspace: 0pt; mso-table-rspace: 0pt !important;\"> </td>\n </tr>\n </table>\n </td>\n </tr>\n <!--end CARD-->",
- "networkname": "<tr>\n <!--begin CEll 1-->\n <td align=\"center\" style=\"padding: 10px;\">\n <table role=\"presentation\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\">\n <!--begin CARD TEXT-->\n <tr>\n <td align=\"left\" style=\"width: 100%; padding: 0px; color: #464646;; font-family: 'DM Sans', sans-serif; font-size: 14px; line-height: 20px;\">\n WiFi Network Name (SSID)\n </td>\n </tr>\n <!--end CARD TEXT-->\n </table>\n </td>\n <!--end CELL 1-->\n <!--begin CELL 2-->\n <td align=\"center\" style=\"padding: 10px;\">\n <table role=\"presentation\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\">\n <!--begin CARD TEXT-->\n <tr>\n <td align=\"right\" style=\"width: 100%; padding: 0px; color:brandcolor}; font-family: 'DM Sans', sans-serif; font-size: 14px; line-height: 20px;\">\n <span class=\"dynamic-element\">{ssid}</span>\n </td>\n </tr>\n <!--end CARD TEXT-->\n </table>\n </td>\n <!--end CELL 2-->\n</tr>",
- "wifipassword": "<tr>\n <!--begin CEll 1-->\n <td align=\"center\" style=\"padding: 10px;\">\n <table role=\"presentation\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\">\n <!--begin CARD TEXT-->\n <tr>\n <td align=\"left\" style=\"width: 100%; padding: 0px; color: #464646;; font-family: 'DM Sans', sans-serif; font-size: 14px; line-height: 20px;\">\n WiFi Password\n </td>\n </tr>\n <!--end CARD TEXT-->\n </table>\n </td>\n <!--end CELL 1-->\n <!--begin CELL 2-->\n <td align=\"center\" style=\"padding: 10px;\">\n <table role=\"presentation\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\">\n <!--begin CARD TEXT-->\n <tr>\n <td align=\"right\" style=\"width: 100%; padding: 0px; color:brandcolor}; font-family: 'DM Sans', sans-serif; font-size: 14px; line-height: 20px;\">\n <span class=\"dynamic-element\">{psk}</span>\n </td>\n </tr>\n <!--end CARD TEXT-->\n </table>\n </td>\n <!--end CELL 2-->\n</tr>",
- "subscriptionstart": "<tr>\n <!--begin CEll 1-->\n <td align=\"center\" style=\"padding: 10px;\">\n <table role=\"presentation\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\">\n <!--begin CARD TEXT-->\n <tr>\n <td align=\"left\" style=\"width: 100%; padding: 0px; color: #464646;; font-family: 'DM Sans', sans-serif; font-size: 14px; line-height: 20px;\">\n Service Start Date\n </td>\n </tr>\n <!--end CARD TEXT-->\n </table>\n </td>\n <!--end CELL 1-->\n <!--begin CELL 2-->\n <td align=\"center\" style=\"padding: 10px;\">\n <table role=\"presentation\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\">\n <!--begin CARD TEXT-->\n <tr>\n <td align=\"right\" style=\"width: 100%; padding: 0px; color:brandcolor}; font-family: 'DM Sans', sans-serif; font-size: 14px; line-height: 20px;\">\n <span class=\"dynamic-element\">{startdate}</span>\n </td>\n </tr>\n <!--end CARD TEXT-->\n </table>\n </td>\n <!--end CELL 2-->\n</tr>",
- "subscriptionend": "<tr>\n <!--begin CEll 1-->\n <td align=\"center\" style=\"padding: 10px;\">\n <table role=\"presentation\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\">\n <!--begin CARD TEXT-->\n <tr>\n <td align=\"left\" style=\"width: 100%; padding: 0px; color: #464646;; font-family: 'DM Sans', sans-serif; font-size: 14px; line-height: 20px;\">\n Service End Date\n </td>\n </tr>\n <!--end CARD TEXT-->\n </table>\n </td>\n <!--end CELL 1-->\n <!--begin CELL 2-->\n <td align=\"center\" style=\"padding: 10px;\">\n <table role=\"presentation\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\">\n <!--begin CARD TEXT-->\n <tr>\n <td align=\"right\" style=\"width: 100%; padding: 0px; color:brandcolor}; font-family: 'DM Sans', sans-serif; font-size: 14px; line-height: 20px;\">\n <span class=\"dynamic-element\">{enddate}</span>\n </td>\n </tr>\n <!--end CARD TEXT-->\n </table>\n </td>\n <!--end CELL 2-->\n</tr>"
}, - "header": "Log in to your account.",
- "message": "A new WiFi service has been added to your account. You may continue to use your existing {operatorname} Wi-Fi password. As a reminder, you may log in to your account to view or change your password.",
- "actionbutton": "<!--begin BUTTON-->\n\n <tr>\n <td align=\"center\" style=\"padding: 20px 0px;\">\n <div>\n <!--[if mso]>\n <v:roundrect xmlns:v=\"urn:schemas-microsoft-com:vml\" xmlns:w=\"urn:schemas-microsoft-com:office:word\" href=\"{actionbuttonurl}\" target=\"_blank\" style=\"height: 50px; v-text-anchor: middle; width: 260px;\" arcsize=\"50%\" stroke=\"f\" fillcolor=\"{brandcolor}\">\n <w:anchorlock/>\n <center>\n <![endif]-->\n <a href=\"{actionbuttonurl}\" target=\"_blank\" style=\"background-color:brandcolor}; border-radius: 25px; color: #ffffff; display: inline-block; font-family: 'DM Sans', sans-serif; font-size: 14px; line-height: 50px; text-align: center; text-decoration: none; width: 260px; -webkit-text-size-adjust: none;\">\n <b>Log in to account</b>\n </a>\n <!--[if mso]>\n </center>\n </v:roundrect>\n <![endif]-->\n </div>\n </td>\n </tr>\n <!--end BUTTON-->",
- "additional_instructions": " "
}, - "GuestAccess": {
- "Subject": "Welcome to {venuename} {operatorname} Guest WiFi service",
- "preheader": " ",
- "title": "Welcome to <span style=\"font-family: 'DM Sans', sans-serif; border-bottom: 5px solid {brandcolor};\"><b><span class=\"dynamic-element\" style=\"white-space: nowrap;\">{venuename}</span></b></span> Guest WiFi service!",
- "serviceinfo": {
- "template": "<!--begin CARD-->\n <tr>\n <td align=\"center\" style=\"padding: 15px 0px 0px 0px;\">\n <table role=\"presentation\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\">\n <tr>\n <td align=\"center\" style=\"padding: 5px 5px 25px 5px; background-color: #ffffff;\">\n <table role=\"presentation\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\">\n <!--begin CARD CONTENT AREA-->\n <!--begin CARD TITLE-->\n <tr>\n <td align=\"left\" style=\"width: 100%; padding: 15px 15px 15px 15px; color: #464646;; font-family: 'DM Sans', sans-serif; font-size: 20px; line-height: 28px;\">\n WiFi Service Information\n </td>\n </tr>\n <!--end CARD TITLE-->\n <!--begin TABLE-->\n <tr>\n <td align=\"center\" style=\"padding: 0px;\">\n <table role=\"presentation\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\">\n <colgroup>\n <col style=\"width:50%;\" span=\"2\">\n </colgroup> \n {networkname}\n {wifipassword}\n {subscriptionstart}\n {subscriptionend}\n </table>\n </td>\n </tr>\n <!--end TABLE-->\n <!--end CARD CONTENT AREA-->\n </table>\n </td>\n </tr>\n <tr>\n <td bgcolor=\"#d0d0d0\" height=\"2\" style=\"-ms-text-size-adjust: 100%; -webkit-text-size-adjust: 100%; font-size: 2px; line-height: 2px; max-height: 2px; min-height: 2px; mso-table-lspace: 0pt; mso-table-rspace: 0pt !important;\"> </td>\n </tr>\n </table>\n </td>\n </tr>\n <!--end CARD-->",
- "networkname": "<tr>\n <!--begin CEll 1-->\n <td align=\"center\" style=\"padding: 10px;\">\n <table role=\"presentation\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\">\n <!--begin CARD TEXT-->\n <tr>\n <td align=\"left\" style=\"width: 100%; padding: 0px; color: #464646;; font-family: 'DM Sans', sans-serif; font-size: 14px; line-height: 20px;\">\n WiFi Network Name (SSID)\n </td>\n </tr>\n <!--end CARD TEXT-->\n </table>\n </td>\n <!--end CELL 1-->\n <!--begin CELL 2-->\n <td align=\"center\" style=\"padding: 10px;\">\n <table role=\"presentation\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\">\n <!--begin CARD TEXT-->\n <tr>\n <td align=\"right\" style=\"width: 100%; padding: 0px; color:brandcolor}; font-family: 'DM Sans', sans-serif; font-size: 14px; line-height: 20px;\">\n <span class=\"dynamic-element\">{ssid}</span>\n </td>\n </tr>\n <!--end CARD TEXT-->\n </table>\n </td>\n <!--end CELL 2-->\n</tr>",
- "wifipassword": "<tr>\n <!--begin CEll 1-->\n <td align=\"center\" style=\"padding: 10px;\">\n <table role=\"presentation\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\">\n <!--begin CARD TEXT-->\n <tr>\n <td align=\"left\" style=\"width: 100%; padding: 0px; color: #464646;; font-family: 'DM Sans', sans-serif; font-size: 14px; line-height: 20px;\">\n WiFi Password\n </td>\n </tr>\n <!--end CARD TEXT-->\n </table>\n </td>\n <!--end CELL 1-->\n <!--begin CELL 2-->\n <td align=\"center\" style=\"padding: 10px;\">\n <table role=\"presentation\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\">\n <!--begin CARD TEXT-->\n <tr>\n <td align=\"right\" style=\"width: 100%; padding: 0px; color:brandcolor}; font-family: 'DM Sans', sans-serif; font-size: 14px; line-height: 20px;\">\n <span class=\"dynamic-element\">{psk}</span>\n </td>\n </tr>\n <!--end CARD TEXT-->\n </table>\n </td>\n <!--end CELL 2-->\n</tr>",
- "subscriptionstart": "<tr>\n <!--begin CEll 1-->\n <td align=\"center\" style=\"padding: 10px;\">\n <table role=\"presentation\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\">\n <!--begin CARD TEXT-->\n <tr>\n <td align=\"left\" style=\"width: 100%; padding: 0px; color: #464646;; font-family: 'DM Sans', sans-serif; font-size: 14px; line-height: 20px;\">\n Service Start Date\n </td>\n </tr>\n <!--end CARD TEXT-->\n </table>\n </td>\n <!--end CELL 1-->\n <!--begin CELL 2-->\n <td align=\"center\" style=\"padding: 10px;\">\n <table role=\"presentation\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\">\n <!--begin CARD TEXT-->\n <tr>\n <td align=\"right\" style=\"width: 100%; padding: 0px; color:brandcolor}; font-family: 'DM Sans', sans-serif; font-size: 14px; line-height: 20px;\">\n <span class=\"dynamic-element\">{startdate}</span>\n </td>\n </tr>\n <!--end CARD TEXT-->\n </table>\n </td>\n <!--end CELL 2-->\n</tr>",
- "subscriptionend": "<tr>\n <!--begin CEll 1-->\n <td align=\"center\" style=\"padding: 10px;\">\n <table role=\"presentation\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\">\n <!--begin CARD TEXT-->\n <tr>\n <td align=\"left\" style=\"width: 100%; padding: 0px; color: #464646;; font-family: 'DM Sans', sans-serif; font-size: 14px; line-height: 20px;\">\n Service End Date\n </td>\n </tr>\n <!--end CARD TEXT-->\n </table>\n </td>\n <!--end CELL 1-->\n <!--begin CELL 2-->\n <td align=\"center\" style=\"padding: 10px;\">\n <table role=\"presentation\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\">\n <!--begin CARD TEXT-->\n <tr>\n <td align=\"right\" style=\"width: 100%; padding: 0px; color:brandcolor}; font-family: 'DM Sans', sans-serif; font-size: 14px; line-height: 20px;\">\n <span class=\"dynamic-element\">{enddate}</span>\n </td>\n </tr>\n <!--end CARD TEXT-->\n </table>\n </td>\n <!--end CELL 2-->\n</tr>"
}, - "header": "Privacy Notice",
- "message": "This is a secure password unique to you, do not share it with anyone.",
- "actionbutton": " ",
- "additional_instructions": " "
}, - "NewAdministrator": {
- "Subject": "Welcome to {operatorname} WiFi Service Administration.",
- "preheader": " ",
- "title": "Welcome to <span><b><span class=\"dynamic-element\" style=\"white-space: nowrap;\">{operatorname}</span></b></span>",
- "header": "Getting started",
- "message": "We are excited to have you join us as WiFi services administrator here at <span class=\"dynamic-element\">{venuename}</span>.<br /><br />Please create your account password by visiting <span class=\"dynamic-element\">{actionbuttonurl}</span> ",
- "actionbutton": " ",
- "additional_instructions": "WiFI Management Console:operatorurl}"
}, - "KnownAdministrator": {
- "Subject": "Welcome to {operatorname} WiFi Service Administration.",
- "preheader": " ",
- "title": "Welcome to <span><b><span class=\"dynamic-element\" style=\"white-space: nowrap;\">{operatorname}</span></b></span>",
- "header": "Getting started",
- "message": "We are excited to have you join us as WiFi services administrator here at <span class=\"dynamic-element\">{venuename}</span>.<br /><br />",
- "actionbutton": " ",
- "additional_instructions": "WiFI Management Console:operatorurl}"
}, - "Template": "<!DOCTYPE html\n PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\" xmlns:v=\"urn:schemas-microsoft-com:vml\"\n xmlns:o=\"urn:schemas-microsoft-com:office:office\">\n\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />\n <!--[if !mso]><!-->>\n <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\" />\n <!--<![endif]-->\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n <title></title>\n <style type=\"text/css\">\n @import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;700&display=swap');\n\n body {\n -ms-text-size-adjust: 100%;\n -webkit-text-size-adjust: 100%;\n }\n\n table {\n border-spacing: 0;\n border-collapse: collapse;\n mso-table-lspace: 0pt;\n mso-table-rspace: 0pt;\n }\n\n td {\n border-collapse: collapse;\n -ms-text-size-adjust: 100%;\n -webkit-text-size-adjust: 100%;\n }\n\n div[style*=\"margin: 16px 0\"] {\n margin: 0 !important;\n }\n\n a[x-apple-data-detectors] {\n color: inherit !important;\n text-decoration: none !important;\n font-size: inherit !important;\n font-family: inherit !important;\n font-weight: inherit !important;\n line-height: inherit !important;\n }\n\n #MessageViewBody a {\n color: inherit;\n text-decoration: none;\n font-size: inherit;\n font-family: inherit;\n font-weight: inherit;\n line-height: inherit;\n }\n\n span.yshortcuts,\n a span {\n color: inherit;\n background-color: none;\n border: none;\n }\n\n .dynamic-tag {\n color: #29b6f6;\n }\n\n .dynamic-element {\n color: {brandcolor};\n }\n </style>\n <!--[if (gte mso 9)|(IE)]>\n <style type=\"text/css\">\n table {border-collapse: collapse !important;}\n </style>\n <![endif]-->\n <!--[if gte mso 9]>\n <xml>\n <o:OfficeDocumentSettings>\n <o:AllowPNG/>\n <o:PixelsPerInch>96</o:PixelsPerInch>\n </o:OfficeDocumentSettings>\n </xml>\n <![endif]-->\n</head>\n\n<body style=\"margin: 0 !important; padding: 0px; background-color: #f5f5f6;\">\n <center style=\"width: 100%; table-layout: fixed; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%;\">\n <div style=\"max-width: 642px; margin: 0 auto;\">\n <!--[if (gte mso 9)|(IE)]>\n <table role=\"presentation\" width=\"642\" align=\"center\">\n <tr>\n <td>\n <![endif]-->\n <!--begin MESSAGE CONTAINER-->\n <table role=\"presentation\" align=\"center\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\"\n style=\"Margin: 0 auto; width: 100%; max-width: 642px;\">\n <!--begin HEADER-->\n <!--begin CARD TEXT-->\n <tr>\n <td style=\"padding: 20px 13px; background-color: #f5f5f6;\">\n <table role=\"presentation\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\"\n style=\"min-width: 100%;\">\n <tr>\n <td style=\"line-height: 0px;\" width=\"20%\">\n <a href=\"{operatorurl}\" target=\"_blank\">\n <img alt=\"{operatorname}\" border=\"0\" src=\"{operatorlogourl}\" width=\"87\" />\n </a>\n </td>\n <td style=\"padding: 0px;\" width=\"50%\"></td>\n\n </td>\n </tr>\n </table>\n </td>\n </tr>\n <!--end HEADER-->\n\n <!--begin BODY-->\n <tr>\n <td align=\"center\" style=\"padding: 0px 20px; background-color: #f5f5f6;\">\n <table role=\"presentation\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\">\n <tr>\n <td align=\"center\"\n style=\"width: 100%; padding: 0px 20px 35px 20px; color: #525252; font-family: 'DM Sans', sans-serif; font-size: 18px; line-height: 24px;\">\n Hi <span class=\"dynamic-element\">{subscribergivenname}</span>,<br />\n </td>\n </tr>\n\n <!--begin TITLE H2-->\n <tr>\n <td align=\"center\"\n style=\"width: 100%; padding: 0px 20px 15px 20px; color: #525252; font-family: 'DM Sans', sans-serif; font-size: 22px; line-height: 30px;\">\n {title}\n </td>\n </tr>\n <!--end TITLE H2-->\n\n <!--begin CARD-->\n {serviceinfo}\n <!--end CARD-->\n\n <!--begin CARD TEXT-->\n <tr>\n <td align=\"left\"\n style=\"width: 100%; padding: 15px 15px 0px 15px; color: #464646; font-family: 'DM Sans', sans-serif; font-size: 14px; line-height: 20px;\">\n </td>\n </tr>\n <!--end CARD TEXT-->\n <!--begin CARD-->\n <tr>\n <td align=\"center\" style=\"padding: 15px 0px 0px 0px;\">\n <table role=\"presentation\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\">\n <tr>\n <td align=\"center\"\n style=\"padding: 5px 5px 25px 5px; background-color: #ffffff;\">\n <table role=\"presentation\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\"\n width=\"100%\">\n <!--begin CARD CONTENT AREA-->\n\n <!--begin CARD TITLE-->\n <tr>\n <td align=\"left\"\n style=\"width: 100%; padding: 15px 15px 0px 15px; color: #464646; font-family: 'DM Sans', sans-serif; font-size: 20px; line-height: 28px;\">\n {header}\n </td>\n </tr>\n <!--end CARD TITLE-->\n <!--begin CARD TEXT-->\n <tr>\n <td align=\"left\"\n style=\"width: 100%; padding: 15px 15px 0px 15px; color: #464646; font-family: 'DM Sans', sans-serif; font-size: 14px; line-height: 20px;\">\n {message}\n <center><br />\n </td>\n </tr>\n <!--end CARD TEXT-->\n <!--begin BUTTON-->\n {actionbutton}\n <!--end BUTTON-->\n <!--begin CARD TEXT-->\n <tr>\n <td align=\"left\"\n style=\"width: 100%; padding: 15px 15px 0px 15px; color: #464646; font-family: 'ProximaNova-Light', sans-serif; font-size: 14px; line-height: 20px;\">\n {additional_instructions}\n </td>\n </tr>\n <!--end CARD TEXT-->\n\n <!--end CARD CONTENT AREA-->\n </table>\n </td>\n </tr>\n <tr>\n <td bgcolor=\"#d0d0d0\" height=\"2\"\n style=\"-ms-text-size-adjust: 100%; -webkit-text-size-adjust: 100%; font-size: 2px; line-height: 2px; max-height: 2px; min-height: 2px; mso-table-lspace: 0pt; mso-table-rspace: 0pt !important;\">\n </td>\n </tr>\n </table>\n </td>\n </tr>\n <!--end CARD-->\n <!--begin CARD TEXT-->\n <tr>\n <td align=\"left\"\n style=\"width: 100%; padding: 15px 15px 0px 15px; color: #464646; font-family: 'DM Sans', sans-serif; font-size: 14px; line-height: 20px;\">\n </td>\n </tr>\n <!--end CARD TEXT-->\n\n <!--begin CARD-->\n <tr>\n <td align=\"center\" style=\"padding: 15px 0px 0px 0px;\">\n <table role=\"presentation\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\">\n <tr>\n <td align=\"center\"\n style=\"padding: 5px 5px 25px 5px; background-color: #ffffff;\">\n <table role=\"presentation\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\"\n width=\"100%\">\n <!--begin CARD CONTENT AREA-->\n <!--begin CARD TEXT-->\n <tr>\n <td align=\"left\"\n style=\"width: 100%; padding: 15px 15px 15px 15px; color: #464646; font-family: 'DM Sans', sans-serif; font-size: 14px; line-height: 20px;\">\n If you need help setting up your WiFi service, you can contact\n us at\n </td>\n </tr>\n <!--end CARD TEXT-->\n <!--begin TABLE-->\n <tr>\n <td align=\"center\" style=\"padding: 0px;\">\n <table role=\"presentation\" border=\"0\" cellpadding=\"0\"\n cellspacing=\"0\" width=\"100%\">\n <colgroup>\n <col style=\"width:50%;\" span=\"2\">\n </colgroup>\n <!--begin ROW 1-->\n <tr>\n <!--begin CEll 1-->\n <td align=\"center\" style=\"padding: 10px;\">\n <table role=\"presentation\" border=\"0\"\n cellpadding=\"0\" cellspacing=\"0\" width=\"100%\">\n <!--begin CARD TEXT-->\n <tr>\n <td align=\"left\"\n style=\"width: 100%; padding: 0px; color: #464646;; font-family: 'DM Sans', sans-serif; font-size: 14px; line-height: 20px;\">\n Contact Support Number:\n </td>\n </tr>\n <!--end CARD TEXT-->\n </table>\n </td>\n <!--end CELL 1-->\n <!--begin CELL 2-->\n <td align=\"center\" style=\"padding: 10px;\">\n <table role=\"presentation\" border=\"0\"\n cellpadding=\"0\" cellspacing=\"0\" width=\"100%\">\n <!--begin CARD TEXT-->\n <tr>\n <td align=\"right\"\n style=\"width: 100%; padding: 0px; color: {brandcolor}; font-family: 'DM Sans', sans-serif; font-size: 14px; line-height: 20px;\">\n <span\n class=\"dynamic-element\">{venuesupportphonenumber}</span>\n </td>\n </tr>\n <!--end CARD TEXT-->\n </table>\n </td>\n <!--end CELL 2-->\n </tr>\n <!--end ROW 1-->\n\n\n </table>\n </td>\n </tr>\n <!--end TABLE-->\n <!--end CARD CONTENT AREA-->\n </table>\n </td>\n </tr>\n <tr>\n <td bgcolor=\"#d0d0d0\" height=\"2\"\n style=\"-ms-text-size-adjust: 100%; -webkit-text-size-adjust: 100%; font-size: 2px; line-height: 2px; max-height: 2px; min-height: 2px; mso-table-lspace: 0pt; mso-table-rspace: 0pt !important;\">\n </td>\n </tr>\n </table>\n </td>\n </tr>\n <!--end CARD-->\n </table>\n </td>\n </tr>\n <!--end BODY-->\n\n <!--begin FOOTER-->\n <tr>\n <td align=\"center\" width=\"100%\" style=\"padding: 0px; background-color: #f5f5f6;\">\n <table role=\"presentation\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\" align=\"center\">\n <tr>\n <td align=\"center\" style=\"padding: 40px 10px 37px 10px;\" width=\"100%\">\n\n </td>\n </tr>\n <tr>\n <td style=\"padding: 0px;\">\n <table role=\"presentation\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\">\n <tr>\n <td style=\"padding: 0px;\" width=\"85%\">\n <table role=\"presentation\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\"\n width=\"100%\" style=\"border-spacing: 0;\">\n <tr>\n <td width=\"100%\" height=\"1\"\n style=\"border-top: 1px solid {brandcolor}; font-size: 1px; line-height: 1px; padding: 0px;\">\n </td>\n </tr>\n </table>\n </td>\n <td style=\"font-size: 1px; line-height: 1px; padding: 0px;\">\n <img alt=\"{operatorname}\" border=\"0\"\n src=\"{operatorlogourl}\"\n width=\"69\" />\n </td>\n <td width=\"15%\" style=\"padding: 0px;\">\n <table role=\"presentation\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\"\n width=\"100%\" style=\"border-spacing: 0;\">\n <tr>\n <td width=\"100%\" height=\"1\"\n style=\"border-top: 1px solid {brandcolor}; font-size: 1px; line-height: 1px; padding: 0px;\">\n </td>\n </tr>\n </table>\n </td>\n </tr>\n </table>\n </td>\n </tr>\n <tr>\n <td align=\"left\"\n style=\"color: #464646; font-family: 'DM Sans', sans-serif; font-size: 11px; line-height: 14px; padding: 35px 28px 30px 28px;\">\n Please do not reply to this email, instead visit us at <a href=\"{operatorurl}/help\"\n style=\"color: #367ab5; text-decoration: none;\">{operatorurl}/help</a> for support.\n </td>\n </tr>\n <tr>\n <td width=\"100%\" height=\"1\"\n style=\"border-top: 1px solid #d0d0d0; font-size: 1px; line-height: 1px; padding: 0px;\">\n </td>\n </tr>\n <tr>\n <td align=\"center\"\n style=\"color: #464646; font-family: 'DM Sans', sans-serif; font-size: 11px; line-height: 14px; padding: 30px 28px 35px 28px;\">\n © {yyyy} {operatorname} - All rights reserved.\n <br />\n <a href=\"\" style=\"color: #464646; cursor: text; text-decoration: none;\">{operatoraddress}</a>\n </td>\n </tr>\n </table>\n </td>\n </tr>\n <!--end FOOTER-->\n\n </table>\n <!--end MESSAGE CONTAINER-->\n\n <!--[if (gte mso 9)|(IE)]>\n </td>\n </tr>\n </table>\n <![endif]-->\n </div>\n </center>\n</body>\n\n</html>"
}, - "SubscriberEvents": {
- "PasswordResetInitiated": {
- "Subject": "We have received a request to change your password.",
- "preheader": " ",
- "title": "We have received a request to change your password",
- "header": " ",
- "message": "Follow the link below to change your password. This link will expire in 30 minutes.<br />",
- "actionbutton": "<!--begin BUTTON-->\n\n <tr>\n <td align=\"center\" style=\"padding: 20px 0px;\">\n <div>\n <!--[if mso]>\n <v:roundrect xmlns:v=\"urn:schemas-microsoft-com:vml\" xmlns:w=\"urn:schemas-microsoft-com:office:word\" href=\"{actionbuttonurl}\" target=\"_blank\" style=\"height: 50px; v-text-anchor: middle; width: 260px;\" arcsize=\"50%\" stroke=\"f\" fillcolor=\"{brandcolor}\">\n <w:anchorlock/>\n <center>\n <![endif]-->\n <a href=\"{actionbuttonurl}\" target=\"_blank\" style=\"background-color:brandcolor}; border-radius: 25px; color: #ffffff; display: inline-block; font-family: 'DM Sans', sans-serif; font-size: 14px; line-height: 50px; text-align: center; text-decoration: none; width: 260px; -webkit-text-size-adjust: none;\">\n <b>Change your password</b>\n </a>\n <!--[if mso]>\n </center>\n </v:roundrect>\n <![endif]-->\n </div>\n </td>\n </tr>\n <!--end BUTTON-->",
- "additional_instructions": "If you did <span style=\"font-family: 'DM Sans', sans-serif;\"><b>not</b></span> request the password reset, then please ignore this email.<br /><br />Your password <span style=\"font-family: 'DM Sans', sans-serif;\"><b>will not</b></span> change until you access the link above and create a new one."
}, - "PasswordResetComplete": {
- "Subject": "Your profile has been updated.",
- "preheader": " ",
- "title": "Please review the following changes",
- "header": " ",
- "message": "The password that you use to login to your {operatorname} account has been changed. <br /><br />",
- "actionbutton": " ",
- "additional_instructions": " "
}, - "PIIDataUpdated": {
- "Subject": "Your profile has been updated.",
- "preheader": " ",
- "title": "Please review the following changes to your profile",
- "serviceinfo": {
- "template": "<!--begin CARD-->\n <tr>\n <td align=\"center\" style=\"padding: 15px 0px 0px 0px;\">\n <table role=\"presentation\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\">\n <tr>\n <td align=\"center\" style=\"padding: 5px 5px 25px 5px; background-color: #ffffff;\">\n <table role=\"presentation\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\">\n <!--begin CARD CONTENT AREA-->\n <!--begin CARD TITLE-->\n <tr>\n <td align=\"left\" style=\"width: 100%; padding: 15px 15px 15px 15px; color: #464646;; font-family: 'DM Sans', sans-serif; font-size: 20px; line-height: 28px;\">\n Profile/Account Changes\n </td>\n </tr>\n <!--end CARD TITLE-->\n <!--begin TABLE-->\n <tr>\n <td align=\"center\" style=\"padding: 0px;\">\n <table role=\"presentation\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\">\n <colgroup>\n <col style=\"width:50%;\" span=\"2\">\n </colgroup> \n {subscriberphone}\n {consenttotext}\n </table>\n </td>\n </tr>\n <!--end TABLE-->\n <!--end CARD CONTENT AREA-->\n </table>\n </td>\n </tr>\n <tr>\n <td bgcolor=\"#d0d0d0\" height=\"2\" style=\"-ms-text-size-adjust: 100%; -webkit-text-size-adjust: 100%; font-size: 2px; line-height: 2px; max-height: 2px; min-height: 2px; mso-table-lspace: 0pt; mso-table-rspace: 0pt !important;\"> </td>\n </tr>\n </table>\n </td>\n </tr>\n <!--end CARD-->",
- "subscriberphone": "<tr>\n <!--begin CEll 1-->\n <td align=\"center\" style=\"padding: 10px;\">\n <table role=\"presentation\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\">\n <!--begin CARD TEXT-->\n <tr>\n <td align=\"left\" style=\"width: 100%; padding: 0px; color: #464646;; font-family: 'DM Sans', sans-serif; font-size: 14px; line-height: 20px;\">\n Subscriber Phone Number\n </td>\n </tr>\n <!--end CARD TEXT-->\n </table>\n </td>\n <!--end CELL 1-->\n <!--begin CELL 2-->\n <td align=\"center\" style=\"padding: 10px;\">\n <table role=\"presentation\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\">\n <!--begin CARD TEXT-->\n <tr>\n <td align=\"right\" style=\"width: 100%; padding: 0px; color:brandcolor}; font-family: 'DM Sans', sans-serif; font-size: 14px; line-height: 20px;\">\n <span class=\"dynamic-element\">{subscriberphonenumber}</span>\n </td>\n </tr>\n <!--end CARD TEXT-->\n </table>\n </td>\n <!--end CELL 2-->\n</tr>",
- "subscriberemail": "<tr>\n <!--begin CEll 1-->\n <td align=\"center\" style=\"padding: 10px;\">\n <table role=\"presentation\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\">\n <!--begin CARD TEXT-->\n <tr>\n <td align=\"left\" style=\"width: 100%; padding: 0px; color: #464646;; font-family: 'DM Sans', sans-serif; font-size: 14px; line-height: 20px;\">\n Subscriber Email Address\n </td>\n </tr>\n <!--end CARD TEXT-->\n </table>\n </td>\n <!--end CELL 1-->\n <!--begin CELL 2-->\n <td align=\"center\" style=\"padding: 10px;\">\n <table role=\"presentation\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\">\n <!--begin CARD TEXT-->\n <tr>\n <td align=\"right\" style=\"width: 100%; padding: 0px; color:brandcolor}; font-family: 'DM Sans', sans-serif; font-size: 14px; line-height: 20px;\">\n <span class=\"dynamic-element\">{subscriberemailaddress}</span>\n </td>\n </tr>\n <!--end CARD TEXT-->\n </table>\n </td>\n <!--end CELL 2-->\n</tr>",
- "consenttotext": "<tr>\n <!--begin CEll 1-->\n <td align=\"center\" style=\"padding: 10px;\">\n <table role=\"presentation\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\">\n <!--begin CARD TEXT-->\n <tr>\n <td align=\"left\" style=\"width: 100%; padding: 0px; color: #464646;; font-family: 'DM Sans', sans-serif; font-size: 14px; line-height: 20px;\">\n Consent to text*\n </td>\n </tr>\n <!--end CARD TEXT-->\n </table>\n </td>\n <!--end CELL 1-->\n <!--begin CELL 2-->\n <td align=\"center\" style=\"padding: 10px;\">\n <table role=\"presentation\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\">\n <!--begin CARD TEXT-->\n <tr>\n <td align=\"right\" style=\"width: 100%; padding: 0px; color:brandcolor}; font-family: 'DM Sans', sans-serif; font-size: 14px; line-height: 20px;\">\n <span class=\"dynamic-element\">{contactpref_sms}</span>\n </td>\n </tr>\n <!--end CARD TEXT-->\n </table>\n </td>\n <!--end CELL 2-->\n</tr>"
}, - "header": " ",
- "message": " ",
- "actionbutton": " ",
- "additional_instructions": "*By opting into receiving text messages from our support team, you are agreeing to our Terms and Conditions. Visit <a href=\"{operatorurl}/help\" style=\"color: #367ab5; text-decoration: none;\">{operatorurl}/help</a> to learn more.<br /><br />"
}, - "PaymentSuccess": {
- "Subject": "Thank you for the payment. ",
- "preheader": " ",
- "title": "Your payment was processed successfully. ",
- "header": " ",
- "message": "Your payment for Internet service at {unitid}-{unitbuilding}-{unitfloor {unitaddress} processed successfully. <br><br>Invoice Date:invoicedate}<br><br>Payment amount:payment_amount}<br>Payment processed on:payment_date}<br>{serviceplan_name_price_adjustments}<br><br>This charge will appear on your {payment_method}. {paymentevent_additionalinfo}",
- "actionbutton": " ",
- "additional_instructions": " "
}, - "PaymentFailed": {
- "Subject": "Please review your payment settings. ",
- "preheader": " ",
- "title": "Payment Issue - Action required",
- "header": " ",
- "message": "Your payment for Internet service at {unitid}-{unitbuilding}-{unitfloor {unitaddress} did not process successfully. <br>{payment_method}{paymentfailed_reason}{paymentevent_additionalinfo}",
- "actionbutton": " ",
- "additional_instructions": " "
}, - "PaymentMethodUpdated": {
- "Subject": "Payment method updated. ",
- "preheader": " ",
- "title": "Payment method updated for your subscription",
- "header": " ",
- "message": "Payment method for Internet service at {unitid}-{unitbuilding}-{unitfloor {unitaddress} has been updated. <br>{payment_method}",
- "actionbutton": " ",
- "additional_instructions": " "
}, - "SubscriptionStartDateAdjustment": {
- "Subject": "Your service has been updated. ",
- "preheader": " ",
- "title": "Please review the following changes to your Internet service. ",
- "header": " ",
- "message": "Your Internet service at {unitid}-{unitbuilding}-{unitfloor {unitaddress} has been updated to start at {startdate}",
- "actionbutton": " ",
- "additional_instructions": " "
}, - "SubscriptionEndDateAdjustment": {
- "Subject": "Your service has been updated. ",
- "preheader": " ",
- "title": "Please review the following changes to your Internet service. ",
- "header": " ",
- "message": "Your Internet service at {unitid}-{unitbuilding}-{unitfloor {unitaddress} has been updated to end at {enddate}",
- "actionbutton": " ",
- "additional_instructions": " "
}, - "SubscriptionEnded": {
- "Subject": "Your service has ended. ",
- "preheader": " ",
- "title": "Please review the following changes to your Internet service. ",
- "header": " ",
- "message": "Your Internet service at {unitid}-{unitbuilding}-{unitfloor {unitaddress} has ended.",
- "actionbutton": " ",
- "additional_instructions": " "
}, - "SubscriptionPlanUpdated": {
- "Subject": "Internet service plan updated. ",
- "preheader": " ",
- "title": "Please review the following changes to your Internet service. ",
- "header": " ",
- "message": "Internet service plan at {unitid}-{unitbuilding}-{unitfloor {unitaddress} has been upated. <br><br>{serviceplan_name_price_adjustments}<br>",
- "actionbutton": " ",
- "additional_instructions": " "
}, - "SubscriptionVenueUnitUpdated": {
- "Subject": "Internet service plan updated. ",
- "preheader": " ",
- "title": "Please review the following changes to your Internet service. ",
- "header": " ",
- "message": "Your Internet service has been moved to {unitid}-{unitbuilding}-{unitfloor {unitaddress}<br><br>This is for your information only, no action is required by you. ",
- "actionbutton": " ",
- "additional_instructions": " "
}, - "SubscriptionPriceUpdated": {
- "Subject": "Service plan price updated. ",
- "preheader": " ",
- "title": "Please review the following changes to your Internet service. ",
- "header": " ",
- "message": "Price for your Internet service at {unitid}-{unitbuilding}-{unitfloor {unitaddress} has been updated.<br><br>{payment_amount}",
- "actionbutton": " ",
- "additional_instructions": " "
}, - "SubscriptionNextInvoiceAdjustment": {
- "Subject": "Credit applied. ",
- "preheader": " ",
- "title": "Please review the following changes to your Internet service. ",
- "header": " ",
- "message": "Credit has been applied to your next invoice for Internet service at {unitid}-{unitbuilding}-{unitfloor {unitaddress}. <br><br>Credit:creditamount}<br>Next Invoice Total:adjusted_amount}<br><br>Next Invoice Date:invoicedate}<br>Usual Invoice Amount:payment_amount}<br>",
- "actionbutton": " ",
- "additional_instructions": " "
}, - "ChargeRefunded": {
- "Subject": "Refund issued. ",
- "preheader": " ",
- "title": "Please review the following changes to your Internet service. ",
- "header": " ",
- "message": "Refund has been issued for Internet service at {unitid}-{unitbuilding}-{unitfloor {unitaddress}. <br><br>Refund date:refunddate}<br>Amount refunded:amountrefunded}<br><br>Original Invoice Date:invoicedate}<br>Original Invoiced Amount:payment_amount}",
- "actionbutton": " ",
- "additional_instructions": "Please note that it can take 10+ days for the refund to appear on your {payment_method}."
}, - "MessageFromAdministrator": {
- "Subject": "You have a new message from {venuename}. ",
- "preheader": " ",
- "title": "Login to read messages securely",
- "header": " ",
- "message": "You have a new message from {venuename}. Login to your {operatorname} Wi-Fi account to read the message.<br /><br />",
- "actionbutton": "<!--begin BUTTON-->\n\n <tr>\n <td align=\"center\" style=\"padding: 20px 0px;\">\n <div>\n <!--[if mso]>\n <v:roundrect xmlns:v=\"urn:schemas-microsoft-com:vml\" xmlns:w=\"urn:schemas-microsoft-com:office:word\" href=\"{actionbuttonurl}\" target=\"_blank\" style=\"height: 50px; v-text-anchor: middle; width: 260px;\" arcsize=\"50%\" stroke=\"f\" fillcolor=\"{brandcolor}\">\n <w:anchorlock/>\n <center>\n <![endif]-->\n <a href=\"{actionbuttonurl}\" target=\"_blank\" style=\"background-color:brandcolor}; border-radius: 25px; color: #ffffff; display: inline-block; font-family: 'DM Sans', sans-serif; font-size: 14px; line-height: 50px; text-align: center; text-decoration: none; width: 260px; -webkit-text-size-adjust: none;\">\n <b>Read Message</b>\n </a>\n <!--[if mso]>\n </center>\n </v:roundrect>\n <![endif]-->\n </div>\n </td>\n </tr>\n <!--end BUTTON-->",
- "additional_instructions": " "
}, - "Template": "<!DOCTYPE html\n PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\" xmlns:v=\"urn:schemas-microsoft-com:vml\"\n xmlns:o=\"urn:schemas-microsoft-com:office:office\">\n\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />\n <!--[if !mso]><!-->\n <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\" />\n <!--<![endif]-->\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n <title></title>\n <style type=\"text/css\">\n @import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;700&display=swap');\n\n body {\n -ms-text-size-adjust: 100%;\n -webkit-text-size-adjust: 100%;\n }\n\n table {\n border-spacing: 0;\n border-collapse: collapse;\n mso-table-lspace: 0pt;\n mso-table-rspace: 0pt;\n }\n\n td {\n border-collapse: collapse;\n -ms-text-size-adjust: 100%;\n -webkit-text-size-adjust: 100%;\n }\n\n div[style*=\"margin: 16px 0\"] {\n margin: 0 !important;\n }\n\n a[x-apple-data-detectors] {\n color: inherit !important;\n text-decoration: none !important;\n font-size: inherit !important;\n font-family: inherit !important;\n font-weight: inherit !important;\n line-height: inherit !important;\n }\n\n #MessageViewBody a {\n color: inherit;\n text-decoration: none;\n font-size: inherit;\n font-family: inherit;\n font-weight: inherit;\n line-height: inherit;\n }\n\n span.yshortcuts,\n a span {\n color: inherit;\n background-color: none;\n border: none;\n }\n\n .dynamic-tag {\n color: #29b6f6;\n }\n\n .dynamic-element {\n color:brandcolor};\n }\n </style>\n <!--[if (gte mso 9)|(IE)]>\n <style type=\"text/css\">\n table {border-collapse: collapse !important;}\n </style>\n <![endif]-->\n <!--[if gte mso 9]>\n <xml>\n <o:OfficeDocumentSettings>\n <o:AllowPNG/>\n <o:PixelsPerInch>96</o:PixelsPerInch>\n </o:OfficeDocumentSettings>\n </xml>\n <![endif]-->\n</head>\n\n<body style=\"margin: 0 !important; padding: 0px; background-color: #f5f5f6;\">\n <center style=\"width: 100%; table-layout: fixed; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%;\">\n <div style=\"max-width: 642px; margin: 0 auto;\">\n <!--[if (gte mso 9)|(IE)]>\n <table role=\"presentation\" width=\"642\" align=\"center\">\n <tr>\n <td>\n <![endif]-->\n <!--begin MESSAGE CONTAINER-->\n <table role=\"presentation\" align=\"center\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\"\n style=\"Margin: 0 auto; width: 100%; max-width: 642px;\">\n <!--begin HEADER-->\n <!--begin CARD TEXT-->\n <tr>\n <td style=\"padding: 20px 13px; background-color: #f5f5f6;\">\n <table role=\"presentation\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\"\n style=\"min-width: 100%;\">\n <tr>\n <td style=\"line-height: 0px;\" width=\"20%\">\n <a href=\"{operatorurl}\" target=\"_blank\">\n <img alt=\"{operatorname}\" border=\"0\" src=\"{operatorlogourl}\" width=\"87\" />\n </a>\n </td>\n <td style=\"padding: 0px;\" width=\"50%\"></td>\n\n </td>\n </tr>\n </table>\n </td>\n </tr>\n <!--end HEADER-->\n\n <!--begin BODY-->\n <tr>\n <td align=\"center\" style=\"padding: 0px 20px; background-color: #f5f5f6;\">\n <table role=\"presentation\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\">\n <tr>\n <td align=\"center\"\n style=\"width: 100%; padding: 0px 20px 35px 20px; color: #525252; font-family: 'DM Sans', sans-serif; font-size: 18px; line-height: 24px;\">\n Hi <span class=\"dynamic-element\">{subscribergivenname}</span>,<br />\n </td>\n </tr>\n\n <!--begin TITLE H2-->\n <tr>\n <td align=\"center\"\n style=\"width: 100%; padding: 0px 20px 15px 20px; color: #525252; font-family: 'DM Sans', sans-serif; font-size: 22px; line-height: 30px;\">\n {title}\n </td>\n </tr>\n <!--end TITLE H2-->\n\n <!--begin CARD-->\n {serviceinfo}\n <!--end CARD-->\n\n <!--begin CARD TEXT-->\n <tr>\n <td align=\"left\"\n style=\"width: 100%; padding: 15px 15px 0px 15px; color: #464646; font-family: 'DM Sans', sans-serif; font-size: 14px; line-height: 20px;\">\n </td>\n </tr>\n <!--end CARD TEXT-->\n <!--begin CARD-->\n <tr>\n <td align=\"center\" style=\"padding: 15px 0px 0px 0px;\">\n <table role=\"presentation\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\">\n <tr>\n <td align=\"center\"\n style=\"padding: 5px 5px 25px 5px; background-color: #ffffff;\">\n <table role=\"presentation\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\"\n width=\"100%\">\n <!--begin CARD CONTENT AREA-->\n\n <!--begin CARD TITLE-->\n <tr>\n <td align=\"left\"\n style=\"width: 100%; padding: 15px 15px 0px 15px; color: #464646; font-family: 'DM Sans', sans-serif; font-size: 20px; line-height: 28px;\">\n {header}\n </td>\n </tr>\n <!--end CARD TITLE-->\n <!--begin CARD TEXT-->\n <tr>\n <td align=\"left\"\n style=\"width: 100%; padding: 15px 15px 0px 15px; color: #464646; font-family: 'DM Sans', sans-serif; font-size: 14px; line-height: 20px;\">\n {message}\n <center><br />\n </td>\n </tr>\n <!--end CARD TEXT-->\n <!--begin BUTTON-->\n {actionbutton}\n <!--end BUTTON-->\n <!--begin CARD TEXT-->\n <tr>\n <td align=\"left\"\n style=\"width: 100%; padding: 15px 15px 0px 15px; color: #464646; font-family: 'ProximaNova-Light', sans-serif; font-size: 14px; line-height: 20px;\">\n {additional_instructions}\n </td>\n </tr>\n <!--end CARD TEXT-->\n\n <!--end CARD CONTENT AREA-->\n </table>\n </td>\n </tr>\n <tr>\n <td bgcolor=\"#d0d0d0\" height=\"2\"\n style=\"-ms-text-size-adjust: 100%; -webkit-text-size-adjust: 100%; font-size: 2px; line-height: 2px; max-height: 2px; min-height: 2px; mso-table-lspace: 0pt; mso-table-rspace: 0pt !important;\">\n </td>\n </tr>\n </table>\n </td>\n </tr>\n <!--end CARD-->\n <!--begin CARD TEXT-->\n <tr>\n <td align=\"left\"\n style=\"width: 100%; padding: 15px 15px 0px 15px; color: #464646; font-family: 'DM Sans', sans-serif; font-size: 14px; line-height: 20px;\">\n </td>\n </tr>\n <!--end CARD TEXT-->\n </table>\n </td>\n </tr>\n <!--end BODY-->\n\n <!--begin FOOTER-->\n <tr>\n <td align=\"center\" width=\"100%\" style=\"padding: 0px; background-color: #f5f5f6;\">\n <table role=\"presentation\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\" align=\"center\">\n <tr>\n <td align=\"center\" style=\"padding: 40px 10px 37px 10px;\" width=\"100%\">\n\n </td>\n </tr>\n <tr>\n <td style=\"padding: 0px;\">\n <table role=\"presentation\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\">\n <tr>\n <td style=\"padding: 0px;\" width=\"85%\">\n <table role=\"presentation\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\"\n width=\"100%\" style=\"border-spacing: 0;\">\n <tr>\n <td width=\"100%\" height=\"1\"\n style=\"border-top: 1px solid {brandcolor}; font-size: 1px; line-height: 1px; padding: 0px;\">\n </td>\n </tr>\n </table>\n </td>\n <td style=\"font-size: 1px; line-height: 1px; padding: 0px;\">\n <img alt=\"{operatorname}\" border=\"0\"\n src=\"{operatorlogourl}\"\n width=\"69\" />\n </td>\n <td width=\"15%\" style=\"padding: 0px;\">\n <table role=\"presentation\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\"\n width=\"100%\" style=\"border-spacing: 0;\">\n <tr>\n <td width=\"100%\" height=\"1\"\n style=\"border-top: 1px solid {brandcolor}; font-size: 1px; line-height: 1px; padding: 0px;\">\n </td>\n </tr>\n </table>\n </td>\n </tr>\n </table>\n </td>\n </tr>\n <tr>\n <td align=\"left\"\n style=\"color: #464646; font-family: 'DM Sans', sans-serif; font-size: 11px; line-height: 14px; padding: 35px 28px 30px 28px;\">\n Please do not reply to this email, instead visit us at <a href=\"{operatorurl}/help\"\n style=\"color: #367ab5; text-decoration: none;\">{operatorurl}/help</a> for support.\n </td>\n </tr>\n <tr>\n <td width=\"100%\" height=\"1\"\n style=\"border-top: 1px solid #d0d0d0; font-size: 1px; line-height: 1px; padding: 0px;\">\n </td>\n </tr>\n <tr>\n <td align=\"center\"\n style=\"color: #464646; font-family: 'DM Sans', sans-serif; font-size: 11px; line-height: 14px; padding: 30px 28px 35px 28px;\">\n © {yyyy} {operatorname} - All rights reserved.\n <br />\n <a href=\"\" style=\"color: #464646; cursor: text; text-decoration: none;\">{operatoraddress}</a>\n </td>\n </tr>\n </table>\n </td>\n </tr>\n <!--end FOOTER-->\n\n </table>\n <!--end MESSAGE CONTAINER-->\n\n <!--[if (gte mso 9)|(IE)]>\n </td>\n </tr>\n </table>\n <![endif]-->\n </div>\n </center>\n</body>\n\n</html>"
}
}, - "es-xl": {
- "WelcomeEmail": {
- "NewSubscriber": {
- "Subject": "!Bienvenido al servicio Wi-Fi de {venuename} {operatorname}",
- "preheader": " ",
- "title": "Welcome to <span style=\"font-family: 'DM Sans', sans-serif; border-bottom: 5px solid {brandcolor};\"><b><span class=\"dynamic-element\" style=\"white-space: nowrap;\">{venuename}</span></b></span> WiFi service!",
- "serviceinfo": {
- "template": "<!--begin CARD-->\n <tr>\n <td align=\"center\" style=\"padding: 15px 0px 0px 0px;\">\n <table role=\"presentation\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\">\n <tr>\n <td align=\"center\" style=\"padding: 5px 5px 25px 5px; background-color: #ffffff;\">\n <table role=\"presentation\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\">\n <!--begin CARD CONTENT AREA-->\n <!--begin CARD TITLE-->\n <tr>\n <td align=\"left\" style=\"width: 100%; padding: 15px 15px 15px 15px; color: #464646;; font-family: 'DM Sans', sans-serif; font-size: 20px; line-height: 28px;\">\n Información del servicio WiFi\n </td>\n </tr>\n <!--end CARD TITLE-->\n <!--begin TABLE-->\n <tr>\n <td align=\"center\" style=\"padding: 0px;\">\n <table role=\"presentation\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\">\n <colgroup>\n <col style=\"width:50%;\" span=\"2\">\n </colgroup> \n {networkname}\n {subscriptionstart}\n {subscriptionend}\n </table>\n </td>\n </tr>\n <!--end TABLE-->\n <!--end CARD CONTENT AREA-->\n </table>\n </td>\n </tr>\n <tr>\n <td bgcolor=\"#d0d0d0\" height=\"2\" style=\"-ms-text-size-adjust: 100%; -webkit-text-size-adjust: 100%; font-size: 2px; line-height: 2px; max-height: 2px; min-height: 2px; mso-table-lspace: 0pt; mso-table-rspace: 0pt !important;\"> </td>\n </tr>\n </table>\n </td>\n </tr>\n <!--end CARD-->",
- "networkname": "<tr>\n <!--begin CEll 1-->\n <td align=\"center\" style=\"padding: 10px;\">\n <table role=\"presentation\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\">\n <!--begin CARD TEXT-->\n <tr>\n <td align=\"left\" style=\"width: 100%; padding: 0px; color: #464646;; font-family: 'DM Sans', sans-serif; font-size: 14px; line-height: 20px;\">\n Nombre de la red WiFi (SSID) </td>\n </tr>\n <!--end CARD TEXT-->\n </table>\n </td>\n <!--end CELL 1-->\n <!--begin CELL 2-->\n <td align=\"center\" style=\"padding: 10px;\">\n <table role=\"presentation\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\">\n <!--begin CARD TEXT-->\n <tr>\n <td align=\"right\" style=\"width: 100%; padding: 0px; color:brandcolor}; font-family: 'DM Sans', sans-serif; font-size: 14px; line-height: 20px;\">\n <span class=\"dynamic-element\">{ssid}</span>\n </td>\n </tr>\n <!--end CARD TEXT-->\n </table>\n </td>\n <!--end CELL 2-->\n</tr>",
- "wifipassword": "<tr>\n <!--begin CEll 1-->\n <td align=\"center\" style=\"padding: 10px;\">\n <table role=\"presentation\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\">\n <!--begin CARD TEXT-->\n <tr>\n <td align=\"left\" style=\"width: 100%; padding: 0px; color: #464646;; font-family: 'DM Sans', sans-serif; font-size: 14px; line-height: 20px;\">\n Contraseña de wifi\n </td>\n </tr>\n <!--end CARD TEXT-->\n </table>\n </td>\n <!--end CELL 1-->\n <!--begin CELL 2-->\n <td align=\"center\" style=\"padding: 10px;\">\n <table role=\"presentation\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\">\n <!--begin CARD TEXT-->\n <tr>\n <td align=\"right\" style=\"width: 100%; padding: 0px; color:brandcolor}; font-family: 'DM Sans', sans-serif; font-size: 14px; line-height: 20px;\">\n <span class=\"dynamic-element\">{psk}</span>\n </td>\n </tr>\n <!--end CARD TEXT-->\n </table>\n </td>\n <!--end CELL 2-->\n</tr>",
- "subscriptionstart": "<tr>\n <!--begin CEll 1-->\n <td align=\"center\" style=\"padding: 10px;\">\n <table role=\"presentation\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\">\n <!--begin CARD TEXT-->\n <tr>\n <td align=\"left\" style=\"width: 100%; padding: 0px; color: #464646;; font-family: 'DM Sans', sans-serif; font-size: 14px; line-height: 20px;\">\n Fecha de inicio del servicio\n </td>\n </tr>\n <!--end CARD TEXT-->\n </table>\n </td>\n <!--end CELL 1-->\n <!--begin CELL 2-->\n <td align=\"center\" style=\"padding: 10px;\">\n <table role=\"presentation\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\">\n <!--begin CARD TEXT-->\n <tr>\n <td align=\"right\" style=\"width: 100%; padding: 0px; color:brandcolor}; font-family: 'DM Sans', sans-serif; font-size: 14px; line-height: 20px;\">\n <span class=\"dynamic-element\">{startdate}</span>\n </td>\n </tr>\n <!--end CARD TEXT-->\n </table>\n </td>\n <!--end CELL 2-->\n</tr>",
- "subscriptionend": "<tr>\n <!--begin CEll 1-->\n <td align=\"center\" style=\"padding: 10px;\">\n <table role=\"presentation\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\">\n <!--begin CARD TEXT-->\n <tr>\n <td align=\"left\" style=\"width: 100%; padding: 0px; color: #464646;; font-family: 'DM Sans', sans-serif; font-size: 14px; line-height: 20px;\">\n Fecha de finalización del servicio\n </td>\n </tr>\n <!--end CARD TEXT-->\n </table>\n </td>\n <!--end CELL 1-->\n <!--begin CELL 2-->\n <td align=\"center\" style=\"padding: 10px;\">\n <table role=\"presentation\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\">\n <!--begin CARD TEXT-->\n <tr>\n <td align=\"right\" style=\"width: 100%; padding: 0px; color:brandcolor}; font-family: 'DM Sans', sans-serif; font-size: 14px; line-height: 20px;\">\n <span class=\"dynamic-element\">{enddate}</span>\n </td>\n </tr>\n <!--end CARD TEXT-->\n </table>\n </td>\n <!--end CELL 2-->\n</tr>"
}, - "header": "Para comenzar",
- "message": "Hemos esablecido servicio de Wi-Fi para tu residencia. Crea tu cuenta {operatorname} y obtén tu contraseña de WiFi ahora, para que tu servicio esté disponible el día de la mudanza. Puedes utilizar cualquier teléfono inteligente, tableta o computadora con conexión a Internet para crear tu cuenta WiFi.",
- "actionbutton": "<!--begin BUTTON-->\n\n <tr>\n <td align=\"center\" style=\"padding: 20px 0px;\">\n <div>\n <!--[if mso]>\n <v:roundrect xmlns:v=\"urn:schemas-microsoft-com:vml\" xmlns:w=\"urn:schemas-microsoft-com:office:word\" href=\"{actionbuttonurl}\" target=\"_blank\" style=\"height: 50px; v-text-anchor: middle; width: 260px;\" arcsize=\"50%\" stroke=\"f\" fillcolor=\"{brandcolor}\">\n <w:anchorlock/>\n <center>\n <![endif]-->\n <a href=\"{actionbuttonurl}\" target=\"_blank\" style=\"background-color:brandcolor}; border-radius: 25px; color: #ffffff; display: inline-block; font-family: 'DM Sans', sans-serif; font-size: 14px; line-height: 50px; text-align: center; text-decoration: none; width: 260px; -webkit-text-size-adjust: none;\">\n <b>Crear cuenta de {operatorname} </b>\n </a>\n <!--[if mso]>\n </center>\n </v:roundrect>\n <![endif]-->\n </div>\n </td>\n </tr>\n <!--end BUTTON-->",
- "additional_instructions": "Alternativamente, puede ir a <span class=\"dynamic-element\">{operatortermsurl}</span>, ingresar <span class=\"dynamic-element\">{subscriberemail}</span> como su dirección de correo electrónico y <span class=\"dynamic-element\">{onetimepassword}</span> (distingue entre mayúsculas y minúsculas) como código de confirmación para activar su cuenta."
}, - "KnownSubscriber": {
- "Subject": "!Bienvenido al servicio Wi-Fi de {venuename} {operatorname}",
- "preheader": " ",
- "title": "¡Bienvenido(a) al servicio WiFi de <span style=\"font-family: 'DM Sans', sans-serif; border-bottom: 5px solid {brandcolor};\"><b><span class=\"dynamic-element\" style=\"white-space: nowrap;\">{venuename}</span></b></span>",
- "serviceinfo": {
- "template": "<!--begin CARD-->\n <tr>\n <td align=\"center\" style=\"padding: 15px 0px 0px 0px;\">\n <table role=\"presentation\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\">\n <tr>\n <td align=\"center\" style=\"padding: 5px 5px 25px 5px; background-color: #ffffff;\">\n <table role=\"presentation\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\">\n <!--begin CARD CONTENT AREA-->\n <!--begin CARD TITLE-->\n <tr>\n <td align=\"left\" style=\"width: 100%; padding: 15px 15px 15px 15px; color: #464646;; font-family: 'DM Sans', sans-serif; font-size: 20px; line-height: 28px;\">\n Información del servicio WiFi\n </td>\n </tr>\n <!--end CARD TITLE-->\n <!--begin TABLE-->\n <tr>\n <td align=\"center\" style=\"padding: 0px;\">\n <table role=\"presentation\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\">\n <colgroup>\n <col style=\"width:50%;\" span=\"2\">\n </colgroup> \n {networkname}\n {subscriptionstart}\n {subscriptionend}\n </table>\n </td>\n </tr>\n <!--end TABLE-->\n <!--end CARD CONTENT AREA-->\n </table>\n </td>\n </tr>\n <tr>\n <td bgcolor=\"#d0d0d0\" height=\"2\" style=\"-ms-text-size-adjust: 100%; -webkit-text-size-adjust: 100%; font-size: 2px; line-height: 2px; max-height: 2px; min-height: 2px; mso-table-lspace: 0pt; mso-table-rspace: 0pt !important;\"> </td>\n </tr>\n </table>\n </td>\n </tr>\n <!--end CARD-->",
- "networkname": "<tr>\n <!--begin CEll 1-->\n <td align=\"center\" style=\"padding: 10px;\">\n <table role=\"presentation\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\">\n <!--begin CARD TEXT-->\n <tr>\n <td align=\"left\" style=\"width: 100%; padding: 0px; color: #464646;; font-family: 'DM Sans', sans-serif; font-size: 14px; line-height: 20px;\">\n Nombre de la red WiFi (SSID) </td>\n </tr>\n <!--end CARD TEXT-->\n </table>\n </td>\n <!--end CELL 1-->\n <!--begin CELL 2-->\n <td align=\"center\" style=\"padding: 10px;\">\n <table role=\"presentation\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\">\n <!--begin CARD TEXT-->\n <tr>\n <td align=\"right\" style=\"width: 100%; padding: 0px; color:brandcolor}; font-family: 'DM Sans', sans-serif; font-size: 14px; line-height: 20px;\">\n <span class=\"dynamic-element\">{ssid}</span>\n </td>\n </tr>\n <!--end CARD TEXT-->\n </table>\n </td>\n <!--end CELL 2-->\n</tr>",
- "wifipassword": "<tr>\n <!--begin CEll 1-->\n <td align=\"center\" style=\"padding: 10px;\">\n <table role=\"presentation\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\">\n <!--begin CARD TEXT-->\n <tr>\n <td align=\"left\" style=\"width: 100%; padding: 0px; color: #464646;; font-family: 'DM Sans', sans-serif; font-size: 14px; line-height: 20px;\">\n Contraseña de wifi\n </td>\n </tr>\n <!--end CARD TEXT-->\n </table>\n </td>\n <!--end CELL 1-->\n <!--begin CELL 2-->\n <td align=\"center\" style=\"padding: 10px;\">\n <table role=\"presentation\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\">\n <!--begin CARD TEXT-->\n <tr>\n <td align=\"right\" style=\"width: 100%; padding: 0px; color:brandcolor}; font-family: 'DM Sans', sans-serif; font-size: 14px; line-height: 20px;\">\n <span class=\"dynamic-element\">{psk}</span>\n </td>\n </tr>\n <!--end CARD TEXT-->\n </table>\n </td>\n <!--end CELL 2-->\n</tr>",
- "subscriptionstart": "<tr>\n <!--begin CEll 1-->\n <td align=\"center\" style=\"padding: 10px;\">\n <table role=\"presentation\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\">\n <!--begin CARD TEXT-->\n <tr>\n <td align=\"left\" style=\"width: 100%; padding: 0px; color: #464646;; font-family: 'DM Sans', sans-serif; font-size: 14px; line-height: 20px;\">\n Fecha de inicio del servicio\n </td>\n </tr>\n <!--end CARD TEXT-->\n </table>\n </td>\n <!--end CELL 1-->\n <!--begin CELL 2-->\n <td align=\"center\" style=\"padding: 10px;\">\n <table role=\"presentation\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\">\n <!--begin CARD TEXT-->\n <tr>\n <td align=\"right\" style=\"width: 100%; padding: 0px; color:brandcolor}; font-family: 'DM Sans', sans-serif; font-size: 14px; line-height: 20px;\">\n <span class=\"dynamic-element\">{startdate}</span>\n </td>\n </tr>\n <!--end CARD TEXT-->\n </table>\n </td>\n <!--end CELL 2-->\n</tr>",
- "subscriptionend": "<tr>\n <!--begin CEll 1-->\n <td align=\"center\" style=\"padding: 10px;\">\n <table role=\"presentation\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\">\n <!--begin CARD TEXT-->\n <tr>\n <td align=\"left\" style=\"width: 100%; padding: 0px; color: #464646;; font-family: 'DM Sans', sans-serif; font-size: 14px; line-height: 20px;\">\n Fecha de finalización del servicio\n </td>\n </tr>\n <!--end CARD TEXT-->\n </table>\n </td>\n <!--end CELL 1-->\n <!--begin CELL 2-->\n <td align=\"center\" style=\"padding: 10px;\">\n <table role=\"presentation\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\">\n <!--begin CARD TEXT-->\n <tr>\n <td align=\"right\" style=\"width: 100%; padding: 0px; color:brandcolor}; font-family: 'DM Sans', sans-serif; font-size: 14px; line-height: 20px;\">\n <span class=\"dynamic-element\">{enddate}</span>\n </td>\n </tr>\n <!--end CARD TEXT-->\n </table>\n </td>\n <!--end CELL 2-->\n</tr>"
}, - "header": "Ingresa a tu cuenta",
- "message": "Hemos agregado un nuevo servicio Wi-Fi a tu cuenta. Puedes continuar usando tu contraseña Wi-Fi actual en {operatorname}. Ingresa a tu cuenta para ver o cambiar tu contraseña Wi-Fi.",
- "actionbutton": "<!--begin BUTTON-->\n\n <tr>\n <td align=\"center\" style=\"padding: 20px 0px;\">\n <div>\n <!--[if mso]>\n <v:roundrect xmlns:v=\"urn:schemas-microsoft-com:vml\" xmlns:w=\"urn:schemas-microsoft-com:office:word\" href=\"{actionbuttonurl}\" target=\"_blank\" style=\"height: 50px; v-text-anchor: middle; width: 260px;\" arcsize=\"50%\" stroke=\"f\" fillcolor=\"{brandcolor}\">\n <w:anchorlock/>\n <center>\n <![endif]-->\n <a href=\"{actionbuttonurl}\" target=\"_blank\" style=\"background-color:brandcolor}; border-radius: 25px; color: #ffffff; display: inline-block; font-family: 'DM Sans', sans-serif; font-size: 14px; line-height: 50px; text-align: center; text-decoration: none; width: 260px; -webkit-text-size-adjust: none;\">\n <b>Ingresa a tu cuenta</b>\n </a>\n <!--[if mso]>\n </center>\n </v:roundrect>\n <![endif]-->\n </div>\n </td>\n </tr>\n <!--end BUTTON-->",
- "additional_instructions": " "
}, - "GuestAccess": {
- "Subject": "Welcome to {venuename} {operatorname} Guest WiFi service",
- "preheader": " ",
- "title": "Welcome to <span style=\"font-family: 'DM Sans', sans-serif; border-bottom: 5px solid {brandcolor};\"><b><span class=\"dynamic-element\" style=\"white-space: nowrap;\">{venuename}</span></b></span> Guest WiFi service!",
- "serviceinfo": {
- "template": "<!--begin CARD-->\n <tr>\n <td align=\"center\" style=\"padding: 15px 0px 0px 0px;\">\n <table role=\"presentation\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\">\n <tr>\n <td align=\"center\" style=\"padding: 5px 5px 25px 5px; background-color: #ffffff;\">\n <table role=\"presentation\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\">\n <!--begin CARD CONTENT AREA-->\n <!--begin CARD TITLE-->\n <tr>\n <td align=\"left\" style=\"width: 100%; padding: 15px 15px 15px 15px; color: #464646;; font-family: 'DM Sans', sans-serif; font-size: 20px; line-height: 28px;\">\n Información del servicio WiFi\n </td>\n </tr>\n <!--end CARD TITLE-->\n <!--begin TABLE-->\n <tr>\n <td align=\"center\" style=\"padding: 0px;\">\n <table role=\"presentation\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\">\n <colgroup>\n <col style=\"width:50%;\" span=\"2\">\n </colgroup> \n {networkname}\n {wifipassword}\n {subscriptionstart}\n {subscriptionend}\n </table>\n </td>\n </tr>\n <!--end TABLE-->\n <!--end CARD CONTENT AREA-->\n </table>\n </td>\n </tr>\n <tr>\n <td bgcolor=\"#d0d0d0\" height=\"2\" style=\"-ms-text-size-adjust: 100%; -webkit-text-size-adjust: 100%; font-size: 2px; line-height: 2px; max-height: 2px; min-height: 2px; mso-table-lspace: 0pt; mso-table-rspace: 0pt !important;\"> </td>\n </tr>\n </table>\n </td>\n </tr>\n <!--end CARD-->",
- "networkname": "<tr>\n <!--begin CEll 1-->\n <td align=\"center\" style=\"padding: 10px;\">\n <table role=\"presentation\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\">\n <!--begin CARD TEXT-->\n <tr>\n <td align=\"left\" style=\"width: 100%; padding: 0px; color: #464646;; font-family: 'DM Sans', sans-serif; font-size: 14px; line-height: 20px;\">\n Nombre de la red WiFi (SSID) </td>\n </tr>\n <!--end CARD TEXT-->\n </table>\n </td>\n <!--end CELL 1-->\n <!--begin CELL 2-->\n <td align=\"center\" style=\"padding: 10px;\">\n <table role=\"presentation\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\">\n <!--begin CARD TEXT-->\n <tr>\n <td align=\"right\" style=\"width: 100%; padding: 0px; color:brandcolor}; font-family: 'DM Sans', sans-serif; font-size: 14px; line-height: 20px;\">\n <span class=\"dynamic-element\">{ssid}</span>\n </td>\n </tr>\n <!--end CARD TEXT-->\n </table>\n </td>\n <!--end CELL 2-->\n</tr>",
- "wifipassword": "<tr>\n <!--begin CEll 1-->\n <td align=\"center\" style=\"padding: 10px;\">\n <table role=\"presentation\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\">\n <!--begin CARD TEXT-->\n <tr>\n <td align=\"left\" style=\"width: 100%; padding: 0px; color: #464646;; font-family: 'DM Sans', sans-serif; font-size: 14px; line-height: 20px;\">\n Contraseña de wifi\n </td>\n </tr>\n <!--end CARD TEXT-->\n </table>\n </td>\n <!--end CELL 1-->\n <!--begin CELL 2-->\n <td align=\"center\" style=\"padding: 10px;\">\n <table role=\"presentation\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\">\n <!--begin CARD TEXT-->\n <tr>\n <td align=\"right\" style=\"width: 100%; padding: 0px; color:brandcolor}; font-family: 'DM Sans', sans-serif; font-size: 14px; line-height: 20px;\">\n <span class=\"dynamic-element\">{psk}</span>\n </td>\n </tr>\n <!--end CARD TEXT-->\n </table>\n </td>\n <!--end CELL 2-->\n</tr>",
- "subscriptionstart": "<tr>\n <!--begin CEll 1-->\n <td align=\"center\" style=\"padding: 10px;\">\n <table role=\"presentation\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\">\n <!--begin CARD TEXT-->\n <tr>\n <td align=\"left\" style=\"width: 100%; padding: 0px; color: #464646;; font-family: 'DM Sans', sans-serif; font-size: 14px; line-height: 20px;\">\n Fecha de inicio del servicio\n </td>\n </tr>\n <!--end CARD TEXT-->\n </table>\n </td>\n <!--end CELL 1-->\n <!--begin CELL 2-->\n <td align=\"center\" style=\"padding: 10px;\">\n <table role=\"presentation\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\">\n <!--begin CARD TEXT-->\n <tr>\n <td align=\"right\" style=\"width: 100%; padding: 0px; color:brandcolor}; font-family: 'DM Sans', sans-serif; font-size: 14px; line-height: 20px;\">\n <span class=\"dynamic-element\">{startdate}</span>\n </td>\n </tr>\n <!--end CARD TEXT-->\n </table>\n </td>\n <!--end CELL 2-->\n</tr>",
- "subscriptionend": "<tr>\n <!--begin CEll 1-->\n <td align=\"center\" style=\"padding: 10px;\">\n <table role=\"presentation\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\">\n <!--begin CARD TEXT-->\n <tr>\n <td align=\"left\" style=\"width: 100%; padding: 0px; color: #464646;; font-family: 'DM Sans', sans-serif; font-size: 14px; line-height: 20px;\">\n Fecha de finalización del servicio\n </td>\n </tr>\n <!--end CARD TEXT-->\n </table>\n </td>\n <!--end CELL 1-->\n <!--begin CELL 2-->\n <td align=\"center\" style=\"padding: 10px;\">\n <table role=\"presentation\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\">\n <!--begin CARD TEXT-->\n <tr>\n <td align=\"right\" style=\"width: 100%; padding: 0px; color:brandcolor}; font-family: 'DM Sans', sans-serif; font-size: 14px; line-height: 20px;\">\n <span class=\"dynamic-element\">{enddate}</span>\n </td>\n </tr>\n <!--end CARD TEXT-->\n </table>\n </td>\n <!--end CELL 2-->\n</tr>"
}, - "header": "Privacy Notice",
- "message": "This is a secure password unique to you, do not share it with anyone.",
- "actionbutton": " ",
- "additional_instructions": " "
}, - "NewAdministrator": {
- "Subject": "Welcome to {operatorname} WiFi Service Administration.",
- "preheader": " ",
- "title": "Welcome to <span><b><span class=\"dynamic-element\" style=\"white-space: nowrap;\">{operatorname}</span></b></span>",
- "header": "Para comenzar",
- "message": "We are excited to have you join us as WiFi services administrator here at <span class=\"dynamic-element\">{venuename}</span>.<br /><br />Please create your account password by visiting <span class=\"dynamic-element\">{actionbuttonurl}</span> ",
- "actionbutton": " ",
- "additional_instructions": "WiFI Management Console:operatorurl}"
}, - "KnownAdministrator": {
- "Subject": "Welcome to {operatorname} WiFi Service Administration.",
- "preheader": " ",
- "title": "Welcome to <span><b><span class=\"dynamic-element\" style=\"white-space: nowrap;\">{operatorname}</span></b></span>",
- "header": "Para comenzar",
- "message": "We are excited to have you join us as WiFi services administrator here at <span class=\"dynamic-element\">{venuename}</span>.<br /><br />",
- "actionbutton": " ",
- "additional_instructions": "WiFI Management Console:operatorurl}"
}, - "Template": "<!DOCTYPE html\n PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\" xmlns:v=\"urn:schemas-microsoft-com:vml\"\n xmlns:o=\"urn:schemas-microsoft-com:office:office\">\n\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />\n <!--[if !mso]><!-->\n <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\" />\n <!--<![endif]-->\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n <title></title>\n <style type=\"text/css\">\n @import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;700&display=swap');\n\n body {\n -ms-text-size-adjust: 100%;\n -webkit-text-size-adjust: 100%;\n }\n\n table {\n border-spacing: 0;\n border-collapse: collapse;\n mso-table-lspace: 0pt;\n mso-table-rspace: 0pt;\n }\n\n td {\n border-collapse: collapse;\n -ms-text-size-adjust: 100%;\n -webkit-text-size-adjust: 100%;\n }\n\n div[style*=\"margin: 16px 0\"] {\n margin: 0 !important;\n }\n\n a[x-apple-data-detectors] {\n color: inherit !important;\n text-decoration: none !important;\n font-size: inherit !important;\n font-family: inherit !important;\n font-weight: inherit !important;\n line-height: inherit !important;\n }\n\n #MessageViewBody a {\n color: inherit;\n text-decoration: none;\n font-size: inherit;\n font-family: inherit;\n font-weight: inherit;\n line-height: inherit;\n }\n\n span.yshortcuts,\n a span {\n color: inherit;\n background-color: none;\n border: none;\n }\n\n .dynamic-tag {\n color: #29b6f6;\n }\n\n .dynamic-element {\n color:brandcolor};\n }\n </style>\n <!--[if (gte mso 9)|(IE)]>\n <style type=\"text/css\">\n table {border-collapse: collapse !important;}\n </style>\n <![endif]-->\n <!--[if gte mso 9]>\n <xml>\n <o:OfficeDocumentSettings>\n <o:AllowPNG/>\n <o:PixelsPerInch>96</o:PixelsPerInch>\n </o:OfficeDocumentSettings>\n </xml>\n <![endif]-->\n</head>\n\n<body style=\"margin: 0 !important; padding: 0px; background-color: #f5f5f6;\">\n <center style=\"width: 100%; table-layout: fixed; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%;\">\n <div style=\"max-width: 642px; margin: 0 auto;\">\n <!--[if (gte mso 9)|(IE)]>\n <table role=\"presentation\" width=\"642\" align=\"center\">\n <tr>\n <td>\n <![endif]-->\n <!--begin MESSAGE CONTAINER-->\n <table role=\"presentation\" align=\"center\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\"\n style=\"Margin: 0 auto; width: 100%; max-width: 642px;\">\n <!--begin HEADER-->\n <!--begin CARD TEXT-->\n <tr>\n <td style=\"padding: 20px 13px; background-color: #f5f5f6;\">\n <table role=\"presentation\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\"\n style=\"min-width: 100%;\">\n <tr>\n <td style=\"line-height: 0px;\" width=\"20%\">\n <a href=\"{operatorurl}\" target=\"_blank\">\n <img alt=\"{operatorname}\" border=\"0\" src=\"{operatorlogourl}\" width=\"87\" />\n </a>\n </td>\n <td style=\"padding: 0px;\" width=\"50%\"></td>\n\n </td>\n </tr>\n </table>\n </td>\n </tr>\n <!--end HEADER-->\n\n <!--begin BODY-->\n <tr>\n <td align=\"center\" style=\"padding: 0px 20px; background-color: #f5f5f6;\">\n <table role=\"presentation\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\">\n <tr>\n <td align=\"center\"\n style=\"width: 100%; padding: 0px 20px 35px 20px; color: #525252; font-family: 'DM Sans', sans-serif; font-size: 18px; line-height: 24px;\">\n Hi <span class=\"dynamic-element\">{subscribergivenname}</span>,<br />\n </td>\n </tr>\n\n <!--begin TITLE H2-->\n <tr>\n <td align=\"center\"\n style=\"width: 100%; padding: 0px 20px 15px 20px; color: #525252; font-family: 'DM Sans', sans-serif; font-size: 22px; line-height: 30px;\">\n {title}\n </td>\n </tr>\n <!--end TITLE H2-->\n\n <!--begin CARD-->\n {serviceinfo}\n <!--end CARD-->\n\n <!--begin CARD TEXT-->\n <tr>\n <td align=\"left\"\n style=\"width: 100%; padding: 15px 15px 0px 15px; color: #464646; font-family: 'DM Sans', sans-serif; font-size: 14px; line-height: 20px;\">\n </td>\n </tr>\n <!--end CARD TEXT-->\n <!--begin CARD-->\n <tr>\n <td align=\"center\" style=\"padding: 15px 0px 0px 0px;\">\n <table role=\"presentation\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\">\n <tr>\n <td align=\"center\"\n style=\"padding: 5px 5px 25px 5px; background-color: #ffffff;\">\n <table role=\"presentation\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\"\n width=\"100%\">\n <!--begin CARD CONTENT AREA-->\n\n <!--begin CARD TITLE-->\n <tr>\n <td align=\"left\"\n style=\"width: 100%; padding: 15px 15px 0px 15px; color: #464646; font-family: 'DM Sans', sans-serif; font-size: 20px; line-height: 28px;\">\n {header}\n </td>\n </tr>\n <!--end CARD TITLE-->\n <!--begin CARD TEXT-->\n <tr>\n <td align=\"left\"\n style=\"width: 100%; padding: 15px 15px 0px 15px; color: #464646; font-family: 'DM Sans', sans-serif; font-size: 14px; line-height: 20px;\">\n {message}\n <center><br />\n </td>\n </tr>\n <!--end CARD TEXT-->\n <!--begin BUTTON-->\n {actionbutton}\n <!--end BUTTON-->\n <!--begin CARD TEXT-->\n <tr>\n <td align=\"left\"\n style=\"width: 100%; padding: 15px 15px 0px 15px; color: #464646; font-family: 'ProximaNova-Light', sans-serif; font-size: 14px; line-height: 20px;\">\n {additional_instructions}\n </td>\n </tr>\n <!--end CARD TEXT-->\n\n <!--end CARD CONTENT AREA-->\n </table>\n </td>\n </tr>\n <tr>\n <td bgcolor=\"#d0d0d0\" height=\"2\"\n style=\"-ms-text-size-adjust: 100%; -webkit-text-size-adjust: 100%; font-size: 2px; line-height: 2px; max-height: 2px; min-height: 2px; mso-table-lspace: 0pt; mso-table-rspace: 0pt !important;\">\n </td>\n </tr>\n </table>\n </td>\n </tr>\n <!--end CARD-->\n <!--begin CARD TEXT-->\n <tr>\n <td align=\"left\"\n style=\"width: 100%; padding: 15px 15px 0px 15px; color: #464646; font-family: 'DM Sans', sans-serif; font-size: 14px; line-height: 20px;\">\n </td>\n </tr>\n <!--end CARD TEXT-->\n\n <!--begin CARD-->\n <tr>\n <td align=\"center\" style=\"padding: 15px 0px 0px 0px;\">\n <table role=\"presentation\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\">\n <tr>\n <td align=\"center\"\n style=\"padding: 5px 5px 25px 5px; background-color: #ffffff;\">\n <table role=\"presentation\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\"\n width=\"100%\">\n <!--begin CARD CONTENT AREA-->\n <!--begin CARD TEXT-->\n <tr>\n <td align=\"left\"\n style=\"width: 100%; padding: 15px 15px 15px 15px; color: #464646; font-family: 'DM Sans', sans-serif; font-size: 14px; line-height: 20px;\">\n Si necesita ayuda para configurar su servicio WiFi, puede contactarnos en </td>\n </tr>\n <!--end CARD TEXT-->\n <!--begin TABLE-->\n <tr>\n <td align=\"center\" style=\"padding: 0px;\">\n <table role=\"presentation\" border=\"0\" cellpadding=\"0\"\n cellspacing=\"0\" width=\"100%\">\n <colgroup>\n <col style=\"width:50%;\" span=\"2\">\n </colgroup>\n <!--begin ROW 1-->\n <tr>\n <!--begin CEll 1-->\n <td align=\"center\" style=\"padding: 10px;\">\n <table role=\"presentation\" border=\"0\"\n cellpadding=\"0\" cellspacing=\"0\" width=\"100%\">\n <!--begin CARD TEXT-->\n <tr>\n <td align=\"left\"\n style=\"width: 100%; padding: 0px; color: #464646;; font-family: 'DM Sans', sans-serif; font-size: 14px; line-height: 20px;\">\n Número de contacto para soporte: </td>\n </tr>\n <!--end CARD TEXT-->\n </table>\n </td>\n <!--end CELL 1-->\n <!--begin CELL 2-->\n <td align=\"center\" style=\"padding: 10px;\">\n <table role=\"presentation\" border=\"0\"\n cellpadding=\"0\" cellspacing=\"0\" width=\"100%\">\n <!--begin CARD TEXT-->\n <tr>\n <td align=\"right\"\n style=\"width: 100%; padding: 0px; color:brandcolor}; font-family: 'DM Sans', sans-serif; font-size: 14px; line-height: 20px;\">\n <span\n class=\"dynamic-element\">{venuesupportphonenumber}</span>\n </td>\n </tr>\n <!--end CARD TEXT-->\n </table>\n </td>\n <!--end CELL 2-->\n </tr>\n <!--end ROW 1-->\n\n\n </table>\n </td>\n </tr>\n <!--end TABLE-->\n <!--end CARD CONTENT AREA-->\n </table>\n </td>\n </tr>\n <tr>\n <td bgcolor=\"#d0d0d0\" height=\"2\"\n style=\"-ms-text-size-adjust: 100%; -webkit-text-size-adjust: 100%; font-size: 2px; line-height: 2px; max-height: 2px; min-height: 2px; mso-table-lspace: 0pt; mso-table-rspace: 0pt !important;\">\n </td>\n </tr>\n </table>\n </td>\n </tr>\n <!--end CARD-->\n </table>\n </td>\n </tr>\n <!--end BODY-->\n\n <!--begin FOOTER-->\n <tr>\n <td align=\"center\" width=\"100%\" style=\"padding: 0px; background-color: #f5f5f6;\">\n <table role=\"presentation\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\" align=\"center\">\n <tr>\n <td align=\"center\" style=\"padding: 40px 10px 37px 10px;\" width=\"100%\">\n\n </td>\n </tr>\n <tr>\n <td style=\"padding: 0px;\">\n <table role=\"presentation\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\">\n <tr>\n <td style=\"padding: 0px;\" width=\"85%\">\n <table role=\"presentation\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\"\n width=\"100%\" style=\"border-spacing: 0;\">\n <tr>\n <td width=\"100%\" height=\"1\"\n style=\"border-top: 1px solid {brandcolor}; font-size: 1px; line-height: 1px; padding: 0px;\">\n </td>\n </tr>\n </table>\n </td>\n <td style=\"font-size: 1px; line-height: 1px; padding: 0px;\">\n <img alt=\"{operatorname}\" border=\"0\"\n src=\"{operatorlogourl}\"\n width=\"69\" />\n </td>\n <td width=\"15%\" style=\"padding: 0px;\">\n <table role=\"presentation\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\"\n width=\"100%\" style=\"border-spacing: 0;\">\n <tr>\n <td width=\"100%\" height=\"1\"\n style=\"border-top: 1px solid {brandcolor}; font-size: 1px; line-height: 1px; padding: 0px;\">\n </td>\n </tr>\n </table>\n </td>\n </tr>\n </table>\n </td>\n </tr>\n <tr>\n <td align=\"left\"\n style=\"color: #464646; font-family: 'DM Sans', sans-serif; font-size: 11px; line-height: 14px; padding: 35px 28px 30px 28px;\">\n No respondas a este correo electrónico, si necesitas ayuda visítanos en <a href=\"{operatorurl}/help\"\n style=\"color: #367ab5; text-decoration: none;\">{operatorurl}/help</a> for support.\n </td>\n </tr>\n <tr>\n <td width=\"100%\" height=\"1\"\n style=\"border-top: 1px solid #d0d0d0; font-size: 1px; line-height: 1px; padding: 0px;\">\n </td>\n </tr>\n <tr>\n <td align=\"center\"\n style=\"color: #464646; font-family: 'DM Sans', sans-serif; font-size: 11px; line-height: 14px; padding: 30px 28px 35px 28px;\">\n © {yyyy} {operatorname}Reservados todos los derechos.\n <br />\n <a href=\"\" style=\"color: #464646; cursor: text; text-decoration: none;\">{operatoraddress}</a>\n </td>\n </tr>\n </table>\n </td>\n </tr>\n <!--end FOOTER-->\n\n </table>\n <!--end MESSAGE CONTAINER-->\n\n <!--[if (gte mso 9)|(IE)]>\n </td>\n </tr>\n </table>\n <![endif]-->\n </div>\n </center>\n</body>\n\n</html>"
}, - "SubscriberEvents": {
- "PasswordResetInitiated": {
- "Subject": "Hemos recibido una solicitud para cambiar su contraseña.",
- "preheader": "<strong>Subject:</strong> Hemos recibido una solicitud para cambiar su contraseña.<br><strong>Preheader:</strong> Sigue estas instrucciones para restablecerla:<br /><hr>",
- "title": "Hemos recibido una solicitud para cambiar su contraseña.",
- "header": " ",
- "message": "Haz click el botón abajo para cambiar su contraseña. Este enlace caducará en 30 minutos.<br />",
- "actionbutton": "<!--begin BUTTON-->\n\n <tr>\n <td align=\"center\" style=\"padding: 20px 0px;\">\n <div>\n <!--[if mso]>\n <v:roundrect xmlns:v=\"urn:schemas-microsoft-com:vml\" xmlns:w=\"urn:schemas-microsoft-com:office:word\" href=\"{actionbuttonurl}\" target=\"_blank\" style=\"height: 50px; v-text-anchor: middle; width: 260px;\" arcsize=\"50%\" stroke=\"f\" fillcolor=\"#f01446\">\n <w:anchorlock/>\n <center>\n <![endif]-->\n <a href=\"{actionbuttonurl}\" target=\"_blank\" style=\"background-color: #f01446; border-radius: 25px; color: #ffffff; display: inline-block; font-family: 'ProximaNova-SemiBold', sans-serif; font-size: 14px; line-height: 50px; text-align: center; text-decoration: none; width: 260px; -webkit-text-size-adjust: none;\">\n <b>Cambia tu contraseña</b>\n </a>\n <!--[if mso]>\n </center>\n </v:roundrect>\n <![endif]-->\n </div>\n </td>\n </tr>\n <!--end BUTTON-->",
- "additional_instructions": "Si tu <span style=\"font-family: 'ProximaNova-SemiBold', sans-serif;\"><b>no</b></span> solicitaste el restablecimiento de contraseña, ignora este correo electrónico.<br /><br />Tu contraseña <span style=\"font-family: 'ProximaNova-SemiBold', sans-serif;\"><b>no</b></span> cambiará a menos que tu hagas click en el botón arriba y sigas las instrucciones de cambio."
}, - "PasswordResetComplete": {
- "Subject": "Tu perfil ha sido actualizado.",
- "preheader": "<strong>Subject:</strong> Tu perfil ha sido actualizado.<br><strong>Preheader:</strong> Revisa los siguientes cambios.<br /><hr>",
- "title": "Tu perfil ha sido actualizado.",
- "header": " ",
- "message": "La contraseña que utilizas para iniciar sesión en su cuenta {operatorname} ha sido cambiada. <br /><br />",
- "actionbutton": " ",
- "additional_instructions": ""
}, - "PIIDataUpdated": {
- "Subject": "Tu perfil ha sido actualizado.",
- "preheader": "<strong>Subject:</strong>Tu perfil ha sido actualizado.<br><strong>Preheader:</strong> Revisa los siguientes cambios:<br /><hr>",
- "title": "Tu perfil ha sido actualizado.",
- "serviceinfo": {
- "template": "<!--begin CARD-->\n <tr>\n <td align=\"center\" style=\"padding: 15px 0px 0px 0px;\">\n <table role=\"presentation\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\">\n <tr>\n <td align=\"center\" style=\"padding: 5px 5px 25px 5px; background-color: #ffffff;\">\n <table role=\"presentation\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\">\n <!--begin CARD CONTENT AREA-->\n <!--begin CARD TITLE-->\n <tr>\n <td align=\"left\" style=\"width: 100%; padding: 15px 15px 15px 15px; color: #464646; font-family: 'ProximaNova-Light', sans-serif; font-size: 20px; line-height: 28px;\">\n Cambios a tu cuenta o perfil\n </td>\n </tr>\n <!--end CARD TITLE-->\n <!--begin TABLE-->\n <tr>\n <td align=\"center\" style=\"padding: 0px;\">\n <table role=\"presentation\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\">\n <colgroup>\n <col style=\"width:50%;\" span=\"2\">\n </colgroup> \n {subscriberphone}\n {consenttotext}\n </table>\n </td>\n </tr>\n <!--end TABLE-->\n <!--end CARD CONTENT AREA-->\n </table>\n </td>\n </tr>\n <tr>\n <td bgcolor=\"#d0d0d0\" height=\"2\" style=\"-ms-text-size-adjust: 100%; -webkit-text-size-adjust: 100%; font-size: 2px; line-height: 2px; max-height: 2px; min-height: 2px; mso-table-lspace: 0pt; mso-table-rspace: 0pt ¡importante!;\"> </td>\n </tr>\n </table>\n </td>\n </tr>\n <!--end CARD-->",
- "subscriberphone": "<tr>\n <!--begin CEll 1-->\n <td align=\"center\" style=\"padding: 10px;\">\n <table role=\"presentation\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\">\n <!--begin CARD TEXT-->\n <tr>\n <td align=\"left\" style=\"width: 100%; padding: 0px; color: #464646;; font-family: 'DM Sans', sans-serif; font-size: 14px; line-height: 20px;\">\n Subscriber Phone Number\n </td>\n </tr>\n <!--end CARD TEXT-->\n </table>\n </td>\n <!--end CELL 1-->\n <!--begin CELL 2-->\n <td align=\"center\" style=\"padding: 10px;\">\n <table role=\"presentation\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\">\n <!--begin CARD TEXT-->\n <tr>\n <td align=\"right\" style=\"width: 100%; padding: 0px; color:brandcolor}; font-family: 'DM Sans', sans-serif; font-size: 14px; line-height: 20px;\">\n <span class=\"dynamic-element\">{subscriberphonenumber}</span>\n </td>\n </tr>\n <!--end CARD TEXT-->\n </table>\n </td>\n <!--end CELL 2-->\n</tr>",
- "subscriberemail": "<tr>\n <!--begin CEll 1-->\n <td align=\"center\" style=\"padding: 10px;\">\n <table role=\"presentation\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\">\n <!--begin CARD TEXT-->\n <tr>\n <td align=\"left\" style=\"width: 100%; padding: 0px; color: #464646;; font-family: 'DM Sans', sans-serif; font-size: 14px; line-height: 20px;\">\n Subscriber Email Address\n </td>\n </tr>\n <!--end CARD TEXT-->\n </table>\n </td>\n <!--end CELL 1-->\n <!--begin CELL 2-->\n <td align=\"center\" style=\"padding: 10px;\">\n <table role=\"presentation\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\">\n <!--begin CARD TEXT-->\n <tr>\n <td align=\"right\" style=\"width: 100%; padding: 0px; color:brandcolor}; font-family: 'DM Sans', sans-serif; font-size: 14px; line-height: 20px;\">\n <span class=\"dynamic-element\">{subscriberemailaddress}</span>\n </td>\n </tr>\n <!--end CARD TEXT-->\n </table>\n </td>\n <!--end CELL 2-->\n</tr>",
- "consenttotext": "<tr>\n <!--begin CEll 1-->\n <td align=\"center\" style=\"padding: 10px;\">\n <table role=\"presentation\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\">\n <!--begin CARD TEXT-->\n <tr>\n <td align=\"left\" style=\"width: 100%; padding: 0px; color: #464646;; font-family: 'DM Sans', sans-serif; font-size: 14px; line-height: 20px;\">\n Consent to text*\n </td>\n </tr>\n <!--end CARD TEXT-->\n </table>\n </td>\n <!--end CELL 1-->\n <!--begin CELL 2-->\n <td align=\"center\" style=\"padding: 10px;\">\n <table role=\"presentation\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\">\n <!--begin CARD TEXT-->\n <tr>\n <td align=\"right\" style=\"width: 100%; padding: 0px; color:brandcolor}; font-family: 'DM Sans', sans-serif; font-size: 14px; line-height: 20px;\">\n <span class=\"dynamic-element\">{contactpref_sms}</span>\n </td>\n </tr>\n <!--end CARD TEXT-->\n </table>\n </td>\n <!--end CELL 2-->\n</tr>"
}, - "header": " ",
- "message": " ",
- "actionbutton": " ",
- "additional_instructions": "*Si optas por recibir mensajes de texto de nuestro equipo de soporte, estas aceptando nuestros Términos y Condiciones. Visita <a href=\"{operatorurl}/help\" style=\"color: #367ab5; text-decoration: none;\">{operatorurl}/help</a> para mayor información.<br /><br />"
}, - "PaymentSuccess": {
- "Subject": "Gracias por el pago. ",
- "preheader": " ",
- "title": "Su pago fue procesado con éxito. ",
- "header": " ",
- "message": "Su pago por el servicio de Internet en {unitid}-{unitbuilding}-{unitfloor}, {unitaddress} se procesó correctamente. <br><br>Fecha de la factura:invoicedate}<br><br>Importe del pago:payment_amount}<br>Pago procesado el:payment_date}<br>{serviceplan_name_price_adjustments}<br><br>Aparecerá este cargo en su payment_metho{payment_method}. {paymentevent_additionalinfo}d",
- "actionbutton": " ",
- "additional_instructions": " "
}, - "PaymentFailed": {
- "Subject": "Por favor revise su configuración de pago. ",
- "preheader": " ",
- "title": "Problema de pago - Acción requerida",
- "header": " ",
- "message": "Tu pago por el servicio de Internet en {unitid}-{unitbuilding}-{unitfloor}, {unitaddress} no se procesó correctamente. <br>{payment_method}{paymentfailed_reason}{paymentevent_additionalinfo}",
- "actionbutton": " ",
- "additional_instructions": " "
}, - "PaymentMethodUpdated": {
- "Subject": "Método de pago actualizado.",
- "preheader": "<strong>Subject:</strong> Método de pago actualizado.<br><strong>Preheader:</strong> Método de pago actualizado para tu suscripción.<br /><hr>",
- "title": " ",
- "header": " ",
- "message": "El sistema de pago por servicio de Internet en {unitid}-{unitbuilding}-{unitfloor}, {unitaddress} ha sido actualizado.<br>{payment_method}",
- "actionbutton": " ",
- "additional_instructions": ""
}, - "SubscriptionStartDateAdjustment": {
- "Subject": "La fecha de inicio de tu servicio ha sido actualizada.",
- "preheader": "<strong>Subject:</strong> La fecha de inicio de tu servicio ha sido actualizada.<br><strong>Preheader:</strong> Revisa los siguientes cambios a tu servicio de Internet.<br /><hr>",
- "title": " ",
- "header": " ",
- "message": "Tu servicio de Internet en {unitid}-{unitbuilding}-{unitfloor}, {unitaddress} ha sido actualizado a comenzar en:startdate}",
- "actionbutton": " ",
- "additional_instructions": " "
}, - "SubscriptionEndDateAdjustment": {
- "Subject": "La fecha de tu servicio ha sido actualizada.",
- "preheader": "<strong>Subject:</strong> La fecha de tu servicio ha sido actualizada.<br><strong>Preheader:</strong> Revisa los siguientes cambios en su servicio de Internet.<br /><hr>",
- "title": " ",
- "header": " ",
- "message": "La fecha de tu servicio ha sido actualizada {unitid}-{unitbuilding}-{unitfloor}, {unitaddress} para terminar en {enddate}",
- "actionbutton": " ",
- "additional_instructions": " "
}, - "SubscriptionEnded": {
- "Subject": "Tu servicio ha terminado.",
- "preheader": "<strong>Subject:</strong> Tu servicio ha terminado.<br><strong>Preheader:</strong> Revisa los siguientes cambios en tu servicio de Internet.<br /><hr>",
- "title": " ",
- "header": " ",
- "message": "Tu servicio de Internet en {unitid}-{unitbuilding}-{unitfloor}, {unitaddress} ha terminado.",
- "actionbutton": " ",
- "additional_instructions": " "
}, - "SubscriptionPlanUpdated": {
- "Subject": "Internet service plan updated. ",
- "preheader": " ",
- "title": "Please review the following changes to your Internet service. ",
- "header": " ",
- "message": "Internet service plan at {unitid}-{unitbuilding}-{unitfloor}, {unitaddress} has been upated. <br><br>{serviceplan_name_price_adjustments}<br>",
- "actionbutton": " ",
- "additional_instructions": " "
}, - "SubscriptionVenueUnitUpdated": {
- "Subject": "Internet service plan updated. ",
- "preheader": " ",
- "title": "Please review the following changes to your Internet service. ",
- "header": " ",
- "message": "Your Internet service has been moved to {unitid}-{unitbuilding}-{unitfloor}, {unitaddress}<br><br>This is for your information only, no action is required by you. ",
- "actionbutton": " ",
- "additional_instructions": " "
}, - "SubscriptionPriceUpdated": {
- "Subject": "Service plan price updated. ",
- "preheader": " ",
- "title": "Please review the following changes to your Internet service. ",
- "header": " ",
- "message": "Price for your Internet service at {unitid}-{unitbuilding}-{unitfloor}, {unitaddress} has been updated.<br><br>{payment_amount}",
- "actionbutton": " ",
- "additional_instructions": " "
}, - "SubscriptionNextInvoiceAdjustment": {
- "Subject": "Credit applied. ",
- "preheader": " ",
- "title": "Please review the following changes to your Internet service. ",
- "header": " ",
- "message": "Credit has been applied to your next invoice for Internet service at {unitid}-{unitbuilding}-{unitfloor}, {unitaddress}. <br><br>Credit:creditamount}<br>Next Invoice Total:adjusted_amount}<br><br>Next Invoice Date:invoicedate}<br>Usual Invoice Amount:payment_amount}<br>",
- "actionbutton": " ",
- "additional_instructions": " "
}, - "ChargeRefunded": {
- "Subject": "Refund issued. ",
- "preheader": " ",
- "title": "Please review the following changes to your Internet service. ",
- "header": " ",
- "message": "Refund has been issued for Internet service at {unitid}-{unitbuilding}-{unitfloor}, {unitaddress}. <br><br>Refund date:refunddate}<br>Amount refunded:amountrefunded}<br><br>Original Invoice Date:invoicedate}<br>Original Invoiced Amount:payment_amount}",
- "actionbutton": " ",
- "additional_instructions": "Please note that it can take 10+ days for the refund to appear on your {payment_method}."
}, - "MessageFromAdministrator": {
- "Subject": "You have a new message from {venuename}. ",
- "preheader": " ",
- "title": "Login to read messages securely",
- "header": " ",
- "message": "You have a new message from {venuename}. Login to your {operatorname} Wi-Fi account to read the message.<br /><br />",
- "actionbutton": "<!--begin BUTTON-->\n\n <tr>\n <td align=\"center\" style=\"padding: 20px 0px;\">\n <div>\n <!--[if mso]>\n <v:roundrect xmlns:v=\"urn:schemas-microsoft-com:vml\" xmlns:w=\"urn:schemas-microsoft-com:office:word\" href=\"{actionbuttonurl}\" target=\"_blank\" style=\"height: 50px; v-text-anchor: middle; width: 260px;\" arcsize=\"50%\" stroke=\"f\" fillcolor=\"{brandcolor}\">\n <w:anchorlock/>\n <center>\n <![endif]-->\n <a href=\"{actionbuttonurl}\" target=\"_blank\" style=\"background-color:brandcolor}; border-radius: 25px; color: #ffffff; display: inline-block; font-family: 'DM Sans', sans-serif; font-size: 14px; line-height: 50px; text-align: center; text-decoration: none; width: 260px; -webkit-text-size-adjust: none;\">\n <b>Read Message</b>\n </a>\n <!--[if mso]>\n </center>\n </v:roundrect>\n <![endif]-->\n </div>\n </td>\n </tr>\n <!--end BUTTON-->",
- "additional_instructions": " "
}, - "Template": "<!DOCTYPE html\n PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\" xmlns:v=\"urn:schemas-microsoft-com:vml\"\n xmlns:o=\"urn:schemas-microsoft-com:office:office\">\n\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />\n <!--[if !mso]><!-->\n <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\" />\n <!--<![endif]-->\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n <title></title>\n <style type=\"text/css\">\n @font-face {\n font-family: 'ProximaNova-Light';\n src: url('https://www.dish.com/css/proximanova-light-webfont.ttf') format('truetype'),\n url('https://www.dish.com/css/proximanova-light-webfont.svg#svgFontName') format('svg'),\n url('https://www.dish.com/css/proximanova-light-webfont.woff2') format('woff2'),\n url('https://www.dish.com/css/proximanova-light-webfont.woff') format('woff'),\n url('https://www.dish.com/css/proximanova-light-webfont.svg#svgFontName') format('svg');\n font-weight: 300;\n font-style: normal;\n mso-font-alt: 'Arial';\n }\n\n @font-face {\n font-family: 'ProximaNova-Regular';\n src: url('https://www.dish.com/css/proximanova-regular-webfont.ttf') format('truetype'),\n url('https://www.dish.com/css/proximanova-regular-webfont.svg#svgFontName') format('svg'),\n url('https://www.dish.com/css/proximanova-regular-webfont.woff2') format('woff2'),\n url('https://www.dish.com/css/proximanova-regular-webfont.woff') format('woff'),\n url('https://www.dish.com/css/proximanova-regular-webfont.svg#svgFontName') format('svg');\n font-weight: 400;\n font-style: normal;\n mso-font-alt: 'Arial';\n }\n\n @font-face {\n font-family: 'ProximaNova-SemiBold';\n src: url('https://www.dish.com/css/proximanova-semibold-webfont.ttf') format('truetype'),\n url('https://www.dish.com/css/proximanova-semibold-webfont.svg#svgFontName') format('svg'),\n url('https://www.dish.com/css/proximanova-semibold-webfont.woff2') format('woff2'),\n url('https://www.dish.com/css/proximanova-semibold-webfont.woff') format('woff'),\n url('https://www.dish.com/css/proximanova-semibold-webfont.svg#svgFontName') format('svg');\n font-weight: 600;\n font-style: normal;\n mso-font-alt: 'Arial';\n }\n\n @font-face {\n font-family: 'ProximaNova-Bold';\n src: url('https://www.dish.com/css/proximanova-bold-webfont.ttf') format('truetype'),\n url('https://www.dish.com/css/proximanova-bold-webfont.svg#svgFontName') format('svg'),\n url('https://www.dish.com/css/proximanova-bold-webfont.woff2') format('woff2'),\n url('https://www.dish.com/css/proximanova-bold-webfont.woff') format('woff'),\n url('https://www.dish.com/css/proximanova-bold-webfont.svg#svgFontName') format('svg');\n font-weight: 700;\n font-style: normal;\n mso-font-alt: 'Arial';\n }\n\n @font-face {\n font-family: 'ProximaNova-ExtraBold';\n src: url('https://www.dish.com/css/proximanova-extrabold-webfont.ttf') format('truetype'),\n url('https://www.dish.com/css/proximanova-extrabold-webfont.svg#svgFontName') format('svg'),\n url('https://www.dish.com/css/proximanova-extrabold-webfont.woff2') format('woff2'),\n url('https://www.dish.com/css/proximanova-extrabold-webfont.woff') format('woff'),\n url('https://www.dish.com/css/proximanova-extrabold-webfont.svg#svgFontName') format('svg');\n font-weight: 900;\n font-style: normal;\n mso-font-alt: 'Arial';\n }\n\n body {\n -ms-text-size-adjust: 100%;\n -webkit-text-size-adjust: 100%;\n }\n\n table {\n border-spacing: 0;\n border-collapse: collapse;\n mso-table-lspace: 0pt;\n mso-table-rspace: 0pt;\n }\n\n td {\n border-collapse: collapse;\n -ms-text-size-adjust: 100%;\n -webkit-text-size-adjust: 100%;\n }\n\n div[style*=\"margin: 16px 0\"] {\n margin: 0 !important;\n }\n\n a[x-apple-data-detectors] {\n color: inherit !important;\n text-decoration: none !important;\n font-size: inherit !important;\n font-family: inherit !important;\n font-weight: inherit !important;\n line-height: inherit !important;\n }\n\n #MessageViewBody a {\n color: inherit;\n text-decoration: none;\n font-size: inherit;\n font-family: inherit;\n font-weight: inherit;\n line-height: inherit;\n }\n\n span.yshortcuts,\n a span {\n color: inherit;\n background-color: none;\n border: none;\n }\n\n .dynamic-tag {\n color: #29b6f6;\n }\n\n .dynamic-element {\n color: #d50000;\n }\n </style>\n <!--[if (gte mso 9)|(IE)]>\n <style type=\"text/css\">\n table {border-collapse: collapse !important;}\n </style>\n <![endif]-->\n <!--[if gte mso 9]>\n <xml>\n <o:OfficeDocumentSettings>\n <o:AllowPNG/>\n <o:PixelsPerInch>96</o:PixelsPerInch>\n </o:OfficeDocumentSettings>\n </xml>\n <![endif]-->\n</head>\n\n<body style=\"margin: 0 !important; padding: 0px; background-color: #f5f5f6;\">\n <center style=\"width: 100%; table-layout: fixed; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%;\">\n <div style=\"max-width: 642px; margin: 0 auto;\">\n <!--[if (gte mso 9)|(IE)]>\n <table role=\"presentation\" width=\"642\" align=\"center\">\n <tr>\n <td>\n <![endif]-->\n <!--begin MESSAGE CONTAINER-->\n <table role=\"presentation\" align=\"center\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\"\n style=\"Margin: 0 auto; width: 100%; max-width: 642px;\">\n <!--begin HEADER-->\n <!--begin CARD TEXT-->\n <tr>\n <td align=\"left\"\n style=\"width: 100%; padding: 15px 15px 0px 15px; color: #464646; font-family: 'ProximaNova-Light', sans-serif; font-size: 14px; line-height: 20px;\">\n <!--BEGIN SUBJECT/PREHEADER-->\n <div class=\"content container\" align: \"center\">\n <table align=\"left\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\"\n style=\"border-collapse: collapse !important; min-width: 100%; mso-table-lspace: 0pt; mso-table-rspace: 0pt !important;\"\n width=\"100%\">\n <tr>\n <td colspan=\"2\">{preheader}\n </td>\n </tr>\n </table>\n </div>\n <!--END SUBJECT/PREHEADER-->\n </td>\n </tr>\n <!--end CARD TEXT-->\n <tr>\n <td style=\"padding: 20px 13px; background-color: #f5f5f6;\">\n <table role=\"presentation\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\"\n style=\"min-width: 100%;\">\n <tr>\n <td style=\"line-height: 0px;\" width=\"20%\">\n <a href=\"{operatorurl}\" target=\"_blank\">\n <img alt=\"{operatorname}\" border=\"0\" src=\"{operatorlogourl}\" width=\"87\" />\n </a>\n </td>\n <td style=\"padding: 0px;\" width=\"50%\"></td>\n\n </td>\n </tr>\n </table>\n </td>\n </tr>\n <!--end HEADER-->\n\n <!--begin BODY-->\n <tr>\n <td align=\"center\" style=\"padding: 0px 20px; background-color: #f5f5f6;\">\n <table role=\"presentation\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\">\n <tr>\n <td align=\"center\"\n style=\"width: 100%; padding: 0px 20px 35px 20px; color: #525252; font-family: 'ProximaNova-Light', sans-serif; font-size: 18px; line-height: 24px;\">\n Hola <span class=\"dynamic-element\">{subscribergivenname}</span>,<br />\n </td>\n </tr>\n\n <!--begin TITLE H2-->\n <tr>\n <td align=\"center\"\n style=\"width: 100%; padding: 0px 20px 15px 20px; color: #525252; font-family: 'ProximaNova-Light', sans-serif; font-size: 22px; line-height: 30px;\">\n {title}\n </td>\n </tr>\n <!--end TITLE H2-->\n\n <!--begin CARD-->\n {serviceinfo}\n <!--end CARD-->\n\n <!--begin CARD TEXT-->\n <tr>\n <td align=\"left\"\n style=\"width: 100%; padding: 15px 15px 0px 15px; color: #464646; font-family: 'ProximaNova-Light', sans-serif; font-size: 14px; line-height: 20px;\">\n </td>\n </tr>\n <!--end CARD TEXT-->\n <!--begin CARD-->\n <tr>\n <td align=\"center\" style=\"padding: 15px 0px 0px 0px;\">\n <table role=\"presentation\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\">\n <tr>\n <td align=\"center\"\n style=\"padding: 5px 5px 25px 5px; background-color: #ffffff;\">\n <table role=\"presentation\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\"\n width=\"100%\">\n <!--begin CARD CONTENT AREA-->\n\n <!--begin CARD TITLE-->\n <tr>\n <td align=\"left\"\n style=\"width: 100%; padding: 15px 15px 0px 15px; color: #464646; font-family: 'ProximaNova-Light', sans-serif; font-size: 20px; line-height: 28px;\">\n {header}\n </td>\n </tr>\n <!--end CARD TITLE-->\n <!--begin CARD TEXT-->\n <tr>\n <td align=\"left\"\n style=\"width: 100%; padding: 15px 15px 0px 15px; color: #464646; font-family: 'ProximaNova-Light', sans-serif; font-size: 14px; line-height: 20px;\">\n {message}\n <center><br />\n </td>\n </tr>\n <!--end CARD TEXT-->\n <!--begin BUTTON-->\n {actionbutton}\n <!--end BUTTON-->\n <!--begin CARD TEXT-->\n <tr>\n <td align=\"left\"\n style=\"width: 100%; padding: 15px 15px 0px 15px; color: #464646; font-family: 'ProximaNova-Light', sans-serif; font-size: 14px; line-height: 20px;\">\n {additional_instructions}\n </td>\n </tr>\n <!--end CARD TEXT-->\n\n <!--end CARD CONTENT AREA-->\n </table>\n </td>\n </tr>\n <tr>\n <td bgcolor=\"#d0d0d0\" height=\"2\"\n style=\"-ms-text-size-adjust: 100%; -webkit-text-size-adjust: 100%; font-size: 2px; line-height: 2px; max-height: 2px; min-height: 2px; mso-table-lspace: 0pt; mso-table-rspace: 0pt !important;\">\n </td>\n </tr>\n </table>\n </td>\n </tr>\n <!--end CARD-->\n <!--begin CARD TEXT-->\n <tr>\n <td align=\"left\"\n style=\"width: 100%; padding: 15px 15px 0px 15px; color: #464646; font-family: 'ProximaNova-Light', sans-serif; font-size: 14px; line-height: 20px;\">\n </td>\n </tr>\n <!--end CARD TEXT-->\n </table>\n </td>\n </tr>\n <!--end BODY-->\n\n <!--begin FOOTER-->\n <tr>\n <td align=\"center\" width=\"100%\" style=\"padding: 0px; background-color: #f5f5f6;\">\n <table role=\"presentation\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\" align=\"center\">\n <tr>\n <td align=\"center\" style=\"padding: 40px 10px 37px 10px;\" width=\"100%\">\n\n </td>\n </tr>\n <tr>\n <td style=\"padding: 0px;\">\n <table role=\"presentation\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\">\n <tr>\n <td style=\"padding: 0px;\" width=\"85%\">\n <table role=\"presentation\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\"\n width=\"100%\" style=\"border-spacing: 0;\">\n <tr>\n <td width=\"100%\" height=\"1\"\n style=\"border-top: 1px solid #e41932; font-size: 1px; line-height: 1px; padding: 0px;\">\n </td>\n </tr>\n </table>\n </td>\n <td style=\"font-size: 1px; line-height: 1px; padding: 0px;\">\n <img alt=\"DISH\" border=\"0\"\n src=\"http://static.cdn.responsys.net/i2/responsysimages/content/dish/DISH_Logo_Footer_Trans_2Xt.png\"\n width=\"69\" />\n </td>\n <td width=\"15%\" style=\"padding: 0px;\">\n <table role=\"presentation\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\"\n width=\"100%\" style=\"border-spacing: 0;\">\n <tr>\n <td width=\"100%\" height=\"1\"\n style=\"border-top: 1px solid #e41932; font-size: 1px; line-height: 1px; padding: 0px;\">\n </td>\n </tr>\n </table>\n </td>\n </tr>\n </table>\n </td>\n </tr>\n <tr>\n <td align=\"left\"\n style=\"color: #464646; font-family: 'ProximaNova-Regular', sans-serif; font-size: 11px; line-height: 14px; padding: 35px 28px 30px 28px;\">\n No respondas a este correo electrónico, si necesitas ayuda visítanos en <a href=\"{operatorurl}/help\"\n style=\"color: #367ab5; text-decoration: none;\">{operatorurl}/help</a> para recibir soporte.\n </td>\n </tr>\n <tr>\n <td width=\"100%\" height=\"1\"\n style=\"border-top: 1px solid #d0d0d0; font-size: 1px; line-height: 1px; padding: 0px;\">\n </td>\n </tr>\n <tr>\n <td align=\"center\"\n style=\"color: #464646; font-family: 'ProximaNova-Regular', sans-serif; font-size: 11px; line-height: 14px; padding: 30px 28px 35px 28px;\">\n © {yyyy} DISH Network L.L.C. Reservados todos los derechos.\n <br />\n <a href=\"\"\n style=\"color: #464646; cursor: text; text-decoration: none;\">{operatoraddress}</a>\n </td>\n </tr>\n </table>\n </td>\n </tr>\n <!--end FOOTER-->\n\n </table>\n <!--end MESSAGE CONTAINER-->\n <!-- EDS Tracking Pixel -->\n <style data-ignore-inlining>\n @media print {\n #_t {\n background-image: url('https://is6u5w5w.emltrk.com/is6u5w5w?p&d={subscriberemail}');\n }\n }\n\n div.OutlookMessageHeader {\n background-image:url('https://is6u5w5w.emltrk.com/is6u5w5w?f&d={subscriberemail}')\n }\n\n table.moz-email-headers-table {\n background-image:url('https://is6u5w5w.emltrk.com/is6u5w5w?f&d={subscriberemail}')\n }\n\n blockquote #_t {\n background-image:url('https://is6u5w5w.emltrk.com/is6u5w5w?f&d={subscriberemail}')\n }\n\n #MailContainerBody #_t {\n background-image:url('https://is6u5w5w.emltrk.com/is6u5w5w?f&d={subscriberemail}')\n }\n </style>\n <div id=\"_t\"></div>\n <img src=\"https://is6u5w5w.emltrk.com/is6u5w5w?d={subscriberemail}\" width=\"1\" height=\"1\" border=\"0\" />\n <!--[if (gte mso 9)|(IE)]>\n </td>\n </tr>\n </table>\n <![endif]-->\n </div>\n </center>\n</body>\n\n</html>"
}
}
}, - "SMSConfiguration": {
- "en-us": {
- "WelcomeSMS": {
- "NewSubscriber": {
- "message": "Activate your {venuename} {operatorname} WiFi service - click {actionbuttonurl}"
}, - "KnownSubscriber": {
- "message": "A new subscription at {venuename} has been added to your {operatorname} account {subscriberemail}. Click {operatorurl} to view details. "
}, - "GuestAccess": {
- "message": "Welcome to {operatorname} WiFi service. Please connect to the {ssid} Wi-Fi network and use the following Wi-Fi password:psk}. Your access is valid till {enddate}. Once connected, click on the following link to complete sign-up:operatorurl}. This is a one-time message. Message and data rates may apply. "
}, - "NewAdministrator": {
- "message": "Click on the link below to activate your {venuename} {operatorname} WiFi service ?? {subscriberemail} {onetimepassword} {operatorurl}"
}, - "KnownAdministrator": {
- "message": ""
}, - "Template": "Hi {subscribergivenname}, {message}"
}, - "SubscriberEvents": {
- "PasswordResetInitiated": {
- "message": "Click on the link to change your {operatorname} password {actionbuttonurl} .This link will expire in 30 minutes. Your password will not change until you access the link above and create a new one."
}, - "PasswordResetComplete": {
- "message": "The password that you use to login to your {operatorname} account has been changed."
}, - "PIIDataUpdated": {
- "message": "Your {operatorname} profile has been updated. "
}, - "PaymentSuccess": {
- "message": "Your payment for {operatorname} Internet service at {unitid}-{unitbuilding}-{unitfloor}, {unitaddress} was processed successfully on {invoicedate} for {payment_amount}. This charge will appear on your {payment_method}"
}, - "PaymentFailed": {
- "message": "Your payment for {operatorname} Internet service at {unitid}-{unitbuilding}-{unitfloor}, {unitaddress} did not process successfully. {payment_method} {paymentfailed_reason} {paymentevent_additionalinfo}. Click here to update {actionbuttonurl}"
}, - "PaymentMethodUpdated": {
- "message": "Payment method for {operatorname} Internet service at {unitid}-{unitbuilding}-{unitfloor}, {unitaddress} has been updated. {payment_method}"
}, - "SubscriptionStartDateAdjustment": {
- "message": "Your {operatorname} Internet service at {unitid}-{unitbuilding}-{unitfloor}, {unitaddress} has been updated to start at {startdate}"
}, - "SubscriptionEndDateAdjustment": {
- "message": "Your {operatorname} Internet service at {unitid}-{unitbuilding}-{unitfloor}, {unitaddress} has been updated to end at {enddate}"
}, - "SubscriptionEnded": {
- "message": "Your {operatorname} Internet service at {unitid}-{unitbuilding}-{unitfloor}, {unitaddress} has ended."
}, - "SubscriptionPlanUpdated": {
- "message": "{operatorname} Internet service plan at {unitid}-{unitbuilding}-{unitfloor}, {unitaddress} has been upated. {serviceplan_name_price_adjustments}"
}, - "SubscriptionVenueUnitUpdated": {
- "message": "Your {operatorname} Internet service has been moved to {unitid}-{unitbuilding}-{unitfloor}, {unitaddress}This is for your information only, no action is required by you. "
}, - "SubscriptionPriceUpdated": {
- "message": "Price for your {operatorname} Internet service at {unitid}-{unitbuilding}-{unitfloor}, {unitaddress} has been updated.{payment_amount}"
}, - "SubscriptionNextInvoiceAdjustment": {
- "message": "Credit has been applied to your next invoice for {operatorname} Internet service at {unitid}-{unitbuilding}-{unitfloor}, {unitaddress}. Credit:creditamount}Next Invoice Total:adjusted_amount}Next Invoice Date:invoicedate}Usual Invoice Amount:payment_amount}"
}, - "ChargeRefunded": {
- "message": "Refund of {amountrefunded} was issued on {refunddate} for {operatorname} Internet service at {unitid}-{unitbuilding}-{unitfloor}, {unitaddress}. Original Invoiced Amount:payment_amount} on {invoicedate}"
}, - "MessageFromAdministrator": {
- "message": "You have a new message from {venuename}. Login to your {operatorname} Wi-Fi account to read the message actionbuttonurl ."
}, - "Template": "Hi {subscribergivenname}, {message}"
}
}, - "es-xl": {
- "WelcomeSMS": {
- "NewSubscriber": {
- "message": "Activate your {venuename} {operatorname} WiFi service - click {actionbuttonurl}"
}, - "KnownSubscriber": {
- "message": "A new subscription at {venuename} has been added to your {operatorname} account {subscriberemail}. Click {operatorurl} to view details. "
}, - "GuestAccess": {
- "message": "Welcome to {operatorname} WiFi service. Please connect to the {ssid} Wi-Fi network and use the following Wi-Fi password:psk}. Your access is valid till {enddate}. Once connected, click on the following link to complete sign-up:operatorurl}"
}, - "NewAdministrator": {
- "message": "Click on the link below to activate your {venuename} {operatorname} WiFi service ?? {subscriberemail} {onetimepassword} {operatorurl}"
}, - "KnownAdministrator": {
- "message": ""
}, - "Template": "Hi {subscribergivenname}, {message}"
}, - "SubscriberEvents": {
- "PasswordResetInitiated": {
- "message": "Haz click en el enlace adjunto para cambiar tu contraseña en {operatorname} {actionbuttonurl} Esta opción expira en 30 minutos. Tu contraseña no será cambiada hasta cuando uses este link y crees una nueva."
}, - "PasswordResetComplete": {
- "message": "La contraseña de login a tu cuenta en {operatorname} ha sido cambiada."
}, - "PIIDataUpdated": {
- "message": "Tu perfil ha sido actualizado.. Updated EmailConfiguration.es-xl.SubscriberEvents.PIIDataUpdated.preheader = <strong>Subject:</strong>Tu perfil ha sido actualizado.<br><strong>Preheader:</strong> Revisa los siguientes cambios:<br /><hr>. Updated EmailConfiguration.es-xl.SubscriberEvents.PIIDataUpdated.title = Tu perfil ha sido actualizado.. Updated EmailConfiguration.es-xl.SubscriberEvents.PIIDataUpdated.additional_instructions = *Si optas por recibir mensajes de texto de nuestro equipo de soporte, estas aceptando nuestros Términos y Condiciones. Visita <a href=\"{operatorurl}/help\" style=\"color: #367ab5; text-decoration: none;\">{operatorurl}/help</a> para mayor información.<br /><br />. "
}, - "PaymentSuccess": {
- "message": "El pago por tu servicio de Internet {operatorname} en {unitid}-{unitbuilding}-{unitfloor}, {unitaddress} se procesó correctamente el {invoicedate} por el valor de {payment_amount}. Este cargo aparecerá en tu {payment_method}"
}, - "PaymentFailed": {
- "message": "No pudimos procesar el pago por tu servicio de Internet en {unitid}-{unitbuilding}-{unitfloor}, {unitaddress}. {payment_method} {paymentfailed_reason} {paymentevent_additionalinfo}. Haz click en el siguiente enlace para actualizar {actionbuttonurl}\n"
}, - "PaymentMethodUpdated": {
- "message": "El sistema de pago por servicio de Internet en {unitid}-{unitbuilding}-{unitfloor}, {unitaddress} ha sido actualizado.<br>{payment_method}. "
}, - "SubscriptionStartDateAdjustment": {
- "message": "La fecha de inicio de tu servicio ha sido actualizada.. Updated EmailConfiguration.es-xl.SubscriberEvents.SubscriptionStartDateAdjustment.preheader = <strong>Subject:</strong> La fecha de inicio de tu servicio ha sido actualizada.<br><strong>Preheader:</strong> Revisa los siguientes cambios a tu servicio de Internet.<br /><hr>. Updated EmailConfiguration.es-xl.SubscriberEvents.SubscriptionStartDateAdjustment.message = Tu servicio de Internet en {unitid}-{unitbuilding}-{unitfloor}, {unitaddress} ha sido actualizado a comenzar en:startdate}. "
}, - "SubscriptionEndDateAdjustment": {
- "message": "La fecha de tu servicio ha sido actualizada.. Updated EmailConfiguration.es-xl.SubscriberEvents.SubscriptionEndDateAdjustment.preheader = <strong>Subject:</strong> La fecha de tu servicio ha sido actualizada.<br><strong>Preheader:</strong> Revisa los siguientes cambios en su servicio de Internet.<br /><hr>. Updated EmailConfiguration.es-xl.SubscriberEvents.SubscriptionEndDateAdjustment.message = La fecha de tu servicio ha sido actualizada {unitid}-{unitbuilding}-{unitfloor}, {unitaddress} para terminar en {enddate}. "
}, - "SubscriptionEnded": {
- "message": "Tu servicio ha terminado.. Updated EmailConfiguration.es-xl.SubscriberEvents.SubscriptionEnded.preheader = <strong>Subject:</strong> Tu servicio ha terminado.<br><strong>Preheader:</strong> Revisa los siguientes cambios en tu servicio de Internet.<br /><hr>. Updated EmailConfiguration.es-xl.SubscriberEvents.SubscriptionEnded.message = Tu servicio de Internet en {unitid}-{unitbuilding}-{unitfloor}, {unitaddress} ha terminado.. "
}, - "SubscriptionPlanUpdated": {
- "message": "El Plan de Servicio de Internet {operatorname} en {unitid}-{unitbuilding}-{unitfloor}, {unitaddress} ha sido cambiado a {serviceplan_name_price_adjustments}"
}, - "SubscriptionVenueUnitUpdated": {
- "message": "Your {operatorname} Internet service has been moved to {unitid}-{unitbuilding}-{unitfloor}, {unitaddress}This is for your information only, no action is required by you. "
}, - "SubscriptionPriceUpdated": {
- "message": "El precio de tu servicio {operatorname} de Internet en {unitid}-{unitbuilding}-{unitfloor}, {unitaddress} ha sido actualizado.{payment_amount}"
}, - "SubscriptionNextInvoiceAdjustment": {
- "message": "Hemos aplicado un crédito que se verá reflejado en la próxoma factura de tu servicio de internet {operatorname} en {unitid}-{unitbuilding}-{unitfloor}, {unitaddress}. Crédito de:creditamount} para una factura de:adjusted_amount} en la siguiente fecha:invoicedate} cuyo costo usual es de:payment_amount}"
}, - "ChargeRefunded": {
- "message": "Se hizo un reembolso de {amountrefunded} con fecha {refunddate} por el servicio de Internet {operatorname} en {unitid}-{unitbuilding}-{unitfloor}, {unitaddress}. La factura original fue emitida el dia {invoicedate} for un monto de {payment_amount}"
}, - "MessageFromAdministrator": {
- "message": "Tienes un mensaje nuevo de la administración de {venuename}. Conéctate a tu cuenta Wi-Fi {operatorname} para leer tu mensaje. {actionbuttonurl}"
}, - "Template": "Hola {subscribergivenname}, {message}"
}
}
}, - "Notifications": {
- "WelcomeEmail_countdown_hours": 2,
- "suppressSubscriberEmails": false,
- "sendSubscriptionAddedEmail": true,
- "sendSubscriptionEndEmail": true,
- "suppressSubscriberSMS": false,
- "Pinpoint": {
- "PinpointID": "a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6"
}, - "SES": {
- "EmailFrom": "noreply@enterprise-wifi.com"
}, - "SNS": {
- "SMSConsolePhoneNumber.E164": "+15551234567"
}
}, - "Reporting": {
- "ReportingSubscriptionEnd_lookahead_hours": 72,
- "ReportingSubscriptionEnd_frequency_hours": 24
}, - "ShoppingCart": {
- "enableShoppingCart": true
}, - "Office365_MetadataURL": "https://login.microsoftonline.com/tenant-id/federationmetadata/2007-06/federationmetadata.xml",
- "Redeploy": false
}{- "message": "",
- "errorProcessing": false,
- "statusCode": 200
}Email template retrieval endpoint for network operator administrators and customer support personnel to access email configuration and branding.
Required Parameters:
Returns - Multi-Language Templates:
Returns - Visual Branding Elements:
Returns - Dynamic Variable Substitution:
Returns - Operator Profile:
Features:
| AccessToken required | string Network operator authentication token for accessing email template configuration |
Standard request for email template configuration access
{- "AccessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6Ik5ldHdvcmsgT3BlcmF0b3IiLCJpYXQiOjE1MTYyMzkwMjJ9..."
}Successful retrieval of email templates with branding and variables
{- "errorProcessing": false,
- "NetworkOperatorID": "op_123456789",
- "NetworkOperatorName": "Metro WiFi Networks",
- "Domain": "metrowifi.io",
- "EmailDomain": "mail.metrowifi.io",
- "EmailConfiguration": {
- "brandcolor": "#0098e5",
- "DynamicVariables": "{operatorname}, {operatoraddress}, {operatorurl}, {venuename}, {subscribergivenname}, {subscriberemail}"
}, - "SupportedLocales": {
- "en-us": "English (US)",
- "es-xl": "Spanish (Latin America)"
}
}SMS template and Terms & Conditions retrieval endpoint for network operator administrators and customer support personnel.
Required Parameters:
Returns - SMS Template Configuration:
Returns - Dynamic Variable Substitution:
Returns - Terms & Conditions:
Returns - Operator Information:
Features:
| AccessToken required | string Network operator authentication token with administrator or customer support privileges |
Standard request to retrieve SMS template configuration
{- "AccessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJvcGVyYXRvcl9hZG1pbiIsImV4cCI6MTYzMjQxNjAwMCwiaWF0IjoxNjMyNDE1NDAwfQ..."
}Successful retrieval with SMS templates and Terms & Conditions
{- "errorProcessing": false,
- "NetworkOperatorID": "op_123456789",
- "NetworkOperatorName": "Metro WiFi Networks",
- "Domain": "metrowifi.io",
- "SMSConfiguration": {
- "en-us": {
- "WelcomeSMS": {
- "NewSubscriber": {
- "message": "Welcome to {venuename} {operatorname} WiFi service. Visit {actionbuttonurl} to activate."
}, - "Template": "Hi {subscribergivenname}, {message}"
}
}, - "es-xl": {
- "WelcomeSMS": {
- "NewSubscriber": {
- "message": "Bienvenido al servicio WiFi de {venuename} {operatorname}. Visite {actionbuttonurl} para activar."
}, - "Template": "Hola {subscribergivenname}, {message}"
}
}
}, - "TandC": {
- "en-us": "<h1>Terms and Conditions</h1><p>By using our service...</p>",
- "es-xl": "<h1>Términos y Condiciones</h1><p>Al usar nuestro servicio...</p>"
}, - "SupportedLocales": {
- "en-us": "English (US)",
- "es-xl": "Spanish (Latin America)"
}
}Retrieve comprehensive venue information including configuration, service plans, units, integrations, display options, and analytics for network operator management.
Returns - Venue Profile:
Returns - Display Configuration:
Returns - Shopping Cart & Stripe Integration:
Returns - Subscription Configuration:
Returns - VLAN Configuration:
Returns - External Integrations (Full Access):
Returns - FCC Compliance:
Returns - Administrative Staff:
Additional Returns: Property management group details, network operator connections, WiFi keypools with SSIDs and authentication mechanisms, core equipment status with real-time monitoring, available service plans with pricing, unit organization by building/floor, active subscription details, guest network configurations, and comprehensive utilization metrics.
Access Control: Network operator authentication with full access to sensitive integration credentials including complete Stripe keys, ConnectWise authorization, and unmasked API credentials.
| AccessToken required | string Network operator authentication token with venue information access privileges |
| VenueID required | string Venue identifier for detailed information retrieval |
{- "AccessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
- "VenueID": "venue_MNO345"
}{- "VenueID": "venue_MNO345",
- "VenueName": "Downtown Business Center",
- "AddressLine1": "123 Business Plaza",
- "AddressLine2": "Suite 100",
- "City": "Metropolitan City",
- "State": "CA",
- "PostalCode": "90210",
- "Country.ISO3166A3": "USA",
- "ServicePlanConfiguration": {
- "ServicePlans": [
- {
- "ServicePlanID": "plan_business_premium",
- "ServicePlanName": "Business Premium Internet",
- "DownloadKbps": 100000,
- "UploadKbps": 50000,
- "BillingCycleHours": 720
}
], - "DefaultServicePlanID_GlobalWirelessPlusLocalWiredAccess": "plan_business_premium",
- "DefaultServicePlanID_LocalWirelessAccess": "plan_local_standard"
}, - "Units": [
- {
- "UnitID_internal": "unit_internal_PQR678",
- "UnitID": "Suite 101",
- "UnitBuilding": "Building A",
- "UnitFloor": "1st Floor",
- "ShoppingCart": {
- "enableShoppingCart": true
}, - "NetworkConfiguration": {
- "NetworkAccessType": "GlobalWirelessPlusLocalWiredAccess"
}
}
], - "UnitCount": 50,
- "Keypools": {
- "BusinessWiFi": {
- "ssid": "BusinessWiFi",
- "Scope": "global",
- "AuthenticationMechanism": "WPA2 PSK",
- "DisplayOrder": 1
}
}, - "NetworkOperatorConnections": {
- "ConnectWise": {
- "enabled": true,
- "lastSync": "2025-09-12T18:30:00Z"
}
}, - "analytics": {
- "DeviceCount": 127,
- "PendingAUP": 3,
- "SubscriptionMetrics": {
- "ActiveSubscriptions": 45,
- "MonthlyRevenue": 4250,
- "AverageRevenuePerUnit": 85
}
}, - "DisplayConfiguration": {
- "Support": {
- "SupportEmailAddress": "support@businesscenter.example.com",
- "SupportPhoneNumber.E164": "+1-555-0123"
}
}
}Venue activity log and audit trail retrieval endpoint for network operators to access detailed venue operations, administrative actions, system events, and subscriber activities.
Required Parameters:
Optional Parameters:
Returns - Log Entries:
Log Categories:
Processing:
Features:
| AccessToken required | string Network operator authentication token with venue access privileges |
| VenueID required | string Unique venue identifier for activity log retrieval |
| MinViewWindowDateUTC.ISO8601 | string <date-time> Optional start date for log retrieval window |
| MaxViewWindowDateUTC.ISO8601 | string <date-time> Optional end date for log retrieval window |
| Administrator | string Optional administrator email filter for specific user activities |
{- "AccessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
- "VenueID": "USA.FL.33126.XPERITY.MIAMI._V3VENUE_.USA.FL.33126.DEMO.MIAMI",
- "MinViewWindowDateUTC.ISO8601": "2025-09-01T00:00:00.000Z",
- "MaxViewWindowDateUTC.ISO8601": "2025-09-12T23:59:59.999Z",
- "Administrator": "admin@example.com"
}{- "log": [
- {
- "dateAddedUTC.ISO8601": "2025-09-12T16:45:25.123Z",
- "function_name": "vault_networkoperatorconsole_configureVenue",
- "event": "Venue configuration updated - contact information modified",
- "Administrator": {
- "email": "admin@example.com",
- "given_name": "John",
- "family_name": "Smith"
}, - "SourceIP": "192.168.1.100",
- "SourceLocale": "en-US",
- "SourceUA": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7)",
- "VenueID": "USA.FL.33126.XPERITY.MIAMI._V3VENUE_.USA.FL.33126.DEMO.MIAMI",
- "UnitID_internal": "USA.FL.33126.XPERITY.MIAMI._V3VENUE_.USA.FL.33126.DEMO.MIAMI.101.1.A"
}
], - "LogCount": 45,
- "message": "45 venue activity log entries retrieved",
- "errorProcessing": false
}Venue unit details retrieval endpoint for network operators to access individual unit information with service plans, subscriptions, and authentication options.
Required Parameters:
Optional Parameters:
Returns - VenueUnits Array:
Returns - AvailableServicePlans Object:
Returns - Subscription Information:
Processing:
Features:
| AccessToken required | string Network operator authentication token with venue access privileges |
| VenueID required | string Unique venue identifier for unit information retrieval |
| UnitID_internal | string Optional specific unit identifier for single unit details |
| UnitBuilding | string Optional building filter for unit selection |
| UnitFloor | string Optional floor filter for unit selection |
| UnitID | string Optional unit number filter for unit selection |
| UserTimeZone | integer Optional timezone offset in minutes for date conversions |
{- "AccessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
- "VenueID": "USA.FL.33126.XPERITY.MIAMI._V3VENUE_.USA.FL.33126.DEMO.MIAMI",
- "UnitID_internal": "USA.FL.33126.XPERITY.MIAMI._V3VENUE_.USA.FL.33126.DEMO.MIAMI.101.1.A",
- "UnitBuilding": "101",
- "UnitFloor": "1",
- "UnitID": "A",
- "UserTimeZone": -300
}{- "VenueUnits": [
- {
- "UnitID_internal": "USA.FL.33126.XPERITY.MIAMI._V3VENUE_.USA.FL.33126.DEMO.MIAMI.101.1.A",
- "UnitID": "A",
- "UnitBuilding": "101",
- "UnitFloor": "1",
- "AddressLine1": "123 Main Street",
- "City": "Miami",
- "State": "FL",
- "PostalCode": "33126",
- "Venue": {
- "VenueID": "USA.FL.33126.XPERITY.MIAMI._V3VENUE_.USA.FL.33126.DEMO.MIAMI",
- "VenueName": "Demo Property Miami",
- "TimeZone": -5,
- "Keypools": {
- "property1": {
- "ssid": "XperityWiFi",
- "Scope": "global",
- "DisplayOrder": 50,
- "currentKeypoolStatus": "Operational"
}, - "property2": {
- "ssid": "XperityWiFi",
- "Scope": "global",
- "DisplayOrder": 50,
- "currentKeypoolStatus": "Operational"
}
}
}, - "AvailableServicePlans": {
- "property1": {
- "ServicePlanName": "Premium Internet",
- "ServicePlanDescription": "High-speed internet with unlimited data",
- "DownloadKbps": 100000,
- "UploadKbps": 50000,
- "ConcurrentDevices": 10,
- "BillingCycleHours": 720,
- "Price": 79.99,
- "externalServicePlanID": "ext_plan_premium"
}, - "property2": {
- "ServicePlanName": "Premium Internet",
- "ServicePlanDescription": "High-speed internet with unlimited data",
- "DownloadKbps": 100000,
- "UploadKbps": 50000,
- "ConcurrentDevices": 10,
- "BillingCycleHours": 720,
- "Price": 79.99,
- "externalServicePlanID": "ext_plan_premium"
}
}, - "Subscriptions": {
- "property1": {
- "StartDateTimeUTC.ISO8601": "2025-09-01T00:00:00.000Z",
- "EndDateTimeUTC.ISO8601": "2025-09-30T23:59:59.999Z",
- "ServicePlanID": "sp_premium_001",
- "Status": "Active"
}, - "property2": {
- "StartDateTimeUTC.ISO8601": "2025-09-01T00:00:00.000Z",
- "EndDateTimeUTC.ISO8601": "2025-09-30T23:59:59.999Z",
- "ServicePlanID": "sp_premium_001",
- "Status": "Active"
}
}, - "GuestSubscriptions": {
- "property1": {
- "StartDateTimeUTC.ISO8601": "2025-09-12T12:00:00.000Z",
- "EndDateTimeUTC.ISO8601": "2025-09-12T18:00:00.000Z",
- "AccessType": "guest"
}, - "property2": {
- "StartDateTimeUTC.ISO8601": "2025-09-12T12:00:00.000Z",
- "EndDateTimeUTC.ISO8601": "2025-09-12T18:00:00.000Z",
- "AccessType": "guest"
}
}
}
], - "message": "Found 5 units. Venue Details and subscriptions displayed for first unit only.",
- "errorProcessing": false
}Venue unit activity log and audit trail retrieval endpoint for network operators to access unit-specific logging with subscriber activities, configuration changes, and operational events.
Required Parameters:
Optional Parameters:
Log Entry Categories:
Processing:
Returns:
Features:
| AccessToken required | string Valid JWT access token with venue unit access permissions |
| VenueID required | string Venue identifier for unit location and access validation |
| UnitID_internal required | string Internal unit identifier for log retrieval |
| MinViewWindowDateUTC.ISO8601 | string <date-time> Optional start date for log window (defaults to 15 days ago) |
| MaxViewWindowDateUTC.ISO8601 | string <date-time> Optional end date for log window (defaults to current date) |
{- "AccessToken": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...",
- "VenueID": "venue_downtown_complex",
- "UnitID_internal": "unit_apt_101",
- "MinViewWindowDateUTC.ISO8601": "2025-09-01T00:00:00.000Z",
- "MaxViewWindowDateUTC.ISO8601": "2025-09-12T23:59:59.999Z"
}{- "message": "",
- "log": [ ],
- "SupportedLocales": {
- "en-us": "English (US)",
- "es-xl": "Spanish (Latin America)"
}
}Unit-level bandwidth and data usage analytics endpoint for network operators to retrieve detailed statistics for individual venue units.
Required Parameters:
Optional Parameters:
Returns - UnitUsageData Array:
Processing:
Features:
| AccessToken required | string Valid network operator authentication token |
| VenueID required | string.*\._V3VENUE$ Internal venue identifier for usage analysis |
| externalVenueID | string External venue identifier for cross-reference |
| UnitID_internal | string.*\._V3VENUE$ Internal unit identifier for specific unit analysis |
| externalVenueUnitID | string External unit identifier for property management integration |
| UsageReportStartDateUTC.ISO8601 | string <date-time> Custom start date for usage reporting period (UTC) |
{- "AccessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
- "VenueID": "venue_12345._V3VENUE",
- "externalVenueID": "PROP-001-BLDG-A",
- "UnitID_internal": "unit_67890._V3VENUE",
- "externalVenueUnitID": "UNIT-101",
- "UsageReportStartDateUTC.ISO8601": "2024-01-15T00:00:00.000Z"
}{- "errorProcessing": false,
- "message": "",
- "UnitUsageData": [
- {
- "date": "2024-01-15",
- "dailyDownload": 2048576000,
- "dailyUpload": 512000000,
- "totalDaily": 2560576000,
- "unitId": "unit_67890._V3VENUE",
- "externalUnitId": "UNIT-101"
}
]
}Venue-level bandwidth and data usage analytics endpoint for network operators to retrieve aggregated statistics across all venue units.
Required Parameters:
Optional Parameters:
Returns - VenueUsageReport Object:
Processing:
Features:
| AccessToken required | string Valid network operator authentication token |
| VenueID required | string.*\._V3VENUE$ Internal venue identifier for usage analytics |
| externalVenueID | string External venue identifier for property management integration |
| UsageReportStartDateUTC.ISO8601 | string <date-time> Custom start date for usage reporting period (UTC) |
{- "AccessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
- "VenueID": "venue_12345._V3VENUE",
- "externalVenueID": "PROP-001-VENUE-A",
- "UsageReportStartDateUTC.ISO8601": "2024-01-15T00:00:00.000Z"
}{- "errorProcessing": false,
- "message": "",
- "VenueUsageReport": {
- "venueId": "venue_12345._V3VENUE",
- "reportDate": "2024-01-15",
- "totalDownload": 10737418240,
- "totalUpload": 2684354560,
- "totalUsage": 13421772800,
- "activeUnits": 45,
- "timezone": "America/New_York"
}
}Approve pending subscription setups for network operator managed services with comprehensive manual review and automated provisioning capabilities.
Flexible Identification: Support for internal and external ID systems
Batch Processing: Handle multiple subscription approvals efficiently
Status Management: Track approval workflow states and transitions
Integration Support: Seamless property management and CRM integration
Process Flow:
| AccessToken required | string Valid network operator administrative authentication token |
| VenueID | string.*\._V3VENUE$ Internal venue identifier for venue-specific approvals |
| UnitID_internal | string.*\._V3VENUE$ Internal unit identifier for unit-specific subscription approvals |
| externalVenueUnitID | string External unit identifier for property management integration |
| SubscriberToken | string Unique subscriber identification token for approval lookup |
| externalSubscriberID | string External subscriber identifier for CRM system integration |
| externalSubscriptionID | string External subscription identifier for billing system integration |
| EmailAddress | string <email> Customer email address for subscription lookup and approval |
| SetupIntentId | string Specific setup intent identifier for targeted approval |
{- "AccessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
- "VenueID": "venue_12345._V3VENUE",
- "UnitID_internal": "unit_67890._V3VENUE",
- "externalVenueUnitID": "UNIT-101",
- "SubscriberToken": "sub_token_abc123xyz",
- "externalSubscriberID": "CRM-CUST-001",
- "externalSubscriptionID": "BILLING-SUB-001",
- "EmailAddress": "customer@example.com",
- "SetupIntentId": "seti_1KJ123ABC_xyz789"
}{- "errorProcessing": false,
- "message": "Subscription setup approved successfully",
- "psk": "wifi_key_approved_xyz789",
- "approvedSubscriptions": [
- {
- "subscriptionId": "sub_12345._V3SUB",
- "subscriberToken": "sub_token_abc123xyz",
- "unitAssignment": "unit_67890._V3VENUE",
- "approvalStatus": "approved",
- "provisioningStatus": "completed"
}
], - "approvalCount": 1
}Generate and send new SMS-based one-time passwords for phone number verification during shopping cart subscription processes with Stripe payment integration.
Stripe Setup Intents: Integration with payment method setup workflows
Client Secret Validation: Secure payment intent verification
Zero-Amount Processing: Support for free trial and setup-only flows
Multi-Identifier Support: Flexible lookup by setup intent or client secret
Process Flow:
| PhoneNumber.E164 required | string^\+[1-9]\d{1,14}$ Phone number in E.164 international format for SMS delivery |
| StripeClientSecret required | string Stripe payment intent client secret for payment association |
| SetupIntentId | string Internal setup intent identifier for OTP association |
{- "PhoneNumber.E164": "+12125551234",
- "StripeClientSecret": "pi_3KJ123ABC_secret_xyz789",
- "SetupIntentId": "seti_12345._V3PAYMENT"
}{- "errorProcessing": false,
- "message": "SMS OTP sent successfully",
- "otpSent": true,
- "phoneNumber": "+12125551234",
- "otpGenerationTime": "2024-12-28T20:15:30.123Z",
- "setupIntentId": "seti_12345._V3PAYMENT"
}Handle incoming Stripe payment webhook events for automated payment processing and subscription management integration.
| id | string Unique event identifier from Stripe |
| object | string Value: "event" Object type, always 'event' |
| api_version | string Stripe API version used for the event |
| created | integer Unix timestamp when the event was created |
object Event data object | |
| livemode | boolean Whether the event occurred in live mode |
| pending_webhooks | integer Number of pending webhook deliveries |
object Request information | |
| type | string Enum: "payment_intent.succeeded" "setup_intent.succeeded" "charge.refunded" Event type |
{- "id": "evt_1234567890abcdef",
- "object": "event",
- "api_version": "2020-08-27",
- "created": 1640995200,
- "data": {
- "object": {
- "id": "pi_1234567890abcdef",
- "customer": "cus_1234567890abcdef",
- "amount": 2500,
- "currency": "usd",
- "status": "succeeded",
- "client_secret": "pi_1234567890abcdef_secret_xyz",
- "latest_charge": "ch_1234567890abcdef"
}
}, - "livemode": false,
- "pending_webhooks": 1,
- "request": {
- "id": "string",
- "idempotency_key": "string"
}, - "type": "payment_intent.succeeded"
}{- "received": true
}Verify phone number ownership using SMS-delivered one-time password for secure subscription authentication.
| PhoneNumber.E164 required | string^\+[1-9]\d{1,14}$ Phone number in E.164 international format |
| SMSOTP required | string^\d{4,6}$ SMS one-time password code received by the subscriber |
| StripeClientSecret required | string Stripe client secret from payment intent or setup intent (required if SetupIntentId not provided) |
| SetupIntentId | string Stripe setup intent ID (required if StripeClientSecret not provided) |
{- "PhoneNumber.E164": "+15551234567",
- "SMSOTP": "123456",
- "StripeClientSecret": "pi_1234567890abcdef_secret_xyz",
- "SetupIntentId": "seti_1234567890abcdef"
}{- "message": "Registration successful.",
- "psk": "wifi-key-abc123def456"
}Retrieves display options for operator or venue interfaces, enabling dynamic UI configuration and branding. This endpoint supports access-based filtering with granular permission controls.
| AccessToken | string Authentication token for the current session (required if DisplayOptionID not provided) |
| DisplayOptionID | string ID to filter for a specific display option (required if AccessToken not provided) |
{- "AccessToken": "string",
- "DisplayOptionID": "string"
}{- "DisplayOptions": [
- {
- "DisplayOptionID": "string",
- "DisplayOptionName": "string",
- "DisplayOptionValue": "string"
}
], - "SupportedLocales": { },
- "message": "string",
- "errorProcessing": false
}Generates WPA2-PSK EAPOL authentication packets optimized for Cambium Networks access points and controllers with ePSK (Enhanced Pre-Shared Key) support.
Development and testing tool for network operators to:
Returns complete EAPOL packet structure:
This is a testing tool for authorized network operators only. Generated packets contain cryptographic material and should be handled securely. Never expose PSK values in logs or unsecured channels.
| AccessToken required | string JWT authentication token for network operator console access |
| NAS-Identifier required | string Network Access Server identifier (venue name or AP identifier) |
| SSID required | string WiFi network SSID for PMK derivation |
| PSK required | string [ 8 .. 63 ] characters Pre-shared key (plain text, 8-63 characters) |
{- "AccessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
- "NAS-Identifier": "luxury-apartments-bldg1",
- "SSID": "Resident_WiFi",
- "PSK": "SecurePassword123"
}{- "ANonce": "a1b2c3d4e5f6789012345678901234567890abcdef1234567890abcdef123456",
- "SNonce": "fedcba9876543210fedcba98765432100123456789abcdef0123456789abcdef",
- "BSSID": "00:11:22:33:44:55",
- "MACAddress": "AA:BB:CC:DD:EE:FF",
- "EAPOLFrame": "0103007502010a0000000000000000...",
- "PMK": "92d95bbacec86e5926884d8b0c9d8c9e4009706644f58e63b18fd419c6e3c6cb",
- "message": "Cambium ePSK packet generated successfully",
- "errorProcessing": false
}Generates Ruckus Wireless specific DPSK (Dynamic PSK) values formatted as RADIUS Attribute 153 for WPA3-Personal and WPA2-PSK authentication.
Development and testing tool for network operators to:
Ruckus Attribute 153 format:
Attribute: 153 (DPSK)
Value: <passphrase> or <PMK-hex>
Format: ASCII (passphrase) or Hex (PMK)
Returns Ruckus-formatted DPSK values:
DPSK values provide network access and should be:
| AccessToken required | string JWT authentication token for network operator console access |
| SSID required | string Target WiFi network SSID |
| VenueID required | string Venue identifier for DPSK scope |
| Passphrase | string [ 8 .. 63 ] characters Custom passphrase (8-63 characters, optional - auto-generated if omitted) |
| PMK | string^[0-9a-fA-F]{64}$ Pre-computed PMK in hex (64 characters, optional) |
| ExpirationDays | integer [ 0 .. 365 ] Number of days until DPSK expires (optional, 0 = never) |
{- "AccessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
- "SSID": "Resident_Secure",
- "VenueID": "venue_12345",
- "Passphrase": "MySecurePass2024",
- "PMK": "92d95bbacec86e5926884d8b0c9d8c9e4009706644f58e63b18fd419c6e3c6cb",
- "ExpirationDays": 90
}{- "Attribute153": "MySecurePass2024",
- "DPSKPassphrase": "MySecurePass2024",
- "PMK": "92d95bbacec86e5926884d8b0c9d8c9e4009706644f58e63b18fd419c6e3c6cb",
- "ExpirationDate": "2024-04-17T00:00:00.000Z",
- "SSID": "Resident_Secure",
- "VenueID": "venue_12345",
- "message": "Ruckus DPSK Attribute 153 generated successfully",
- "errorProcessing": false
}Generates IEEE 802.11i compliant WPA2-PSK EAPOL authentication packets for testing and validation across multiple vendor equipment platforms.
Universal development and testing tool for network operators to:
WPA2-PSK 4-way handshake packet structure:
Returns complete EAPOL packet structure:
EAPOL Key Frame format:
Version: 0x02 (EAPOL-Key)
Type: 0x03 (Key)
Key Information: 0x010a (Pairwise, Install, ACK, MIC, Secure)
Key Length: 0 (not used in WPA2-PSK)
Replay Counter: 8 bytes (monotonically increasing)
Key Nonce: 32 bytes (ANonce from AP)
Key IV: 16 bytes (typically zeros)
Key RSC: 8 bytes (receive sequence counter)
Key MIC: 16 bytes (HMAC-SHA1 truncated)
Key Data Length: Variable (contains RSN IE)
This is a testing tool for authorized network operators only:
Tested and compatible with:
| AccessToken required | string JWT authentication token for network operator console access |
| NAS-Identifier required | string Network Access Server identifier (venue/AP name) |
| SSID required | string <= 32 characters WiFi network SSID for PMK derivation |
| PSK required | string [ 8 .. 64 ] characters Pre-shared key (8-63 ASCII or 64 hex characters) |
{- "AccessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
- "NAS-Identifier": "downtown-apartments-ap01",
- "SSID": "ResidentWiFi_5G",
- "PSK": "StrongPassword2024!"
}{- "EAPOLFrame": "0203007502010a00000000000000000a1b2c3d4e5f6789012345678901234567890abcdef...",
- "ANonce": "a1b2c3d4e5f6789012345678901234567890abcdef1234567890abcdef123456",
- "SNonce": "fedcba9876543210fedcba98765432100123456789abcdef0123456789abcdef",
- "BSSID": "00:11:22:33:44:55",
- "MACAddress": "AA:BB:CC:DD:EE:FF",
- "PMK": "92d95bbacec86e5926884d8b0c9d8c9e4009706644f58e63b18fd419c6e3c6cb",
- "KeyVersion": 2,
- "message": "Standard WPA2-PSK packet generated successfully",
- "errorProcessing": false
}Generates IEEE 802.11r-2008 compliant FT-PSK (Fast Transition Pre-Shared Key) EAPOL authentication packets enabling seamless roaming between access points with <50ms handoff latency.
Advanced development and testing tool for network operators deploying 802.11r:
802.11r introduces hierarchical key derivation for fast roaming:
PMK (Pairwise Master Key)
↓ SHA256-PRF("FT-R0", SSID || MDID || R0KH-ID || STA-MAC)
PMK-R0 (R0 Key Holder Key, 32 bytes from 48-byte output)
↓ SHA256-PRF("FT-R1", R1KH-ID || STA-MAC)
PMK-R1 (R1 Key Holder Key, 32 bytes)
↓ SHA256-PRF("FT-PTK", SNonce || ANonce || BSSID || STA-MAC)
PTK (Pairwise Transient Key, 48 bytes)
↓ Extract KCK
KCK (Key Confirmation Key, first 16 bytes of PTK)
↓ HMAC-SHA1 MIC
Returns complete FT-PSK EAPOL packet structure:
EAPOL Key Frame with FT extensions:
EAPOL Header:
Version: 0x01 (EAPOL version 1 for FT)
Type: 0x03 (EAPOL-Key)
Length: Variable (~250 bytes for FT-PSK)
Key Information: 0x010B
Key Descriptor: 2 (AES-CCM)
Key Type: Pairwise
Install: Set
ACK: Set
MIC: Set
Secure: Set
Key Data (contains):
- MDIE (Mobility Domain IE): Element ID 54
* Mobility Domain ID (MDID): 2 bytes
* FT Capability: 1 byte (0x01 = FT-over-air)
- FTIE (Fast Transition IE): Element ID 55
* MIC Control: 2 bytes (zeroed during generation)
* MIC: 16 bytes (zeroed during MIC calculation)
* ANonce: 32 bytes (authenticator nonce)
* SNonce: 32 bytes (supplicant nonce)
* Sub-elements:
- Sub-element 1: R1KH-ID (6 bytes, BSSID)
- Sub-element 3: R0KH-ID (variable, NAS-Identifier)
FT-PSK packets contain sensitive cryptographic hierarchy:
FT-PSK (802.11r) tested with:
This endpoint was added as part of VAULT v1.1.0 to support IEEE 802.11r Fast Transition deployments across enterprise venues. Complements existing WPA2-PSK and WPA3-DPSK authentication protocols.
| AccessToken required | string JWT authentication token for network operator console access |
| NAS-Identifier required | string Network Access Server identifier (becomes R0KH-ID for FT) |
| SSID required | string <= 32 characters WiFi network SSID for PMK-R0 derivation |
| PSK required | string [ 8 .. 64 ] characters Pre-shared key (8-63 ASCII or 64 hex characters) |
| BSSID | string^([0-9A-Fa-f]{2}[:-]){5}[0-9A-Fa-f]{2}$ Target AP MAC address (optional, auto-generated if omitted) |
| MACAddress | string^([0-9A-Fa-f]{2}[:-]){5}[0-9A-Fa-f]{2}$ Client station MAC address (optional, auto-generated if omitted) |
| MDID | string^[0-9a-fA-F]{4}$ Mobility Domain ID (2-byte hex, optional, defaults to 'a1b2') |
{- "AccessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
- "NAS-Identifier": "luxury-apartments-controller",
- "SSID": "Enterprise_Secure_5G",
- "PSK": "FTRoaming2024Secure!",
- "BSSID": "00:1A:2B:3C:4D:5E",
- "MACAddress": "AA:BB:CC:DD:EE:FF",
- "MDID": "a1b2"
}{- "EAPOLFrame": "0103009502010b00000000000000010a1b2c3d4e5f67890123456789012345...",
- "ANonce": "a1b2c3d4e5f6789012345678901234567890abcdef1234567890abcdef123456",
- "SNonce": "fedcba9876543210fedcba98765432100123456789abcdef0123456789abcdef",
- "BSSID": "00:1A:2B:3C:4D:5E",
- "MACAddress": "AA:BB:CC:DD:EE:FF",
- "PMK": "92d95bbacec86e5926884d8b0c9d8c9e4009706644f58e63b18fd419c6e3c6cb",
- "PMK_R0": "7a3f8e1c9d2b4a5e6f0c8d9e1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b",
- "PMK_R1": "3c5d7e9f1a2b4c6d8e0f1a3c5d7e9f1b3d5f7a9c1e3f5a7c9e1f3a5c7d9e1f3",
- "FTIE": "37820000000000000000000000000000000001...",
- "MDIE": "3603a1b201",
- "R0KH_ID": "luxury-apartments-controller",
- "R1KH_ID": "00:1A:2B:3C:4D:5E",
- "MDID": "a1b2",
- "message": "FT-PSK (802.11r) packet generated successfully with full key hierarchy",
- "errorProcessing": false
}Network operator configuration management for system administrators to manage controller profiles, integrations, and infrastructure settings.
Create new Ruckus R1 controller profile for WPA3-DPSK WiFi authentication with automatic DPSK provisioning and optional enableSync configuration.
Required Parameters:
Optional Parameters:
Controller Features:
Validation Rules:
System Effects:
Processing Flow:
| AccessToken required | string Domain administrator access token with controller management privileges |
| ControllerName required | string [ 1 .. 128 ] characters Unique controller profile name (max 128 chars input, sanitized to 64 characters - alphanumeric, spaces, dots, underscores, hyphens only) |
| URL required | string Enum: "https://api.ruckus.cloud" "https://api.eu.ruckus.cloud" "https://api.asia.ruckus.cloud" Ruckus Cloud API regional endpoint URL |
| APIClientID required | string [ 1 .. 128 ] characters Ruckus One API client ID from cloud portal (max 128 chars input, sanitized to 64 characters) |
| APIClientSecret required | string [ 1 .. 128 ] characters Ruckus One API client secret (max 128 chars input, sanitized to 64 characters, stored securely) |
| TenantID required | string [ 1 .. 128 ] characters Ruckus One tenant identifier from cloud portal (max 128 chars input, sanitized to 64 characters) |
| enableSync | boolean Default: true Enable automatic DPSK synchronization with Ruckus Cloud (default: true if not explicitly false) |
| updatePools | boolean Default: true Fetch DPSK pools from Ruckus R1 and create keypools after controller creation (optional, default: true) |
{- "AccessToken": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...",
- "ControllerName": "Main Campus R1",
- "APIClientID": "client_abc123xyz789",
- "APIClientSecret": "secret_def456uvw012",
- "TenantID": "tenant_ghi789rst345",
- "enableSync": true
}{- "message": "Ruckus R1 Controller added. ",
- "ControllerID": "op_network_001._V3RUCKUSR1CONTROLLER_.Main_Campus_R1",
- "ControllerName": "Main Campus R1",
- "enableSync": true,
- "AvailableDPSKPools": [ ],
- "AvailableDPSKPoolCount": 0
}Update existing Ruckus R1 controller configuration including credentials, sync settings, DPSK pool synchronization, or permanently delete controller profile with cascade keypool cleanup.
Required Parameters:
8 Configuration Operations:
DPSK Pool Synchronization (updatePools):
Update Features:
Deletion Requirements:
Validation Rules:
System Effects:
Processing Flow:
| AccessToken required | string Domain administrator access token with controller management privileges |
| ControllerID required | string Unique Ruckus R1 controller identifier for configuration |
| ControllerName | string [ 1 .. 128 ] characters Validate controller profile name uniqueness (optional, max 128 chars input, sanitized to 64 characters, validated but NOT updated in database) |
| URL | string Enum: "https://api.ruckus.cloud" "https://api.eu.ruckus.cloud" "https://api.asia.ruckus.cloud" Updated Ruckus Cloud API endpoint (optional, must be valid endpoint) |
| APIClientID | string [ 1 .. 128 ] characters Updated Ruckus One API client ID (optional, max 128 chars input, sanitized to 64 characters, validated for safe characters) |
| APIClientSecret | string [ 1 .. 128 ] characters Updated Ruckus One API client secret (optional, max 128 chars input, sanitized to 64 characters, validated for safe characters) |
| TenantID | string [ 1 .. 128 ] characters Validate Ruckus One tenant ID (optional, max 128 chars input, sanitized to 64 characters, validated in URL/APIClientID/TenantID uniqueness check but NOT updated in database) |
| enableSync | boolean Enable/disable automatic DPSK synchronization (optional) |
| updatePools | boolean Fetch DPSK pools from Ruckus R1 Cloud Controller and create keypools (optional, automatically set to true when called from addRuckusR1Controller) |
| delete | boolean Flag to permanently delete controller (irreversible, requires no venue associations) |
{- "AccessToken": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...",
- "ControllerID": "op_network_001._V3RUCKUSR1CONTROLLER_.Main_Campus_R1",
- "enableSync": true
}{- "message": "Updating enableSync to true. Configuration updated successfully.",
- "errorProcessing": false,
- "ControllerID": "op_network_001._V3RUCKUSR1CONTROLLER_.Main_Campus_R1"
}Retrieve complete catalog of Ruckus R1 controller profiles configured for the operator with optional filtering capabilities.
Required Parameters:
Optional Filter Parameters:
Data Source:
Filtering Behavior:
Response Data:
Use Cases:
| AccessToken required | string Domain administrator access token with controller view privileges |
| ControllerID | string Filter by specific controller identifier |
| ControllerName | string Filter by controller profile name (exact match) |
| URL | string Filter by Ruckus Cloud API endpoint URL |
| APIClientID | string Filter by Ruckus One API client identifier (exact match, case-sensitive) |
| APIClientSecret | string Filter by Ruckus One API client secret (exact match, case-sensitive) |
| TenantID | string Filter by Ruckus One tenant identifier (exact match, case-sensitive) |
{- "AccessToken": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9..."
}{- "RuckusR1Controllers": [
- {
- "ControllerID": "op_network_001._V3RUCKUSR1CONTROLLER_.Main_Campus_R1",
- "ControllerName": "Main Campus R1",
- "APIClientID": "client_abc123xyz789",
- "APIClientSecret": "secret_def456uvw012",
- "TenantID": "tenant_ghi789rst345",
- "enableSync": true,
- "dateAddedUTC": "2024-12-15T10:30:00.000Z",
- "dateModifiedUTC": "2024-12-20T14:45:00.000Z"
}, - {
- "ControllerID": "op_network_001._V3RUCKUSR1CONTROLLER_.Europe_R1",
- "ControllerName": "Europe R1 Controller",
- "APIClientID": "client_eu123xyz456",
- "APIClientSecret": "secret_eu789uvw012",
- "TenantID": "tenant_eu345rst678",
- "enableSync": false,
- "dateAddedUTC": "2024-12-18T08:15:00.000Z"
}
], - "SupportedCloudRegions": [
]
}Create new PMS (Property Management System) profile for automated venue unit and resident synchronization with RealPage or Entrata platforms. Multi-region deployment with primary region forwarding and automatic configuration.
Architecture Pattern:
Required Parameters:
RealPage Required Parameters:
Entrata Required Parameters:
Optional Parameters:
ProfileID Generation:
Validation Sequence:
Duplicate Prevention:
Profile Data Storage:
Processing Flow:
| AccessToken required | string Valid authentication token for network operator with domain administrator privileges and code branch write access |
| ProfileName required | string [ 1 .. 128 ] characters Unique profile name for operator (sanitized to 128 characters max) |
| Type required | string Enum: "RealPage" "Entrata" PMS platform type - must be exactly 'RealPage' or 'Entrata' |
| enableSync | boolean Enable automatic PMS synchronization (defaults to true if omitted or not explicitly false) |
| RealPageURL | string [ 1 .. 2048 ] characters RealPage API endpoint URL (required for Type='RealPage', max 2048 chars input, validated for URL format with http/https protocols) |
| RealPageAPIKey | string [ 1 .. 128 ] characters RealPage API authentication key (required for Type='RealPage', sanitized to 128 characters) |
| RealPagePMCId | string [ 1 .. 128 ] characters RealPage property management company identifier (required for Type='RealPage', sanitized to 128 characters) |
| EntrataAPIKey | string [ 1 .. 128 ] characters Entrata API authentication key (required for Type='Entrata', sanitized to 128 characters) |
| EntrataSubdomain | string [ 1 .. 128 ] characters Entrata account subdomain (required for Type='Entrata', sanitized to 128 characters) |
{- "AccessToken": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...",
- "ProfileName": "Downtown Properties",
- "Type": "RealPage",
- "RealPageAPIKey": "rp_key_abc123",
- "RealPagePMCId": "PMC12345",
- "enableSync": true
}{- "message": "PMS Profile added successfully. PMS Profile configured successfully.",
- "ProfileID": "OP123._V3PMSPROFILE_.DOWNTOWN_PROPERTIES",
- "ProfileName": "Downtown Properties",
- "Type": "RealPage"
}Update, reconfigure, or delete existing PMS (Property Management System) profiles with credential modification, enableSync control, and venue usage validation. Enforces primary region execution and provides multi-region deletion coordination.
Architecture Pattern:
Required Parameters:
8 Configuration Operations:
Optional Update Parameters:
RealPage Update Parameters (optional):
Entrata Update Parameters (optional):
Deletion Parameter:
Deletion Safety:
Validation Sequence:
Profile Data Updates:
Processing Flow:
| AccessToken required | string Valid authentication token for network operator with domain administrator privileges |
| ProfileID required | string Existing PMS profile identifier to configure or delete |
| ProfileName | string [ 1 .. 128 ] characters New unique profile name (max 128 characters, sanitized to 64 characters for storage) |
| enableSync | boolean Enable or disable automatic PMS synchronization |
| RealPageURL | string [ 1 .. 2048 ] characters New RealPage API endpoint (RealPage profiles only, max 2048 chars input, validated for URL format with http/https protocols, sanitized to 128 characters for storage) |
| RealPageAPIKey | string [ 1 .. 128 ] characters New RealPage API key (RealPage profiles only, max 128 characters, sanitized to 64 characters) |
| RealPagePMCId | string [ 1 .. 128 ] characters New RealPage PMC identifier (RealPage profiles only, max 128 characters, sanitized to 64 characters) |
| EntrataAPIKey | string [ 1 .. 128 ] characters New Entrata API key (Entrata profiles only, sanitized to 128 characters) |
| EntrataSubdomain | string [ 1 .. 128 ] characters New Entrata subdomain (Entrata profiles only, sanitized to 64 characters) |
| delete | boolean Delete profile after venue usage validation (default false) |
{- "AccessToken": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...",
- "ProfileID": "OP123._V3PMSPROFILE_.DOWNTOWN_PROPERTIES",
- "ProfileName": "Downtown Properties Updated"
}{- "message": "PMS Profile configured successfully"
}Retrieve complete PMS (Property Management System) profile catalog with optional filtering by ProfileID, ProfileName, Type, or platform-specific credentials. Optimized for fast retrieval.
Architecture Pattern:
Required Parameters:
9 Filter Fields (all optional, string-only):
⚠️ Filtering Limitation:
Response Data Structure:
Profile Object Properties:
Performance Characteristics:
Processing Flow:
| AccessToken required | string Valid authentication token for network operator with domain administrator privileges |
| ProfileID | string Filter by specific profile identifier (exact string match with == comparison) |
| ProfileName | string Filter by profile name (exact string match with == comparison) |
| Type | string Enum: "RealPage" "Entrata" Filter by PMS platform type (exact string match with == comparison) |
| EntrataSubdomain | string Filter by Entrata subdomain (exact string match with == comparison) |
| EntrataAPIKey | string Filter by Entrata API key (exact string match with == comparison) |
| RealPageURL | string Filter by RealPage API URL (exact string match with == comparison) |
| RealPageAPIKey | string Filter by RealPage API key (exact string match with == comparison) |
| RealPagePMCId | string Filter by RealPage PMC identifier (exact string match with == comparison) |
{- "AccessToken": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9..."
}{- "PMSProfiles": [
- {
- "ProfileID": "OP123._V3PMSPROFILE_.DOWNTOWN_PROPERTIES",
- "ProfileName": "Downtown Properties",
- "Type": "RealPage",
- "enableSync": true,
- "dateAddedUTC": "2025-12-24T09:00:00.000Z",
- "dateModifiedUTC": "2025-12-24T09:15:00.000Z",
- "RealPageAPIKey": "rp_key_abc123",
- "RealPagePMCId": 67890,
- "EntrataAPIKey": "",
- "EntrataSubdomain": ""
}, - {
- "ProfileID": "OP123._V3PMSPROFILE_.UPTOWN_COMPLEX",
- "ProfileName": "Uptown Complex",
- "Type": "Entrata",
- "enableSync": true,
- "dateAddedUTC": "2025-12-23T14:30:00.000Z",
- "dateModifiedUTC": "2025-12-23T14:30:00.000Z",
- "RealPageURL": "",
- "RealPageAPIKey": "",
- "RealPagePMCId": "",
- "EntrataAPIKey": "entrata_key_def456",
- "EntrataSubdomain": "mycompany"
}
], - "SupportedTypes": [
- "RealPage",
- "Entrata"
]
}