# Video Stream Subscriptions

These endpoints allow a user to subscribe to a video feed. In subscribing to the feed they either:

* \- provide a URL where the video is to be sent (in the case of RTMP)
* \- receive a URL where the video can be consumed (in the case of HLS)

A content of PROGRAM is needed to use any setup video overlay. The locale is set against the input that the subscription matches, but also the locale must be the same as the competition configuration. It will take the format of en-EN for example.

## List video stream subscriptions

> Display the list of video stream subscriptions for fixtures.

```json
{"openapi":"3.0.0","info":{"title":"DataCore API  - Football","version":"v1"},"tags":[{"name":"Video Stream Subscriptions","description":"These endpoints allow a user to subscribe to a video feed.\nIn subscribing to the feed they either:\n    <ul>\n    <li>- provide a URL where the video is to be sent (in the case of RTMP)\n    <li>- receive a URL where the video can be consumed (in the case of HLS)\n    </ul>\nA content of PROGRAM is needed to use any setup video overlay.\nThe locale is set against the input that the subscription matches, but also the locale must be the same as the competition configuration. It will take the format of en-EN for example.\n"}],"servers":[{"url":"https://api.dc.connect.sportradar.com/v1","description":"Production server"},{"url":"https://api.dc.stg.connect-nonprod.sportradar.dev/v1","description":"NonProduction/Staging server"}],"security":[{"OAuth2":["read:organization"]}],"components":{"securitySchemes":{"OAuth2":{"type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"/oauth/token","scopes":{"orgId":"Authenticate based on a specific OrganizationId","read:orggroup":"Read data over multiple organizations using and *orggroup* code","write:organization":"Write/Update any data from below the organization","read:organization":"Read any data from the organization down","write:admin":"Perform administration API calls","write:admin_organization":"Ability to manage organizations","write:system":"Perform system configuration API calls"}}},"description":"You can create a JSON Web Token (JWT) using the [token](http://developer.connect.sportradar.com/token/#operation/getToken) API call. Each token is given a set of scopes/permissions. Each endpoint has a scope/permission that it requires to run.  If your token does not possess the correct scope then you will be unable to make the API call."}},"schemas":{"ResponseMetaData":{"type":"object","properties":{"version":{"type":"integer","description":"The version of the API in use for this call"},"codeVersion":{"type":"string","description":"A string indicating the version of the code that handled this request"},"code":{"type":"integer","description":"The HTTP response code for this request"},"time":{"type":"string","format":"date-time","description":"The date/time this request was made (in UTC)."},"fromCache":{"type":"boolean","description":"Was this request served directly from the cache?"},"count":{"type":"integer","description":"The number of records being returned"},"limit":{"type":"integer","description":"The record limit in place for this request"},"offset":{"type":"integer","description":"The record offset in place for this request"},"generationTime":{"type":"number","format":"float","description":"The number of seconds taken to generate this request."}}},"ResponseLinks":{"type":"object","properties":{"self":{"type":"string","format":"uri","description":"The URI referencing this request."},"next":{"type":"string","format":"uri","description":"The URI referencing the 'next' page, if more data is available."},"previous":{"type":"string","format":"uri","description":"The URI referencing the 'previous' page, if the request is not on the first page."}}},"IncludedData":{"type":"object","description":"Available if the request used the 'include' parameter.  It contains extra data about resources found in the data block.","properties":{"resources":{"type":"object","additionalProperties":{"description":"The type of resource","type":"object","enum":["league","organisation","persons"],"additionalProperties":{"type":"object","format":"uuid","description":"The id of the resource","additionalProperties":{"description":"The model for the resource as defined by the type and id"}}}}}},"Video_SubscriptionsModel":{"type":"object","additionalProperties":false,"properties":{"subscriptionId":{"description":"The unique identifier of the video stream subscription","type":"string","format":"uuid"},"organizationId":{"description":"The unique identifier of the organization","type":"string","readOnly":true},"organization":{"properties":{"resourceType":{"type":"string","enum":["organizations"]},"id":{"description":"Unique identifier for this resource","type":"string"}},"description":"The organization that this video subscription belongs to","type":"object"},"customerId":{"description":"Customer of the subscription","type":"integer","format":"int32","nullable":true},"fixtureId":{"description":"The unique identifier of the match","type":"string","format":"uuid"},"fixture":{"properties":{"resourceType":{"type":"string","enum":["fixtures"]},"id":{"description":"Unique identifier for this resource","type":"string"}},"description":"The match","type":"object"},"provider":{"description":"Provider of the input","type":"string","maxLength":100},"locale":{"description":"The locale of the video that matches the input","type":"string","minLength":5,"maxLength":5,"pattern":"^[a-z]{2,2}-[A-Z]{2,2}$"},"sourceNumber":{"description":"Unique identifier for the video source. This is unique for the provider/fixtureId/locale combination.  Unless the provider is supplying multiple sources per fixture/locale then this is normally 1.","type":"integer","format":"int32","default":1},"feedType":{"description":"Type of video input\n>- `ADDITIONAL_ANGLE` Additional angle\n>- `LOW_LATENCY` Low Latency\n>- `PRIMARY` Primary\n","type":"string","enum":["PRIMARY","ADDITIONAL_ANGLE","LOW_LATENCY"],"maxLength":30},"outputResolution":{"description":"The resolution that you want to receive the video in.  This is only valid if outputFormat is `RTMP`.  If outputFormat is not `RTMP` then the output resolution is the same as the input resolution.  If specified the output resolution cannot be higher than the input resolution. You must have specific permission to chose anything other than 720p or 1080p.\n>- `1080` 1920x1080\n>- `1080@50fps` 1920x1080 50fps\n>- `1080i50@10M` SRT 1080i50@10M\n>- `1080p25@10M` SRT 1080p25@10M\n>- `1080p50@10M` SRT 1080p50@10M\n>- `1280x720@2000k` 1280x720@2000k\n>- `1280x720@3000k` 1280x720@3000k\n>- `1280x720@3000k25fps` 1280x720@3000k25fps\n>- `1920x1080@4000k` 1920x1080@4000k\n>- `1920x1080@4000k25fps` 1920x1080@4000k25fps\n>- `1920x1080@4500k` 1920x1080@4500k\n>- `1920x1080@5000k30fps` 1920x1080@5000k30fps\n>- `2000` 2000\n>- `288` 512x288\n>- `640x320@850k` 640x320@850k\n>- `720` 1280x720\n>- `DESKTOP_384x216@280k` DESKTOP_384x216@280k\n>- `DESKTOP_512x288@500k` DESKTOP_512x288@500k\n>- `DESKTOP_768x432@1000k` DESKTOP_768x432@1000k\n>- `MOBILE_320x180@102k` MOBILE_320x180@102k\n>- `MOBILE_320x180@102k_BUFFERED` MOBILE_320x180@102k_BUFFERED\n>- `MOBILE_320x180@232k` MOBILE_320x180@232k\n>- `MOBILE_320x180@232k_BUFFERED` MOBILE_320x180@232k_BUFFERED\n>- `MOBILE_480x270@464k` MOBILE_480x270@464k\n>- `MOBILE_480x270@464k_BUFFERED` MOBILE_480x270@464k_BUFFERED\n>- `MOBILE_768x432@1000k` MOBILE_768x432@1000k\n>- `MOBILE_768x432@1000k_BUFFERED` MOBILE_768x432@1000k_BUFFERED\n","type":"string","enum":["288","720","1080","1080@50fps","2000","DESKTOP_768x432@1000k","DESKTOP_512x288@500k","DESKTOP_384x216@280k","MOBILE_768x432@1000k","MOBILE_480x270@464k","MOBILE_320x180@232k","MOBILE_320x180@102k","1920x1080@4000k","1280x720@2000k","640x320@850k","1280x720@3000k25fps","1920x1080@4000k25fps","1920x1080@4500k","1280x720@3000k","1920x1080@5000k30fps","MOBILE_768x432@1000k_BUFFERED","MOBILE_480x270@464k_BUFFERED","MOBILE_320x180@232k_BUFFERED","MOBILE_320x180@102k_BUFFERED","1080i50@10M","1080p25@10M","1080p50@10M"],"maxLength":30},"outputFormat":{"description":"The output format\n>- `HLS` HLS (HTTP Live Streaming)\n>- `RTMP` RTMP (Real-Time Messaging Protocol)\n>- `RTMP_PULL` RTMP Pull (Real-Time Messaging Protocol - Pull)\n>- `SRT` SRT (Secure Reliable Transport)\n","type":"string","enum":["RTMP","RTMP_PULL","HLS","SRT"],"maxLength":30},"streamName":{"description":"The stream name/stream key of the RTMP destination. This is a unique/secret identifier provided by the stream destination platform - not a text description.","type":"string","maxLength":250,"pattern":"^[0-9A-Za-z.:/&_?=\\-;@]*$"},"outputURL":{"description":"The URL to send the output to. Only valid if outputFormat is 'RTMP' or 'SRT'","type":"string","maxLength":200,"pattern":"^[0-9A-Za-z.:/&_?=\\-;@]*$"},"audio":{"description":"Audio\n>- `AMBIENCE` Only ambience / crowd noise\n>- `BOTH` Both combined\n>- `BOTH_SPLIT_LR` Both (Ambience left channel, Commentary right channel)\n>- `COMMENTARY` Only commentary\n","type":"string","enum":["COMMENTARY","AMBIENCE","BOTH","BOTH_SPLIT_LR"],"maxLength":30,"default":"BOTH"},"content":{"description":"Content of the stream\n>- `CLEAN` Output signal is the same as the input signal\n>- `PROGRAM` Score overlays and other enhancements have been added to the stream\n","type":"string","enum":["CLEAN","PROGRAM"],"maxLength":30},"muxRate":{"description":"The muxRate of the stream. Required for SRT outputFormat only.","type":"integer","format":"int32"},"subscriptionName":{"description":"The name of the subscription","type":"string","maxLength":250},"updated":{"description":"Date/time last modified. In UTC","type":"string","format":"date-time","readOnly":true},"added":{"description":"Date/time added. In UTC","type":"string","format":"date-time","readOnly":true}},"title":"video subscription model"},"ErrorModel":{"type":"object","properties":{"code":{"type":"integer","description":"HTTP Error code indicating the type of error.  If there are multiple errors, then this will be the code of the first one.","format":"int32"},"message":{"type":"string","description":"A message indicating the reason for the error. If there are multiple errors, then this is the message for the first one."},"errors":{"type":"array","items":{"$ref":"#/components/schemas/ErrorListModel"}}}},"ErrorListModel":{"type":"object","properties":{"code":{"type":"integer","description":"HTTP Error code indicating the type of error.","format":"int32"},"reason":{"enum":["INVALID_DATA","NOT_FOUND","NOT_AUTHORISED","ERROR","DELETE_ERROR"],"description":"A short code indicating the type of error"},"message":{"type":"string","description":"A message indicating the reason for the error"},"rowNumber":{"type":"integer","description":"The row number of the payload that cause the error","format":"int32"}}}},"responses":{"ErrorResponse":{"description":"Error","content":{"application/json":{"schema":{"type":"object","properties":{"meta":{"$ref":"#/components/schemas/ResponseMetaData"},"error":{"$ref":"#/components/schemas/ErrorModel"}}}}}}},"parameters":{"added":{"name":"added","description":"Record was added after this date/time. In UTC.","schema":{"type":"string","format":"date-time"},"required":false,"in":"query"},"external":{"name":"external","description":"A comma separated list of fields that will instead be interpreted as an externalId. See [External Ids](#section/Introduction/External-Ids) for more information.","schema":{"type":"string"},"required":false,"in":"query"},"fields":{"name":"fields","description":"A comma separated list of fields to display.  The response will only display these fields. See [Partial Response](#section/Partial-Response) section for more information.","schema":{"type":"string"},"required":false,"in":"query"},"fixtureId":{"name":"fixtureId","description":"The unique identifier of the fixture","schema":{"type":"string","format":"uuid"},"required":false,"in":"query"},"fromTimeUTC":{"name":"fromTimeUTC","description":"Where match start time (in UTC) >= this value","schema":{"type":"string","format":"date-time"},"required":false,"in":"query"},"hideNull":{"name":"hideNull","description":"Don't display data fields with null values or empty structures","schema":{"type":"boolean"},"required":false,"in":"query"},"include":{"name":"include","description":"A comma separated list of resource types to include. See [Resource Inclusion](#section/Introduction/Resource-Inclusion) for more information.","schema":{"type":"string"},"required":false,"in":"query"},"includeTotalCount":{"name":"includeTotalCount","description":"Include the total number of records matching the filters.","schema":{"type":"boolean"},"required":false,"in":"query"},"limit":{"name":"limit","description":"The maximum number of records to return. See [Pagination](#section/Introduction/Pagination) for more information.","schema":{"type":"integer","format":"int32","maximum":1000,"minimum":1,"default":10},"required":false,"in":"query"},"offset":{"name":"offset","description":"The offset of the records. See [Pagination](#section/Introduction/Pagination) for more information.","schema":{"type":"integer","format":"int32"},"required":false,"in":"query"},"onlyUpcoming":{"name":"onlyUpcoming","description":"Do not show data for completed matches and those older than 12 hours","schema":{"type":"boolean"},"required":false,"in":"query"},"seasonId":{"name":"seasonId","description":"The unique identifier of the season","schema":{"type":"string","format":"uuid"},"required":false,"in":"query"},"toTimeUTC":{"name":"toTimeUTC","description":"Where match start time (in UTC) <= this value","schema":{"type":"string","format":"date-time"},"required":false,"in":"query"},"updated":{"name":"updated","description":"Record was modified after this date/time. In UTC.","schema":{"type":"string","format":"date-time"},"required":false,"in":"query"}}},"paths":{"/football/o/{organizationId}/video/streams/subscriptions":{"get":{"tags":["Video Stream Subscriptions"],"summary":"List video stream subscriptions","description":"Display the list of video stream subscriptions for fixtures.","operationId":"video_subscription_list","responses":{"200":{"description":"Successful operation","content":{"application/json":{"schema":{"type":"object","title":"Video_Subscriptions Response","properties":{"meta":{"$ref":"#/components/schemas/ResponseMetaData"},"links":{"$ref":"#/components/schemas/ResponseLinks"},"included":{"$ref":"#/components/schemas/IncludedData"},"data":{"type":"array","description":"","items":{"$ref":"#/components/schemas/Video_SubscriptionsModel"}}}}}}},"default":{"$ref":"#/components/responses/ErrorResponse"}},"parameters":[{"$ref":"#/components/parameters/added"},{"$ref":"#/components/parameters/external"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/fixtureId"},{"$ref":"#/components/parameters/fromTimeUTC"},{"$ref":"#/components/parameters/hideNull"},{"$ref":"#/components/parameters/include"},{"$ref":"#/components/parameters/includeTotalCount"},{"$ref":"#/components/parameters/limit"},{"$ref":"#/components/parameters/offset"},{"$ref":"#/components/parameters/onlyUpcoming"},{"name":"organizationId","description":"The unique identifier of the organization","schema":{"type":"string","minLength":5,"maxLength":5},"required":true,"in":"path"},{"$ref":"#/components/parameters/seasonId"},{"$ref":"#/components/parameters/toTimeUTC"},{"$ref":"#/components/parameters/updated"}]}}}}
```

