openapi: 3.1.0 info: title: Magnifi Partner Integration 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. These endpoints support key functions such as stream ingestion, video downloads, metadata retrieval, and management of match schedules and team rosters. This document provides a complete guide to the available endpoints, essential resources, error codes, and the integration workflow. Derived by API Evangelist from the first-party Postman collection Magnifi publishes at https://docs.prod.videoverse.dev/ (published id 2sA3s6EpXt, owner 34141959). Nothing here is invented: every path, method, parameter, request body and response example is carried over from that collection verbatim; schemas are inferred from the provider''s own published examples.' contact: name: Magnifi by VideoVerse url: https://magnifi.ai/contact-us termsOfService: https://magnifi.ai/terms-conditions externalDocs: description: Magnifi x Partner Integration Documentation url: https://docs.prod.videoverse.dev/ x-generated-from: postman-collection x-source: https://documenter.gw.postman.com/api/collections/34141959/2sA3s6EpXt?segregateAuth=true&versionTag=latest x-generated-by: API Evangelist enrichment pipeline (local-v3) x-generated-on: '2026-09-04' 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: Partner - name: Streams - name: Clips - name: Highlights - name: Highlight Clips - name: Match Video - name: Content - name: Player - name: Team - name: Tournament - name: Match Schedule - name: Catch me up - name: Webhook - name: Entity Member paths: /v1/partner/details: get: operationId: getPartnerDetails summary: Get Partner Details tags: - Partner description: Retrieve details of the partner based on their access key. responses: '200': description: OK content: application/json: schema: type: object properties: statusCode: type: integer message: type: string data: type: object properties: user: type: object properties: userId: type: string userEmail: type: string userName: type: string role: type: string organizationMemberId: type: string entity: type: object properties: entityId: type: string entityType: type: string name: type: string examples: getPartnerDetails: value: statusCode: 200 message: Partner details retrieved successfully data: user: userId: exampleId userEmail: example@magnifi.ai userName: Example role: admin organizationMemberId: wsMem_1a2f40cc-4ee6-626b-bf13-c3m54qsaee93 entity: entityId: ws_basd5033-a5xcb-6715-b0hj5-5aasdde5ef entityType: workspace name: Example Org '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/partner/categories: get: operationId: getPartnerCategories summary: Get Partner Categories tags: - Partner description: 'Retrieves a list of categories allotted to partners to create a stream. Query Params: page (number, required): The page number to retrieve. pageSize (number, required): The number of items per page.' parameters: - name: page in: query required: false schema: type: integer example: '1' - name: pageSize in: query required: false schema: type: integer example: '10' responses: '200': description: OK content: application/json: schema: type: object properties: statusCode: type: integer message: type: string data: type: object properties: categories: type: array items: type: object properties: id: type: string name: type: string currentPage: type: integer pageSize: type: integer totalItems: type: integer totalPages: type: integer examples: getPartnerCategories: value: statusCode: 200 message: Partner categories retrieved successfully data: categories: - id: 665578026232236ef5c4c059 name: basketball - id: 665578026232236ef5c4c058 name: archery - id: 665578026232236ef5c4c057 name: artistic_swimming - id: 665578026232236ef5c4c056 name: athletics - id: 665578026232236ef5c4c055 name: Badminton - id: 665578026232236ef5c4c054 name: beach_volleyball - id: 665578026232236ef5c4c0510 name: boxing - id: 665578026232236ef5c4c051 name: canoe_slalom - id: 665578026232236ef5c4c052 name: cycling_mounain_bike - id: 665578026232236ef5c4c053 name: cycling_track currentPage: 1 pageSize: 10 totalItems: 34 totalPages: 4 '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/partner/templates: get: operationId: getPartnerTemplates summary: Get Partner Templates tags: - Partner description: Retrieve templates allotted to partners to create a stream efficiently. responses: '200': description: OK content: application/json: schema: type: object properties: statusCode: type: integer message: type: string data: type: object properties: direct: type: array items: type: object properties: id: type: string templateName: type: string medialive: type: array items: type: object properties: id: type: string templateName: type: string reserved_channel: type: array items: type: object properties: id: type: string templateName: type: string examples: getPartnerTemplates: value: statusCode: 200 message: Partner templates retrieved successfully data: direct: - id: 66bc71fgh3052d000718xcaa templateName: Example Direct Template medialive: - id: 66bc71fgh3052d000718xcbb templateName: Example Media Template reserved_channel: - id: 66bc71fgh3052d000718xcacc templateName: Example Reserved Channel '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/partner/workspaces: get: operationId: getPartnerWorkspaces summary: Get Partner Workspaces tags: - Partner description: fetch a list of workspaces associated with the partner account. responses: '200': description: Response content: application/json: schema: type: object properties: statusCode: type: integer message: type: string data: type: object properties: workspaces: type: array items: type: object properties: workspaceId: type: string workspaceName: type: string examples: getPartnerWorkspaces: value: statusCode: 200 message: Partner workspaces retrieved successfully data: workspaces: - workspaceId: ws_some_random_uuid1 workspaceName: ws1 - workspaceId: ws_some_random_uuid2 workspaceName: ws2 '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 examples: getPartnerWorkspacesError: value: statusCode: 404 error: message: Workspace user can not fetch other workspace's data code: WS001 metadata: {} '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/partner/stream-fields: get: operationId: getPartnerStreamCustomFields summary: Get Partner Stream Custom Fields tags: - Partner description: 'Retrieves a list of stream fields allotted to partners to create a stream/match schedule. Query Params: category (string, required): The category for which to retrieve the allotted fields.' parameters: - name: category in: query required: false schema: type: string example: cricket responses: '200': description: OK content: application/json: schema: type: object properties: statusCode: type: integer message: type: string data: type: object properties: fields: type: array items: type: object properties: category: type: string fieldName: type: string displayName: type: string required: type: boolean inputType: type: string allowedValues: type: array items: type: string examples: getPartnerCustomFields: value: statusCode: 200 message: Partner custom fields retrieved successfully data: fields: - category: all fieldName: abcd displayName: abcd required: true inputType: SELECT allowedValues: - a - b - c - category: all fieldName: round displayName: Round required: false inputType: TEXT allowedValues: Any string - category: all fieldName: boolean_test displayName: boolean test required: false inputType: BOOLEAN allowedValues: - true - false - category: all fieldName: test_input_masking displayName: test input masking required: true inputType: INPUT_MASKING allowedValues: '9999-99-99' - category: cricket fieldName: over displayName: over required: false inputType: TEXT allowedValues: Any string '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/partner/clip-naming-templates: get: operationId: getPartnerClipNamingTemplates summary: Get Partner Clip Naming Templates tags: - Partner description: Retrieves a list of clip naming templates responses: '200': description: OK content: application/json: schema: type: object properties: statusCode: type: integer message: type: string data: type: object properties: templates: type: array items: type: object properties: clipNamingTemplateId: type: string format: type: string templateName: type: string category: type: string isActive: type: boolean keys: type: array items: type: string currentPage: type: integer pageSize: type: integer totalItems: type: integer totalPages: type: integer examples: getPartnerClipNamingTemplates: value: statusCode: 200 message: Partner clip naming templates retrieved successfully data: templates: - clipNamingTemplateId: b170342f-957b-454d-b4bf-26774c0482a1 format: '{{#if (ne outcome "failed")}}Still going strong!{{/if}}' templateName: example-not-equal-template category: cricket isActive: false keys: - outcome - clipNamingTemplateId: 66df134f-84c4-4fcc-b285-9dc6f3d615fb format: '{{#if (lt clipRating 3)}}Low Rating{{/if}}' templateName: example-rating-template category: cricket isActive: false keys: - clipRating - clipNamingTemplateId: 6dab8e59-b6a8-42ff-9261-7b55139fec18 format: '{{aspectRatio}}_{{team1}}_{{team2}}_{{tournament}}' templateName: sample-generic-template category: football isActive: true keys: - aspectRatio - team1 - team2 - tournament currentPage: 1 pageSize: 10 totalItems: 3 totalPages: 1 '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/partner/storage-buckets: get: operationId: getPartnerStorageBuckets summary: Get Partner Storage Buckets tags: - Partner description: Retrieves a list of storage buckets of media processing responses: '200': description: OK content: application/json: schema: type: object properties: statusCode: type: integer message: type: string data: type: object properties: buckets: type: array items: type: object properties: storageId: type: string storageName: type: string folderPath: type: string defaultStorage: type: boolean examples: getPartnerStorageBuckets: value: statusCode: 200 message: Partner storage buckets retrieved successfully data: buckets: - storageId: 656822e5423177b1f71812abc storageName: example_media_storage_1 folderPath: load/testing defaultStorage: false - storageId: 67c99ef8a6e56a0009fe02ab storageName: test_media_storage_mumbai folderPath: test/ defaultStorage: false - storageId: 67f53101502b2800099098cd storageName: sample_multistream_storage folderPath: video_engineering/ defaultStorage: false - storageId: 67ff4c6d30b0f60009d2c5ef storageName: staging_feed_storage_example folderPath: recordings/ defaultStorage: false '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/partner/languages: get: operationId: getPartnerLanguages summary: Get Partner Languages tags: - Partner description: Retrieves a list of languages responses: '200': description: OK content: application/json: schema: type: object properties: statusCode: type: integer message: type: string data: type: object properties: languages: type: array items: type: object properties: name: type: string code: type: string examples: getPartnerLanguages: value: statusCode: 200 message: Partner languages retrieved successfully data: languages: - name: Afar code: aar - name: Abkhazian code: abk - name: Achinese code: ace summary: Get Partner Languages (arrays trimmed to 3 items; full example in the source Postman collection) '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/partner/audio-options: get: operationId: getPartnerTemplateAudioOptions summary: Get Partner Template Audio Options tags: - Partner description: 'Retrieves multi audio options available for a template Query Params: templateName (string, required): The templatae name for which to retrieve the multi audio options' responses: '200': description: OK content: application/json: schema: type: object properties: statusCode: type: integer message: type: string data: type: object properties: isMultiAudio: type: boolean audioType: type: string pids: type: array items: type: string clipLanguages: type: array items: type: string options: type: array items: type: object properties: value: type: string label: type: string examples: getPartnerTemplateAudioOptions: value: statusCode: 200 message: Entity audio options retrieved successfully data: isMultiAudio: true audioType: pid pids: - '45345' - '4545' clipLanguages: - '45345' - '4545' options: - value: '45345' label: '45345' - value: '4545' label: '4545' '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/partner/getPreSignedUrl: post: operationId: generatePreSignedUrl summary: Generate Pre-signed Url (to be deprecated) tags: - Partner description: 'Allows partners to obtain a pre-signed URL for a specific clip or highlight. Request Body id (string) - The unique identifier of the video. videoType (string) - The type of video can be either "CLIP" or "HIGHLIGHT" or "HLCLIP". Marked "[TO BE DEPRECATED]" in the provider''s own Postman collection. Use POST /v1/content/presigned-url (fetchPresignedUrl) instead.' requestBody: required: true content: application/json: schema: type: object example: "{\n \"id\": \"66c2e22fecfcc10006fb4cfd\",\n \"videoType\": \"CLIP\" // or\ \ \"HIGHLIGHT\" or \"HLCLIP\"\n}" responses: '200': description: OK content: application/json: schema: type: object properties: statusCode: type: integer message: type: string data: type: string examples: generatePreSignedUrlClip: value: statusCode: 200 message: Pre-signed URL generated successfully. data: https://example.amazonaws.com/an34njr/7BH9147895_2169.mp4 generatePreSignedUrlHighlight: value: statusCode: 200 message: Pre-signed URL generated successfully. data: https://example.amazonaws.com/4e24-4999-1234-f6143d8d706a.mp4 '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: generatePreSignedUrlClipIdNotFound: value: statusCode: 404 error: message: Clip data not found code: C001 metadata: errorMetadata: Clip with ID 66b2f3b2b123c9198769fade not found generatePreSignedUrlEntityMismatch: value: statusCode: 404 error: message: 'Permission denied: Entity mismatch' code: P001 metadata: errorMetadata: 'Permission denied: Entity mismatch' '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' deprecated: true /v1/stream: post: operationId: createStream summary: Create stream tags: - Streams description: "Create a new stream with the specified details.\nRequest Body:\n\ntitle (string, required):\ \ The title of the stream.\n\nurl (string, required): The URL of the stream.\n\ncategory (string,\ \ required): The category of the stream.\n\nfireAt (string, required): The timestamp at which\ \ the stream should start.\n\nstreamStartTime (string, optional): The start time of the stream.\n\ \nfields (object, required): Additional fields for the stream.\n\next_stream_id (string, optional):\ \ The external stream ID.\n\n\ntemplateName (string, required): The name of the template.\n\n\ publishingWebhookUrl (string, optional): Webhook URL where you want us to send metadata.\n\nhls_live_start_index\ \ (number, optional): Default value 1\n\ntournamentId (string, optional): ID for the tournament\ \ to which the stream belongs.\n\nhomeTeamId (string, optional): ID for the home team participating\ \ in the stream.\n\nawayTeamId (string, optional): ID for the away team participating in the stream.\n\ \nmatchScheduleId (string, optional): ID for the scheduled match linked to the stream. ( e.g:\ \ msh_54e6c315-f73a-4a77-b7c6-9940ff547123 )\n\nshareType (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:\n\noriginal – The stream scope\ \ is shared, allowing generated clips to be accessible in both the parent organization and the\ \ shared workspace.\n\nclone – The shared workspace can view clips generated in the parent organization,\ \ but the parent organization will not see clips created in the shared workspace.\n\n\n\nsharedWith\ \ (string[], optional): A list of workspace IDs where the stream should be shared.\n\nstreamLanguage\ \ (string, optional): Default language for the stream (e.g: \"en\").\n\nstorageId (string, optional):\ \ Storage target ID for outputs. clipNamingTemplateId (string, optional): Template ID for naming\ \ generated clips.\n\naudioType (string, optional): How audio is selected for multi-audio streams.\ \ Accepted values: iso, track, pid. When iso, scte35Source is required.\n\nscte35Source (string,\ \ optional): Where SCTE-35 cues are read from. Required when audioType is \"iso\". Accepted values:\ \ SEGMENTS, MANIFESTS. Optional otherwise.\n\naudioLanguages (string[], optional): Language codes\ \ for audio tracks (e.g: [\"en\", \"es\"]).\n\nclipLanguages (string[], optional): Language codes\ \ for clip generation (e.g: [\"en\", \"es\"]).\n\naudioTracks (string[], optional): HLS audio\ \ group or track IDs (e.g: [\"aud1\", \"aud2\"]). Use when audioType is \"track\".\n\npids (string[],\ \ optional): MPEG-TS audio PIDs (e.g: [\"257\", \"258\"]). Use when audioType is \"pid\".\n\n\ autoAspectRatioConvert (object, optional): Auto aspect-ratio conversion. e.g: { \"autoConvertAspectRatios\"\ : [\"16:9\"] }.\n\n\nThe fields object is flexible, allowing you to pass any custom information\ \ needed when retrieving metadata.\nIf datafeed access is required, please reach out to us to\ \ enable it. Once access is granted, include the following within the payload object:\n\"datafeed\"\ : {\n \"type\": \"genius\",\n \"competitionId\": \"some_id\",\n \"tournamentId\": \"\ some_id\",\n \"matchId\": \"some_id\"\n}" 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. 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}/clips: get: operationId: getClipsByStreamId summary: Get clips by streamId tags: - Streams description: 'Fetches all clips associated with a particular stream using the streamId. Params: STREAM_ID (URL param): Specifies the unique identifier of the stream. Query Params: page (number, required): The page number to retrieve. pageSize (number, required): The number of items per page. events (string, optional): Filters clips by associated events. For multiple events, separate them with commas (e.g., four,out). players (string, optional): Filters clips by associated player name. For multiple players, separate them with commas (e.g., ronaldo,messi). search (string, optional): Searches for clips by title. filters (object, optional): Allows filtering based on clip-level custom fields. Pass key–value pairs where the key is the custom field name and the value is the filter value. e.g. filters={"cameraAngle":"side"} sort (object, optional): Allows you to sort clips by createdAt. By default the sort order is -1 (newest) but you can pass 1 for (oldest). e.g. sort={"createdAt" : 1}' parameters: - name: streamId in: path required: true schema: type: string - name: page in: query required: false schema: type: integer example: '1' - name: pageSize in: query required: false schema: type: integer example: '3' responses: '200': description: OK content: application/json: schema: type: object properties: statusCode: type: integer message: type: string data: type: object properties: clips: type: array items: type: object properties: version: type: integer metadata: type: object properties: clip: type: object properties: clipId: type: string clipTitle: type: string streamId: type: string clipUrl: type: string startTime: type: integer endTime: type: integer duration: type: integer category: type: string aspectRatio: type: string stream_start_time_buffer_secs: type: 'null' process_start_time: type: 'null' matchDetails: type: object properties: teams: {} players: {} tournament: {} events: {} outcome: {} partnerData: type: object properties: internal-v1: {} currentPage: type: integer pageSize: type: integer totalItems: type: integer totalPages: type: integer examples: getClipsByStreamId: value: statusCode: 200 message: Clips by streamId retrieved successfully data: clips: - version: 2 metadata: clip: clipId: 647491ee681ca15d9cfeaab6 clipTitle: Clip 1 streamId: W5Snsmv2P clipUrl: https://d1zxk9teuo4ijt.cloudfront.net/D5bdc8fE9/W5Snsmv2P/Clips/Man/1685361128_6245832/1685361125_6816618.mp4 startTime: 856 endTime: 866 duration: 10 category: cricket aspectRatio: '16:9' stream_start_time_buffer_secs: null process_start_time: null matchDetails: teams: - id: BFSorMfzt name: Scotland U19 - id: NivmunBS1 name: The Vision Shipping players: [] tournament: id: BJ7NujHO8 name: Sharjah CBFS T20 events: - four outcome: four partnerData: internal-v1: run: '60' over: '11.1' wicket: '2' batterScores: '' bowlerStats: '' - version: 2 metadata: clip: clipId: 647491ee681ca15d9cfeaaba clipTitle: Clip 2 streamId: W5Snsmv2P clipUrl: https://d1zxk9teuo4ijt.cloudfront.net/D5bdc8fE9/W5Snsmv2P/Clips/Man/1685361128_4540248/1685361126_4290326.mp4 startTime: 866 endTime: 876 duration: 10 category: cricket aspectRatio: '16:9' stream_start_time_buffer_secs: null process_start_time: null matchDetails: teams: - id: BFSorMfzt name: Scotland U19 - id: NivmunBS1 name: The Vision Shipping players: [] tournament: id: BJ7NujHO8 name: Sharjah CBFS T20 events: - six outcome: six partnerData: internal-v1: run: '73' over: '12.0' wicket: '2' batterScores: '' bowlerStats: '' - version: 2 metadata: clip: clipId: 647491f1681ca15d9cfeaad4 clipTitle: Clip 4 streamId: W5Snsmv2P clipUrl: https://d1zxk9teuo4ijt.cloudfront.net/D5bdc8fE9/W5Snsmv2P/Clips/Man/1685361131_3255823/1685361128_8719478.mp4 startTime: 886 endTime: 896 duration: 10 category: cricket aspectRatio: '16:9' stream_start_time_buffer_secs: null process_start_time: null matchDetails: teams: - id: BFSorMfzt name: Scotland U19 - id: NivmunBS1 name: The Vision Shipping players: - id: ae1d87f7-f126-43e3-b485-6a3ed9e1fcc3 name: Oliver Davidson kind: batsman - id: 315810aa-332e-4c87-8987-870e08320c52 name: Lyle Robertson kind: bowler tournament: id: BJ7NujHO8 name: Sharjah CBFS T20 events: - six outcome: six partnerData: internal-v1: run: '79' over: '12.1' wicket: '2' batterScores: '' bowlerStats: '' currentPage: 1 pageSize: 3 totalItems: 21 totalPages: 7 getClipsByStreamIdFilterAndSearch: value: statusCode: 200 message: Clips by streamId retrieved successfully data: clips: - version: 2 metadata: clip: clipId: 647491ee681ca15d9cfeaab6 clipTitle: Clip 1 streamId: W5Snsmv2P clipUrl: https://d1zxk9teuo4ijt.cloudfront.net/D5bdc8fE9/W5Snsmv2P/Clips/Man/1685361128_6245832/1685361125_6816618.mp4 startTime: 856 endTime: 866 duration: 10 category: cricket aspectRatio: '16:9' stream_start_time_buffer_secs: null process_start_time: null matchDetails: teams: - id: BFSorMfzt name: Scotland U19 - id: NivmunBS1 name: The Vision Shipping players: [] tournament: id: BJ7NujHO8 name: Sharjah CBFS T20 events: - four outcome: four partnerData: internal-v1: run: '60' over: '11.1' wicket: '2' batterScores: '' bowlerStats: '' - version: 2 metadata: clip: clipId: 647491ee681ca15d9cfeaaba clipTitle: Clip 2 streamId: W5Snsmv2P clipUrl: https://d1zxk9teuo4ijt.cloudfront.net/D5bdc8fE9/W5Snsmv2P/Clips/Man/1685361128_4540248/1685361126_4290326.mp4 startTime: 866 endTime: 876 duration: 10 category: cricket aspectRatio: '16:9' stream_start_time_buffer_secs: null process_start_time: null matchDetails: teams: - id: BFSorMfzt name: Scotland U19 - id: NivmunBS1 name: The Vision Shipping players: [] tournament: id: BJ7NujHO8 name: Sharjah CBFS T20 events: - six outcome: six partnerData: internal-v1: run: '73' over: '12.0' wicket: '2' batterScores: '' bowlerStats: '' - version: 2 metadata: clip: clipId: 647491f1681ca15d9cfeaad4 clipTitle: Clip 4 streamId: W5Snsmv2P clipUrl: https://d1zxk9teuo4ijt.cloudfront.net/D5bdc8fE9/W5Snsmv2P/Clips/Man/1685361131_3255823/1685361128_8719478.mp4 startTime: 886 endTime: 896 duration: 10 category: cricket aspectRatio: '16:9' stream_start_time_buffer_secs: null process_start_time: null matchDetails: teams: - id: BFSorMfzt name: Scotland U19 - id: NivmunBS1 name: The Vision Shipping players: - id: ae1d87f7-f126-43e3-b485-6a3ed9e1fcc3 name: Oliver Davidson kind: batsman - id: 315810aa-332e-4c87-8987-870e08320c52 name: Lyle Robertson kind: bowler tournament: id: BJ7NujHO8 name: Sharjah CBFS T20 events: - out outcome: out partnerData: internal-v1: run: '79' over: '12.1' wicket: '2' batterScores: '' bowlerStats: '' currentPage: 1 pageSize: 3 totalItems: 21 totalPages: 7 '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 examples: getClipsByStreamIdStreamNotFound: value: statusCode: 404 error: message: Stream data not found code: S001 metadata: {} getClipsByStreamIdPermissionDenied: value: statusCode: 404 error: message: 'Permission denied: Entity mismatch' code: P001 metadata: {} '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}/hlclips: get: operationId: getHlClipsByStreamId summary: Get hlClips by streamId tags: - Streams description: 'Fetches all highlight clips associated with a particular stream using the streamId. Params: STREAM_ID (URL param): Specifies the unique identifier of the stream. Query Params: page (number, required): The page number to retrieve. pageSize (number, required): The number of items per page. filters (object, optional): Allows filtering based on hlclip-level custom fields. Pass key–value pairs where the key is the custom field name and the value is the filter value. e.g. filters={"hl_type":"1st Inning"}' parameters: - name: streamId in: path required: true schema: type: string - name: page in: query required: false schema: type: integer example: '1' - name: pageSize in: query required: false schema: type: integer example: '10' responses: '200': description: OK content: application/json: schema: type: object properties: statusCode: type: integer message: type: string data: type: object properties: hlClips: type: array items: type: object properties: id: type: string title: type: string currentPage: type: integer pageSize: type: integer totalItems: type: integer totalPages: type: integer examples: getHlClipsByStreamId: value: statusCode: 200 message: Highlight clips by streamId retrieved successfully data: hlClips: - id: 668b7d293a394f1117dec0f1 title: example 1 - id: 6683b1b766543db22284288d8 title: example 2 - id: 667e5625e92db53338d054f title: example 3 - id: 667e5625e9d5bf44478d0549 title: example 4 currentPage: 1 pageSize: 10 totalItems: 4 totalPages: 1 '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}/highlights: get: operationId: getHighlightsByStreamId summary: Get highlights by streamId tags: - Streams description: 'Fetches all highlights associated with a particular stream using the streamId. Params: STREAM_ID (URL param): Specifies the unique identifier of the stream. Query Params: page (number, required): The page number to retrieve. pageSize (number, required): The number of items per page.' parameters: - name: streamId in: path required: true schema: type: string - name: page in: query required: false schema: type: integer example: '1' - name: pageSize in: query required: false schema: type: integer example: '5' responses: '200': description: OK content: application/json: schema: type: object properties: statusCode: type: integer message: type: string data: type: object properties: highlights: type: array items: type: object properties: id: type: string title: type: string currentPage: type: integer pageSize: type: integer totalItems: type: integer totalPages: type: integer examples: getHighlightsByStreamId: value: statusCode: 200 message: Highlights by streamId retrieved successfully data: highlights: - id: 66ba10b71233a90001092d72 title: example 1 - id: 66ba10b71533a9000739i199 title: example 2 - id: 66b9hqb71943a9000739sbaa title: example 3 - id: 66ba1q0i1943a9000739oa94 title: example 4 - id: 66bpaib71943a90007384b76 title: example 5 currentPage: 1 pageSize: 5 totalItems: 28 totalPages: 6 '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: getHighlightsByStreamIdEntityMismatch: value: statusCode: 404 error: message: 'Permission denied: Entity mismatch' code: P001 metadata: errorMetadata: Entity ID mismatch for stream '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}/filters: get: operationId: getFiltersByStreamId summary: Get filters by streamId tags: - Streams description: 'Retrieves the filters associated with 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: filters: type: object properties: events: type: array items: type: object properties: count: type: integer event: type: string players: type: array items: type: object properties: count: type: integer playerName: type: string examples: getFiltersByStreamId: value: statusCode: 200 message: Filters by streamId retrieved successfully data: filters: events: - count: 11 event: Corner Kick - count: 7 event: Save - count: 2 event: Goal Replay - count: 4 event: Save Replay - count: 3 event: Yellow Card - count: 5 event: Heartbeat - count: 2 event: Chance Replay - count: 2 event: Goal - count: 6 event: Substitution - count: 7 event: Chance players: - count: 3 playerName: Levi Colwill - count: 1 playerName: Robert Sánchez - count: 1 playerName: 31 Ederson '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}/match-videos: get: operationId: getMatchVideosByStreamId summary: Get Match Videos by streamId tags: - Streams description: 'Fetches all match videos associated with a particular stream using the streamId. Params: STREAM_ID (URL param): Specifies the unique identifier of the stream. Query Params: type (enum, optional): partial-video | full-video. status (enum, optional): INITIATED | PROCESSING | COMPLETED | FAILED. search (string, optional): Searches for match video by title.' parameters: - name: streamId in: path required: true schema: type: string - name: search in: query required: false schema: type: string example: export - name: type in: query required: false schema: type: string example: partial-video - name: status in: query required: false schema: type: string example: COMPLETED responses: '200': description: OK content: application/json: schema: type: object properties: statusCode: type: integer message: type: string data: type: object properties: matchVideos: type: array items: type: object properties: matchVideoId: type: string matchVideoTitle: type: string streamId: type: string startTime: type: string endTime: type: string status: type: string type: type: string progress: type: integer createdAt: type: string format: date-time updatedAt: type: string format: date-time isActive: type: boolean examples: getMatchVideosByStreamId: value: statusCode: 200 message: Match videos by streamId retrieved successfully data: matchVideos: - matchVideoId: 994d9541-4294-9803-9238-9ac03c97e117 matchVideoTitle: custom export match video streamId: 8FBRDP0IV startTime: 00:00:00 endTime: 00:02:34 status: COMPLETED type: partial-video progress: 100 createdAt: '2025-11-12T08:25:36.117Z' updatedAt: '2025-11-17T06:00:16.719Z' isActive: true getMatchVideosByStreamId2: value: statusCode: 200 message: Match videos by streamId retrieved successfully data: matchVideos: - matchVideoId: 994d9541-4294-9803-9238-9ac03c97e117 matchVideoTitle: custom export match video streamId: 8FBRDP0IV startTime: 00:00:00 endTime: 00:02:34 status: COMPLETED type: partial-video progress: 100 createdAt: '2025-11-12T08:25:36.117Z' updatedAt: '2025-11-17T06:00:16.719Z' isActive: true - matchVideoId: b1f9bac1-4497-2836-b469-4f46a3d1eb9b matchVideoTitle: full export match video streamId: 8FBRDP0IV startTime: 00:00:00 endTime: 04:02:34 status: COMPLETED type: full-video progress: 100 createdAt: '2025-11-12T08:25:56.913Z' updatedAt: '2025-11-12T08:36:58.015Z' isActive: true - matchVideoId: 1bac6721-4d11-b49c-2da8-1fbcbde5b918 matchVideoTitle: Another video streamId: 8FBRDP0IV startTime: 00:00:00 endTime: 00:04:34 status: COMPLETED type: partial-video progress: 100 createdAt: '2025-11-17T06:35:03.155Z' updatedAt: '2025-11-17T06:36:09.376Z' isActive: true '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/clip/{clipId}: get: operationId: getByClipId summary: Get by clipId tags: - Clips description: 'Retrieves clip metadata based on the clipId. Params: CLIP_ID (URL param): Specifies the unique identifier of the clip to fetch.' parameters: - name: clipId 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: version: type: integer metadata: type: object properties: clip: type: object properties: clipId: type: string clipTitle: type: string streamId: type: string startTime: type: number endTime: type: number duration: type: integer category: type: string aspectRatio: type: string stream_start_time_buffer_secs: type: 'null' process_start_time: type: 'null' aspectRatiosAvailableIn: type: array items: type: string matchDetails: type: object properties: teams: type: array items: type: object properties: id: {} name: {} players: type: array items: type: object properties: id: {} name: {} kind: {} tournament: type: object properties: id: type: string name: type: string events: type: array items: type: string outcome: type: string partnerData: type: object properties: internal-v1: type: object properties: run: type: string over: type: string wicket: type: string batterScores: type: string bowlerStats: type: string examples: getByClipIdCricket: value: statusCode: 200 message: Clip data retrieved successfully data: version: 2 metadata: clip: clipId: 647491f1681ca15d9cfeaad4 clipTitle: Clip 4 streamId: W5Snsmv2P startTime: 886.5 endTime: 896.5 duration: 10 category: cricket aspectRatio: '16:9' stream_start_time_buffer_secs: null process_start_time: null aspectRatiosAvailableIn: - '16:9' - '9:16' - '1:1' - '4:5' matchDetails: teams: - id: BFSorMfzt name: Scotland U19 - id: NivmunBS1 name: The Vision Shipping players: - id: ae1d87f7-f126-43e3-b485-6a3ed9e1fcc3 name: Oliver Davidson kind: batsman - id: 315810aa-332e-4c87-8987-870e08320c52 name: Lyle Robertson kind: bowler tournament: id: BJ7NujHO8 name: Sharjah CBFS T20 events: - six outcome: six partnerData: internal-v1: run: '79' over: '12.1' wicket: '2' batterScores: '' bowlerStats: '' getByClipIdFootball: value: statusCode: 200 message: Clip data retrieved successfully data: version: 2 metadata: clip: clipId: 662b9100d4b86b00082f7d94 clipTitle: testB streamId: DJ4jIOMNO startTime: 5661 endTime: 5671.98 duration: 10.96 category: football aspectRatio: '16:9' stream_start_time_buffer_secs: null process_start_time: null matchDetails: teams: - id: YHsPTu2oN name: T2 - id: ceE9II0gt name: T1 players: - id: ac33d42d-3abd-4845-9e6e-8222d7a1f048 name: K Zouma kind: '' - id: ae3e83ab-766d-4be9-b096-defaf7941f8f name: Kepa A kind: '' tournament: id: 6h3RNlc0j name: Footballl_new events: - Goal outcome: Goal partnerData: internal-v1: gameClock: '67:23' homeTeamScore: '1' visitorScore: '2' '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 examples: getByClipIdClipNotFound: value: statusCode: 404 error: message: Clip data not found code: C001 metadata: {} getByClipIdPermissionDenied: value: statusCode: 404 error: message: 'Permission denied: Entity mismatch' code: P001 metadata: {} '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/highlight/{highlightId}: get: operationId: getHighlightByHighlightId summary: Get Highlight by highlightId tags: - Highlights description: 'Retrieves the metadata of a specific highlight. Params: HIGHLIGHT_ID (URL param): Specifies the unique identifier of the highlight.' parameters: - name: highlightId 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: version: type: integer metadata: type: object properties: highlight: type: object properties: highlightId: type: string highlightTitle: type: string streamId: type: string duration: type: number category: type: string aspectRatio: type: string clips: type: array items: type: object properties: clipId: type: string clipTitle: type: string streamId: type: string startTime: type: integer endTime: type: integer duration: type: integer category: type: string aspectRatio: type: string stream_start_time_buffer_secs: type: 'null' process_start_time: type: 'null' matchDetails: type: object properties: teams: {} players: {} tournament: {} events: {} outcome: {} partnerData: type: object properties: internal-v1: {} examples: getHL: value: statusCode: 200 message: Highlight data retrieved successfully data: version: 2 metadata: highlight: highlightId: 6474378824dfa0798770ccba highlightTitle: Untitled 1 streamId: W5Snsmv2P duration: 18.52 category: cricket aspectRatio: '16:9' clips: - clipId: 647491f0681ca15d9cfeaaca clipTitle: Clip 4 streamId: W5Snsmv2P startTime: 886 endTime: 895 duration: 9 category: cricket aspectRatio: '16:9' stream_start_time_buffer_secs: null process_start_time: null matchDetails: teams: - id: BFSorMfzt name: Scotland U19 - id: NivmunBS1 name: The Vision Shipping players: [] tournament: id: BJ7NujHO8 name: Sharjah CBFS T20 events: - six outcome: six partnerData: internal-v1: run: '' over: '' wicket: '' batterScores: '' bowlerStats: '' - clipId: 647491f1681ca15d9cfeaad4 clipTitle: Clip 4 streamId: W5Snsmv2P startTime: 886 endTime: 896 duration: 10 category: cricket aspectRatio: '16:9' stream_start_time_buffer_secs: null process_start_time: null matchDetails: teams: - id: BFSorMfzt name: Scotland U19 - id: NivmunBS1 name: The Vision Shipping players: - id: ae1d87f7-f126-43e3-b485-6a3ed9e1fcc3 name: Oliver Davidson kind: batsman - id: 315810aa-332e-4c87-8987-870e08320c52 name: Lyle Robertson kind: bowler tournament: id: BJ7NujHO8 name: Sharjah CBFS T20 events: - six outcome: six partnerData: internal-v1: run: '79' over: '12.1' wicket: '2' batterScores: '' bowlerStats: '' '500': description: Internal Server Error content: application/json: schema: type: object properties: statusCode: type: integer error: type: object properties: message: type: string code: type: string metadata: type: object examples: getHLHLNotFound: value: statusCode: 404 error: message: Highlight data not found code: H001 metadata: {} '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 examples: getHLPermissionDenied: value: statusCode: 404 error: message: 'Permission denied: Entity mismatch' code: P001 metadata: {} '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/hlclip/{hlclipId}: get: operationId: getHlClipByHlclipId summary: Get hlClip by hlclipId tags: - Highlight Clips description: 'Retrieves highlight clip metadata based on the hlClipId. Params: HLCLIP_ID (URL param): Specifies the unique identifier of the clip to fetch.' parameters: - name: hlclipId 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: version: type: integer metadata: type: object properties: hlClip: type: object properties: hlClipId: type: string hlClipTitle: type: string streamId: type: string duration: type: 'null' category: type: string aspectRatio: type: string clipsCount: type: integer clips: type: array items: type: object properties: clipId: type: string clipTitle: type: string streamId: type: string startTime: type: integer endTime: type: integer duration: type: integer category: type: string aspectRatio: type: string stream_start_time_buffer_secs: type: 'null' process_start_time: type: string stream_start_time: type: string matchDetails: type: object properties: teams: {} players: {} tournament: {} events: {} outcome: {} partnerData: type: object properties: internal-v1: {} matchDetails: type: object properties: teams: type: array items: type: object properties: id: {} name: {} tournament: type: object properties: id: type: string name: type: string events: type: array items: {} outcome: type: string examples: getHlClipByHlClipId: value: statusCode: 200 message: Highlight clip data retrieved successfully data: version: 2 metadata: hlClip: hlClipId: 667e5625e9abc500078d0549 hlClipTitle: Example hl clip streamId: YKHXpGUZD duration: null category: basketball aspectRatio: '16:9' clipsCount: 2 clips: - clipId: 667c28ef0babc1000737f156 clipTitle: Clip 1 streamId: kE-BOWJP startTime: 8410 endTime: 8419 duration: 9 category: basketball aspectRatio: '16:9' stream_start_time_buffer_secs: null process_start_time: '' stream_start_time: 2024-06-26T17:27 matchDetails: teams: - id: 1QsrbSYabc name: Nt Dolphins players: - id: 09a8bc21-dc85-41abc-870e-339eea7dd1ae name: Dominique Antonio Tham 32 kind: '' teamId: 1QsrbSYabc tournament: id: qZJsWiLGG name: Vba 2024 events: - Dunk outcome: Dunk partnerData: internal-v1: internalStreamId: kE-B0OWJP - clipId: 667c1d57e9abc5000785fdce clipTitle: Clip 2 streamId: YKHXpGUZD startTime: 6268.973 endTime: 6280.173 duration: 11.166667 category: basketball aspectRatio: '16:9' stream_start_time_buffer_secs: null process_start_time: '' stream_start_time: 2024-06-26T17:27 matchDetails: teams: - id: 1QsrbRXabc name: HN Buffaloes players: - id: 09a8bc21-dc85-41abc-870e-339eea7dd2ae name: Hassan Nigel Thomas kind: '' teamId: 1QsrbRXabc - id: 09a8bc21-dc85-41abc-870e-339eea7dd3ae name: George Devin Peterson kind: '' teamId: 1QsrbRXabc tournament: id: qZJsWiLGG name: Vba 2024 events: - Dunk - Assist outcome: Dunk partnerData: internal-v1: internalStreamId: YKHXpGUZD matchDetails: teams: - id: 1QsrbRXabc name: HN Buffaloes - id: 1QsrbSYabc name: Nt Dolphins tournament: id: qZJsWiLGG name: Vba 2024 events: [] outcome: '' '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: getHlClipByHlclipIdIncorrectHlClipId: value: statusCode: 404 error: message: Data not found code: D002 metadata: errorMetadata: The provided ID corresponds to a clipId, not a highlight clipId. getHlClipByHlclipIdNotFound: value: statusCode: 404 error: message: Data not found code: D002 metadata: errorMetadata: Highlight clip not found with id 667e5625e9dbf421278d054a '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/match-video/{matchVideoId}: get: operationId: getMatchVideoByMatchVideoId summary: Get match video by matchVideoId tags: - Match Video description: 'Retrieves match video information based on the matchVideoId. Params: MATCH_VIDEO_ID (URL param): Specifies the unique identifier of the match video to fetch.' parameters: - name: matchVideoId 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: matchVideoId: type: string type: type: string streamId: type: string status: type: string matchVideoTitle: type: string startTime: type: string endTime: type: string progress: type: integer createdAt: type: string format: date-time updatedAt: type: string format: date-time isActive: type: boolean examples: getMatchVideoByMatchVideoId: value: statusCode: 200 message: Match video retrieved successfully data: matchVideoId: 994d9541-4294-9803-9238-9ac03c97e117 type: partial-video streamId: RDP08FBIV status: COMPLETED matchVideoTitle: custom duration startTime: 00:00:00 endTime: 00:02:34 progress: 100 createdAt: '2025-11-12T08:25:36.117Z' updatedAt: '2025-11-12T08:26:29.943Z' isActive: true '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/match-video: get: operationId: getAllMatchVideos summary: Get all match videos tags: - Match Video description: 'Retrieves a list of all match videos. Query Params: type (enum, optional): partial-video | full-video. status (enum, optional): INITIATED | PROCESSING | COMPLETED | FAILED. search (string, optional): Searches for match video by title. sort (number, optional): -1 = Newest, 1 = Oldest. By default, items are sorted by newest. page (number, required): The page number to retrieve. pageSize (number, required): The number of items per page.' parameters: - name: search in: query required: false schema: type: string example: export - name: type in: query required: false schema: type: string example: partial-video - name: status in: query required: false schema: type: string example: COMPLETED - name: sort in: query required: false schema: type: integer example: '-1' - name: page in: query required: false schema: type: integer example: '1' - name: pageSize in: query required: false schema: type: integer example: '10' responses: '200': description: OK content: application/json: schema: type: object properties: statusCode: type: integer message: type: string data: type: object properties: matchVideos: type: array items: type: object properties: matchVideoId: type: string matchVideoTitle: type: string streamId: type: string startTime: type: string endTime: type: string status: type: string type: type: string progress: type: integer createdAt: type: string format: date-time updatedAt: type: string format: date-time isActive: type: boolean currentPage: type: integer pageSize: type: integer totalItems: type: integer totalPages: type: integer examples: getAllMatchVideos: value: statusCode: 200 message: Match videos retrieved successfully data: matchVideos: - matchVideoId: 9f8bd385-4ebe-b2f2-c5b6-45fbe5e7917a matchVideoTitle: First Example streamId: pfXngzUvzA startTime: 00:10:00 endTime: 00:20:00 status: COMPLETED type: partial-video progress: 100 createdAt: '2026-03-27T09:26:08.759Z' updatedAt: '2026-03-27T09:27:16.130Z' isActive: true - matchVideoId: a169320e-b7b0-c221-4076-e23b333ccbb4 matchVideoTitle: Second Example streamId: pfXngzUvzA startTime: 00:00:00 endTime: 00:27:19 status: COMPLETED type: full-video progress: 100 createdAt: '2026-03-27T09:25:54.463Z' updatedAt: '2026-03-27T09:27:27.608Z' isActive: true currentPage: 1 pageSize: 10 totalItems: 2 totalPages: 1 '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/content/presigned-url: post: operationId: fetchPresignedUrl summary: Fetch Presigned Url tags: - Content description: 'Fetch Video & Thumbnail presigned url for a content. Request Body: contentId (string, required): Can be any clipId, highlightId, hlClipId, matchVideoId contentType (enum, required): "clip" | "highlight" | "hlClip" | "matchVideo" aspectRatio (string, optional): Only for clips available in multiple aspect ratios, you can include this field to retrieve the correct aspect ratio video URL. The available values can be found in aspectRatiosAvailable field in clip metadata. If absent, we consider the default aspect ratio which in most case is 16:9.' requestBody: required: true content: application/json: schema: type: object properties: contentId: type: string contentType: type: string example: contentId: '{{CONTENT_ID}}' contentType: '{{CONTENT_TYPE}}' responses: '200': description: OK content: application/json: schema: type: object properties: statusCode: type: integer message: type: string data: type: object properties: videoUrl: type: string thumbnailUrl: type: string examples: fetchPresignedUrl: value: statusCode: 200 message: Presigned url retrieved data: videoUrl: thumbnailUrl: fetchPresignedUrlClipWithDifferentAspectRatio: value: statusCode: 200 message: Presigned url retrieved data: videoUrl: thumbnailUrl: '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/partner/player: post: operationId: addPlayer summary: Add player tags: - Player description: 'Allows you to create a new player in Partner''s organization. Request Body: category (string, required): The category of the player. playerName (string, required): The name of the player. metaData (object, required): Additional metadata for the player. jerseyNumber (number): The jersey number of the player. The metaData object is flexible, allowing you to pass any custom information needed when retrieving clip metadata.' requestBody: required: true content: application/json: schema: type: object properties: category: type: string playerName: type: string metaData: type: object properties: jerseyNumber: type: integer example: category: cricket playerName: Lasith Malinga metaData: jerseyNumber: 99 responses: '201': description: Created content: application/json: schema: type: object properties: statusCode: type: integer message: type: string data: type: object properties: id: type: string name: type: string category: type: string metadata: type: object properties: jerseyNumber: type: integer examples: addPlayer: value: statusCode: 201 message: Player added successfully data: id: 59accd29-067a-435a-abcd-caf6b6f83123 name: Lasith Malinga category: cricket metadata: jerseyNumber: 99 '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: getAllPlayers summary: Get all players tags: - Player description: 'Retrieves the list of players associated with the partner. Query Params: page (number, required): The page number to retrieve. pageSize (number, required): The number of items per page. category (string, optional): Filter players by specific category. search (string, optional): Search players by name. filters (object, optional): Additional filter on player metadata, e.g., { "extPlayerId" : "12345" }.' parameters: - name: page in: query required: false schema: type: integer example: '1' - name: pageSize in: query required: false schema: type: integer example: '2' responses: '201': description: Created content: application/json: schema: type: object properties: statusCode: type: integer message: type: string data: type: object properties: players: type: array items: type: object properties: id: type: string name: type: string category: type: string metadata: type: object properties: id: type: string jerseyNumber: type: integer nickName: type: string currentPage: type: integer pageSize: type: integer totalItems: type: integer totalPages: type: integer examples: getAllPlayers: value: statusCode: 200 message: Player data retrieved successfully data: players: - id: 7a3f2d4e-abcd-47a7-dsbs-417220594123 name: Joe Root category: cricket metadata: id: '12345' jerseyNumber: 63 nickName: Joe - id: 520af9ae-1234-4538-4321-bceee7ce49f8 name: Eon Morgan category: cricket metadata: id: '98764' jerseyNumber: 7 nickName: Morgan currentPage: 1 pageSize: 2 totalItems: 10 totalPages: 5 '200': description: Response content: application/json: schema: type: object properties: statusCode: type: integer message: type: string data: type: object properties: players: type: array items: type: object properties: id: type: string name: type: string category: type: string metadata: type: object properties: id: type: string jerseyNumber: type: integer nickName: type: string currentPage: type: integer pageSize: type: integer totalItems: type: integer totalPages: type: integer examples: getAllPlayersWithFilters: value: statusCode: 200 message: Player data retrieved successfully data: players: - id: 520af9ae-1234-4538-4321-bceee7ce49f8 name: Eon Morgan category: cricket metadata: id: '98764' jerseyNumber: 7 nickName: Morgan currentPage: 1 pageSize: 2 totalItems: 1 totalPages: 1 '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/partner/player/{playerId}: put: operationId: updatePlayerByPlayerId summary: Update player by playerId tags: - Player description: 'Allows you to update a player in Partner''s organization. Params: PLAYER_ID (URL param): Specifies the unique identifier of the player. Request Body: category (string, required): The category of the player. playerName (string, required): The name of the player. metaData (object, required): Additional metadata for the player. jerseyNumber (number): The jersey number of the player. The metaData object is flexible, allowing you to pass any custom information needed when retrieving clip metadata.' parameters: - name: playerId in: path required: true schema: type: string requestBody: required: true content: application/json: schema: type: object properties: category: type: string playerName: type: string metaData: type: object properties: jerseyNumber: type: integer example: category: cricket playerName: Morgan metaData: jerseyNumber: 98 responses: '200': description: OK content: application/json: schema: type: object properties: statusCode: type: integer message: type: string data: type: object properties: id: type: string name: type: string category: type: string metadata: type: object properties: jerseyNumber: type: integer examples: updatePlayerByPlayerId: value: statusCode: 200 message: Player data updated successfully data: id: 59accd29-067a-435a-abcd-caf6b6f83123 name: Morgan category: cricket metadata: jerseyNumber: 98 '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: getPlayerByPlayerId summary: Get player by playerId tags: - Player description: 'Retrieves the details of a specific player associated with the partner. Params: PLAYER_ID (URL param): Specifies the unique identifier of the player.' parameters: - name: playerId 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: id: type: string name: type: string category: type: string metadata: type: object properties: jerseyNumber: type: integer examples: getPlayerByPlayerId: value: statusCode: 200 message: Player data retrieved successfully data: id: 59accd29-067a-435a-abcd-caf6b6f83123 name: Lasith Malinga category: cricket metadata: jerseyNumber: 99 '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/partner/team: post: operationId: addTeam summary: Add team tags: - Team description: 'Add a new team for a partner. Request Body: category (string, required): The category of the team. teamName (string, required): The name of the team. players (array, required): An array of players id . metaData (object, required): Additional metadata for the team. shortName (string): The short name of the team. The metaData object is flexible, allowing you to pass any custom information needed when retrieving clip metadata.' requestBody: required: true content: application/json: schema: type: object properties: category: type: string teamName: type: string players: type: array items: type: string metaData: type: object properties: shortName: type: string example: category: cricket teamName: India 2024 players: - 7a3f2d4e-6d68-47a7-b960-417220594eec - dfc88d2d-1a3b-4e5d-a640-5d25f8dd3b2f metaData: shortName: MI responses: '201': description: Created content: application/json: schema: type: object properties: statusCode: type: integer message: type: string data: type: object properties: id: type: string name: type: string category: type: string players: type: array items: type: object properties: id: type: string name: type: string metadata: type: object properties: id: type: string jerseyNumber: type: integer nickName: type: string metadata: type: object properties: shortName: type: string teamId: type: string examples: addTeam: value: statusCode: 201 message: Team added successfully data: id: 66cd9a071fb5d43575b2d123 name: India 2024 category: cricket players: - id: 7a3f2d4e-6d68-47a7-b960-417220594123 name: Suryakumar Yadav metadata: id: s43rbbdf jerseyNumber: 63 nickName: Sky - id: dfc88d2d-1a3b-4e5d-1234-5d25f8dd3b2f name: Rohit Sharma metadata: id: a34dsf jerseyNumber: 45 nickName: Shana metadata: shortName: MI teamId: hCOte-L.1 '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: getAllTeams summary: Get all teams tags: - Team description: 'Retrieves the list of teams associated with the partner. Query Params: page (number, required): The page number to retrieve. pageSize (number, required): The number of items per page. category (string, optional): Filter teams by specific category. search (string, optional): Search teams by name. filters (object, optional): Additional filter on team metadata, e.g., { "extId" : "12345" }.' parameters: - name: page in: query required: false schema: type: integer example: '1' - name: pageSize in: query required: false schema: type: integer example: '3' responses: '200': description: OK content: application/json: schema: type: object properties: statusCode: type: integer message: type: string data: type: object properties: teams: type: array items: type: object properties: id: type: string name: type: string category: type: string players: type: array items: type: object properties: id: type: string name: type: string metadata: type: object properties: jerseyNumber: {} shortName: {} metadata: type: object properties: shortName: type: string teamId: type: string currentPage: type: integer pageSize: type: integer totalItems: type: integer totalPages: type: integer examples: getAllTeams: value: statusCode: 200 message: Team data retrieved successfully data: teams: - id: 66c9e7da8889cd875e829519 name: Real Madrid category: football players: - id: aa783087-0ea7-9821-aad5-a383da525674 name: Cristiano Ronaldo metadata: jerseyNumber: 7 shortName: CR7 - id: ad080635-13ca-4986-a4ce-07494afadabc name: Lionel Messi metadata: jerseyNumber: 11 shortName: LM metadata: shortName: PTL teamId: hCOte-L.1 - id: 66cd9a071fb4d43575b2d999 name: India 2024 category: cricket players: - id: 7a3f2d4e-6d68-47a7-1234-417220594eec name: Suryakumar Yadav metadata: id: s43rbbyi jerseyNumber: 63 nickName: Sky - id: dfc88d2d-1a3b-4e5d-abcd-5d25f8dd3b2f name: Rohit Sharma metadata: id: a34dsf jerseyNumber: 45 metadata: shortName: MI teamId: hCOte-L.2 - id: 66cd9a071fb0a1l575b2d999 name: Australia category: cricket players: - id: 7a3pad4e-0a68-47a7-1234-417220594eec name: Steive Smith metadata: id: s4pabbyi jerseyNumber: 61 metadata: shortName: AUS teamId: hCOte-L.3 currentPage: 1 pageSize: 3 totalItems: 22 totalPages: 8 '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/partner/team/{teamId}: put: operationId: updateTeamByTeamId summary: Update team by teamId tags: - Team description: 'Allows you to update a team in Partner''s organization. Params: TEAM_ID (URL param): Specifies the unique identifier of the TEAM.(short, unique ID) Example: TEAM_ID: hCOte-L.1 Request Body: category (string, required): The category of the team. teamName (string, required): The name of the team. players (array, required): An array of players id . metaData (object, required): Additional metadata for the team. shortName (string): The short name of the team. The metaData object is flexible, allowing you to pass any custom information needed when retrieving clip metadata.' parameters: - name: teamId in: path required: true schema: type: string requestBody: required: true content: application/json: schema: type: object properties: category: type: string teamName: type: string players: type: array items: type: string metaData: type: object properties: shortName: type: string example: category: cricket teamName: England players: - 59accd29-067a-435a-abcd-caf6b6f83123 metaData: shortName: Eng responses: '200': description: OK content: application/json: schema: type: object properties: statusCode: type: integer message: type: string data: type: object properties: id: type: string name: type: string category: type: string players: type: array items: type: object properties: id: type: string name: type: string metadata: type: object properties: jerseyNumber: type: integer metadata: type: object properties: shortName: type: string teamId: type: string examples: updateTeamByTeamId: value: statusCode: 200 message: Team data updated successfully data: id: 66cd9a071fb5d43575b2d123 name: England category: cricket players: - id: 59accd29-067a-435a-abcd-caf6b6f83123 name: Morgan metadata: jerseyNumber: 93 metadata: shortName: Eng teamId: hynSs130W '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: getTeamByTeamId summary: Get team by teamId tags: - Team description: 'Retrieves the details of a specific team associated with a partner. Params: TEAM_ID (URL param): Specifies the unique identifier of the TEAM.(short, unique ID) Example: TEAM_ID: hCOte-L.1' parameters: - name: teamId 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: id: type: string name: type: string category: type: string players: type: array items: type: object properties: id: type: string name: type: string metadata: type: object properties: id: type: string jerseyNumber: type: integer nickName: type: string metadata: type: object properties: shortName: type: string teamId: type: string examples: getTeamByTeamId: value: statusCode: 200 message: Team data retrieved successfully data: id: 66cd9a071fb5d43575b2d123 name: India 2024 category: cricket players: - id: 7a3f2d4e-6d68-47a7-b960-417220594123 name: Suryakumar Yadav metadata: id: s43rbbdf jerseyNumber: 63 nickName: Sky - id: dfc88d2d-1a3b-4e5d-1234-5d25f8dd3b2f name: Rohit Sharma metadata: id: a34dsf jerseyNumber: 45 nickName: Shana metadata: shortName: MI teamId: hCOte-L.1 '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/partner/tournament: post: operationId: addTournament summary: Add tournament tags: - Tournament description: 'Create a new tournament for a partner. Request Body: category (string, required): The category of the tournament. tournamentName (string, required): The name of the tournament. teams (array of strings, required): An array of teams id participating in the tournament. Note: This should be a short ID. (e.g., [ "bynSs130W" ]) metaData (object, required): Additional metadata for the tournament. The metaData object is flexible, allowing you to pass any custom information needed when retrieving clip metadata.' requestBody: required: true content: application/json: schema: type: object properties: category: type: string tournamentName: type: string teams: type: array items: type: string metaData: type: object properties: sponsored: type: string example: category: cricket tournamentName: ICC Worldcup 2024 teams: - bynSs130W metaData: sponsored: TATA responses: '201': description: Created content: application/json: schema: type: object properties: statusCode: type: integer message: type: string data: type: object properties: id: type: string name: type: string category: type: string teams: type: array items: type: object properties: id: type: string name: type: string players: type: array items: type: object properties: id: type: string name: type: string metadata: type: object properties: id: {} jerseyNumber: {} nickName: {} metadata: type: object properties: shortName: type: string metadata: type: object properties: sponsored: type: string examples: addTournament: value: statusCode: 201 message: Tournament added successfully data: id: ABCHu4NPb name: ICC Worldcup 2024 category: cricket teams: - id: 66cd9a071fb5d43575b2d123 name: india 2023 players: - id: dfc88d2d-1a3b-4e5d-1234-5d25f8dd3b2f name: Rohit Sharma metadata: id: a34dsf jerseyNumber: 45 nickName: Shana metadata: shortName: MI metadata: sponsored: TATA '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: getAllTournaments summary: Get all tournaments tags: - Tournament description: 'Retrieves a list of tournaments associated with the partner. Query Params: page (number, required): The page number to retrieve. pageSize (number, required): The number of items per page. category (string, optional): Filter tournaments by specific category. search (string, optional): Search tournament by name. filters (object, optional): Additional filter on tournament metadata, e.g., { "extId" : "12345" }.' parameters: - name: page in: query required: false schema: type: integer example: '1' - name: pageSize in: query required: false schema: type: integer example: '2' responses: '200': description: OK content: application/json: schema: type: object properties: statusCode: type: integer message: type: string data: type: object properties: tournaments: type: array items: type: object properties: id: type: string name: type: string category: type: string teams: type: array items: type: object properties: id: type: string name: type: string players: type: array items: {} metadata: type: object teamId: type: string metadata: type: object teamId: type: string currentPage: type: integer pageSize: type: integer totalItems: type: integer totalPages: type: integer examples: getAllTournaments: value: statusCode: 200 message: Tournament data retrieved successfully data: tournaments: - id: oq2y6eaZ7 name: Pro League category: Kabaddi teams: - id: 88efe561bae41883b1ab4dd7 name: portugal players: - id: aa783087-0ea7-ab3e-aad5-a383da525674 name: Cristiano Ronaldo metadata: jerseyNumber: 7 shortName: CR7 - id: ad080635-2aed-4986-a4ce-07494afade51 name: Lionel Messi metadata: jerseyNumber: 11 shortName: LM metadata: {} teamId: bynSs130W - id: 66c87b38adf7f907a2c64765 name: Chennai Super Kings players: - id: 6e2821ce-e1a7-4e51-930f-a6429205a1e6 name: Virat Kohli metadata: id: 18RCB name: Chiku metadata: shortName: CSK metadata: {} teamId: bynSs130A - id: CZAHu4NPb name: ICC Worldcup 2024 category: cricket teams: - id: 66cd9a071fb5d43575b2d967 name: india 2023 players: - id: dfc88d2d-1a3b-4e5d-a640-5d25f8dd3b2f name: Rohit Sharma metadata: id: a34dsf jerseyNumber: 45 nickName: Shana metadata: shortName: MI metadata: sponsored: TATA teamId: bynSs230W currentPage: 1 pageSize: 2 totalItems: 10 totalPages: 5 '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/partner/tournament/{tournamentId}: put: operationId: updateTournamentByTournamentId summary: Update tournament by tournamentId tags: - Tournament description: 'Allows you to update a tournament in Partner''s organization. Params: TOURNAMEMT_ID (URL param): Specifies the unique identifier of the Tournament. Request Body: category (string, required): The category of the tournament. tournamentName (string, required): The name of the tournament. teams (array of strings, required): An array of teams id participating in the tournament. Note: This should be a short ID. (e.g., [ "bynSs130W" ]) metaData (object, required): Additional metadata for the tournament. The metaData object is flexible, allowing you to pass any custom information needed when retrieving clip metadata.' parameters: - name: tournamentId in: path required: true schema: type: string requestBody: required: true content: application/json: schema: type: object properties: category: type: string tournamentName: type: string teams: type: array items: type: string metaData: type: object properties: sponsored: type: string example: category: cricket tournamentName: ICC Worldcup 2023 teams: - hynSs130W - Sw8LmzGRm metaData: sponsored: ICC responses: '200': description: OK content: application/json: schema: type: object properties: statusCode: type: integer message: type: string data: type: object properties: id: type: string name: type: string category: type: string teams: type: array items: type: object properties: id: type: string name: type: string players: type: array items: type: object properties: id: type: string name: type: string category: type: string metadata: type: object properties: jerseyNumber: {} metadata: type: object properties: shortName: type: string teamId: type: string metadata: type: object properties: sponsored: type: string examples: updateTournamentByTournamentId: value: statusCode: 200 message: Tournament data updated successfully data: id: ABCHu4NPb name: ICC Worldcup 2023 category: cricket teams: - id: 66cd9a071fb5d43575b2d967 name: England players: - id: 59accd29-067a-435a-abcd-caf6b6f83123 name: Morgan category: cricket metadata: jerseyNumber: 93 metadata: shortName: Eng teamId: hynSs130W - id: 66cc5d81ca1c3333288888ba name: Africa players: - id: aa783087-0707-4de9-airf-a383da525674 name: AB Devilliars metadata: jerseyNumber: 7 metadata: shortName: Afr teamId: Sw8LmzGRm metadata: sponsored: ICC '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: getTournamentByTournamentId summary: Get tournament by tournamentId tags: - Tournament description: 'Retrieves details of a specific tournament associated with the partner. Params: TOURNAMEMT_ID (URL param): Specifies the unique identifier of the Tournament.' parameters: - name: tournamentId 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: id: type: string name: type: string category: type: string teams: type: array items: type: object properties: id: type: string name: type: string players: type: array items: type: object properties: id: type: string name: type: string metadata: type: object properties: id: {} jerseyNumber: {} nickName: {} metadata: type: object properties: shortName: type: string teamId: type: string metadata: type: object properties: sponsored: type: string examples: getTournamentByTournamentId: value: statusCode: 200 message: Tournament data retrieved successfully data: id: ABCHu4NPb name: ICC Worldcup 2024 category: cricket teams: - id: 66cd9a071fb5d43575b2d123 name: india 2023 players: - id: dfc88d2d-1a3b-4e5d-1234-5d25f8dd3b2f name: Rohit Sharma metadata: id: a34dsf jerseyNumber: 45 nickName: Shana metadata: shortName: MI teamId: bynSs130W metadata: sponsored: TATA '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/match-schedule: post: operationId: createMatchSchedule summary: Create match schedule tags: - Match Schedule description: 'Create a new match schedule with the specified details. Request Body: name (string, required): The name of the match. matchStartTime (string, required): The timestamp at which the match is scheduled to start, in ISO 8601 format. timezone (string, required): The timezone for the match start time, e.g., ''Etc/UTC''. teams (array, optional): An array of objects representing the teams in the match. teamId (string, required): The unique identifier of the team. type (string, required): The role of the team in the match, e.g., ''HOME'' or ''AWAY''. tournament (string, optional): The unique identifier of the tournament to which the match belongs. category (string, required): The category of the match, e.g., ''cricket''. extMatchId (string, optional): An optional external match ID.slug (string, optional):An optional slug for the match. slug (string, optional): An optional slug for the match. streamUrl (string, optional): The URL for the match stream. venue (string, optional): The venue where the match is taking place. streamCustomFields (object, optional): A set of custom key-value pairs defining additional stream-specific fields for the match.' requestBody: required: true content: application/json: schema: type: object properties: name: type: string matchStartTime: type: string timezone: type: string teams: type: array items: type: object properties: teamId: type: string type: type: string tournament: type: string category: type: string example: name: Example Match matchStartTime: '2024-11-15T23:30:00' timezone: Etc/UTC teams: - teamId: EzuBP0z12 type: HOME - teamId: 8pAIPh9.y type: AWAY tournament: KQerB10o3 category: cricket responses: '201': description: Created content: application/json: schema: type: object properties: statusCode: type: integer message: type: string data: type: object properties: id: type: string name: type: string extMatchId: type: string organizationId: type: string workspaceWithAccess: type: 'null' category: type: string matchStartTime: type: string format: date-time tournament: type: string teams: type: array items: type: object properties: teamId: type: string type: type: string venue: type: 'null' streamId: type: 'null' streamUrl: type: 'null' metaData: type: object properties: originalMatchStartTime: type: object properties: matchStartTime: type: string timezone: type: string examples: createMatchScheduleSuccess: value: statusCode: 201 message: Match schedule added successfully data: id: msh_d16c0fa1-6db8-4160-b486-b431130e6231 name: Example Match extMatchId: ext_match_bbefc35b-8ea6-4744-b196-505cd431010d organizationId: org_b7335033-a5fb-4815-b0f5-5ad801dde5ef workspaceWithAccess: null category: cricket matchStartTime: '2024-11-16T07:30:00.000Z' tournament: KQerB10o3 teams: - teamId: hCOte-L.1 type: HOME - teamId: hCOte-L.2 type: AWAY venue: null streamId: null streamUrl: null metaData: originalMatchStartTime: matchStartTime: '2024-11-15T23:30:00' timezone: Etc/UTC '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: errorMetadata: type: string examples: createMatchScheduleIncorrectTournamentID: value: statusCode: 400 error: message: Tournament ID is incorrect code: MS003 metadata: errorMetadata: Tournament with ID 6PHBy0V12 not found createMatchScheduleTournamentCategoryMismatch: value: statusCode: 400 error: message: Tournament category mismatch code: MS005 metadata: errorMetadata: Tournament category football does not match with the given category createMatchScheduleIncorrectCategory: value: statusCode: 400 error: message: Category is incorrect code: MS004 metadata: errorMetadata: Category with name shooting not found for entity org_b7335033-a5fb-4815-b0f5-5ad801dde5ef createMatchScheduleIncorrectTeamID: value: statusCode: 400 error: message: Team ID is incorrect code: MS002 metadata: errorMetadata: Team with ID GUwQObsk77 not found createMatchScheduleTeamNotInTournament: value: statusCode: 400 error: message: Team not in tournament code: MS006 metadata: errorMetadata: Team with ID A5Ad3-ojA not found in tournament '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: getAllMatchSchedules summary: Get all match schedules tags: - Match Schedule description: 'Retrieves a list of all match schedules. Query Params: startTime (string, required): The start time for filtering match schedules, in ISO 8601 format. Must be less than the endTime. endTime (string, required): The end time for filtering match schedules, in ISO 8601 format. category (string, optional): The category of the match, e.g., ''cricket''. tournament (string, optional): The unique identifier of the tournament to which the match belongs. search (string, optional): A search term for filtering match schedules by name or other relevant fields. streamCustomFields (object, optional): An object used to filter match schedules by specific custom stream field values.' parameters: - name: startTime in: query required: false schema: type: string example: '2024-11-01T06:30:00.000Z' - name: endTime in: query required: false schema: type: string example: '2024-12-31T06:30:00.000Z' responses: '200': description: OK content: application/json: schema: type: object properties: statusCode: type: integer message: type: string data: type: object properties: matchSchedules: type: array items: type: object properties: id: type: string name: type: string extMatchId: type: string organizationId: type: string workspaceWithAccess: type: 'null' category: type: string matchStartTime: type: string format: date-time tournament: type: string teams: type: array items: type: object properties: teamId: type: string type: type: string venue: type: 'null' streamId: type: 'null' streamUrl: type: 'null' metaData: type: object properties: originalMatchStartTime: type: object properties: matchStartTime: type: string timezone: type: string examples: getAllMatchSchedules: value: statusCode: 200 message: Match schedule data retrieved successfully data: matchSchedules: - id: msh_d16c0fa1-6db8-4160-b486-b431130e6231 name: Example Match extMatchId: ext_match_bbefc35b-8ea6-4744-b196-505cd431010d organizationId: org_b7335033-a5fb-4815-b0f5-5ad801dde5ef workspaceWithAccess: null category: cricket matchStartTime: '2024-11-16T07:30:00.000Z' tournament: KQerB10o3 teams: - teamId: hCOte-L.1 type: HOME - teamId: hCOte-L.2 type: AWAY venue: null streamId: null streamUrl: null metaData: originalMatchStartTime: matchStartTime: '2024-11-15T23:30:00' timezone: Etc/UTC - id: msh_53c031ce-184f-48b3-88e3-b02a630651b2 name: Example Match 2 extMatchId: '23167_22' organizationId: org_b7335033-a5fb-4815-b0f5-5ad87adde5f2 workspaceWithAccess: null category: ice_hockey matchStartTime: '2024-11-01T19:00:00.000Z' tournament: UqsFd3d.t teams: - teamId: hCOte-L.3 type: HOME - teamId: hCOte-L.4 type: AWAY venue: Wings Event Center streamId: null streamUrl: null metaData: originalMatchStartTime: matchStartTime: '2024-11-01T15:00:00' timezone: Canada/Eastern - id: msh_7cf03482-6d0b-47fa-9a8e-4874031e5ff8 name: Example Match 3 extMatchId: '23173_11' organizationId: org_b7335033-a5fb-4815-b0f5-5ad87adde5f3 workspaceWithAccess: null category: ice_hockey matchStartTime: '2024-11-01T19:00:00.000Z' tournament: UqsFd3d.u teams: - teamId: hCOte-L.5 type: HOME - teamId: hCOte-L.6 type: AWAY venue: Colisée Vidéotron streamId: null streamUrl: null metaData: originalMatchStartTime: matchStartTime: '2024-11-01T15:00:00' timezone: Canada/Eastern '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/match-schedule/{matchScheduleId}: patch: operationId: updateMatchScheduleByMatchScheduleId summary: Update match schedule by matchScheduleId tags: - Match Schedule description: 'Update the details of a specific match schedule Params: MATCH_SCHEDULE_ID (URL param): Specifies the unique identifier of the match schedule. Request Body: name (string, optional): The name of the match. matchStartTime (string, optional): The timestamp at which the match is scheduled to start, in ISO 8601 format. timezone (string, optional): The timezone for the match start time, e.g., ''Etc/UTC''. teams (array, optional): An array of objects representing the teams in the match. teamId (string, required): The unique identifier of the team. type (string, required): The role of the team in the match, e.g., ''HOME'' or ''AWAY''. tournament (string, optional): The unique identifier of the tournament to which the match belongs. category (string, optional): The category of the match, e.g., ''cricket''. slug (string, optional): An optional slug for the match. streamUrl (string, optional): The URL for the match stream. venue (string, optional): The venue where the match is taking place. streamCustomFields (object, optional): A set of custom key-value pairs defining additional stream-specific fields for the match.' parameters: - name: matchScheduleId in: path required: true schema: type: string requestBody: required: true content: application/json: schema: type: object properties: name: type: string matchStartTime: type: string timezone: type: string teams: type: array items: type: object properties: teamId: type: string type: type: string tournament: type: string category: type: string example: name: Example Match 1 matchStartTime: '2024-11-15T23:30:00' timezone: Etc/UTC teams: - teamId: EzuBP0z12 type: HOME - teamId: 8pAIPh9.y type: AWAY tournament: KQerB10o3 category: cricket responses: '200': description: OK content: application/json: schema: type: object properties: statusCode: type: integer message: type: string data: type: object properties: id: type: string name: type: string extMatchId: type: string organizationId: type: string workspaceWithAccess: type: 'null' category: type: string matchStartTime: type: string format: date-time tournament: type: string teams: type: array items: type: object properties: id: type: string type: type: string venue: type: 'null' streamId: type: 'null' streamUrl: type: 'null' metaData: type: object properties: originalMatchStartTime: type: object properties: matchStartTime: type: string timezone: type: string examples: updateMatchScheduleByMatchScheduleId: value: statusCode: 200 message: Match Schedule data updated successfully data: id: msh_d16c0fa1-6db8-4160-b486-b431130e6231 name: Example Match 1 extMatchId: ext_match_bbefc35b-8ea6-4744-b196-505cd431010d organizationId: org_b7335033-a5fb-4815-b0f5-5ad801dde5ef workspaceWithAccess: null category: cricket matchStartTime: '2024-11-16T07:30:00.000Z' tournament: KQerB10o3 teams: - id: 67693f8ae7f8103007ec6286 type: HOME - id: 67693f8abs78570007ec6287 type: AWAY venue: null streamId: null streamUrl: null metaData: originalMatchStartTime: matchStartTime: '2024-11-15T23:30:00' timezone: Etc/UTC '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: updateMatchScheduleByMatchScheduleIdEntityMismatch: value: statusCode: 404 error: message: 'Permission denied: Entity mismatch' code: P001 metadata: errorMetadata: Organization is not allowed to edit the match '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: getMatchScheduleByMatchScheduleId summary: Get match schedule by matchScheduleId tags: - Match Schedule description: 'Retrieves the details of a specific match schedule Params: MATCH_SCHEDULE_ID (URL param): Specifies the unique identifier of the match schedule.' parameters: - name: matchScheduleId 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: id: type: string name: type: string extMatchId: type: string organizationId: type: string workspaceWithAccess: type: 'null' category: type: string matchStartTime: type: string format: date-time tournament: type: string teams: type: array items: type: object properties: teamId: type: string type: type: string venue: type: 'null' streamId: type: 'null' streamUrl: type: 'null' metaData: type: object properties: originalMatchStartTime: type: object properties: matchStartTime: type: string timezone: type: string examples: getMatchScheduleByMatchScheduleIdSuccess: value: statusCode: 200 message: Match schedule data retrieved successfully data: id: msh_d16c0fa1-6db8-4160-b486-b431130e6231 name: Example Match extMatchId: ext_match_bbefc35b-8ea6-4744-b196-505cd431010d organizationId: org_b7335033-a5fb-4815-b0f5-5ad801dde5ef workspaceWithAccess: null category: cricket matchStartTime: '2024-11-16T07:30:00.000Z' tournament: KQerB10o3 teams: - teamId: hCOte-L.1 type: HOME - teamId: hCOte-L.2 type: AWAY venue: null streamId: null streamUrl: null metaData: originalMatchStartTime: matchStartTime: '2024-11-15T23:30:00' timezone: Etc/UTC '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 examples: getMatchScheduleByMatchScheduleIdNotFound: value: statusCode: 404 error: message: Match data not found code: MS001 metadata: {} '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' delete: operationId: deleteMatchScheduleByMatchScheduleId summary: Delete match schedule by matchScheduleId tags: - Match Schedule description: 'Deletes the details of a specific match schedule Params: MATCH_SCHEDULE_ID (URL param): Specifies the unique identifier of the match schedule.' parameters: - name: matchScheduleId in: path required: true schema: type: string responses: '200': description: OK content: application/json: schema: type: object properties: statusCode: type: integer message: type: string examples: deleteMatchScheduleByMatchScheduleId: value: statusCode: 200 message: Match schedule data deleted successfully '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/match-schedule/{matchScheduleId}/de-link: post: operationId: deLinkByMatchScheduleId summary: De-link by matchScheduleId tags: - Match Schedule description: 'De-link a specific match schedule from the Stream it is linked with. Params: MATCH_SCHEDULE_ID (URL param): Specifies the unique identifier of the match schedule.' parameters: - name: matchScheduleId in: path required: true schema: type: string responses: '200': description: OK content: application/json: schema: type: object properties: statusCode: type: integer message: type: string examples: deLinkByMatchScheduleId: value: statusCode: 200 message: Match schedule data de-linked successfully '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 examples: deLinkByMatchScheduleIdError: value: statusCode: 404 error: message: Match data not found code: MS001 metadata: {} '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/match-schedule/{matchScheduleId}/invoke-stream: post: operationId: invokeStreamByMatchScheduleId summary: Invoke stream by matchScheduleId tags: - Match Schedule description: "Create a new stream from the match schedule.\nParams:\n\nMATCH_SCHEDULE_ID (URL param):\ \ Specifies the unique identifier of the match schedule.\n\nRequest Body:\n\ntemplateName (string,\ \ required): The name of the template.\n\ntitle (string, optional): The title of the stream.\n\ \nurl (string, optional): The URL of the stream.\n\ncategory (string, optional): The category\ \ of the stream.\n\nfireAt (string, optional): The timestamp at which the stream should start.\n\ \nstreamStartTime (string, optional): The start time of the stream.\n\nfields (object, optional):\ \ Additional fields for the stream.\n\next_stream_id (string, optional): The external stream ID.\n\ \n\npublishingWebhookUrl (string, optional): Webhook URL where you want us to send metadata.\n\ \nhls_live_start_index (number, optional): Default value 1\n\ntournamentId (string, optional):\ \ ID for the tournament to which the stream belongs.\n\nhomeTeamId (string, optional): ID for\ \ the home team participating in the stream.\n\nawayTeamId (string, optional): ID for the away\ \ team participating in the stream.\n\nshareType (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:\n\noriginal – The stream scope is shared, allowing\ \ generated clips to be accessible in both the parent organization and the shared workspace.\n\ \nclone – The shared workspace can view clips generated in the parent organization, but the parent\ \ organization will not see clips created in the shared workspace.\n\n\n\nsharedWith (string[],\ \ optional): A list of workspace IDs where the stream should be shared.\n\nstreamLanguage (string,\ \ optional): Default language for the stream (e.g: \"en\").\n\nstorageId (string, optional): Storage\ \ target ID for outputs. clipNamingTemplateId (string, optional): Template ID for naming generated\ \ clips.\n\naudioType (string, optional): How audio is selected for multi-audio streams. Accepted\ \ values: iso, track, pid. When iso, scte35Source is required.\n\nscte35Source (string, optional):\ \ Where SCTE-35 cues are read from. Required when audioType is \"iso\". Accepted values: SEGMENTS,\ \ MANIFESTS. Optional otherwise.\n\naudioLanguages (string[], optional): Language codes for audio\ \ tracks (e.g: [\"en\", \"es\"]).\n\nclipLanguages (string[], optional): Language codes for clip\ \ generation (e.g: [\"en\", \"es\"]).\n\naudioTracks (string[], optional): HLS audio group or\ \ track IDs (e.g: [\"aud1\", \"aud2\"]). Use when audioType is \"track\".\n\npids (string[], optional):\ \ MPEG-TS audio PIDs (e.g: [\"257\", \"258\"]). Use when audioType is \"pid\".\n\nautoAspectRatioConvert\ \ (object, optional): Auto aspect-ratio conversion. e.g: { \"autoConvertAspectRatios\": [\"16:9\"\ ] }.\n\n\nNote:All optional fields will automatically fall back to the corresponding values from\ \ the match schedule, if available. If any optional field is not provided explicitly in the request\ \ body, the system will use the default value from the associated match schedule.\nThe fields\ \ object is flexible, allowing you to pass any custom information needed when retrieving metadata.\n\ If datafeed access is required, please reach out to us to enable it. Once access is granted, include\ \ the following within the payload object:\n\"datafeed\": {\n \"type\": \"genius\",\n \"\ competitionId\": \"some_id\",\n \"tournamentId\": \"some_id\",\n \"matchId\": \"some_id\"\ \n}" parameters: - name: matchScheduleId in: path required: true schema: type: string requestBody: required: true content: application/json: schema: type: object properties: templateName: type: string url: type: string homeTeamId: type: string awayTeamId: type: string title: type: string fireAt: type: string format: date-time example: templateName: Test mp4 template url: https://d1rkuvpc8sfd7al.cloudfront.net/example/master_highest.m3u8 homeTeamId: EzuBP0123 awayTeamId: 8pAIPh321 title: new title fireAt: '2025-11-10T09:30:30.293Z' responses: '202': description: Accepted content: application/json: schema: type: object properties: statusCode: type: integer message: type: string data: type: object properties: 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: tournamentId: type: string team1Id: type: 'null' team2Id: type: 'null' 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 datafeed: type: object examples: invokeStreamByMatchScheduleId: value: statusCode: 202 message: Stream created from Match Schedule successfully data: stream: streamId: bIaas2bkn title: PS Match url: https://qwertyul.cloudfront.net/example/master_highest.m3u8 category: cricket userId: '454354' entityId: org_b7335033-4815-a5fb-b0f5-5ad87adde5ef fireAt: 2025-11-10T14:00 aspectRatio: '16:9' status: Pending streamStartTime: '2025-11-10T13:57:36.000Z' fields: tournamentId: KQErBW123 team1Id: null team2Id: null stream_start_time: '2025-11-10T13:57:36+00:00' match_start_time_on_server: 0 templateId: 66dea8cd414ea00007d1f123 hls_live_start_index: 1 publishingWebhookUrl: '' createdAt: '2025-11-10T08:27:39.716Z' datafeed: {} '400': description: Bad Request content: application/json: schema: type: object properties: statusCode: type: integer message: type: string error: type: array items: type: object properties: property: type: string constraints: type: object properties: isNotEmpty: type: string isString: type: string examples: errorInvokeStreamByMatchScheduleId: value: statusCode: 400 message: Validation failed error: - property: templateName constraints: isNotEmpty: templateName should not be empty isString: templateName must be a string errorInvokeStreamByMatchScheduleId2: value: statusCode: 400 error: message: Stream URL validation failed code: S002 metadata: matchScheduleData: id: msh_c8921714-e4e4-4209-8287-bc33ca122b54 name: A demo match extMatchId: ext_match_646ef753-422d-ed14-bba3-b35461b39222 organizationId: org_b7335033-a5fb-b0f5-4815-5ad87adde5ef workspaceWithAccess: null category: cricket matchStartTime: '2025-11-10T08:30:00.000Z' tournament: KQErBW123 teams: null venue: null streamId: null streamUrl: null metaData: originalMatchStartTime: matchStartTime: '2025-11-10T14:00:00' timezone: Asia/Kolkata originalMatchEndTime: matchEndTime: null timezone: Asia/Kolkata payload: title: A demo match url: null category: cricket '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/catch-me-up/highlight: get: operationId: getCatchMeUpHighlight summary: Get Catch me up Highlight tags: - Catch me up parameters: - name: configId in: query required: false schema: type: string - name: streamId in: query required: false schema: type: string responses: '200': description: OK content: application/json: schema: type: object properties: statusCode: type: integer message: type: string data: type: object properties: catchMeUpHL: type: object properties: id: type: string configId: type: string entityId: type: string clips: type: array items: type: object properties: clipId: type: string duration: type: number preSignedUrl: type: string examples: getCatchMeUpHighlight: value: statusCode: 200 message: Catch me up HL retrieved successfully data: catchMeUpHL: id: cmu_hl_a6c33f5a-8067-4135-9e31-a6c33f5a3afc configId: cmu_cfg_60566546-4444-46f1-1234-7baamadu8ba0 entityId: entityId clips: - clipId: 6798a5271a42800009488f9f duration: 7.834 preSignedUrl: - clipId: 6798a4d9b52e4e000923b1db duration: 6.134 preSignedUrl: - clipId: 6798a465b52e4e000923af4d duration: 5.6 preSignedUrl: '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: configId: type: string streamId: type: string entityId: type: string userId: type: string examples: getCatchMeUpHighlightNotAvailable: value: statusCode: 404 error: message: Catch me up Highlight is not yet ready for this stream code: CM001 metadata: configId: cmu_cfg_18a6e30b-6b96-4a86-bdcc-012345c8d4f4 streamId: eHqq4ZTuu entityId: org_11111111-a5fb-4815-b0f5-2222adde5ef userId: qdgvbzVAz '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/webhook/notifier/topics: get: operationId: fetchTopics summary: Fetch Topics tags: - Webhook description: Retrives all the available topics for the partner to create subscription. responses: '200': description: OK content: application/json: schema: type: object properties: statusCode: type: integer message: type: string data: type: array items: type: object properties: resourceType: type: string operations: type: array items: type: string standardFields: type: array items: type: string customFields: type: array items: {} examples: fetchTopics: value: statusCode: 200 message: Topics fetched successfully data: - resourceType: stream operations: - CREATE - UPDATE standardFields: - title - status customFields: [] - resourceType: matchVideo operations: - CREATE - UPDATE standardFields: - matchVideoTitle - status - progress - videoUrl customFields: [] - resourceType: clip operations: - CREATE - UPDATE standardFields: - clipTitle - startTime - endTime - duration - players - outcome - rating - transcript - videoUrl - videoThumbnailUrl - aspectRatiosAvailableIn customFields: - fieldName: batsman category: cricket - fieldName: bowler category: cricket - fieldName: corner category: football - resourceType: hlClip operations: - CREATE - UPDATE standardFields: - hlClipTitle - duration - players - outcome - rating - videoUrl - clips customFields: - fieldName: batsman category: cricket - fieldName: bowler category: cricket - fieldName: corner category: football '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/webhook/notifier/subscription: post: operationId: createSubscription summary: Create Subscription tags: - Webhook description: 'Create a new webhook subscription with the specified details. Request Body: resourceType (enum, required): The type of resource to monitor. operations (array of enum, required): List of operations to monitor. standardFields (array of strings, optional): List of standard fields to include in the webhook payload. [To be used with _UPDATE_ operation only.] customFields (array of objects, optional): List of custom fields to include in the webhook payload. [To be used with _UPDATE_ operation only.] fieldName (string, required): Name of the custom field category (string, required): Category of the custom field webhookUrl (string, required): The HTTPS URL where webhook notifications will be sent. Must be a valid HTTPS URL with protocol, host, and TLD (e.g., https://example.com). secretKey (string, optional): Secret key for webhook signature verification. If not passed, we will fallback to a default key. Must be between 32 and 128 characters long Can only contain letters, numbers, hyphens, and underscores description (string, optional): A description of the webhook subscription. Note: The available fields and their validation may change over time. It''s recommended to: Use the /webhook/notifier/topics endpoint to get the current list of available fields for each resource type Check the API response for any validation errors Monitor the webhook delivery status through the provided endpoints' requestBody: required: true content: application/json: schema: type: object properties: resourceType: type: string operations: type: array items: type: string standardFields: type: array items: type: string customFields: type: array items: type: object properties: fieldName: type: string category: type: string webhookUrl: type: string secretKey: type: string description: type: string example: resourceType: clip operations: - UPDATE standardFields: - clipTitle - rating customFields: - fieldName: run category: cricket - fieldName: goal category: football webhookUrl: https://api.example.com/webhooks/notifications secretKey: your-32-character-secret-key-here-123456789 description: Webhook subscription for clip events responses: '201': description: Created content: application/json: schema: type: object properties: statusCode: type: integer message: type: string data: type: object properties: subscription: type: object properties: subscriptionId: type: string resourceType: type: string operations: type: array items: type: string webhookUrl: type: string isActive: type: boolean description: type: string failureCount: type: integer createdAt: type: string format: date-time updatedAt: type: string format: date-time examples: createSubscriptionListenToCreateCLIPOperation: value: statusCode: 201 message: Subscription created successfully data: subscription: subscriptionId: resourceType: clip operations: - CREATE webhookUrl: https://api.example.com/webhooks/notifications isActive: true description: Webhook subscription for clip events failureCount: 0 createdAt: '2024-03-21T10:00:00.000Z' updatedAt: '2024-03-21T10:00:00.000Z' createSubscriptionListenToCreateSTREAMOperation: value: statusCode: 201 message: Subscription created successfully data: subscription: subscriptionId: resourceType: stream operations: - CREATE webhookUrl: https://api.example.com/webhooks/notifications isActive: true description: Webhook subscription for stream events failureCount: 0 createdAt: '2024-03-21T10:00:00.000Z' updatedAt: '2024-03-21T10:00:00.000Z' createSubscriptionListenToCLIPUpdateOperation: value: statusCode: 201 message: Subscription created successfully data: subscription: subscriptionId: resourceType: clip operations: - UPDATE standardFields: - clipTitle - rating customFields: - fieldName: run category: cricket - fieldName: goal category: football webhookUrl: https://api.example.com/webhooks/notifications isActive: true description: Webhook subscription for clip events failureCount: 0 createdAt: '2024-03-21T10:00:00.000Z' updatedAt: '2024-03-21T10:00:00.000Z' createSubscriptionListenToSTREAMUpdateOperation: value: statusCode: 201 message: Subscription created successfully data: subscription: subscriptionId: resourceType: stream operations: - UPDATE standardFields: - title - status customFields: [] webhookUrl: https://api.example.com/webhooks/notifications isActive: true description: Webhook subscription for stream events failureCount: 0 createdAt: '2024-03-21T10:00:00.000Z' updatedAt: '2024-03-21T10:00:00.000Z' '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/webhook/notifier/subscription/{subscriptionId}: patch: operationId: updateSubscription summary: Update Subscription tags: - Webhook description: 'Update an existing webhook subscription with the specified details. Request Body: resourceType (enum, required): The type of resource to monitor. operations (array of enum, required): List of operations to monitor. standardFields (array of strings, optional): List of standard fields to include in the webhook payload. customFields (array of objects, optional): List of custom fields to include in the webhook payload. fieldName (string, required): Name of the custom field category (string, required): Category of the custom field webhookUrl (string, required): The HTTPS URL where webhook notifications will be sent. Must be a valid HTTPS URL with protocol, host, and TLD (e.g., https://example.com). secretKey (string, optional): Secret key for webhook signature verification. If not passed, we will fallback to a default key. Must be between 32 and 128 characters long Can only contain letters, numbers, hyphens, and underscores description (string, optional): A description of the webhook subscription. Note: The available fields and their validation may change over time. It''s recommended to: Use the /webhook/notifier/topics endpoint to get the current list of available fields for each resource type Check the API response for any validation errors Monitor the webhook delivery status through the provided endpoints' parameters: - name: subscriptionId in: path required: true schema: type: string requestBody: required: true content: application/json: schema: type: object properties: webhookUrl: type: string secretKey: type: string example: webhookUrl: https://new-api.example.com/webhooks/notifications secretKey: new-32-character-secret-key-here-123456789 responses: '200': description: OK content: application/json: schema: type: object properties: statusCode: type: integer message: type: string data: type: object properties: subscription: type: object properties: subscriptionId: type: string resourceType: type: string operations: type: array items: type: string standardFields: type: array items: type: string customFields: type: array items: type: object properties: fieldName: type: string category: type: string webhookUrl: type: string isActive: type: boolean description: type: string createdAt: type: string format: date-time updatedAt: type: string format: date-time examples: updateSubscription: value: statusCode: 200 message: Subscription updated successfully data: subscription: subscriptionId: resourceType: clip operations: - CREATE - UPDATE standardFields: - clipTitle - rating customFields: - fieldName: run category: cricket - fieldName: goal category: football webhookUrl: https://new-api.example.com/webhooks/notifications isActive: true description: Webhook subscription for clip events createdAt: '2024-03-21T10:00:00.000Z' updatedAt: '2024-03-21T10:30:00.000Z' '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: getSubscriptionBySubscriptionId summary: Get Subscription by subscriptionId tags: - Webhook description: Retrieve the subscription by its unique identifier. parameters: - name: subscriptionId 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: subscription: type: object properties: subscriptionId: type: string partnerConfigId: type: string resourceType: type: string operations: type: array items: type: string standardFields: type: array items: type: string customFields: type: array items: type: object properties: category: type: string fieldName: type: string description: type: string webhookUrl: type: string isActive: type: boolean createdAt: type: string format: date-time updatedAt: type: string format: date-time examples: getSubscriptionBySubscriptionId: value: statusCode: 200 message: Subscription fetched successfully data: subscription: subscriptionId: partnerConfigId: resourceType: clip operations: - CREATE - UPDATE standardFields: - clipTitle - players - outcome customFields: - category: cricket fieldName: run - category: cricket fieldName: wicket description: Webhook subscription for clip events webhookUrl: isActive: true createdAt: '2025-06-10T11:44:31.860Z' updatedAt: '2025-06-10T11:44:31.860Z' '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 examples: subscriptionNotFound: value: statusCode: 400 error: message: Partner notifier subscription not found code: PA012 metadata: {} subscriptionInactive: value: statusCode: 400 error: message: Partner notifier subscription is inactive code: PA013 metadata: {} '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' delete: operationId: deleteSubscription summary: Delete Subscription tags: - Webhook parameters: - name: subscriptionId in: path required: true schema: type: string responses: '204': description: No Content '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/webhook/notifier/subscriptions: get: operationId: getSubscriptions summary: Get Subscriptions tags: - Webhook description: Retreive all the active subscriiption available responses: '200': description: OK content: application/json: schema: type: object properties: statusCode: type: integer message: type: string data: type: object properties: subscriptions: type: array items: type: object properties: subscriptionId: type: string partnerConfigId: type: string resourceType: type: string operations: type: array items: type: string standardFields: type: array items: type: string customFields: type: array items: type: object properties: category: type: string fieldName: type: string description: type: string webhookUrl: type: string isActive: type: boolean createdAt: type: string format: date-time updatedAt: type: string format: date-time examples: getSubscriptions: value: statusCode: 200 message: Subscriptions fetched successfully data: subscriptions: - subscriptionId: partnerConfigId: resourceType: clip operations: - CREATE - UPDATE standardFields: - clipTitle - players - outcome customFields: - category: cricket fieldName: run - category: cricket fieldName: wicket description: Webhook subscription for clip events webhookUrl: isActive: true createdAt: '2025-06-10T11:44:31.860Z' updatedAt: '2025-06-10T11:44:31.860Z' - subscriptionId: partnerConfigId: resourceType: stream operations: - CREATE standardFields: [] customFields: [] description: Webhook subscription for stream events webhookUrl: isActive: true createdAt: '2025-06-10T12:10:00.509Z' updatedAt: '2025-06-10T12:10:00.509Z' '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/entity-member: post: operationId: createEntityMember summary: Create Entity Member tags: - Entity Member description: 'Create a new entity member with the specified details. Request Body: name (string, required): The name of the entity member. email (string, required): The email of the entity member. password (string, required): Password of the entity member role (string, required): Role for the entity member, e.g., ''user'' or ''reviewer''.' requestBody: required: true content: application/json: schema: type: object properties: name: type: string email: type: string password: type: string role: type: string example: name: Test user email: molola3631@1200b.com password: abcd@1234 role: user responses: '200': description: OK content: application/json: schema: type: object properties: statusCode: type: integer message: type: string data: type: object properties: entityMemberId: type: string userId: type: string role: type: string name: type: string email: type: string examples: createEntityMember: value: statusCode: 200 message: Entity member created successfully data: entityMemberId: orgMem_2f603e98-36ff-413f-94ca-509c0f0f7518 userId: nLnZRyj7c role: user name: Test user email: molola3631@1200b.com '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: getEntityMembers summary: Get Entity Members tags: - Entity Member description: Retrieve existing entity members of the entity. responses: '200': description: OK content: application/json: schema: type: object properties: statusCode: type: integer message: type: string data: type: object properties: entityMembers: type: array items: type: object properties: entityMemberId: type: string role: type: string userId: type: string name: type: string email: type: string currentPage: type: integer pageSize: type: integer totalItems: type: integer totalPages: type: integer examples: getEntityMembers: value: statusCode: 200 message: Entity members retrieved successfully data: entityMembers: - entityMemberId: orgMem_b593b0f3-83b5-45ee-8bf9-c9a9f1ebc123 role: admin userId: v988DduzK name: Test User 11 email: testadmin@magnifi.ai - entityMemberId: orgMem_b12a71dd-c377-4c6b-abcd-4feeec972456 role: user userId: .KKFPAEdw name: Test User 8 email: user8@mailinator.com - entityMemberId: orgMem_f9b0603d-2eb6-4ae3-8894-bff51d90f789 role: admin userId: HtH74Kk-c name: Test User 7 email: admin@mailinator.com - entityMemberId: orgMem_f6072a00-dd34-4cdb-99f9-cd86f79da011 role: user userId: nLnZRyj7c name: Test user email: molola3631@1200b.com currentPage: 1 pageSize: 10 totalItems: 4 totalPages: 1 '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/entity-member/assign: post: operationId: assignRoleToUser summary: Assign Role to User tags: - Entity Member description: "Assign a role to a assignable user.\nRequest Body:\n\nuserId (string, required): User\ \ ID of the user.\n\nrole (string, required): Role for the user.\n Note: Allowed values for roles\ \ are \"user\" or \"reviewer\"" requestBody: required: true content: application/json: schema: type: object properties: userId: type: string role: type: string example: userId: 0WXRsQbMQ role: user responses: '200': description: OK content: application/json: schema: type: object properties: statusCode: type: integer message: type: string data: type: object properties: entityMemberId: type: string userId: type: string role: type: string name: type: string email: type: string examples: assignRoleToUser: value: statusCode: 200 message: Role assigned to entity member successfully data: entityMemberId: orgMem_a1a9d3bd-b2e5-464f-b611-52c19e1d888b userId: 0WXRsQbMQ role: user name: Test User 2 email: faerWellUser@gmail.com '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/user/assignable: get: operationId: getAssignableUsers summary: Get Assignable Users tags: - Entity Member description: Retrieve assignable users for the entity. responses: '200': description: OK content: application/json: schema: type: object properties: statusCode: type: integer message: type: string data: type: object properties: users: type: array items: type: object properties: userId: type: string name: type: string email: type: string currentPage: type: integer pageSize: type: integer totalItems: type: integer totalPages: type: integer examples: getAssignableUsers: value: statusCode: 200 message: Assignable users retrieved successfully data: users: - userId: 0WXRsQbMQ name: Test User 2 email: faerWellUser@gmail.com - userId: 3nbdsANEm name: Test User 3 email: faerWelladmin@gmail.com - userId: 728WCsrKz name: Test User 4 email: april29@gmail.com - userId: C9u-f4KqS name: Test User 5 email: nik123@yopmail.com - userId: FkqNXsehK name: Test User 6 email: asdfsdf@magnifi.ai currentPage: 1 pageSize: 10 totalItems: 5 totalPages: 1 '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/entity-member/{entityMemberId}: put: operationId: updateEntityMemberRole summary: Update Entity Member Role tags: - Entity Member description: 'Update the role of a existing entity member Params: ENTITY_MEMBER_ID (URL param): Specifies the unique identifier of the entity member. (e.g orgMem_xxx or wsMem_xxx) Request Body: role (string, optional): Role for the entity member. (e.g ''user'' or ''reviewer'')' parameters: - name: entityMemberId in: path required: true schema: type: string requestBody: required: true content: application/json: schema: type: object properties: role: type: string example: role: reviewer responses: '200': description: OK content: application/json: schema: type: object properties: statusCode: type: integer message: type: string data: type: object properties: entityMemberId: type: string userId: type: string role: type: string name: type: string email: type: string examples: updateEntityMemberRole: value: statusCode: 200 message: Role updated for entity member successfully data: entityMemberId: orgMem_a1a9d3bd-b2e5-464f-b611-52c19e1d888b userId: nLnZRyj7c role: reviewer name: Test User email: molola3631@1200b.com '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' delete: operationId: removeEntityMember summary: Remove Entity Member tags: - Entity Member description: 'Remove access of a existing entity member. Params: ENTITY_MEMBER_ID (URL param): Specifies the unique identifier of the entity member. (e.g orgMem_xxx or wsMem_xxx)' parameters: - name: entityMemberId in: path required: true schema: type: string responses: '200': description: OK content: application/json: schema: type: object properties: statusCode: type: integer message: type: string examples: removeEntityMember: value: statusCode: 200 message: Role removed from entity member successfully '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' components: securitySchemes: AccessKey: type: apiKey in: header name: x-access-key description: 'Partner Access Key issued by Magnifi. Documented example prefix: pak_.' AccessSecret: type: apiKey in: header name: x-access-secret description: Partner Access Secret issued by Magnifi. Sent on every request alongside x-access-key. schemas: AuthError: type: object description: Returned when the access key or secret is missing or invalid. properties: message: type: string error: type: string statusCode: type: integer example: message: Invalid access key or access secret error: Unauthorized statusCode: 401 Error: type: object description: Magnifi error envelope. `error.code` is a Magnifi error code (see errors/videoverse-problem-types.yml). properties: statusCode: type: integer error: type: object properties: message: type: string code: type: string metadata: type: object example: statusCode: 404 error: message: Clip data not found code: C001 metadata: {}