Panelr

Get Lines

GET ?action=get_lines

Returns all lines (activations) with credentials and bouquet assignments. Each row is shaped by the service the line lives on: a line on a service with a playlist editor returns bouquets grouped by live/vod/series, one on a plain panel returns a flat bouquet_ids. Add &plugin_id= to ask for one service's lines. Add &customer_email= (or &customer_id=) to get one customer's lines only — the way a storefront shows someone their own subscriptions. Without either, every line is returned: that is the admin view.

Request Parameters

FieldTypeRequiredDescription
plugin_idintegerOptionalOnly lines on this service
customer_emailstringOptionalOnly this customer's lines (linked to their login, or still carrying this address)
customer_idintegerOptionalSame, by customer id. An unknown id is a 404

Response Fields

FieldTypeDescription
idintegerActivation ID
xtream_usernamestringXtream panel username
xtream_passwordstringXtream panel password
xtream_hoststring|nullXtream panel host URL
mac_addressstring|nullMAC address (MAC connection type only)
m3u_urlstring|nullGenerated M3U playlist URL
epg_urlstring|nullGenerated EPG URL
customer_emailstringCustomer email address
customer_namestring|nullCustomer full name
statusstringactive, trial_active, expired, suspended, canceled
expiration_datestring|nullExpiration datetime UTC
activated_atstring|nullActivation datetime UTC
product_idinteger|nullLinked Panelr product ID
connection_typestringm3u or mac
providerstring|nullThe service's name as it was when the line was created — display only. Use plugin_id to identify the service.
plugin_idinteger|nullThe service this line lives on — see get_plugins. Two services may hand out the same username, so this is what tells them apart.
plugin_namestring|nullWhat the store owner currently calls that service
product_namestring|nullThe plan the line is on
portal_labelstring|nullThe customer's own name for the line ("Living Room"), set via update_customer
is_trialbooleanTrue when the line began as a free trial
host_idinteger|nullAssigned host ID
panel_user_idstring|nullPanel user identifier
reseller_notesstring|nullInternal reseller notes
editor_idstring|nullEditor line ID (when editor configured)
editor_usernamestring|nullEditor credentials username (when editor configured)
editor_passwordstring|nullEditor credentials password (when editor configured)
bouquetsobjectPer-category bouquet IDs — editor mode only. See Bouquet Structure below.
bouquet_idsarrayFlat bouquet ID array — no editor mode only

Bouquet Structure

When an editor is configured, bouquets are returned per-category. An empty array for a category means all bouquets in that category are active (current and future).

// Editor configured:
"bouquets": { "live": [101, 102], "vod": [], "series": [] }

// No editor:
"bouquet_ids": [101, 102]