Videos

Import video slots from CSV

Uploads a CSV file, downloads the referenced media, and configures the available video slots. Partial success: this call returns HTTP 200 even when some or all rows are rejected. Read imported, results and errors[] and never infer success from the status code — rows breaking the 3-videos-per-day cap or the minimum lead time fail individually while the rest succeed. An auto_publish failure never fails the request; inspect auto_publish.blockers, and auto_publish.adjusted_videos when a stale date was moved forward at publish time. The date column is target_publish_start_date (note the name: the JSON endpoints call the same value target_publish_date) and it is the FIRST day of a 2-day window — the end is derived as that day + 1, so a target_publish_end_date column is refused with CSV_PARSE_ERROR rather than dropped. auto_publish is a form field on the multipart body and covers the whole import. Coverage is checked before TokPortal fetches or stores any referenced media. Requires active TokPortal Coverage on the resolved saved account, or permanent grandfathering: a due period renews automatically at the account's stored rate immediately before execution, and nothing starts if it cannot renew. See getAccountManagedSubscription.

post/bundles/{id}/videos/import-csv

Request

  • Base URL: https://app.tokportal.com/api/ext
  • URL: https://app.tokportal.com/api/ext/bundles/{id}/videos/import-csv
  • Auth: API key in header X-API-Key

Path parameters

idstring uuid required

Bundle ID.

Headers

X-TokPortal-Dry-Run'true' | '1' | 'yes'

Send true (or 1/yes) to SIMULATE this call instead of executing it. A dry run performs the full validation and pricing path of the real operation and stops before the first write: no credits are debited, no rows are created, no webhooks fire, and no operator ever sees it. The response has the same shape and status as the real call and adds dry_run: true, dry_run_notice, and — on credit-spending operations — credits_would_charge carrying the real price. Errors are identical to the real call, which is the point: this is how you learn what an operation will do before paying for it. Rate limits are consumed normally, a supplied Idempotency-Key is ignored rather than burned, and identifiers returned by a dry run are synthetic (see DRY_RUN_ID_IN_LIVE_REQUEST).

Response

CSV import result.

object required

Changes

No recorded changes to this operation across all 1 revision of this API.