## Subscribe to a video stream

> Subscribe to an upcoming video stream. Any subscription must be in place a minimum of 1 hour before the scheduled start time.

```json
{"openapi":"3.0.0","info":{"title":"DataCore API  - Football","version":"v1"},"tags":[{"name":"Video Stream Subscriptions","description":"These endpoints allow a user to subscribe to a video feed.\nIn subscribing to the feed they either:\n    <ul>\n    <li>- provide a URL where the video is to be sent (in the case of RTMP)\n    <li>- receive a URL where the video can be consumed (in the case of HLS)\n    </ul>\nA content of PROGRAM is needed to use any setup video overlay.\nThe locale is set against the input that the subscription matches, but also the locale must be the same as the competition configuration. It will take the format of en-EN for example.\n"}],"servers":[{"url":"https://api.dc.connect.sportradar.com/v1","description":"Production server"},{"url":"https://api.dc.stg.connect-nonprod.sportradar.dev/v1","description":"NonProduction/Staging server"}],"security":[{"OAuth2":["write:video_subscriber"]}],"components":{"securitySchemes":{"OAuth2":{"type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"/oauth/token","scopes":{"orgId":"Authenticate based on a specific OrganizationId","read:orggroup":"Read data over multiple organizations using and *orggroup* code","write:organization":"Write/Update any data from below the organization","read:organization":"Read any data from the organization down","write:admin":"Perform administration API calls","write:admin_organization":"Ability to manage organizations","write:system":"Perform system configuration API calls"}}},"description":"You can create a JSON Web Token (JWT) using the [token](http://developer.connect.sportradar.com/token/#operation/getToken) API call. Each token is given a set of scopes/permissions. Each endpoint has a scope/permission that it requires to run.  If your token does not possess the correct scope then you will be unable to make the API call."}},"schemas":{"ResponseMetaData":{"type":"object","properties":{"version":{"type":"integer","description":"The version of the API in use for this call"},"codeVersion":{"type":"string","description":"A string indicating the version of the code that handled this request"},"code":{"type":"integer","description":"The HTTP response code for this request"},"time":{"type":"string","format":"date-time","description":"The date/time this request was made (in UTC)."},"fromCache":{"type":"boolean","description":"Was this request served directly from the cache?"},"count":{"type":"integer","description":"The number of records being returned"},"limit":{"type":"integer","description":"The record limit in place for this request"},"offset":{"type":"integer","description":"The record offset in place for this request"},"generationTime":{"type":"number","format":"float","description":"The number of seconds taken to generate this request."}}},"ResponseLinks":{"type":"object","properties":{"self":{"type":"string","format":"uri","description":"The URI referencing this request."},"next":{"type":"string","format":"uri","description":"The URI referencing the 'next' page, if more data is available."},"previous":{"type":"string","format":"uri","description":"The URI referencing the 'previous' page, if the request is not on the first page."}}},"IncludedData":{"type":"object","description":"Available if the request used the 'include' parameter.  It contains extra data about resources found in the data block.","properties":{"resources":{"type":"object","additionalProperties":{"description":"The type of resource","type":"object","enum":["league","organisation","persons"],"additionalProperties":{"type":"object","format":"uuid","description":"The id of the resource","additionalProperties":{"description":"The model for the resource as defined by the type and id"}}}}}},"Video_SubscriptionsModel":{"type":"object","additionalProperties":false,"properties":{"subscriptionId":{"description":"The unique identifier of the video stream subscription","type":"string","format":"uuid"},"organizationId":{"description":"The unique identifier of the organization","type":"string","readOnly":true},"organization":{"properties":{"resourceType":{"type":"string","enum":["organizations"]},"id":{"description":"Unique identifier for this resource","type":"string"}},"description":"The organization that this video subscription belongs to","type":"object"},"customerId":{"description":"Customer of the subscription","type":"integer","format":"int32","nullable":true},"fixtureId":{"description":"The unique identifier of the match","type":"string","format":"uuid"},"fixture":{"properties":{"resourceType":{"type":"string","enum":["fixtures"]},"id":{"description":"Unique identifier for this resource","type":"string"}},"description":"The match","type":"object"},"provider":{"description":"Provider of the input","type":"string","maxLength":100},"locale":{"description":"The locale of the video that matches the input","type":"string","minLength":5,"maxLength":5,"pattern":"^[a-z]{2,2}-[A-Z]{2,2}$"},"sourceNumber":{"description":"Unique identifier for the video source. This is unique for the provider/fixtureId/locale combination.  Unless the provider is supplying multiple sources per fixture/locale then this is normally 1.","type":"integer","format":"int32","default":1},"feedType":{"description":"Type of video input\n>- `ADDITIONAL_ANGLE` Additional angle\n>- `LOW_LATENCY` Low Latency\n>- `PRIMARY` Primary\n","type":"string","enum":["PRIMARY","ADDITIONAL_ANGLE","LOW_LATENCY"],"maxLength":30},"outputResolution":{"description":"The resolution that you want to receive the video in.  This is only valid if outputFormat is `RTMP`.  If outputFormat is not `RTMP` then the output resolution is the same as the input resolution.  If specified the output resolution cannot be higher than the input resolution. You must have specific permission to chose anything other than 720p or 1080p.\n>- `1080` 1920x1080\n>- `1080@50fps` 1920x1080 50fps\n>- `1080i50@10M` SRT 1080i50@10M\n>- `1080p25@10M` SRT 1080p25@10M\n>- `1080p50@10M` SRT 1080p50@10M\n>- `1280x720@2000k` 1280x720@2000k\n>- `1280x720@3000k` 1280x720@3000k\n>- `1280x720@3000k25fps` 1280x720@3000k25fps\n>- `1920x1080@4000k` 1920x1080@4000k\n>- `1920x1080@4000k25fps` 1920x1080@4000k25fps\n>- `1920x1080@4500k` 1920x1080@4500k\n>- `1920x1080@5000k30fps` 1920x1080@5000k30fps\n>- `2000` 2000\n>- `288` 512x288\n>- `640x320@850k` 640x320@850k\n>- `720` 1280x720\n>- `DESKTOP_384x216@280k` DESKTOP_384x216@280k\n>- `DESKTOP_512x288@500k` DESKTOP_512x288@500k\n>- `DESKTOP_768x432@1000k` DESKTOP_768x432@1000k\n>- `MOBILE_320x180@102k` MOBILE_320x180@102k\n>- `MOBILE_320x180@102k_BUFFERED` MOBILE_320x180@102k_BUFFERED\n>- `MOBILE_320x180@232k` MOBILE_320x180@232k\n>- `MOBILE_320x180@232k_BUFFERED` MOBILE_320x180@232k_BUFFERED\n>- `MOBILE_480x270@464k` MOBILE_480x270@464k\n>- `MOBILE_480x270@464k_BUFFERED` MOBILE_480x270@464k_BUFFERED\n>- `MOBILE_768x432@1000k` MOBILE_768x432@1000k\n>- `MOBILE_768x432@1000k_BUFFERED` MOBILE_768x432@1000k_BUFFERED\n","type":"string","enum":["288","720","1080","1080@50fps","2000","DESKTOP_768x432@1000k","DESKTOP_512x288@500k","DESKTOP_384x216@280k","MOBILE_768x432@1000k","MOBILE_480x270@464k","MOBILE_320x180@232k","MOBILE_320x180@102k","1920x1080@4000k","1280x720@2000k","640x320@850k","1280x720@3000k25fps","1920x1080@4000k25fps","1920x1080@4500k","1280x720@3000k","1920x1080@5000k30fps","MOBILE_768x432@1000k_BUFFERED","MOBILE_480x270@464k_BUFFERED","MOBILE_320x180@232k_BUFFERED","MOBILE_320x180@102k_BUFFERED","1080i50@10M","1080p25@10M","1080p50@10M"],"maxLength":30},"outputFormat":{"description":"The output format\n>- `HLS` HLS (HTTP Live Streaming)\n>- `RTMP` RTMP (Real-Time Messaging Protocol)\n>- `RTMP_PULL` RTMP Pull (Real-Time Messaging Protocol - Pull)\n>- `SRT` SRT (Secure Reliable Transport)\n","type":"string","enum":["RTMP","RTMP_PULL","HLS","SRT"],"maxLength":30},"streamName":{"description":"The stream name/stream key of the RTMP destination. This is a unique/secret identifier provided by the stream destination platform - not a text description.","type":"string","maxLength":250,"pattern":"^[0-9A-Za-z.:/&_?=\\-;@]*$"},"outputURL":{"description":"The URL to send the output to. Only valid if outputFormat is 'RTMP' or 'SRT'","type":"string","maxLength":200,"pattern":"^[0-9A-Za-z.:/&_?=\\-;@]*$"},"audio":{"description":"Audio\n>- `AMBIENCE` Only ambience / crowd noise\n>- `BOTH` Both combined\n>- `BOTH_SPLIT_LR` Both (Ambience left channel, Commentary right channel)\n>- `COMMENTARY` Only commentary\n","type":"string","enum":["COMMENTARY","AMBIENCE","BOTH","BOTH_SPLIT_LR"],"maxLength":30,"default":"BOTH"},"content":{"description":"Content of the stream\n>- `CLEAN` Output signal is the same as the input signal\n>- `PROGRAM` Score overlays and other enhancements have been added to the stream\n","type":"string","enum":["CLEAN","PROGRAM"],"maxLength":30},"muxRate":{"description":"The muxRate of the stream. Required for SRT outputFormat only.","type":"integer","format":"int32"},"subscriptionName":{"description":"The name of the subscription","type":"string","maxLength":250},"updated":{"description":"Date/time last modified. In UTC","type":"string","format":"date-time","readOnly":true},"added":{"description":"Date/time added. In UTC","type":"string","format":"date-time","readOnly":true}},"title":"video subscription model"},"ErrorModel":{"type":"object","properties":{"code":{"type":"integer","description":"HTTP Error code indicating the type of error.  If there are multiple errors, then this will be the code of the first one.","format":"int32"},"message":{"type":"string","description":"A message indicating the reason for the error. If there are multiple errors, then this is the message for the first one."},"errors":{"type":"array","items":{"$ref":"#/components/schemas/ErrorListModel"}}}},"ErrorListModel":{"type":"object","properties":{"code":{"type":"integer","description":"HTTP Error code indicating the type of error.","format":"int32"},"reason":{"enum":["INVALID_DATA","NOT_FOUND","NOT_AUTHORISED","ERROR","DELETE_ERROR"],"description":"A short code indicating the type of error"},"message":{"type":"string","description":"A message indicating the reason for the error"},"rowNumber":{"type":"integer","description":"The row number of the payload that cause the error","format":"int32"}}}},"responses":{"ErrorResponse":{"description":"Error","content":{"application/json":{"schema":{"type":"object","properties":{"meta":{"$ref":"#/components/schemas/ResponseMetaData"},"error":{"$ref":"#/components/schemas/ErrorModel"}}}}}}},"parameters":{"external":{"name":"external","description":"A comma separated list of fields that will instead be interpreted as an externalId. See [External Ids](#section/Introduction/External-Ids) for more information.","schema":{"type":"string"},"required":false,"in":"query"},"fields":{"name":"fields","description":"A comma separated list of fields to display.  The response will only display these fields. See [Partial Response](#section/Partial-Response) section for more information.","schema":{"type":"string"},"required":false,"in":"query"},"hideNull":{"name":"hideNull","description":"Don't display data fields with null values or empty structures","schema":{"type":"boolean"},"required":false,"in":"query"},"include":{"name":"include","description":"A comma separated list of resource types to include. See [Resource Inclusion](#section/Introduction/Resource-Inclusion) for more information.","schema":{"type":"string"},"required":false,"in":"query"}}},"paths":{"/football/o/{organizationId}/video/streams/subscriptions":{"post":{"tags":["Video Stream Subscriptions"],"summary":"Subscribe to a video stream","description":"Subscribe to an upcoming video stream. Any subscription must be in place a minimum of 1 hour before the scheduled start time.","operationId":"video_subscription_insert","responses":{"200":{"description":"Successful operation","content":{"application/json":{"schema":{"type":"object","title":"Video_Subscriptions Response","properties":{"meta":{"$ref":"#/components/schemas/ResponseMetaData"},"links":{"$ref":"#/components/schemas/ResponseLinks"},"included":{"$ref":"#/components/schemas/IncludedData"},"data":{"type":"array","description":"","items":{"$ref":"#/components/schemas/Video_SubscriptionsModel"}}}}}}},"default":{"$ref":"#/components/responses/ErrorResponse"}},"parameters":[{"$ref":"#/components/parameters/external"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/hideNull"},{"$ref":"#/components/parameters/include"},{"name":"organizationId","description":"The unique identifier of the organization","schema":{"type":"string","minLength":5,"maxLength":5},"required":true,"in":"path"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"subscriptionId":{"description":"The unique identifier of the video stream subscription","type":"string","format":"uuid"},"customerId":{"description":"Customer of the subscription","type":"integer","format":"int32","nullable":true},"fixtureId":{"description":"The unique identifier of the match","type":"string","format":"uuid"},"provider":{"description":"Provider of the input","type":"string","maxLength":100},"locale":{"description":"The locale of the video that matches the input","type":"string","minLength":5,"maxLength":5,"pattern":"^[a-z]{2,2}-[A-Z]{2,2}$"},"sourceNumber":{"description":"Unique identifier for the video source. This is unique for the provider/fixtureId/locale combination.  Unless the provider is supplying multiple sources per fixture/locale then this is normally 1.","type":"integer","format":"int32","default":1},"feedType":{"description":"Type of video input\n>- `ADDITIONAL_ANGLE` Additional angle\n>- `LOW_LATENCY` Low Latency\n>- `PRIMARY` Primary\n","type":"string","enum":["PRIMARY","ADDITIONAL_ANGLE","LOW_LATENCY"],"maxLength":30},"outputResolution":{"description":"The resolution that you want to receive the video in.  This is only valid if outputFormat is `RTMP`.  If outputFormat is not `RTMP` then the output resolution is the same as the input resolution.  If specified the output resolution cannot be higher than the input resolution. You must have specific permission to chose anything other than 720p or 1080p.\n>- `1080` 1920x1080\n>- `1080@50fps` 1920x1080 50fps\n>- `1080i50@10M` SRT 1080i50@10M\n>- `1080p25@10M` SRT 1080p25@10M\n>- `1080p50@10M` SRT 1080p50@10M\n>- `1280x720@2000k` 1280x720@2000k\n>- `1280x720@3000k` 1280x720@3000k\n>- `1280x720@3000k25fps` 1280x720@3000k25fps\n>- `1920x1080@4000k` 1920x1080@4000k\n>- `1920x1080@4000k25fps` 1920x1080@4000k25fps\n>- `1920x1080@4500k` 1920x1080@4500k\n>- `1920x1080@5000k30fps` 1920x1080@5000k30fps\n>- `2000` 2000\n>- `288` 512x288\n>- `640x320@850k` 640x320@850k\n>- `720` 1280x720\n>- `DESKTOP_384x216@280k` DESKTOP_384x216@280k\n>- `DESKTOP_512x288@500k` DESKTOP_512x288@500k\n>- `DESKTOP_768x432@1000k` DESKTOP_768x432@1000k\n>- `MOBILE_320x180@102k` MOBILE_320x180@102k\n>- `MOBILE_320x180@102k_BUFFERED` MOBILE_320x180@102k_BUFFERED\n>- `MOBILE_320x180@232k` MOBILE_320x180@232k\n>- `MOBILE_320x180@232k_BUFFERED` MOBILE_320x180@232k_BUFFERED\n>- `MOBILE_480x270@464k` MOBILE_480x270@464k\n>- `MOBILE_480x270@464k_BUFFERED` MOBILE_480x270@464k_BUFFERED\n>- `MOBILE_768x432@1000k` MOBILE_768x432@1000k\n>- `MOBILE_768x432@1000k_BUFFERED` MOBILE_768x432@1000k_BUFFERED\n","type":"string","enum":["288","720","1080","1080@50fps","2000","DESKTOP_768x432@1000k","DESKTOP_512x288@500k","DESKTOP_384x216@280k","MOBILE_768x432@1000k","MOBILE_480x270@464k","MOBILE_320x180@232k","MOBILE_320x180@102k","1920x1080@4000k","1280x720@2000k","640x320@850k","1280x720@3000k25fps","1920x1080@4000k25fps","1920x1080@4500k","1280x720@3000k","1920x1080@5000k30fps","MOBILE_768x432@1000k_BUFFERED","MOBILE_480x270@464k_BUFFERED","MOBILE_320x180@232k_BUFFERED","MOBILE_320x180@102k_BUFFERED","1080i50@10M","1080p25@10M","1080p50@10M"],"maxLength":30},"outputFormat":{"description":"The output format\n>- `HLS` HLS (HTTP Live Streaming)\n>- `RTMP` RTMP (Real-Time Messaging Protocol)\n>- `RTMP_PULL` RTMP Pull (Real-Time Messaging Protocol - Pull)\n>- `SRT` SRT (Secure Reliable Transport)\n","type":"string","enum":["RTMP","RTMP_PULL","HLS","SRT"],"maxLength":30},"streamName":{"description":"The stream name/stream key of the RTMP destination. This is a unique/secret identifier provided by the stream destination platform - not a text description.","type":"string","maxLength":250,"pattern":"^[0-9A-Za-z.:/&_?=\\-;@]*$"},"outputURL":{"description":"The URL to send the output to. Only valid if outputFormat is 'RTMP' or 'SRT'","type":"string","maxLength":200,"pattern":"^[0-9A-Za-z.:/&_?=\\-;@]*$"},"audio":{"description":"Audio\n>- `AMBIENCE` Only ambience / crowd noise\n>- `BOTH` Both combined\n>- `BOTH_SPLIT_LR` Both (Ambience left channel, Commentary right channel)\n>- `COMMENTARY` Only commentary\n","type":"string","enum":["COMMENTARY","AMBIENCE","BOTH","BOTH_SPLIT_LR"],"maxLength":30,"default":"BOTH"},"content":{"description":"Content of the stream\n>- `CLEAN` Output signal is the same as the input signal\n>- `PROGRAM` Score overlays and other enhancements have been added to the stream\n","type":"string","enum":["CLEAN","PROGRAM"],"maxLength":30},"muxRate":{"description":"The muxRate of the stream. Required for SRT outputFormat only.","type":"integer","format":"int32"},"subscriptionName":{"description":"The name of the subscription","type":"string","maxLength":250}},"title":"video subscription post body","required":["fixtureId","provider","locale","sourceNumber","feedType","outputResolution","outputFormat","content"]}}}}}}}}
```

