Skip to main content

M3U Accounts

List M3U Accounts

curl -X GET https://your-instance.com/api/m3u/accounts/ \
  -H "Authorization: Bearer YOUR_TOKEN"
Returns all configured M3U accounts with their connection status and settings.
id
integer
Account ID
name
string
Account name
url
string
M3U playlist URL
is_active
boolean
Whether the account is active
last_refreshed
string
Timestamp of last refresh
stream_count
integer
Number of streams in this account

Create M3U Account

curl -X POST https://your-instance.com/api/m3u/accounts/ \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "IPTV Provider",
    "url": "http://example.com/playlist.m3u8",
    "is_active": true
  }'
name
string
required
Name for the M3U account
url
string
required
URL to M3U playlist
username
string
Username for authentication (if required)
password
string
Password for authentication (if required)
is_active
boolean
default:"true"
Whether to activate this account

Get M3U Account

curl -X GET https://your-instance.com/api/m3u/accounts/123/ \
  -H "Authorization: Bearer YOUR_TOKEN"

Update M3U Account

curl -X PUT https://your-instance.com/api/m3u/accounts/123/ \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Updated Provider Name",
    "is_active": false
  }'

Delete M3U Account

curl -X DELETE https://your-instance.com/api/m3u/accounts/123/ \
  -H "Authorization: Bearer YOUR_TOKEN"

M3U Account Profiles

List Account Profiles

curl -X GET https://your-instance.com/api/m3u/accounts/123/profiles/ \
  -H "Authorization: Bearer YOUR_TOKEN"
Returns all profiles configured for a specific M3U account.

Create Account Profile

curl -X POST https://your-instance.com/api/m3u/accounts/123/profiles/ \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "HD Profile",
    "description": "HD streams only"
  }'

Get Account Profile

curl -X GET https://your-instance.com/api/m3u/accounts/123/profiles/456/ \
  -H "Authorization: Bearer YOUR_TOKEN"

Update Account Profile

curl -X PUT https://your-instance.com/api/m3u/accounts/123/profiles/456/ \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Ultra HD Profile"
  }'

Delete Account Profile

curl -X DELETE https://your-instance.com/api/m3u/accounts/123/profiles/456/ \
  -H "Authorization: Bearer YOUR_TOKEN"

M3U Filters

List Filters

curl -X GET https://your-instance.com/api/m3u/accounts/123/filters/ \
  -H "Authorization: Bearer YOUR_TOKEN"
Returns all filters configured for a specific M3U account.
id
integer
Filter ID
name
string
Filter name
filter_type
string
Type of filter (include, exclude)
pattern
string
Filter pattern (regex supported)
enabled
boolean
Whether filter is active

Create Filter

curl -X POST https://your-instance.com/api/m3u/accounts/123/filters/ \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "HD Only",
    "filter_type": "include",
    "pattern": ".*HD.*",
    "enabled": true
  }'
name
string
required
Name for the filter
filter_type
string
required
Filter type: include or exclude
pattern
string
required
Pattern to match (supports regex)
enabled
boolean
default:"true"
Whether to enable this filter

Get Filter

curl -X GET https://your-instance.com/api/m3u/accounts/123/filters/789/ \
  -H "Authorization: Bearer YOUR_TOKEN"

Update Filter

curl -X PUT https://your-instance.com/api/m3u/accounts/123/filters/789/ \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "pattern": ".*UHD.*",
    "enabled": true
  }'

Delete Filter

curl -X DELETE https://your-instance.com/api/m3u/accounts/123/filters/789/ \
  -H "Authorization: Bearer YOUR_TOKEN"

Server Groups

List Server Groups

curl -X GET https://your-instance.com/api/m3u/server-groups/ \
  -H "Authorization: Bearer YOUR_TOKEN"
Returns all configured server groups for load balancing and failover.

Create Server Group

curl -X POST https://your-instance.com/api/m3u/server-groups/ \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Primary Servers",
    "priority": 1
  }'

Get Server Group

curl -X GET https://your-instance.com/api/m3u/server-groups/456/ \
  -H "Authorization: Bearer YOUR_TOKEN"

Update Server Group

curl -X PUT https://your-instance.com/api/m3u/server-groups/456/ \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "High Priority Servers",
    "priority": 0
  }'

Delete Server Group

curl -X DELETE https://your-instance.com/api/m3u/server-groups/456/ \
  -H "Authorization: Bearer YOUR_TOKEN"

M3U Refresh

Refresh All M3U Accounts

curl -X POST https://your-instance.com/api/m3u/refresh/ \
  -H "Authorization: Bearer YOUR_TOKEN"
Triggers a refresh of all active M3U accounts to fetch latest streams.
status
string
Refresh status (success, pending, failed)
message
string
Status message
refreshed_accounts
integer
Number of accounts refreshed

Refresh Single M3U Account

curl -X POST https://your-instance.com/api/m3u/refresh/123/ \
  -H "Authorization: Bearer YOUR_TOKEN"
Triggers a refresh of a specific M3U account.
account_id
integer
required
M3U account ID to refresh
status
string
Refresh status
message
string
Status message
streams_added
integer
Number of new streams added
streams_updated
integer
Number of streams updated
streams_removed
integer
Number of streams removed

Refresh Account Info

curl -X POST https://your-instance.com/api/m3u/refresh-account-info/456/ \
  -H "Authorization: Bearer YOUR_TOKEN"
Refreshes account information for a specific profile (e.g., subscription status, credits).
profile_id
integer
required
Profile ID to refresh account info for
status
string
Refresh status
account_info
object
Updated account information