Manual
Practical workflows for creating, reproducing, and sharing EPG data.
Create your first schedule
Open the Constructor, choose the channel and programme counts, then use Preview XML to inspect the result. The central programme represents the current slot; past and future counts can be overridden independently.
When the preview is correct, copy the generator URL, open the XML response, or download it as a file.
Programme images can use the built-in pool, one custom URL, or be omitted entirely. To test irregular schedules, edit a preview row and set its duration or the empty gap before the next programme.
Reproduce the same EPG
Set anchor time to fix programme boundaries and seed to stabilize titles, catalog entries, ratings, censorship, blackouts, programme IDs, and other generated metadata. Using both produces byte-identical XML for the same configuration.
Both values are also required before individual programmes can be edited in preview. Those edits are stored as stable URL overrides.
Choose the content source
Custom text mode repeats your title and description templates. Realistic catalog mode uses a local, deterministic TVmaze-derived snapshot with real series and episode metadata. Seed catalog mode when a test must be reproducible.
Use short URLs recommended for Ministra
Ministra may truncate long epg_source values. Save the
Constructor configuration as a permanent /g/{opaque-id}
URL instead. The public short URL generates XML without authentication.
Sign in through the short-lived Admin session to create or update a preset. Use Presets for search, revision history, rollback, and deletion. Import a short URL into the Constructor to edit the linked preset or use it as a detached template.
Migrate a legacy v1 URL
Paste an existing /get_xml_tv URL into
Import from URL. The Constructor converts supported
values to the v2 format and reports parameters that need attention.
Review the generated URL before replacing the legacy source.
Integrate without the Constructor
Call the current endpoint directly when building automated tests:
curlcurl "http://{host}:{port}/xmltv?tv_count=1&programme_count=10&minute=60&gmt_time=3"
Invalid parameters return HTTP 400 with a JSON error object. See the API Reference for the complete parameter, limit, and generated-field catalog.
Check service availability
Infrastructure liveness probes can call:
curlcurl http://{host}:{port}/health_check
A healthy service responds with HTTP 200, text/plain,
and body OK.