## Get a video stream subscription

> Return detailed information about a specific video stream subscription.

```json
{"openapi":"3.0.0","info":{"title":"DataCore API  - Football","version":"v1"},"tags":[{"name":"Video Stream Subscriptions","description":"These endpoints allow a user to subscribe to a video feed.\nIn subscribing to the feed they either:\n    <ul>\n    <li>- provide a URL where the video is to be sent (in the case of RTMP)\n    <li>- receive a URL where the video can be consumed (in the case of HLS)\n    </ul>\nA content of PROGRAM is needed to use any setup video overlay.\nThe locale is set against the input that the subscription matches, but also the locale must be the same as the competition configuration. It will take the format of en-EN for example.\n"}],"servers":[{"url":"https://api.dc.connect.sportradar.com/v1","description":"Production server"},{"url":"https://api.dc.stg.connect-nonprod.sportradar.dev/v1","description":"NonProduction/Staging server"}],"security":[{"OAuth2":["read:organization"]}],"components":{"securitySchemes":{"OAuth2":{"type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"/oauth/token","scopes":{"orgId":"Authenticate based on a specific OrganizationId","read:orggroup":"Read data over multiple organizations using and *orggroup* code","write:organization":"Write/Update any data from below the organization","read:organization":"Read any data from the organization down","write:admin":"Perform administration API calls","write:admin_organization":"Ability to manage organizations","write:system":"Perform system configuration API calls"}}},"description":"You can create a JSON Web Token (JWT) using the [token](http://developer.connect.sportradar.com/token/#operation/getToken) API call. Each token is given a set of scopes/permissions. Each endpoint has a scope/permission that it requires to run.  If your token does not possess the correct scope then you will be unable to make the API call."}},"schemas":{"ResponseMetaData":{"type":"object","properties":{"version":{"type":"integer","description":"The version of the API in use for this call"},"codeVersion":{"type":"string","description":"A string indicating the version of the code that handled this request"},"code":{"type":"integer","description":"The HTTP response code for this request"},"time":{"type":"string","format":"date-time","description":"The date/time this request was made (in UTC)."},"fromCache":{"type":"boolean","description":"Was this request served directly from the cache?"},"count":{"type":"integer","description":"The number of records being returned"},"limit":{"type":"integer","description":"The record limit in place for this request"},"offset":{"type":"integer","description":"The record offset in place for this request"},"generationTime":{"type":"number","format":"float","description":"The number of seconds taken to generate this request."}}},"ResponseLinks":{"type":"object","properties":{"self":{"type":"string","format":"uri","description":"The URI referencing this request."},"next":{"type":"string","format":"uri","description":"The URI referencing the 'next' page, if more data is available."},"previous":{"type":"string","format":"uri","description":"The URI referencing the 'previous' page, if the request is not on the first page."}}},"IncludedData":{"type":"object","description":"Available if the request used the 'include' parameter.  It contains extra data about resources found in the data block.","properties":{"resources":{"type":"object","additionalProperties":{"description":"The type of resource","type":"object","enum":["league","organisation","persons"],"additionalProperties":{"type":"object","format":"uuid","description":"The id of the resource","additionalProperties":{"description":"The model for the resource as defined by the type and id"}}}}}},"Video_SubscriptionsModel":{"type":"object","additionalProperties":false,"properties":{"subscriptionId":{"description":"The unique identifier of the video stream subscription","type":"string","format":"uuid"},"organizationId":{"description":"The unique identifier of the organization","type":"string","readOnly":true},"organization":{"properties":{"resourceType":{"type":"string","enum":["organizations"]},"id":{"description":"Unique identifier for this resource","type":"string"}},"description":"The organization that this video subscription belongs to","type":"object"},"customerId":{"description":"Customer of the subscription","type":"integer","format":"int32","nullable":true},"fixtureId":{"description":"The unique identifier of the match","type":"string","format":"uuid"},"fixture":{"properties":{"resourceType":{"type":"string","enum":["fixtures"]},"id":{"description":"Unique identifier for this resource","type":"string"}},"description":"The match","type":"object"},"provider":{"description":"Provider of the input","type":"string","maxLength":100},"locale":{"description":"The locale of the video that matches the input","type":"string","minLength":5,"maxLength":5,"pattern":"^[a-z]{2,2}-[A-Z]{2,2}$"},"sourceNumber":{"description":"Unique identifier for the video source. This is unique for the provider/fixtureId/locale combination.  Unless the provider is supplying multiple sources per fixture/locale then this is normally 1.","type":"integer","format":"int32","default":1},"feedType":{"description":"Type of video input\n>- `ADDITIONAL_ANGLE` Additional angle\n>- `LOW_LATENCY` Low Latency\n>- `PRIMARY` Primary\n","type":"string","enum":["PRIMARY","ADDITIONAL_ANGLE","LOW_LATENCY"],"maxLength":30},"outputResolution":{"description":"The resolution that you want to receive the video in.  This is only valid if outputFormat is `RTMP`.  If outputFormat is not `RTMP` then the output resolution is the same as the input resolution.  If specified the output resolution cannot be higher than the input resolution. You must have specific permission to chose anything other than 720p or 1080p.\n>- `1080` 1920x1080\n>- `1080@50fps` 1920x1080 50fps\n>- `1080i50@10M` SRT 1080i50@10M\n>- `1080p25@10M` SRT 1080p25@10M\n>- `1080p50@10M` SRT 1080p50@10M\n>- `1280x720@2000k` 1280x720@2000k\n>- `1280x720@3000k` 1280x720@3000k\n>- `1280x720@3000k25fps` 1280x720@3000k25fps\n>- `1920x1080@4000k` 1920x1080@4000k\n>- `1920x1080@4000k25fps` 1920x1080@4000k25fps\n>- `1920x1080@4500k` 1920x1080@4500k\n>- `1920x1080@5000k30fps` 1920x1080@5000k30fps\n>- `2000` 2000\n>- `288` 512x288\n>- `640x320@850k` 640x320@850k\n>- `720` 1280x720\n>- `DESKTOP_384x216@280k` DESKTOP_384x216@280k\n>- `DESKTOP_512x288@500k` DESKTOP_512x288@500k\n>- `DESKTOP_768x432@1000k` DESKTOP_768x432@1000k\n>- `MOBILE_320x180@102k` MOBILE_320x180@102k\n>- `MOBILE_320x180@102k_BUFFERED` MOBILE_320x180@102k_BUFFERED\n>- `MOBILE_320x180@232k` MOBILE_320x180@232k\n>- `MOBILE_320x180@232k_BUFFERED` MOBILE_320x180@232k_BUFFERED\n>- `MOBILE_480x270@464k` MOBILE_480x270@464k\n>- `MOBILE_480x270@464k_BUFFERED` MOBILE_480x270@464k_BUFFERED\n>- `MOBILE_768x432@1000k` MOBILE_768x432@1000k\n>- `MOBILE_768x432@1000k_BUFFERED` MOBILE_768x432@1000k_BUFFERED\n","type":"string","enum":["288","720","1080","1080@50fps","2000","DESKTOP_768x432@1000k","DESKTOP_512x288@500k","DESKTOP_384x216@280k","MOBILE_768x432@1000k","MOBILE_480x270@464k","MOBILE_320x180@232k","MOBILE_320x180@102k","1920x1080@4000k","1280x720@2000k","640x320@850k","1280x720@3000k25fps","1920x1080@4000k25fps","1920x1080@4500k","1280x720@3000k","1920x1080@5000k30fps","MOBILE_768x432@1000k_BUFFERED","MOBILE_480x270@464k_BUFFERED","MOBILE_320x180@232k_BUFFERED","MOBILE_320x180@102k_BUFFERED","1080i50@10M","1080p25@10M","1080p50@10M"],"maxLength":30},"outputFormat":{"description":"The output format\n>- `HLS` HLS (HTTP Live Streaming)\n>- `RTMP` RTMP (Real-Time Messaging Protocol)\n>- `RTMP_PULL` RTMP Pull (Real-Time Messaging Protocol - Pull)\n>- `SRT` SRT (Secure Reliable Transport)\n","type":"string","enum":["RTMP","RTMP_PULL","HLS","SRT"],"maxLength":30},"streamName":{"description":"The stream name/stream key of the RTMP destination. This is a unique/secret identifier provided by the stream destination platform - not a text description.","type":"string","maxLength":250,"pattern":"^[0-9A-Za-z.:/&_?=\\-;@]*$"},"outputURL":{"description":"The URL to send the output to. Only valid if outputFormat is 'RTMP' or 'SRT'","type":"string","maxLength":200,"pattern":"^[0-9A-Za-z.:/&_?=\\-;@]*$"},"audio":{"description":"Audio\n>- `AMBIENCE` Only ambience / crowd noise\n>- `BOTH` Both combined\n>- `BOTH_SPLIT_LR` Both (Ambience left channel, Commentary right channel)\n>- `COMMENTARY` Only commentary\n","type":"string","enum":["COMMENTARY","AMBIENCE","BOTH","BOTH_SPLIT_LR"],"maxLength":30,"default":"BOTH"},"content":{"description":"Content of the stream\n>- `CLEAN` Output signal is the same as the input signal\n>- `PROGRAM` Score overlays and other enhancements have been added to the stream\n","type":"string","enum":["CLEAN","PROGRAM"],"maxLength":30},"muxRate":{"description":"The muxRate of the stream. Required for SRT outputFormat only.","type":"integer","format":"int32"},"subscriptionName":{"description":"The name of the subscription","type":"string","maxLength":250},"updated":{"description":"Date/time last modified. In UTC","type":"string","format":"date-time","readOnly":true},"added":{"description":"Date/time added. In UTC","type":"string","format":"date-time","readOnly":true}},"title":"video subscription model"},"ErrorModel":{"type":"object","properties":{"code":{"type":"integer","description":"HTTP Error code indicating the type of error.  If there are multiple errors, then this will be the code of the first one.","format":"int32"},"message":{"type":"string","description":"A message indicating the reason for the error. If there are multiple errors, then this is the message for the first one."},"errors":{"type":"array","items":{"$ref":"#/components/schemas/ErrorListModel"}}}},"ErrorListModel":{"type":"object","properties":{"code":{"type":"integer","description":"HTTP Error code indicating the type of error.","format":"int32"},"reason":{"enum":["INVALID_DATA","NOT_FOUND","NOT_AUTHORISED","ERROR","DELETE_ERROR"],"description":"A short code indicating the type of error"},"message":{"type":"string","description":"A message indicating the reason for the error"},"rowNumber":{"type":"integer","description":"The row number of the payload that cause the error","format":"int32"}}}},"responses":{"ErrorResponse":{"description":"Error","content":{"application/json":{"schema":{"type":"object","properties":{"meta":{"$ref":"#/components/schemas/ResponseMetaData"},"error":{"$ref":"#/components/schemas/ErrorModel"}}}}}}},"parameters":{"external":{"name":"external","description":"A comma separated list of fields that will instead be interpreted as an externalId. See [External Ids](#section/Introduction/External-Ids) for more information.","schema":{"type":"string"},"required":false,"in":"query"},"fields":{"name":"fields","description":"A comma separated list of fields to display.  The response will only display these fields. See [Partial Response](#section/Partial-Response) section for more information.","schema":{"type":"string"},"required":false,"in":"query"},"hideNull":{"name":"hideNull","description":"Don't display data fields with null values or empty structures","schema":{"type":"boolean"},"required":false,"in":"query"},"include":{"name":"include","description":"A comma separated list of resource types to include. See [Resource Inclusion](#section/Introduction/Resource-Inclusion) for more information.","schema":{"type":"string"},"required":false,"in":"query"},"includeTotalCount":{"name":"includeTotalCount","description":"Include the total number of records matching the filters.","schema":{"type":"boolean"},"required":false,"in":"query"},"limit":{"name":"limit","description":"The maximum number of records to return. See [Pagination](#section/Introduction/Pagination) for more information.","schema":{"type":"integer","format":"int32","maximum":1000,"minimum":1,"default":10},"required":false,"in":"query"},"offset":{"name":"offset","description":"The offset of the records. See [Pagination](#section/Introduction/Pagination) for more information.","schema":{"type":"integer","format":"int32"},"required":false,"in":"query"}}},"paths":{"/football/o/{organizationId}/video/streams/subscriptions/{subscriptionId}":{"get":{"tags":["Video Stream Subscriptions"],"summary":"Get a video stream subscription","description":"Return detailed information about a specific video stream subscription.","operationId":"video_subscription_detail","responses":{"200":{"description":"Successful operation","content":{"application/json":{"schema":{"type":"object","title":"Video_Subscriptions Response","properties":{"meta":{"$ref":"#/components/schemas/ResponseMetaData"},"links":{"$ref":"#/components/schemas/ResponseLinks"},"included":{"$ref":"#/components/schemas/IncludedData"},"data":{"type":"array","description":"","items":{"$ref":"#/components/schemas/Video_SubscriptionsModel"}}}}}}},"default":{"$ref":"#/components/responses/ErrorResponse"}},"parameters":[{"$ref":"#/components/parameters/external"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/hideNull"},{"$ref":"#/components/parameters/include"},{"$ref":"#/components/parameters/includeTotalCount"},{"$ref":"#/components/parameters/limit"},{"$ref":"#/components/parameters/offset"},{"name":"organizationId","description":"The unique identifier of the organization","schema":{"type":"string","minLength":5,"maxLength":5},"required":true,"in":"path"},{"name":"subscriptionId","description":"The unique identifier of the video stream subscription","schema":{"type":"string","format":"uuid"},"required":true,"in":"path"}]}}}}
```

