Skip to Content
eventdoordocs home

Bulk upsert broadcasts

POST
/organizations/{orgSlug}/hubs/{hubSlug}/broadcasts/bulk-upsert

Create or update multiple broadcasts in a single request (e.g. a CSV import/round-trip). An operation with an id updates that broadcast in place; without one it creates a new broadcast. Each operation is processed independently (best-effort). Returns 207 with per-item results keyed by an optional client-supplied ref.

Authorization

ApiCredential
headerAuthorizationBearer <edk_<id>_<secret>>

A scoped API credential (edk_...), issued in the admin under Settings > Integrations and sent as Authorization: Bearer edk_.... Its level, scope and refusals are in Authentication; its rate limit and the 429 response are in Errors.

Path Parameters

orgSlug*string
hubSlug*string

Request Body

application/json
  1. body
operations*array<>
Items1 <= items <= 50

Response Body

Multi-status response with per-item results

application/json
  1. response
results*array<>
Example Request
curl -X POST "$EVENTDOOR_API/organizations/acme/hubs/home-games/broadcasts/bulk-upsert" \
  -H "Authorization: Bearer $EVENTDOOR_TOKEN" \
  -H 'Content-Type: application/json' \
  -d '{
  "operations": [
    {
      "broadcast": {
        "title": "string"
      }
    }
  ]
}'
Example Response
{
  "results": [
    {
      "ref": "string",
      "status": 0,
      "broadcast": {
        "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
        "mode": "live",
        "kind": "live",
        "hubId": "f4636d70-a85d-42d1-9299-df21b1467acd",
        "organizationId": "7bc05553-4b68-44e8-b7bc-37be63c6d9e9",
        "vodId": "636916d7-6441-4ec9-979c-6e434b8f65ca",
        "attachedVod": {
          "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
          "status": "pending",
          "videoUrl": "string",
          "videoDuration": 0,
          "posterUrl": "string",
          "source": "upload",
          "fileName": "string",
          "xcodeUploadId": 0,
          "originalArchiveAvailable": true,
          "archiveReplacedAt": "2019-08-24T14:15:22Z"
        },
        "clipStartsAt": "2019-08-24T14:15:22Z",
        "clipEndsAt": "2019-08-24T14:15:22Z",
        "archiveStartedAt": "2019-08-24T14:15:22Z",
        "endedAt": "2019-08-24T14:15:22Z",
        "endedBy": "string",
        "endReason": "string",
        "archiveAttemptedAt": "2019-08-24T14:15:22Z",
        "programId": "bc59f66b-913a-48ec-ae2b-7ee29d7bcfbb",
        "activeProgramId": "a0295b95-6947-449e-8c5d-ad4c6fef1acb",
        "hub": {
          "name": "string",
          "slug": "string"
        },
        "organization": {
          "name": "string",
          "slug": "string",
          "avatarUrl": "string"
        },
        "title": "string",
        "slug": "string",
        "description": "string",
        "posterUrl": "string",
        "generatedPosterUrl": "string",
        "posterBakeFailed": true,
        "graphicsTemplateId": "67d00d5f-2d4f-4c08-8270-1a32c67eb9e1",
        "useGeneratedPoster": true,
        "streamId": "22cb260b-fac8-4ce4-8488-8f1949304300",
        "startsAt": "2019-08-24T14:15:22Z",
        "endsAt": "2019-08-24T14:15:22Z",
        "timezone": "string",
        "archiveEnabled": true,
        "visibility": "published",
        "archivePreRollMinutes": 0,
        "archivePostRollMinutes": 0,
        "live": true,
        "manifestUrl": "string",
        "defaultStreamPublicKey": "string",
        "streams": [
          {
            "live": true,
            "manifestUrl": "string",
            "previewManifestUrl": "string",
            "snapshotUrl": "string",
            "ingress": {
              "rtmp": "string",
              "webrtc": "string"
            },
            "transcode": true,
            "authType": "string",
            "appData": "string",
            "rtmpPush": "string",
            "mode": "string",
            "name": "string",
            "publicKey": "string",
            "authKey": "string",
            "streamKey": "string",
            "projectId": "string"
          }
        ],
        "tags": [
          {
            "category": {
              "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
              "slug": "string",
              "name": "string"
            },
            "values": [
              {
                "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
                "slug": "string",
                "label": "string"
              }
            ]
          }
        ],
        "collectionItems": [
          {
            "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
            "collectionId": "0ffe69e2-b7af-4b1e-835c-867376165f50",
            "collection": {
              "name": "string",
              "slug": "string",
              "category": {
                "name": "string",
                "slug": "string"
              }
            },
            "type": {
              "slug": "string",
              "name": "string",
              "system": true,
              "imageStyle": "avatar",
              "icon": "string"
            },
            "entityId": "156e622c-6cdf-4c27-9bc9-2f2db69919f5",
            "name": "string",
            "slug": "string",
            "description": "string",
            "avatarUrl": "string",
            "bannerUrl": "string",
            "location": "string",
            "colors": {
              "primary": "string",
              "secondary": "string"
            },
            "fieldValues": {},
            "position": "string",
            "tags": [
              {
                "category": {
                  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
                  "slug": "string",
                  "name": "string"
                },
                "values": [
                  {
                    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
                    "slug": "string",
                    "label": "string"
                  }
                ]
              }
            ],
            "created": "2019-08-24T14:15:22Z",
            "streams": [
              {
                "live": true,
                "manifestUrl": "string",
                "previewManifestUrl": "string",
                "snapshotUrl": "string",
                "ingress": {
                  "rtmp": "string",
                  "webrtc": "string"
                },
                "transcode": true,
                "authType": "string",
                "appData": "string",
                "rtmpPush": "string",
                "mode": "string",
                "name": "string",
                "publicKey": "string",
                "authKey": "string",
                "streamKey": "string",
                "projectId": "string"
              }
            ],
            "entity": {},
            "gate": {
              "tier": "free",
              "origin": "direct",
              "gatedContentType": "broadcast",
              "gatedContentId": "6a2155c7-3a80-4718-80d0-2c42044f9b75",
              "label": "string",
              "buttonLabel": "string",
              "showPrice": true,
              "unitAmount": 0,
              "currency": "string",
              "recurringInterval": "day"
            },
            "organizations": [
              {
                "name": "string",
                "slug": "string",
                "avatarUrl": "string"
              }
            ],
            "qualifier": {
              "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
              "key": "string",
              "label": "string"
            }
          }
        ],
        "madeFrom": {
          "sourceBroadcastId": "e5e6245b-b89a-437f-aaeb-91152fc85658",
          "sourceTitle": "string",
          "sourceDeleted": true,
          "sourceSlug": "string",
          "sourceHubSlug": "string",
          "startTime": "2019-08-24T14:15:22Z",
          "endTime": "2019-08-24T14:15:22Z"
        },
        "isMadeReplay": true,
        "gate": {
          "tier": "free",
          "origin": "direct",
          "gatedContentType": "broadcast",
          "gatedContentId": "6a2155c7-3a80-4718-80d0-2c42044f9b75",
          "label": "string",
          "buttonLabel": "string",
          "showPrice": true,
          "unitAmount": 0,
          "currency": "string",
          "recurringInterval": "day"
        },
        "created": "2019-08-24T14:15:22Z",
        "updated": "2019-08-24T14:15:22Z"
      },
      "error": {
        "code": "string",
        "message": "string",
        "invalidFields": [
          {
            "name": "string",
            "reason": "string",
            "errorCode": "string"
          }
        ]
      }
    }
  ]
}