ShareCodes
ShareCodes are shareable WiFi access codes that allow multiple users to authenticate to your network using a single code. They're perfect for events, temporary access, guest WiFi, and situations where you need to distribute network access quickly to groups of people.
What are ShareCodes?
A ShareCode is a unique alphanumeric code that grants WiFi access under controlled conditions. Unlike individual user accounts, a single ShareCode can be used by multiple people, making it ideal for:
- Event WiFi - Share one code with all attendees
- Guest Access - Provide temporary access to visitors
- Conference Rooms - Post a code for meeting participants
- Retail Stores - Display customer WiFi codes
- Temporary Workers - Quick access without creating individual accounts
Key Features
Flexible Code Generation
- Generate 1-1,000 codes at once
- Multiple formats (digits only, letters, mixed, custom)
- 4-32 character length
- Custom or auto-generated codes
Usage Controls
- User Limits - Control how many users can register with one code
- Device Limits - Restrict devices per code (1-100)
- Data Quotas - Set data consumption limits
- Session Duration - Limit total connection time
- Expiration Dates - Auto-expire after specified period
Distribution Options
- Email Delivery - Send codes via email automatically
- SMS Delivery - Send codes via text message
- Manual Sharing - Post, print, or share codes directly
- Batch Distribution - Send multiple codes at once
Tracking and Monitoring
- Track which users registered with each code
- Monitor device connections per code
- View data and time usage statistics
- Audit code creation and deletion
Creating ShareCodes
Generate a Single Code
- Navigate to ShareCodes in the IronWifi Console
- Click Generate ShareCode
- Configure code settings:
- Code Format - Choose generation pattern
- Code Length - 4-32 characters
- User Limit - Max users per code
- Device Limit - Max devices per user
- Duration - Access duration in hours
- Expiration - Auto-delete after N days
- Optionally add:
- Description/notes
- Group assignment
- Organizational unit
- Click Generate
Generate Multiple Codes
- Navigate to ShareCodes
- Click Generate ShareCode
- Set Quantity to number of codes (1-1,000)
- Configure settings (applied to all codes)
- Click Generate
When generating many codes, consider using templates (see below) to save time on future generations.
Code Formats
Available Formats
| Format | Description | Example |
|---|---|---|
| Digits Only | Numbers only | 12345678 |
| Letters Only | Alphabetic characters | ABCDEFGH |
| Mixed | Letters and numbers | AB12CD34 |
| Custom | Specify your own code | GUEST2024 |
| Picture | Pattern-based (advanced) | XX99-XX99 |
Code Length
Choose length between 4-32 characters:
- Short codes (4-6) - Easy to type, less secure
- Medium codes (8-12) - Balance of usability and security
- Long codes (16+) - Maximum security, harder to share
Longer codes are more secure but harder for users to enter. For public WiFi, 8-12 characters is recommended.
ShareCode Properties
Basic Settings
| Field | Description | Range/Format |
|---|---|---|
| Code | The access code itself | 4-32 alphanumeric |
| Description | Optional notes about this code | Max 500 characters |
| Status | valid, used_data, used_time, expired | Auto-calculated |
Access Controls
| Field | Description | Default |
|---|---|---|
| User Limit | Max users who can register | Unlimited |
| Device Limit | Max devices per code | 5 |
| Active | Enable/disable the code | Enabled |
Usage Limits
| Field | Description | Format |
|---|---|---|
| Session Duration | Max connection time | 1-8,760 hours (1 year max) |
| Data Quota | Max data transfer | Bytes (0-10 TB) |
| Time Reset | Reset pattern for time limit | none, daily, weekly, monthly, yearly |
| Data Reset | Reset pattern for data limit | none, daily, weekly, monthly, yearly |
Expiration
| Field | Description | Range |
|---|---|---|
| Expiration Date | When code auto-deletes | 1-365 days from creation |
| Creation Date | When code was generated | Auto-set |
| Last Used | Most recent authentication | Auto-updated |
Managing ShareCodes
Viewing Your ShareCodes
- Navigate to ShareCodes
- View list showing:
- Code
- Status (valid/used/expired)
- Registered users
- Creation date
- Expiration date
- Use filters to find codes:
- Search by code or description
- Filter by status
- Sort by date or usage
Viewing ShareCode Details
- Click on a ShareCode in the list
- View comprehensive information:
- Usage Statistics - Data and time consumed
- Registered Users - Who used this code
- Connected Devices - Tracked by MAC address
- Session History - Authentication timeline
Editing a ShareCode
- Open the ShareCode details
- Click Edit
- Modify any of:
- Description/notes
- Active status (enable/disable)
- User limit
- Device limit
- Data quota
- Time limit
- Reset patterns
- Group assignment
- Click Save
Renaming a ShareCode creates a new code identifier. Users with the old code will need the new code to authenticate.
Disabling a ShareCode
Temporarily disable without deleting:
- Open the ShareCode details
- Click Disable
- Code status changes to inactive
- Users cannot authenticate with disabled codes
- Re-enable anytime by clicking Enable
Deleting a ShareCode
Permanently remove a ShareCode:
- Select ShareCode(s) to delete
- Click Delete
- Confirm deletion
- Code removed from system
- Registered users lose access
Deleting a ShareCode doesn't delete user accounts created with it. Users can no longer authenticate with the code, but their accounts remain.
Distribution Methods
Email Distribution
Send codes via email during generation:
- When generating codes, enable Email Delivery
- Enter recipient email address
- Optionally customize email template
- Codes sent automatically after generation
Email includes:
- The access code
- Usage instructions
- Expiration information
- Network name (SSID)
SMS Distribution
Send codes via text message:
- When generating codes, enable SMS Delivery
- Enter recipient phone number (10-15 digits)
- Codes sent via SMS immediately
SMS includes:
- The access code
- Brief usage instructions
- Expiration date
SMS delivery requires Twilio integration. Configure in Twilio Settings.
Manual Distribution
Share codes manually:
- Generate codes
- Copy codes from the ShareCodes list
- Share via:
- Printed handouts
- Posted signs
- Verbal communication
- Messaging apps
- Social media
- QR codes
Usage Tracking
View Code Usage
For each ShareCode, monitor:
User Registrations:
- Total users registered
- List of usernames
- Registration timestamps
Device Connections:
- Number of connected devices
- Device MAC addresses
- First seen / last seen dates
- Device status (active/inactive)
Session Statistics:
- Total session time consumed
- Total data transferred (uploaded + downloaded)
- Remaining quota (time and data)
- Reset schedule status
Status Indicators:
- valid - Code available for use
- used_data - Data quota consumed
- used_time - Time quota consumed
- expired - Past expiration date
Templates
Save frequently used configurations as templates for quick code generation.
Creating a Template
- When generating ShareCodes, enable Save as Template
- Enter a template name (e.g., "Event WiFi - 24hr")
- Generate codes
- Template saved with all settings
Using a Template
- Click Generate from Template
- Select saved template
- Optionally modify settings
- Generate codes with template configuration
Managing Templates
View Templates:
- Navigate to ShareCodes > Templates
- View all saved templates
Delete Template:
- Open template
- Click Delete Template
- Confirm deletion
Deleting a template doesn't delete codes generated from it. Templates and codes are independent.
Bulk Operations
Bulk Enable/Disable
Enable or disable multiple codes at once:
- Navigate to ShareCodes
- Select codes (up to 100)
- Click Bulk Actions > Enable or Disable
- Confirm action
Bulk Delete
Remove multiple codes simultaneously:
- Select codes to delete (up to 100)
- Click Delete Selected
- Confirm bulk deletion
Bulk Update
Update properties across multiple codes:
- Select codes (up to 100)
- Click Bulk Actions > Update
- Choose properties to modify:
- Active status
- Time limit
- Data limit
- Reset patterns
- Notes
- Apply changes
- Create: 100 codes per minute
- Update: 100 updates per minute
- Delete: 200 deletions per minute
- Bulk operations: Max 100 items per request
Usage Scenarios
Conference WiFi
Scenario: 500-person conference needing WiFi for 2 days
Setup:
- Generate 1 ShareCode
- Set user limit: 500
- Set device limit: 2 per user
- Duration: 48 hours
- Expiration: 3 days (auto-cleanup)
- Display code at venue
Result: All attendees use one code, automatic expiration after event.
Retail Customer WiFi
Scenario: Store offering customer WiFi
Setup:
- Generate 1 ShareCode
- Set no user limit
- Device limit: 1-2
- Duration: 4 hours per session
- Data limit: 500 MB per device
- Daily reset (new limits each day)
- Post code near entrance
Result: Customers get limited free WiFi, renewed daily.
Temporary Contractor Access
Scenario: 10 contractors need access for 1 month
Setup:
- Generate 10 unique ShareCodes
- Set user limit: 1 per code
- Device limit: 5 per contractor
- Duration: 720 hours (30 days)
- Email codes to contractors
- Assign to "Contractors" group
Result: Tracked individual access with automatic expiration.
Event Series
Scenario: Weekly meetup needing fresh codes
Setup:
- Create template: "Weekly Meetup"
- User limit: 50
- Duration: 4 hours
- Device limit: 2
- Expiration: 7 days
- Generate new code from template each week
- Email to organizer
Result: Consistent settings, unique code each event.
API Integration
ShareCodes can be managed programmatically via the IronWifi REST API.
API Endpoints
POST /api/{company_id}/sharecodes - Generate ShareCode(s)
GET /api/{company_id}/sharecodes - List all ShareCodes
GET /api/{company_id}/sharecodes/{id} - Get ShareCode details
PATCH /api/{company_id}/sharecodes/{id} - Update ShareCode
DELETE /api/{company_id}/sharecodes/{id} - Delete ShareCode
Generate ShareCodes
curl -X POST https://console.ironwifi.com/api/{company_id}/sharecodes \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"voucher_quantity": 10,
"voucher_format": "lettersdigits_password",
"voucher_length": 8,
"voucher_devices": 5,
"voucher_duration": 24,
"voucher_deletedate": 7,
"voucher_comment": "Conference WiFi",
"email_vouchers": true,
"email_vouchers_value": "admin@company.com"
}'
Response:
[
{
"id": "sharecode-uuid",
"username": "AB12CD34",
"code": "AB12CD34",
"link": "https://console.ironwifi.com/api/{company_id}/sharecodes/sharecode-uuid"
}
]
List ShareCodes
curl -X GET "https://console.ironwifi.com/api/{company_id}/sharecodes?page=1&page_size=25&filter=conf" \
-H "Authorization: Bearer YOUR_TOKEN"
Query Parameters:
filter- Search codes/descriptions (max 100 chars)page- Page number (default: 1)page_size- Items per page (1-1000, default: 25)sort- Sort field: creationdate, authdate, username, deletiondate, source, notesformat- Response format: json (default) or csv
Get ShareCode Details
curl -X GET https://console.ironwifi.com/api/{company_id}/sharecodes/{id} \
-H "Authorization: Bearer YOUR_TOKEN"
Response includes:
- Code details
- Usage statistics
- Registered users
- Connected devices
- Session limits
- Status
Update ShareCode
curl -X PATCH https://console.ironwifi.com/api/{company_id}/sharecodes/{id} \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"active": 1,
"notes": "Updated for extended event",
"total_time": 86400,
"total_data": 1073741824
}'
Updateable Fields:
active- 1 (enabled) or 0 (disabled)username- Rename code (4-32 alphanumeric)total_time- Session time limit (seconds)total_data- Data limit (bytes)time_reset_type- none, daily, weekly, monthly, yearlydata_reset_type- none, daily, weekly, monthly, yearlynotes- Description (max 500 chars)orgunit- Organizational unit ID
Bulk Update
Update multiple ShareCodes (comma-separated IDs, max 100):
curl -X PATCH https://console.ironwifi.com/api/{company_id}/sharecodes/id1,id2,id3 \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"active": 0,
"notes": "Expired - conference ended"
}'
Delete ShareCode
curl -X DELETE https://console.ironwifi.com/api/{company_id}/sharecodes/{id} \
-H "Authorization: Bearer YOUR_TOKEN"
Bulk Delete
Delete multiple ShareCodes (comma-separated IDs, max 100):
curl -X DELETE https://console.ironwifi.com/api/{company_id}/sharecodes/id1,id2,id3 \
-H "Authorization: Bearer YOUR_TOKEN"
Permissions
Access to ShareCode management is controlled by permissions:
| Permission | Access Level |
|---|---|
sharecodes.read | View ShareCodes and details |
sharecodes.full | Full access: create, update, delete |
Permission Requirements:
| Operation | Required Permission |
|---|---|
| List ShareCodes | sharecodes.read OR sharecodes.full |
| View details | sharecodes.read OR sharecodes.full |
| Generate codes | sharecodes.full |
| Update codes | sharecodes.full |
| Delete codes | sharecodes.full |
| Bulk operations | sharecodes.full |
Contact your administrator to request ShareCode management permissions.
Best Practices
1. Code Naming and Organization
Use Descriptive Notes:
- Include purpose: "Q1 2024 Sales Conference"
- Add expiration context: "Valid until Jan 31"
- Note distribution: "Emailed to attendees"
Organize by Groups:
- Assign ShareCodes to groups for consistent policies
- Use organizational units for hierarchical management
2. Security Considerations
Choose Appropriate Limits:
- Set reasonable user limits (avoid unlimited for public codes)
- Limit devices to prevent sharing beyond intended audience
- Use data quotas to prevent abuse
Use Expiration Dates:
- Always set expiration for temporary access
- Auto-cleanup keeps your ShareCode list manageable
- Reduces risk of old codes being misused
Disable When Not Needed:
- Disable codes between events rather than delete
- Easier to re-enable than recreate
- Preserves usage history
3. Distribution Strategy
For Large Events:
- Generate fewer codes with higher user limits
- Simplifies distribution and support
- Easier to track overall event usage
For Individual Access:
- Generate unique code per person
- Better tracking and accountability
- Can revoke individual access easily
Email vs SMS vs Manual:
- Email: Best for documented distribution
- SMS: Fastest for urgent access
- Manual: Good for publicly displayed codes
4. Template Usage
Create Templates For:
- Recurring events (weekly, monthly)
- Standard guest access policies
- Different access tiers (basic, premium)
- Department-specific codes
Template Best Practices:
- Use clear, descriptive template names
- Document template purpose in description
- Review and update templates quarterly
- Delete unused templates
5. Monitoring and Maintenance
Regular Reviews:
- Weekly: Check expiring codes
- Monthly: Audit code usage patterns
- Quarterly: Review and update templates
- Annually: Purge old unused codes
Usage Monitoring:
- Track codes approaching user limits
- Monitor data/time quota consumption
- Identify codes with unusual patterns
- Review registered users periodically
Troubleshooting
ShareCode Not Working
Possible causes:
- Code disabled or expired
- User limit reached
- Device limit exceeded
- Data or time quota consumed
Solution:
- Check code status in console
- Verify expiration date hasn't passed
- Check user registrations vs limit
- Review quota consumption
- Re-enable or extend limits as needed
Cannot Generate ShareCodes
Possible causes:
- Insufficient permissions (need
sharecodes.full) - Invalid parameters (quantity, length, format)
- Rate limit exceeded
Solution:
- Verify you have
sharecodes.fullpermission - Check code length is 4-32 characters
- Ensure quantity is 1-1,000
- Wait 60 seconds if rate limited
- Validate all input parameters
Email/SMS Not Delivered
Possible causes:
- Invalid email/phone format
- Email/SMS integration not configured
- Recipient blocked or bounced
- Rate limits on email/SMS service
Solution:
- Verify email format is valid
- Check phone number is 10-15 digits
- Confirm Email Settings configured
- Confirm Twilio Settings configured
- Check spam/junk folders for email
- Review SendGrid/Twilio logs
Users Cannot Register
Possible causes:
- Code expired or disabled
- User limit reached
- Network configuration issue
- Captive portal misconfigured
Solution:
- Verify code is active and valid
- Check user limit hasn't been reached
- Test code authentication yourself
- Review captive portal configuration
- Check network allows guest registration
Bulk Operation Failed
Possible causes:
- More than 100 codes selected
- Invalid code IDs
- Rate limit exceeded
- Insufficient permissions
Solution:
- Reduce selection to max 100 codes
- Verify all IDs are valid
- Wait 60 seconds and retry
- Ensure
sharecodes.fullpermission
Related Topics
- Vouchers - Individual access codes
- Captive Portals - Guest WiFi splash pages
- Users - User account management
- Groups - Access policies
- Twilio Integration - SMS delivery
- SendGrid Integration - Email delivery
FAQ
What's the difference between ShareCodes and Vouchers?
ShareCodes allow multiple users to register using the same code (user limit controls how many). Vouchers are typically single-use codes for individual users. ShareCodes are better for events and group access, while vouchers are better for tracked individual access.
How many users can use one ShareCode?
You control this with the user limit setting. You can allow unlimited users or restrict to a specific number (e.g., 50 users per code).
Do ShareCodes expire automatically?
Yes, if you set an expiration date. Codes auto-delete after the specified number of days. Additionally, codes become unusable when data or time quotas are consumed.
Can I reuse a deleted ShareCode?
Yes, the code itself can be generated again. However, the history and registrations from the previous code are not preserved.
How do data quotas work?
Data quotas track total bytes transferred (uploaded + downloaded). When the limit is reached, the code status changes to "used_data" and users cannot authenticate. Reset patterns (daily, weekly, etc.) allow the quota to refresh.
Can I change a ShareCode after creation?
You can modify properties like limits, expiration, and notes. However, changing the actual code string creates a new code - users would need the new code to authenticate.
How are devices tracked?
Each time a user authenticates with a ShareCode, their device MAC address is recorded. This allows you to see all devices using each code and enforce device limits.
What happens when user limit is reached?
New users cannot register with the ShareCode. Existing registered users can continue using their accounts. You can increase the user limit to allow more registrations.
Can I export ShareCode data?
Yes, use the CSV export format when listing ShareCodes via the API. This exports code details, creation dates, expiration, and status.
How do reset patterns work?
Reset patterns (daily, weekly, monthly, yearly) reset quotas at regular intervals. For example, a daily reset gives users fresh data/time limits each day, perfect for recurring access like retail customer WiFi.