## Update a video subscription

> Change the information of an existing video subscription

```json
{"openapi":"3.0.0","info":{"title":"DataCore API  - Football","version":"v1"},"tags":[{"name":"Video Stream Subscriptions","description":"These endpoints allow a user to subscribe to a video feed.\nIn subscribing to the feed they either:\n    <ul>\n    <li>- provide a URL where the video is to be sent (in the case of RTMP)\n    <li>- receive a URL where the video can be consumed (in the case of HLS)\n    </ul>\nA content of PROGRAM is needed to use any setup video overlay.\nThe locale is set against the input that the subscription matches, but also the locale must be the same as the competition configuration. It will take the format of en-EN for example.\n"}],"servers":[{"url":"https://api.dc.connect.sportradar.com/v1","description":"Production server"},{"url":"https://api.dc.stg.connect-nonprod.sportradar.dev/v1","description":"NonProduction/Staging server"}],"security":[{"OAuth2":["write:video_subscriber"]}],"components":{"securitySchemes":{"OAuth2":{"type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"/oauth/token","scopes":{"orgId":"Authenticate based on a specific OrganizationId","read:orggroup":"Read data over multiple organizations using and *orggroup* code","write:organization":"Write/Update any data from below the organization","read:organization":"Read any data from the organization down","write:admin":"Perform administration API calls","write:admin_organization":"Ability to manage organizations","write:system":"Perform system configuration API calls"}}},"description":"You can create a JSON Web Token (JWT) using the [token](http://developer.connect.sportradar.com/token/#operation/getToken) API call. Each token is given a set of scopes/permissions. Each endpoint has a scope/permission that it requires to run.  If your token does not possess the correct scope then you will be unable to make the API call."}},"schemas":{"ResponseMetaData":{"type":"object","properties":{"version":{"type":"integer","description":"The version of the API in use for this call"},"codeVersion":{"type":"string","description":"A string indicating the version of the code that handled this request"},"code":{"type":"integer","description":"The HTTP response code for this request"},"time":{"type":"string","format":"date-time","description":"The date/time this request was made (in UTC)."},"fromCache":{"type":"boolean","description":"Was this request served directly from the cache?"},"count":{"type":"integer","description":"The number of records being returned"},"limit":{"type":"integer","description":"The record limit in place for this request"},"offset":{"type":"integer","description":"The record offset in place for this request"},"generationTime":{"type":"number","format":"float","description":"The number of seconds taken to generate this request."}}},"ResponseLinks":{"type":"object","properties":{"self":{"type":"string","format":"uri","description":"The URI referencing this request."},"next":{"type":"string","format":"uri","description":"The URI referencing the 'next' page, if more data is available."},"previous":{"type":"string","format":"uri","description":"The URI referencing the 'previous' page, if the request is not on the first page."}}},"IncludedData":{"type":"object","description":"Available if the request used the 'include' parameter.  It contains extra data about resources found in the data block.","properties":{"resources":{"type":"object","additionalProperties":{"description":"The type of resource","type":"object","enum":["league","organisation","persons"],"additionalProperties":{"type":"object","format":"uuid","description":"The id of the resource","additionalProperties":{"description":"The model for the resource as defined by the type and id"}}}}}},"Video_SubscriptionsModel":{"type":"object","additionalProperties":false,"properties":{"subscriptionId":{"description":"The unique identifier of the video stream subscription","type":"string","format":"uuid"},"organizationId":{"description":"The unique identifier of the organization","type":"string","readOnly":true},"organization":{"properties":{"resourceType":{"type":"string","enum":["organizations"]},"id":{"description":"Unique identifier for this resource","type":"string"}},"description":"The organization that this video subscription belongs to","type":"object"},"customerId":{"description":"Customer of the subscription","type":"integer","format":"int32","nullable":true},"fixtureId":{"description":"The unique identifier of the match","type":"string","format":"uuid"},"fixture":{"properties":{"resourceType":{"type":"string","enum":["fixtures"]},"id":{"description":"Unique identifier for this resource","type":"string"}},"description":"The match","type":"object"},"provider":{"description":"Provider of the input","type":"string","maxLength":100},"locale":{"description":"The locale of the video that matches the input","type":"string","minLength":5,"maxLength":5,"pattern":"^[a-z]{2,2}-[A-Z]{2,2}$"},"sourceNumber":{"description":"Unique identifier for the video source. This is unique for the provider/fixtureId/locale combination.  Unless the provider is supplying multiple sources per fixture/locale then this is normally 1.","type":"integer","format":"int32","default":1},"feedType":{"description":"Type of video input\n>- `ADDITIONAL_ANGLE` Additional angle\n>- `LOW_LATENCY` Low Latency\n>- `PRIMARY` Primary\n","type":"string","enum":["PRIMARY","ADDITIONAL_ANGLE","LOW_LATENCY"],"maxLength":30},"outputResolution":{"description":"The resolution that you want to receive the video in.  This is only valid if outputFormat is `RTMP`.  If outputFormat is not `RTMP` then the output resolution is the same as the input resolution.  If specified the output resolution cannot be higher than the input resolution. You must have specific permission to chose anything other than 720p or 1080p.\n>- `1080` 1920x1080\n>- `1080@50fps` 1920x1080 50fps\n>- `1080i50@10M` SRT 1080i50@10M\n>- `1080p25@10M` SRT 1080p25@10M\n>- `1080p50@10M` SRT 1080p50@10M\n>- `1280x720@2000k` 1280x720@2000k\n>- `1280x720@3000k` 1280x720@3000k\n>- `1280x720@3000k25fps` 1280x720@3000k25fps\n>- `1920x1080@4000k` 1920x1080@4000k\n>- `1920x1080@4000k25fps` 1920x1080@4000k25fps\n>- `1920x1080@4500k` 1920x1080@4500k\n>- `1920x1080@5000k30fps` 1920x1080@5000k30fps\n>- `2000` 2000\n>- `288` 512x288\n>- `640x320@850k` 640x320@850k\n>- `720` 1280x720\n>- `DESKTOP_384x216@280k` DESKTOP_384x216@280k\n>- `DESKTOP_512x288@500k` DESKTOP_512x288@500k\n>- `DESKTOP_768x432@1000k` DESKTOP_768x432@1000k\n>- `MOBILE_320x180@102k` MOBILE_320x180@102k\n>- `MOBILE_320x180@102k_BUFFERED` MOBILE_320x180@102k_BUFFERED\n>- `MOBILE_320x180@232k` MOBILE_320x180@232k\n>- `MOBILE_320x180@232k_BUFFERED` MOBILE_320x180@232k_BUFFERED\n>- `MOBILE_480x270@464k` MOBILE_480x270@464k\n>- `MOBILE_480x270@464k_BUFFERED` MOBILE_480x270@464k_BUFFERED\n>- `MOBILE_768x432@1000k` MOBILE_768x432@1000k\n>- `MOBILE_768x432@1000k_BUFFERED` MOBILE_768x432@1000k_BUFFERED\n","type":"string","enum":["288","720","1080","1080@50fps","2000","DESKTOP_768x432@1000k","DESKTOP_512x288@500k","DESKTOP_384x216@280k","MOBILE_768x432@1000k","MOBILE_480x270@464k","MOBILE_320x180@232k","MOBILE_320x180@102k","1920x1080@4000k","1280x720@2000k","640x320@850k","1280x720@3000k25fps","1920x1080@4000k25fps","1920x1080@4500k","1280x720@3000k","1920x1080@5000k30fps","MOBILE_768x432@1000k_BUFFERED","MOBILE_480x270@464k_BUFFERED","MOBILE_320x180@232k_BUFFERED","MOBILE_320x180@102k_BUFFERED","1080i50@10M","1080p25@10M","1080p50@10M"],"maxLength":30},"outputFormat":{"description":"The output format\n>- `HLS` HLS (HTTP Live Streaming)\n>- `RTMP` RTMP (Real-Time Messaging Protocol)\n>- `RTMP_PULL` RTMP Pull (Real-Time Messaging Protocol - Pull)\n>- `SRT` SRT (Secure Reliable Transport)\n","type":"string","enum":["RTMP","RTMP_PULL","HLS","SRT"],"maxLength":30},"streamName":{"description":"The stream name/stream key of the RTMP destination. This is a unique/secret identifier provided by the stream destination platform - not a text description.","type":"string","maxLength":250,"pattern":"^[0-9A-Za-z.:/&_?=\\-;@]*$"},"outputURL":{"description":"The URL to send the output to. Only valid if outputFormat is 'RTMP' or 'SRT'","type":"string","maxLength":200,"pattern":"^[0-9A-Za-z.:/&_?=\\-;@]*$"},"audio":{"description":"Audio\n>- `AMBIENCE` Only ambience / crowd noise\n>- `BOTH` Both combined\n>- `BOTH_SPLIT_LR` Both (Ambience left channel, Commentary right channel)\n>- `COMMENTARY` Only commentary\n","type":"string","enum":["COMMENTARY","AMBIENCE","BOTH","BOTH_SPLIT_LR"],"maxLength":30,"default":"BOTH"},"content":{"description":"Content of the stream\n>- `CLEAN` Output signal is the same as the input signal\n>- `PROGRAM` Score overlays and other enhancements have been added to the stream\n","type":"string","enum":["CLEAN","PROGRAM"],"maxLength":30},"muxRate":{"description":"The muxRate of the stream. Required for SRT outputFormat only.","type":"integer","format":"int32"},"subscriptionName":{"description":"The name of the subscription","type":"string","maxLength":250},"updated":{"description":"Date/time last modified. In UTC","type":"string","format":"date-time","readOnly":true},"added":{"description":"Date/time added. In UTC","type":"string","format":"date-time","readOnly":true}},"title":"video subscription model"},"ErrorModel":{"type":"object","properties":{"code":{"type":"integer","description":"HTTP Error code indicating the type of error.  If there are multiple errors, then this will be the code of the first one.","format":"int32"},"message":{"type":"string","description":"A message indicating the reason for the error. If there are multiple errors, then this is the message for the first one."},"errors":{"type":"array","items":{"$ref":"#/components/schemas/ErrorListModel"}}}},"ErrorListModel":{"type":"object","properties":{"code":{"type":"integer","description":"HTTP Error code indicating the type of error.","format":"int32"},"reason":{"enum":["INVALID_DATA","NOT_FOUND","NOT_AUTHORISED","ERROR","DELETE_ERROR"],"description":"A short code indicating the type of error"},"message":{"type":"string","description":"A message indicating the reason for the error"},"rowNumber":{"type":"integer","description":"The row number of the payload that cause the error","format":"int32"}}}},"responses":{"ErrorResponse":{"description":"Error","content":{"application/json":{"schema":{"type":"object","properties":{"meta":{"$ref":"#/components/schemas/ResponseMetaData"},"error":{"$ref":"#/components/schemas/ErrorModel"}}}}}}},"parameters":{"external":{"name":"external","description":"A comma separated list of fields that will instead be interpreted as an externalId. See [External Ids](#section/Introduction/External-Ids) for more information.","schema":{"type":"string"},"required":false,"in":"query"},"fields":{"name":"fields","description":"A comma separated list of fields to display.  The response will only display these fields. See [Partial Response](#section/Partial-Response) section for more information.","schema":{"type":"string"},"required":false,"in":"query"},"forceDelete":{"name":"forceDelete","description":"Force a delete command to run and delete child records as well if there are existing records depending on the record.","schema":{"type":"boolean"},"required":false,"in":"query"},"hideNull":{"name":"hideNull","description":"Don't display data fields with null values or empty structures","schema":{"type":"boolean"},"required":false,"in":"query"},"include":{"name":"include","description":"A comma separated list of resource types to include. See [Resource Inclusion](#section/Introduction/Resource-Inclusion) for more information.","schema":{"type":"string"},"required":false,"in":"query"}}},"paths":{"/football/o/{organizationId}/video/streams/subscriptions/{subscriptionId}":{"put":{"tags":["Video Stream Subscriptions"],"summary":"Update a video subscription","description":"Change the information of an existing video subscription","operationId":"video_subscriptions_update","responses":{"200":{"description":"Successful operation","content":{"application/json":{"schema":{"type":"object","title":"Video_Subscriptions Response","properties":{"meta":{"$ref":"#/components/schemas/ResponseMetaData"},"links":{"$ref":"#/components/schemas/ResponseLinks"},"included":{"$ref":"#/components/schemas/IncludedData"},"data":{"type":"array","description":"","items":{"$ref":"#/components/schemas/Video_SubscriptionsModel"}}}}}}},"default":{"$ref":"#/components/responses/ErrorResponse"}},"parameters":[{"$ref":"#/components/parameters/external"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/forceDelete"},{"$ref":"#/components/parameters/hideNull"},{"$ref":"#/components/parameters/include"},{"name":"organizationId","description":"The unique identifier of the organization","schema":{"type":"string","minLength":5,"maxLength":5},"required":true,"in":"path"},{"name":"subscriptionId","description":"The unique identifier of the video stream subscription","schema":{"type":"string","format":"uuid"},"required":true,"in":"path"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"customerId":{"description":"Customer of the subscription","type":"integer","format":"int32","nullable":true},"fixtureId":{"description":"The unique identifier of the match","type":"string","format":"uuid"},"provider":{"description":"Provider of the input","type":"string","maxLength":100},"locale":{"description":"The locale of the video that matches the input","type":"string","minLength":5,"maxLength":5,"pattern":"^[a-z]{2,2}-[A-Z]{2,2}$"},"sourceNumber":{"description":"Unique identifier for the video source. This is unique for the provider/fixtureId/locale combination.  Unless the provider is supplying multiple sources per fixture/locale then this is normally 1.","type":"integer","format":"int32","default":1},"feedType":{"description":"Type of video input\n>- `ADDITIONAL_ANGLE` Additional angle\n>- `LOW_LATENCY` Low Latency\n>- `PRIMARY` Primary\n","type":"string","enum":["PRIMARY","ADDITIONAL_ANGLE","LOW_LATENCY"],"maxLength":30},"outputResolution":{"description":"The resolution that you want to receive the video in.  This is only valid if outputFormat is `RTMP`.  If outputFormat is not `RTMP` then the output resolution is the same as the input resolution.  If specified the output resolution cannot be higher than the input resolution. You must have specific permission to chose anything other than 720p or 1080p.\n>- `1080` 1920x1080\n>- `1080@50fps` 1920x1080 50fps\n>- `1080i50@10M` SRT 1080i50@10M\n>- `1080p25@10M` SRT 1080p25@10M\n>- `1080p50@10M` SRT 1080p50@10M\n>- `1280x720@2000k` 1280x720@2000k\n>- `1280x720@3000k` 1280x720@3000k\n>- `1280x720@3000k25fps` 1280x720@3000k25fps\n>- `1920x1080@4000k` 1920x1080@4000k\n>- `1920x1080@4000k25fps` 1920x1080@4000k25fps\n>- `1920x1080@4500k` 1920x1080@4500k\n>- `1920x1080@5000k30fps` 1920x1080@5000k30fps\n>- `2000` 2000\n>- `288` 512x288\n>- `640x320@850k` 640x320@850k\n>- `720` 1280x720\n>- `DESKTOP_384x216@280k` DESKTOP_384x216@280k\n>- `DESKTOP_512x288@500k` DESKTOP_512x288@500k\n>- `DESKTOP_768x432@1000k` DESKTOP_768x432@1000k\n>- `MOBILE_320x180@102k` MOBILE_320x180@102k\n>- `MOBILE_320x180@102k_BUFFERED` MOBILE_320x180@102k_BUFFERED\n>- `MOBILE_320x180@232k` MOBILE_320x180@232k\n>- `MOBILE_320x180@232k_BUFFERED` MOBILE_320x180@232k_BUFFERED\n>- `MOBILE_480x270@464k` MOBILE_480x270@464k\n>- `MOBILE_480x270@464k_BUFFERED` MOBILE_480x270@464k_BUFFERED\n>- `MOBILE_768x432@1000k` MOBILE_768x432@1000k\n>- `MOBILE_768x432@1000k_BUFFERED` MOBILE_768x432@1000k_BUFFERED\n","type":"string","enum":["288","720","1080","1080@50fps","2000","DESKTOP_768x432@1000k","DESKTOP_512x288@500k","DESKTOP_384x216@280k","MOBILE_768x432@1000k","MOBILE_480x270@464k","MOBILE_320x180@232k","MOBILE_320x180@102k","1920x1080@4000k","1280x720@2000k","640x320@850k","1280x720@3000k25fps","1920x1080@4000k25fps","1920x1080@4500k","1280x720@3000k","1920x1080@5000k30fps","MOBILE_768x432@1000k_BUFFERED","MOBILE_480x270@464k_BUFFERED","MOBILE_320x180@232k_BUFFERED","MOBILE_320x180@102k_BUFFERED","1080i50@10M","1080p25@10M","1080p50@10M"],"maxLength":30},"outputFormat":{"description":"The output format\n>- `HLS` HLS (HTTP Live Streaming)\n>- `RTMP` RTMP (Real-Time Messaging Protocol)\n>- `RTMP_PULL` RTMP Pull (Real-Time Messaging Protocol - Pull)\n>- `SRT` SRT (Secure Reliable Transport)\n","type":"string","enum":["RTMP","RTMP_PULL","HLS","SRT"],"maxLength":30},"streamName":{"description":"The stream name/stream key of the RTMP destination. This is a unique/secret identifier provided by the stream destination platform - not a text description.","type":"string","maxLength":250,"pattern":"^[0-9A-Za-z.:/&_?=\\-;@]*$"},"outputURL":{"description":"The URL to send the output to. Only valid if outputFormat is 'RTMP' or 'SRT'","type":"string","maxLength":200,"pattern":"^[0-9A-Za-z.:/&_?=\\-;@]*$"},"audio":{"description":"Audio\n>- `AMBIENCE` Only ambience / crowd noise\n>- `BOTH` Both combined\n>- `BOTH_SPLIT_LR` Both (Ambience left channel, Commentary right channel)\n>- `COMMENTARY` Only commentary\n","type":"string","enum":["COMMENTARY","AMBIENCE","BOTH","BOTH_SPLIT_LR"],"maxLength":30,"default":"BOTH"},"content":{"description":"Content of the stream\n>- `CLEAN` Output signal is the same as the input signal\n>- `PROGRAM` Score overlays and other enhancements have been added to the stream\n","type":"string","enum":["CLEAN","PROGRAM"],"maxLength":30},"muxRate":{"description":"The muxRate of the stream. Required for SRT outputFormat only.","type":"integer","format":"int32"},"subscriptionName":{"description":"The name of the subscription","type":"string","maxLength":250}},"title":"video subscription put body"}}}}}}}}
```

