Files
xtream-codes-api-documentation/ENDPOINT_REFERENCE.md
T

198 lines
6.8 KiB
Markdown
Raw Normal View History

# Xtream Codes API - Quick Endpoint Reference
## Player API (`/player_api.php`)
| Action | Method | Required Params | Description |
|--------|--------|-----------------|-------------|
| (default) | GET | username, password | Get user info & server info |
| get_live_categories | GET | username, password | List live TV categories |
| get_live_streams | GET | username, password, [category_id] | List live channels |
| get_vod_categories | GET | username, password | List VOD/movie categories |
| get_vod_streams | GET | username, password, [category_id] | List movies |
| get_vod_info | GET | username, password, vod_id | Get movie details |
| get_series_categories | GET | username, password | List series categories |
| get_series | GET | username, password, [category_id] | List TV series |
| get_series_info | GET | username, password, series_id | Get series details & episodes |
| get_short_epg | GET | username, password, stream_id, [limit] | Get current EPG for channel |
| get_simple_data_table | GET | username, password, stream_id | Get EPG in table format |
---
## Panel API (`/panel_api.php`)
| Action | Method | Required Params | Description |
|--------|--------|-----------------|-------------|
| (default) | GET | username, password | Get full data (user, server, categories, channels) |
| get_epg | GET | username, password, stream_id | Get EPG for stream |
---
## Admin API (`/api.php`)
**Note:** IP-restricted to authorized server IPs only.
### Server Management
| Sub-action | Required Params | Description |
|------------|-----------------|-------------|
| server/list | - | List all servers |
### Stream Management
| Sub-action | Required Params | Description |
|------------|-----------------|-------------|
| stream/start | stream_id | Start stream |
| stream/stop | stream_id | Stop stream |
| stream/list | - | List all streams |
| stream/online | - | List online streams |
| stream/offline | - | List offline streams |
### VOD Management
| Sub-action | Required Params | Description |
|------------|-----------------|-------------|
| vod/start | stream_id | Start VOD encoding |
| vod/stop | stream_id | Stop VOD encoding |
### User Management
| Sub-action | Required Params | Description |
|------------|-----------------|-------------|
| user/info | user_id OR username | Get user info |
| user/create | username, password, [many optional] | Create user |
| user/edit | user_id, [fields to update] | Edit user |
### STB/MAG Management
| Sub-action | Required Params | Description |
|------------|-----------------|-------------|
| stb/info | mag_id OR mac | Get STB info |
| stb/create | mac, user_id | Create STB |
| stb/edit | mag_id, [fields to update] | Edit STB |
### Reseller Management
| Sub-action | Required Params | Description |
|------------|-----------------|-------------|
| reg_user/list | - | List resellers |
| reg_user/credits | reg_user_id | Get reseller credits |
---
## MAG Portal API (`/portal.php`)
### STB Actions (`type=stb`)
| Action | Required Params | Description |
|--------|-----------------|-------------|
| handshake | mac | Initial handshake, get token |
| get_profile | - | Get device profile |
| get_modules | - | Get available modules |
| get_localization | - | Get language strings |
| get_locales | - | Get available locales |
| get_timezones | - | Get timezones |
| get_preload_images | gmode | Get theme images |
| get_settings_profile | - | Get settings |
| set_volume | vol | Set volume |
| set_locale | locale | Set locale |
| set_parent_password | pass, repeat_pass | Set parental password |
| set_playback_buffer | playback_buffer_bytes, playback_buffer_size | Set buffer |
### ITV Actions (`type=itv`)
| Action | Required Params | Description |
|--------|-----------------|-------------|
| get_genres | - | Get live categories |
| get_ordered_list | [genre, sortby, fav] | Get channel list |
| get_all_channels | - | Get all channels |
| get_all_fav_channels | [genre] | Get favorite channels |
| create_link | cmd | Generate stream URL |
| get_short_epg | ch_id | Get EPG for channel |
| get_epg_info | [period] | Get full EPG |
| set_fav | fav_ch | Set favorites (comma-separated) |
| get_fav_ids | - | Get favorite IDs |
| set_last_id | id | Set last watched |
### VOD Actions (`type=vod`)
| Action | Required Params | Description |
|--------|-----------------|-------------|
| get_categories | - | Get VOD categories |
| get_ordered_list | [category, sortby, search, abc, genre, years, fav] | Get movies |
| create_link | cmd, [series] | Generate VOD URL |
| set_fav | video_id | Add to favorites |
| del_fav | video_id | Remove from favorites |
| get_years | - | Get available years |
| get_abc | - | Get alphabet filter |
### Series Actions (`type=series`)
| Action | Required Params | Description |
|--------|-----------------|-------------|
| get_categories | - | Get series categories |
| get_ordered_list | [category, sortby, search, movie_id] | Get series |
| set_fav | video_id | Add to favorites |
| del_fav | video_id | Remove from favorites |
### Watchdog Actions (`type=watchdog`)
| Action | Required Params | Description |
|--------|-----------------|-------------|
| get_events | - | Get pending events |
| confirm_event | event_active_id | Confirm event |
---
## Enigma2 API (`/enigma2.php`)
| Type | Required Params | Description |
|------|-----------------|-------------|
| (default) | username, password | Main menu |
| get_live_categories | username, password | Live categories |
| get_live_streams | username, password, [cat_id] | Live streams |
| get_vod_categories | username, password | VOD categories |
| get_vod_streams | username, password, [cat_id] | VOD streams |
| get_series_categories | username, password | Series categories |
| get_series | username, password, [cat_id] | Series list |
| get_seasons | username, password, series_id | Season list |
| get_series_streams | username, password, series_id, season | Episodes |
---
## Streaming Endpoints
### Live Streaming
```
GET /live/{username}/{password}/{stream_id}.ts
GET /live/{username}/{password}/{stream_id}.m3u8
GET /{username}/{password}/{stream_id}
```
### VOD Streaming
```
GET /movie/{username}/{password}/{stream_id}.{ext}
Extensions: mp4, mkv, avi, 3gp, flv, wmv, mov, ts
```
### Series Streaming
```
GET /series/{username}/{password}/{stream_id}.{ext}
```
### Timeshift/Catchup
```
GET /timeshift/{username}/{password}/{duration}/{start}/{stream_id}
GET /timeshift/{username}/{password}/{duration}/{start}/{stream_id}.m3u8
Start format: YYYY-MM-DD:HH-MM or YYYYMMDD-HH
```
### HLS Segments
```
GET /hls/{username}/{password}/{stream_id}/{segment}.ts
```
---
## Other Endpoints
### XMLTV/EPG
```
GET /xmltv.php?username={user}&password={pass}&prev_days=1&next_days=3
```
### Playlist Generator
```
GET /get.php?username={user}&password={pass}&type=m3u_plus&output=ts
Types: m3u, m3u_plus, m3u8
Outputs: ts, m3u8, rtmp
```