VideoVerse Streams API

The Streams API from VideoVerse — 7 operation(s) for streams.

Operations 9

POST /v1/stream Create stream #
GET /v1/stream Get all streams #
PATCH /v1/stream/{streamId} Update stream by streamId #
GET /v1/stream/{streamId} Get stream by streamId #
GET /v1/stream/{streamId}/clips Get clips by streamId #
GET /v1/stream/{streamId}/hlclips Get hlClips by streamId #
GET /v1/stream/{streamId}/highlights Get highlights by streamId #
GET /v1/stream/{streamId}/filters Get filters by streamId #
GET /v1/stream/{streamId}/match-videos Get Match Videos by streamId #

Documentation

Specifications

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/videoverse-streams-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

videoverse-streams-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Magnifi Partner Integration Streams API
  version: v1
  summary: Partner API for Magnifi by VideoVerse — stream ingestion, AI clip and highlight retrieval, roster and match-schedule management, and webhook subscriptions.
  description: Magnifi offers a comprehensive suite of API endpoints designed for seamless integration, enabling partners to access platform resources, content, and metadata efficiently.
  contact:
    name: Magnifi by VideoVerse
    url: https://magnifi.ai/contact-us
  termsOfService: https://magnifi.ai/terms-conditions
servers:
- url: '{PARTNER_BASE_URL}'
  description: Templated. Magnifi publishes its partner API base only as the Postman variable {{PARTNER_BASE_URL}}; the concrete host is issued to each partner alongside the Access Key and Access Secret and is not stated in the public documentation.
  variables:
    PARTNER_BASE_URL:
      default: '{PARTNER_BASE_URL}'
      description: Partner-specific API base URL issued by Magnifi.
security:
- AccessKey: []
  AccessSecret: []