## Delete a video stream subscription

> Delete an existing subscription

```json
{"openapi":"3.0.0","info":{"title":"DataCore API  - Football","version":"v1"},"tags":[{"name":"Video Stream Subscriptions","description":"These endpoints allow a user to subscribe to a video feed.\nIn subscribing to the feed they either:\n    <ul>\n    <li>- provide a URL where the video is to be sent (in the case of RTMP)\n    <li>- receive a URL where the video can be consumed (in the case of HLS)\n    </ul>\nA content of PROGRAM is needed to use any setup video overlay.\nThe locale is set against the input that the subscription matches, but also the locale must be the same as the competition configuration. It will take the format of en-EN for example.\n"}],"servers":[{"url":"https://api.dc.connect.sportradar.com/v1","description":"Production server"},{"url":"https://api.dc.stg.connect-nonprod.sportradar.dev/v1","description":"NonProduction/Staging server"}],"security":[{"OAuth2":["write:video_subscriber"]}],"components":{"securitySchemes":{"OAuth2":{"type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"/oauth/token","scopes":{"orgId":"Authenticate based on a specific OrganizationId","read:orggroup":"Read data over multiple organizations using and *orggroup* code","write:organization":"Write/Update any data from below the organization","read:organization":"Read any data from the organization down","write:admin":"Perform administration API calls","write:admin_organization":"Ability to manage organizations","write:system":"Perform system configuration API calls"}}},"description":"You can create a JSON Web Token (JWT) using the [token](http://developer.connect.sportradar.com/token/#operation/getToken) API call. Each token is given a set of scopes/permissions. Each endpoint has a scope/permission that it requires to run.  If your token does not possess the correct scope then you will be unable to make the API call."}},"schemas":{"ResponseMetaData":{"type":"object","properties":{"version":{"type":"integer","description":"The version of the API in use for this call"},"codeVersion":{"type":"string","description":"A string indicating the version of the code that handled this request"},"code":{"type":"integer","description":"The HTTP response code for this request"},"time":{"type":"string","format":"date-time","description":"The date/time this request was made (in UTC)."},"fromCache":{"type":"boolean","description":"Was this request served directly from the cache?"},"count":{"type":"integer","description":"The number of records being returned"},"limit":{"type":"integer","description":"The record limit in place for this request"},"offset":{"type":"integer","description":"The record offset in place for this request"},"generationTime":{"type":"number","format":"float","description":"The number of seconds taken to generate this request."}}},"ResponseLinks":{"type":"object","properties":{"self":{"type":"string","format":"uri","description":"The URI referencing this request."},"next":{"type":"string","format":"uri","description":"The URI referencing the 'next' page, if more data is available."},"previous":{"type":"string","format":"uri","description":"The URI referencing the 'previous' page, if the request is not on the first page."}}},"IncludedData":{"type":"object","description":"Available if the request used the 'include' parameter.  It contains extra data about resources found in the data block.","properties":{"resources":{"type":"object","additionalProperties":{"description":"The type of resource","type":"object","enum":["league","organisation","persons"],"additionalProperties":{"type":"object","format":"uuid","description":"The id of the resource","additionalProperties":{"description":"The model for the resource as defined by the type and id"}}}}}},"Video_SubscriptionsModel":{"type":"object","additionalProperties":false,"properties":{"subscriptionId":{"description":"The unique identifier of the video stream subscription","type":"string","format":"uuid"},"organizationId":{"description":"The unique identifier of the organization","type":"string","readOnly":true},"organization":{"properties":{"resourceType":{"type":"string","enum":["organizations"]},"id":{"description":"Unique identifier for this resource","type":"string"}},"description":"The organization that this video subscription belongs to","type":"object"},"customerId":{"description":"Customer of the subscription","type":"integer","format":"int32","nullable":true},"fixtureId":{"description":"The unique identifier of the match","type":"string","format":"uuid"},"fixture":{"properties":{"resourceType":{"type":"string","enum":["fixtures"]},"id":{"description":"Unique identifier for this resource","type":"string"}},"description":"The match","type":"object"},"provider":{"description":"Provider of the input","type":"string","maxLength":100},"locale":{"description":"The locale of the video that matches the input","type":"string","minLength":5,"maxLength":5,"pattern":"^[a-z]{2,2}-[A-Z]{2,2}$"},"sourceNumber":{"description":"Unique identifier for the video source. This is unique for the provider/fixtureId/locale combination.  Unless the provider is supplying multiple sources per fixture/locale then this is normally 1.","type":"integer","format":"int32","default":1},"feedType":{"description":"Type of video input\n>- `ADDITIONAL_ANGLE` Additional angle\n>- `LOW_LATENCY` Low Latency\n>- `PRIMARY` Primary\n","type":"string","enum":["PRIMARY","ADDITIONAL_ANGLE","LOW_LATENCY"],"maxLength":30},"outputResolution":{"description":"The resolution that you want to receive the video in.  This is only valid if outputFormat is `RTMP`.  If outputFormat is not `RTMP` then the output resolution is the same as the input resolution.  If specified the output resolution cannot be higher than the input resolution. You must have specific permission to chose anything other than 720p or 1080p.\n>- `1080` 1920x1080\n>- `1080@50fps` 1920x1080 50fps\n>- `1080i50@10M` SRT 1080i50@10M\n>- `1080p25@10M` SRT 1080p25@10M\n>- `1080p50@10M` SRT 1080p50@10M\n>- `1280x720@2000k` 1280x720@2000k\n>- `1280x720@3000k` 1280x720@3000k\n>- `1280x720@3000k25fps` 1280x720@3000k25fps\n>- `1920x1080@4000k` 1920x1080@4000k\n>- `1920x1080@4000k25fps` 1920x1080@4000k25fps\n>- `1920x1080@4500k` 1920x1080@4500k\n>- `1920x1080@5000k30fps` 1920x1080@5000k30fps\n>- `2000` 2000\n>- `288` 512x288\n>- `640x320@850k` 640x320@850k\n>- `720` 1280x720\n>- `DESKTOP_384x216@280k` DESKTOP_384x216@280k\n>- `DESKTOP_512x288@500k` DESKTOP_512x288@500k\n>- `DESKTOP_768x432@1000k` DESKTOP_768x432@1000k\n>- `MOBILE_320x180@102k` MOBILE_320x180@102k\n>- `MOBILE_320x180@102k_BUFFERED` MOBILE_320x180@102k_BUFFERED\n>- `MOBILE_320x180@232k` MOBILE_320x180@232k\n>- `MOBILE_320x180@232k_BUFFERED` MOBILE_320x180@232k_BUFFERED\n>- `MOBILE_480x270@464k` MOBILE_480x270@464k\n>- `MOBILE_480x270@464k_BUFFERED` MOBILE_480x270@464k_BUFFERED\n>- `MOBILE_768x432@1000k` MOBILE_768x432@1000k\n>- `MOBILE_768x432@1000k_BUFFERED` MOBILE_768x432@1000k_BUFFERED\n","type":"string","enum":["288","720","1080","1080@50fps","2000","DESKTOP_768x432@1000k","DESKTOP_512x288@500k","DESKTOP_384x216@280k","MOBILE_768x432@1000k","MOBILE_480x270@464k","MOBILE_320x180@232k","MOBILE_320x180@102k","1920x1080@4000k","1280x720@2000k","640x320@850k","1280x720@3000k25fps","1920x1080@4000k25fps","1920x1080@4500k","1280x720@3000k","1920x1080@5000k30fps","MOBILE_768x432@1000k_BUFFERED","MOBILE_480x270@464k_BUFFERED","MOBILE_320x180@232k_BUFFERED","MOBILE_320x180@102k_BUFFERED","1080i50@10M","1080p25@10M","1080p50@10M"],"maxLength":30},"outputFormat":{"description":"The output format\n>- `HLS` HLS (HTTP Live Streaming)\n>- `RTMP` RTMP (Real-Time Messaging Protocol)\n>- `RTMP_PULL` RTMP Pull (Real-Time Messaging Protocol - Pull)\n>- `SRT` SRT (Secure Reliable Transport)\n","type":"string","enum":["RTMP","RTMP_PULL","HLS","SRT"],"maxLength":30},"streamName":{"description":"The stream name/stream key of the RTMP destination. This is a unique/secret identifier provided by the stream destination platform - not a text description.","type":"string","maxLength":250,"pattern":"^[0-9A-Za-z.:/&_?=\\-;@]*$"},"outputURL":{"description":"The URL to send the output to. Only valid if outputFormat is 'RTMP' or 'SRT'","type":"string","maxLength":200,"pattern":"^[0-9A-Za-z.:/&_?=\\-;@]*$"},"audio":{"description":"Audio\n>- `AMBIENCE` Only ambience / crowd noise\n>- `BOTH` Both combined\n>- `BOTH_SPLIT_LR` Both (Ambience left channel, Commentary right channel)\n>- `COMMENTARY` Only commentary\n","type":"string","enum":["COMMENTARY","AMBIENCE","BOTH","BOTH_SPLIT_LR"],"maxLength":30,"default":"BOTH"},"content":{"description":"Content of the stream\n>- `CLEAN` Output signal is the same as the input signal\n>- `PROGRAM` Score overlays and other enhancements have been added to the stream\n","type":"string","enum":["CLEAN","PROGRAM"],"maxLength":30},"muxRate":{"description":"The muxRate of the stream. Required for SRT outputFormat only.","type":"integer","format":"int32"},"subscriptionName":{"description":"The name of the subscription","type":"string","maxLength":250},"updated":{"description":"Date/time last modified. In UTC","type":"string","format":"date-time","readOnly":true},"added":{"description":"Date/time added. In UTC","type":"string","format":"date-time","readOnly":true}},"title":"video subscription model"},"ErrorModel":{"type":"object","properties":{"code":{"type":"integer","description":"HTTP Error code indicating the type of error.  If there are multiple errors, then this will be the code of the first one.","format":"int32"},"message":{"type":"string","description":"A message indicating the reason for the error. If there are multiple errors, then this is the message for the first one."},"errors":{"type":"array","items":{"$ref":"#/components/schemas/ErrorListModel"}}}},"ErrorListModel":{"type":"object","properties":{"code":{"type":"integer","description":"HTTP Error code indicating the type of error.","format":"int32"},"reason":{"enum":["INVALID_DATA","NOT_FOUND","NOT_AUTHORISED","ERROR","DELETE_ERROR"],"description":"A short code indicating the type of error"},"message":{"type":"string","description":"A message indicating the reason for the error"},"rowNumber":{"type":"integer","description":"The row number of the payload that cause the error","format":"int32"}}}},"responses":{"ErrorResponse":{"description":"Error","content":{"application/json":{"schema":{"type":"object","properties":{"meta":{"$ref":"#/components/schemas/ResponseMetaData"},"error":{"$ref":"#/components/schemas/ErrorModel"}}}}}}},"parameters":{"external":{"name":"external","description":"A comma separated list of fields that will instead be interpreted as an externalId. See [External Ids](#section/Introduction/External-Ids) for more information.","schema":{"type":"string"},"required":false,"in":"query"},"fields":{"name":"fields","description":"A comma separated list of fields to display.  The response will only display these fields. See [Partial Response](#section/Partial-Response) section for more information.","schema":{"type":"string"},"required":false,"in":"query"},"forceDelete":{"name":"forceDelete","description":"Force a delete command to run and delete child records as well if there are existing records depending on the record.","schema":{"type":"boolean"},"required":false,"in":"query"},"hideNull":{"name":"hideNull","description":"Don't display data fields with null values or empty structures","schema":{"type":"boolean"},"required":false,"in":"query"},"include":{"name":"include","description":"A comma separated list of resource types to include. See [Resource Inclusion](#section/Introduction/Resource-Inclusion) for more information.","schema":{"type":"string"},"required":false,"in":"query"}}},"paths":{"/football/o/{organizationId}/video/streams/subscriptions/{subscriptionId}":{"delete":{"tags":["Video Stream Subscriptions"],"summary":"Delete a video stream subscription","description":"Delete an existing subscription","operationId":"video_subscription_delete","responses":{"200":{"description":"Successful operation","content":{"application/json":{"schema":{"type":"object","title":"Video_Subscriptions Response","properties":{"meta":{"$ref":"#/components/schemas/ResponseMetaData"},"links":{"$ref":"#/components/schemas/ResponseLinks"},"included":{"$ref":"#/components/schemas/IncludedData"},"data":{"type":"array","description":"","items":{"$ref":"#/components/schemas/Video_SubscriptionsModel"}}}}}}},"default":{"$ref":"#/components/responses/ErrorResponse"}},"parameters":[{"$ref":"#/components/parameters/external"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/forceDelete"},{"$ref":"#/components/parameters/hideNull"},{"$ref":"#/components/parameters/include"},{"name":"organizationId","description":"The unique identifier of the organization","schema":{"type":"string","minLength":5,"maxLength":5},"required":true,"in":"path"},{"name":"subscriptionId","description":"The unique identifier of the video stream subscription","schema":{"type":"string","format":"uuid"},"required":true,"in":"path"}]}}}}
```