tags:
- name: Streams
paths:
  /v1/stream:
    post:
      operationId: createStream
      summary: Create stream
      tags:
      - Streams
      description: 'Create a new stream with the specified details.

        Request Body:


        title (string, required): The title of the stream.


        url (string, required): The URL of the stream.


        category (string, required): The category of the stream.


        fireAt (string, required): The timestamp at which the stream should start.


        streamStartTime (string, optional): The start time of the stream.


        fields (object, required): Additional fields for the stream.


        ext_stream_id (string, optional): The external stream ID.


        templateName (string, required): The name of the template.


        publishingWebhookUrl (string, optional): Webhook URL where you want us to send metadata.


        hls_live_start_index (number, optional): Default value 1


        tournamentId (string, optional): ID for the tournament to which the stream belongs.


        homeTeamId (string, optional): ID for the home team participating in the stream.


        awayTeamId (string, optional): ID for the away team participating in the stream.


        matchScheduleId (string, optional): ID for the scheduled match linked to the stream. ( e.g: msh_54e6c315-f73a-4a77-b7c6-9940ff547123 )


        shareType (enum, optional): Use this field to specify how the stream should be shared with workspaces. Note that the sharedWith field must also be provided for this to take effect. Accepted enum values:


        original – The stream scope is shared, allowing generated clips to be accessible in both the parent organization and the shared workspace.


        clone – The shared workspace can view clips generated in the parent organization, but the parent organization will not see clips created in the shared workspace.


        sharedWith (string[], optional): A list of workspace IDs where the stream should be shared.


        streamLanguage (string, optional): Default language for the stream (e.g: "en").


        storageId (string, optional): Storage target ID for outputs. clipNamingTemplateId (string, optional): Template ID for naming generated clips.


        audioType (string, optional): How audio is selected for multi-audio streams. Accepted values: iso, track, pid. When iso, scte35Source is required.


        scte35Source (string, optional): Where SCTE-35 cues are read from. Required when audioType is "iso". Accepted values: SEGMENTS, MANIFESTS. Optional otherwise.


        audioLanguages (string[], optional): Language codes for audio tracks (e.g: ["en", "es"]).


        clipLanguages (string[], optional): Language codes for clip generation (e.g: ["en", "es"]).


        audioTracks (string[], optional): HLS audio group or track IDs (e.g: ["aud1", "aud2"]). Use when audioType is "track".


        pids (string[], optional): MPEG-TS audio PIDs (e.g: ["257", "258"]). Use when audioType is "pid".


        autoAspectRatioConvert (object, optional): Auto aspect-ratio conversion. e.g: { "autoConvertAspectRatios": ["16:9"] }.


        The fields object is flexible, allowing you to pass any custom information needed when retrieving metadata.

        If datafeed access is required, please reach out to us to enable it. Once access is granted, include the following within the payload object:

        "datafeed": {

        "type": "genius",

        "competitionId": "some_id",

        "tournamentId": "some_id",

        "matchId": "some_id"

        }'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                title:
                  type: string
                url:
                  type: string
                category:
                  type: string
                fireAt:
                  type: string
                fields:
                  type: object
                  properties:
                    ext_stream_id:
                      type: string
                templateName:
                  type: string
                publishingWebhookUrl:
                  type: string
                hls_live_start_index:
                  type: integer
            example:
              title: Football Match
              url: example.url
              category: football
              fireAt: '2024-09-09T13:05:00'
              fields:
                ext_stream_id: uniqueStreamId
              templateName: example template
              publishingWebhookUrl: https://example.com/webhook/sandbox
              hls_live_start_index: 0
      responses:
        '202':
          description: Accepted
          content:
            application/json:
              schema:
                type: object
                properties:
                  statusCode:
                    type: integer
                  message:
                    type: string
                  stream:
                    type: object
                    properties:
                      streamId:
                        type: string
                      title:
                        type: string
                      url:
                        type: string
                      category:
                        type: string
                      userId:
                        type: string
                      entityId:
                        type: string
                      fireAt:
                        type: string
                      aspectRatio:
                        type: string
                      status:
                        type: string
                      streamStartTime:
                        type: string
                        format: date-time
                      fields:
                        type: object
                        properties:
                          ext_stream_id:
                            type: string
                          stream_start_time:
                            type: string
                      match_start_time_on_server:
                        type: integer
                      templateId:
                        type: string
                      hls_live_start_index:
                        type: integer
                      publishingWebhookUrl:
                        type: string
                      createdAt:
                        type: string
                        format: date-time
              examples:
                createStream:
                  value:
                    statusCode: 202
                    message: Stream created successfully
                    stream:
                      streamId: -aiwC0aiF
                      title: Football Match
                      url: example.url
                      category: football
                      userId: example.user
                      entityId: example.entity
                      fireAt: '2024-09-09T13:05:00'
                      aspectRatio: '16:9'
                      status: Pending
                      streamStartTime: '2024-09-09T13:05:00.000Z'
                      fields:
                        ext_stream_id: uniqueStreamId
                        stream_start_time: '2024-09-09T13:05:00+00:00'
                      match_start_time_on_server: 0
                      templateId: example.templateId
                      hls_live_start_index: 1
                      publishingWebhookUrl: https://example.org/webhook
                      createdAt: '2024-09-09T13:05:02.775Z'
                createStreamFromMatchSchedule:
                  value:
                    statusCode: 202
                    message: Stream created successfully
                    stream:
                      streamId: -aiwC0aiF
                      title: Football Match
                      url: example.url
                      category: football
                      userId: example.user
                      entityId: example.entity
                      fireAt: '2024-09-09T13:05:00'
                      aspectRatio: '16:9'
                      status: Pending
                      streamStartTime: '2024-09-09T13:05:00.000Z'
                      fields:
                        ext_stream_id: uniqueStreamId
                        stream_start_time: '2024-09-09T13:05:00+00:00'
                      match_start_time_on_server: 0
                      templateId: example.templateId
                      hls_live_start_index: 1
                      publishingWebhookUrl: https://example.org/webhook
                      createdAt: '2024-09-09T13:05:02.775Z'
                createStreamDatafeed:
                  value:
                    statusCode: 202
                    message: Stream created successfully
                    stream:
                      streamId: -aiwC0aiF
                      title: Football Match
                      url: example.url
                      category: football
                      userId: example.user
                      entityId: example.entity
                      fireAt: '2024-09-09T13:05:00'
                      aspectRatio: '16:9'
                      status: Pending
                      streamStartTime: '2024-09-09T13:05:00.000Z'
                      fields:
                        ext_stream_id: uniqueStreamId
                        stream_start_time: '2024-09-09T13:05:00+00:00'
                      datafeed:
                        type: genius
                        competitionId: '27'
                        tournamentId: '1471'
                        matchId: '109920'
                      match_start_time_on_server: 0
                      templateId: example.templateId
                      hls_live_start_index: 1
                      publishingWebhookUrl: https://example.org/webhook
                      createdAt: '2024-09-09T13:05:02.775Z'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                type: object
                properties:
                  statusCode:
                    type: integer
                  error:
                    type: object
                    properties:
                      message:
                        type: string
                      code:
                        type: string
                      metadata:
                        type: object
                        properties:
                          receivedPayload:
                            type: object
                            properties:
                              hls_live_start_index:
                                type: integer
                              title:
                                type: string
                              url:
                                type: string
                              category:
                                type: string
                              fireAt:
                                type: string
                              streamStartTime:
                                type: string
                              fields:
                                type: object
                                properties:
                                  ext_stream_id:
                                    type: string
                              templateName:
                                type: string
              examples:
                createStreamError:
                  value:
                    statusCode: 400
                    error:
                      message: Partner storage config not found
                      code: PA003
                      metadata:
                        receivedPayload:
                          hls_live_start_index: 1
                          title: Demo Match
                          url: example.url
                          category: cricket
                          fireAt: '2024-09-09T08:32:00'
                          streamStartTime: '2024-09-09T08:32:00+00:00'
                          fields:
                            ext_stream_id: uniqueStreamId
                          templateName: mp4 live
                createStreamError2:
                  value:
                    statusCode: 400
                    error:
                      message: Stream required fields missing
                      code: S015
                      metadata:
                        errorMetadata: 'Required stream custom fields missing: abcd (abcd), test input masking (test_input_masking)'
                        receivedPayload:
                          streamStartTime: '2025-08-13T13:34:00+00:00'
                          hls_live_start_index: 1
                          shareType: restrict
                          sharedWith: []
                          title: Example stream
                          url: https://d1rkuvpc7jn123.cloudfront.net/example/master_highest.m3u8
                          category: cricket
                          userId: D5bdc8f12
                          fireAt: now
                          fields:
                            VideoId: 2000342
                          templateName: Test HLS Template
        '401':
          description: Unauthorized — invalid or missing x-access-key / x-access-secret.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuthError'
        default:
          description: Error response carrying a Magnifi error code.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
    get:
      operationId: getAllStreams
      summary: Get all streams
      tags:
      - Streams
      description: 'Retrieves a list of all streams.

        Query Params:


        page (number, required): The page number to retrieve.


        pageSize (number, required): The number of items per page.


        filters (object, optional): Inside this you can pass any key-pair you had added inside fields object while creating a stream. Example: "ext-match-id": "uuid"


        category (string, optional): You can optionally filter with categories alloted to you..


        startTime and endTime (utc timestamp, optional): You can filter by a time range. You have to send both the fields to mak it work.'
      parameters:
      - name: page
        in: query
        required: false
        schema:
          type: integer
        example: '1'
      - name: pageSize
        in: query
        required: false
        schema:
          type: integer
        example: '10'
      - name: filters
        in: query
        required: false
        schema:
          type: string
        example: '{"ext-match-id": "uuid"}'
      - name: category
        in: query
        required: false
        schema:
          type: string
        example: football
      - name: startTime
        in: query
        required: false
        schema:
          type: string
        example: '2025-01-01T04:55:00.000Z'
      - name: endTime
        in: query
        required: false
        schema:
          type: string
        example: '2025-02-01T04:55:00.000Z'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  statusCode:
                    type: integer
                  message:
                    type: string
                  data:
                    type: object
                    properties:
                      streams:
                        type: array
                        items:
                          type: object
                          properties:
                            streamId:
                              type: string
                            title:
                              type: string
                            url:
                              type: string
                            category:
                              type: string
                            userId:
                              type: string
                            entityId:
                              type: string
                            fireAt:
                              type: string
                            aspectRatio:
                              type: string
                            status:
                              type: string
                            streamStartTime:
                              type: string
                              format: date-time
                            fields:
                              type: object
                              properties:
                                stream_start_time:
                                  type: string
                            matchStartTimeOnServer:
                              type: number
                            templateId:
                              type: string
                            hlsLiveStartTime:
                              type: integer
                            publishingWebhookUrl:
                              type: string
                            createdAt:
                              type: string
                              format: date-time
                      currentPage:
                        type: integer
                      pageSize:
                        type: integer
                      totalItems:
                        type: integer
                      totalPages:
                        type: integer
              examples:
                getAllStreams:
                  value:
                    statusCode: 200
                    message: Streams data retrieved successfully
                    data:
                      streams:
                      - streamId: UyX9auf0B
                        title: test
                        url: https://multistream-example.amazonaws.com/multi_audio1.mp4
                        category: archery
                        userId: U510s8fE9
                        entityId: org_b69ndf5d-fs34-45f6-1234-e0c2e78f8619
                        fireAt: now
                        aspectRatio: '16:9'
                        status: Completed
                        streamStartTime: '2024-08-30T12:41:00.000Z'
                        fields:
                          stream_start_time: 2024-08-30T12:41
                        matchStartTimeOnServer: 1725001996.153196
                        templateId: 668d04776b12enb0007200a12
                        hlsLiveStartTime: 1
                        publishingWebhookUrl: ''
                        createdAt: '2024-08-30T07:12:21.501Z'
                      - streamId: 7H0aj8oDA
                        title: test multi
                        url: https://multistream-example.amazonaws.com/multi_audio1.mp4
                        category: cricket
                        userId: D510d8fE9
                        entityId: org_b69ndf5d-fs34-45f6-1234-e0c2e78f8619
                        fireAt: now
                        aspectRatio: '16:9'
                        status: Completed
                        streamStartTime: '2024-08-30T11:59:00.000Z'
                        fields:
                          stream_start_time: 2024-08-30T11:59
                        matchStartTimeOnServer: 1724999495.98779
                        templateId: 66iap0af6b319sape7200a6b
                        hlsLiveStartTime: 1
                        publishingWebhookUrl: ''
                        createdAt: '2024-08-30T06:30:40.662Z'
                      currentPage: 1
                      pageSize: 2
                      totalItems: 13
                      totalPages: 7
        '401':
          description: Unauthorized — invalid or missing x-access-key / x-access-secret.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuthError'
        default:
          description: Error response carrying a Magnifi error code.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /v1/stream/{streamId}:
    patch:
      operationId: updateStreamByStreamId
      summary: Update stream by streamId
      tags:
      - Streams
      description: 'Updates details of a specific stream

        Params:


        STREAM_ID (URL param): Specifies the unique identifier of the stream.


        Request Body:


        title (string, optional): The title of the stream.


        status (string, optional): The status of the stream. Allowed values are "Completed", "Processing", or "Cancelled".


        fireAt (string, optional): The timestamp at which the stream should start.


        url (string, optional): The URL of the stream.


        publishingWebhookUrl (string | null, optional): The webhook URL to trigger when the stream/clip/hlclip is published/updated. Pass null if you want to remove the existing publishing webhook URL


        matchScheduleId (string | null, optional): Pass null if you need to de-link the stream from any particular Match Schedule. Else you can pass your desired Match Schedule ID (starts with msh ) to re-link.


        tournamentId (string, optional): ID for the tournament.


        homeTeamId (string, optional): ID for the home team.


        awayTeamId (string, optional): ID for the away team.


        streamLanguage (string, optional): Default language for the stream (e.g: "en").


        datafeed (object, optional): Datafeed configuration.


        storageId (string, optional): Storage target ID for outputs.


        clipLanguages (string[], optional): Language codes for clip generation (e.g: ["en", "es"]).


        clipNamingTemplateId (string, optional): Template ID for naming generated clips.


        autoAspectRatioConvert (object, optional): Auto aspect-ratio conversion. e.g: { "autoConvertAspectRatios": ["16:9"] }.


        fields (object, optional): object is flexible, allowing you to update stream custom fields.'
      parameters:
      - name: streamId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  statusCode:
                    type: integer
                  message:
                    type: string
                  data:
                    type: object
                    properties:
                      streamId:
                        type: string
                      title:
                        type: string
                      url:
                        type: string
                      category:
                        type: string
                      userId:
                        type: string
                      entityId:
                        type: string
                      fireAt:
                        type: string
                      aspectRatio:
                        type: string
                      status:
                        type: string
                      streamStartTime:
                        type: string
                        format: date-time
                      fields:
                        type: object
                        properties:
                          stream_start_time:
                            type: string
                      matchStartTimeOnServer:
                        type: number
                      templateId:
                        type: string
                      hlsLiveStartTime:
                        type: integer
                      publishingWebhookUrl:
                        type: string
                      createdAt:
                        type: string
              examples:
                updateStreamByStreamId:
                  value:
                    statusCode: 200
                    message: Stream data updated successfully
                    data:
                      streamId: yH-az5ai9
                      title: American Football Match
                      url: https://example.amazonaws.com/american_football/LA_vs_SF.mp4
                      category: American Football
                      userId: J5b0aqfE9
                      entityId: org_9127dc47-71ef-4a31-qojl-8b1f1448c318
                      fireAt: 2024-03-06T11:21
                      aspectRatio: '16:9'
                      status: Completed
                      streamStartTime: '2024-07-06T11:25:00.000Z'
                      fields:
                        stream_start_time: 2024-07-06T11:25
                      matchStartTimeOnServer: 1709704.72
                      templateId: 65e6paue5e84d0aqf1143c78
                      hlsLiveStartTime: 1
                      publishingWebhookUrl: https://example/publishing/webhookurl.com
                      createdAt: 2024-007-06T05:49:44.281Z
                updateStreamByStreamIdMatchScheduleID:
                  value:
                    statusCode: 200
                    message: Stream data updated successfully
                    data:
                      streamId: yH-az5ai9
                      title: American Football Match
                      url: https://example.amazonaws.com/american_football/LA_vs_SF.mp4
                      category: American Football
                      userId: J5b0aqfE9
                      entityId: org_9127dc47-71ef-4a31-qojl-8b1f1448c318
                      fireAt: 2024-03-06T11:21
                      aspectRatio: '16:9'
                      status: Completed
                      streamStartTime: '2024-07-06T11:25:00.000Z'
                      fields:
                        stream_start_time: 2024-07-06T11:25
                        match_id: '680044'
                        matchScheduleId: msh_d91a94bc-5a35-4b5c-a6a8-77f8bad93e41
                      matchStartTimeOnServer: 1709704.72
                      templateId: 65e6paue5e84d0aqf1143c78
                      hlsLiveStartTime: 1
                      publishingWebhookUrl: https://example/publishing/webhookurl.com
                      createdAt: 2024-007-06T05:49:44.281Z
                updateStreamByStreamIdFailedToMarkStreamCompleteCreated5MinsAgo:
                  value:
                    statusCode: 404
                    error:
                      message: Stream Resource Clearance Failed
                      code: S004
                      metadata:
                        errorMetadata: The stream is added with output template wait for 5 minutes for resource clearance.
        '401':
          description: Unauthorized — invalid or missing x-access-key / x-access-secret.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuthError'
        default:
          description: Error response carrying a Magnifi error code.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
    get:
      operationId: getStreamByStreamId
      summary: Get stream by streamId
      tags:
      - Streams
      description: 'Retrieves the details of a specific stream

        Params:


        STREAM_ID (URL param): Specifies the unique identifier of the stream.'
      parameters:
      - name: streamId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  statusCode:
                    type: integer
                  message:
                    type: string
                  data:
                    type: object
                    properties:
                      streamId:
                        type: string
                      title:
                        type: string
                      url:
                        type: string
                      category:
                        type: string
                      userId:
                        type: string
                      entityId:
                        type: string
                      fireAt:
                        type: string
                      aspectRatio:
                        type: string
                      status:
                        type: string
                      streamStartTime:
                        type: string
                        format: date-time
                      fields:
                        type: object
                        properties:
                          stream_start_time:
                            type: string
                      matchStartTimeOnServer:
                        type: number
                      templateId:
                        type: string
                      hlsLiveStartTime:
                        type: integer
                      publishingWebhookUrl:
                        type: string
                      createdAt:
                        type: string
              examples:
                getStreamByStreamId:
                  value:
                    statusCode: 200
                    message: Stream data retrieved successfully
                    data:
                      streamId: yH-az5ai9
                      title: American Football Match
                      url: https://example.amazonaws.com/american_football/LA_vs_SF.mp4
                      category: American Football
                      userId: J5b0aqfE9
                      entityId: org_9127dc47-71ef-4a31-qojl-8b1f1448c318
                      fireAt: 2024-03-06T11:21
                      aspectRatio: '16:9'
                      status: Completed
                      streamStartTime: '2024-07-06T11:25:00.000Z'
                      fields:
                        stream_start_time: 2024-07-06T11:25
                      matchStartTimeOnServer: 1709704.72
                      templateId: 65e6paue5e84d0aqf1143c78
                      hlsLiveStartTime: 1
                      publishingWebhookUrl: https://example/publishing/webhookurl.com
                      createdAt: 2024-007-06T05:49:44.281Z
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                type: object
                properties:
                  statusCode:
                    type: integer
                  error:
                    type: object
                    properties:
                      message:
                        type: string
                      code:
                        type: string
                      metadata:
                        type: object
                        properties:
                          errorMetadata:
                            type: string
              examples:
                getStreamByStreamIdNotFound:
                  value:
                    statusCode: 404
                    error:
                      message: Stream data not found
                      code: S001
                      metadata:
                        errorMetadata: StreamId yHO9A5FLK not found
        '401':
          description: Unauthorized — invalid or missing x-access-key / x-access-secret.
          co

# --- truncated at 32 KB (67 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/videoverse/refs/heads/main/openapi/videoverse-streams-api-openapi.yml