REMIXFLOW

Explanation goes here.


Remixflow Object

{
  "Id": "",
  "Name": "Example Remixflow",
  "ConfigurationJson": "{...}"
}

Example:

To be defined.

Schema:

{
    "remixflows": {
        "type": "array",
        "items": {
            "title": "Remixflow",
            "type": "object",
            "properties": {
                "name": {
                    "type": "string"
                },
                "streamingServer": {
                    "title": "streaming Server",
                    "type": "object",
                    "properties": {
                        "type": {
                            "type": "string",
                            "enum": [
                                "USP"
                            ]
                        },
                        "streamingServerSpecific": {
                            "type": "object",
                            "oneOf": [
                                {
                                    "$ref": "#/definitions/uspRemix"
                                }
                            ]
                        }
                    }
                },
                "outputUrls": {
                    "type": "array",
                    "items": {
                        "title": "stream",
                        "type": "object",
                        "anyOf": [
                            {
                                "$ref": "#/definitions/hlsRemix"
                            },
                            {
                                "$ref": "#/definitions/hlseRemix"
                            },
                            {
                                "$ref": "#/definitions/hssRemix"
                            },
                            {
                                "$ref": "#/definitions/dashRemix"
                            },
                            {
                                "$ref": "#/definitions/hdsRemix"
                            }
                        ]
                    }
                }
            },
            "required": [
                "name",
                "type",
                "streamingServer",
                "outputUrls"
            ]
        }    
    },
    "definitions": {
    "uspRemix": {
      "properties": {
        "primaryPublishingPoint": {
          "type": "object",
          "properties": {
            "uspAPI": { "type": "string" },
            "uspAPIKey": { "type": "string" }
          },
          "required": [ "uspAPI", "uspAPIKey" ]
        },
        "secondaryPublishingPoint": {
          "type": "object",
          "properties": {
            "uspAPI": { "type": "string" },
            "uspAPIKey": { "type": "string" }
          },
          "required": [ "uspAPI", "uspAPIKey" ]
        }
      },
      "required": [ "primaryPublishingPoint", "secondaryPublishingPoint" ],
      "additionalProperties": false
    },
    "hlsRemix": {
      "properties": {
        "streamProtocol": { "enum": [ "HLS" ] },
        "remixCdnPrimaryUrl": {
          "type": "string"
        },
        "remixCdnSecondaryUrl": {
          "type": "string"
        },
        "remixPrivateUrl": {
          "type": "string"
        },
        "remixOriginPrimaryUrl": {
          "type": "string"
        },
        "remixOriginSecondaryUrl": {
          "type": "string"
        }
      },
      "required": [ "streamProtocol", "remixCdnPrimaryUrl", "remixOriginPrimaryUrl" ],
      "additionalProperties": false
    },
    "hlseRemix": {
      "properties": {
        "streamProtocol": { "enum": [ "HLSe" ] },
        "remixCdnPrimaryUrl": {
          "type": "string"
        },
        "remixCdnSecondaryUrl": {
          "type": "string"
        },
        "remixPrivateUrl": {
          "type": "string"
        },
        "remixOriginPrimaryUrl": {
          "type": "string"
        },
        "remixOriginSecondaryUrl": {
          "type": "string"
        }
      },
      "required": [ "streamProtocol", "remixCdnPrimaryUrl", "remixOriginPrimaryUrl" ],
      "additionalProperties": false
    },
    "hssRemix": {
      "properties": {
        "streamProtocol": { "enum": [ "HSS" ] },
        "remixCdnPrimaryUrl": {
          "type": "string"
        },
        "remixCdnSecondaryUrl": {
          "type": "string"
        },
        "remixPrivateUrl": {
          "type": "string"
        },
        "remixOriginPrimaryUrl": {
          "type": "string"
        },
        "remixOriginSecondaryUrl": {
          "type": "string"
        }
      },
      "required": [ "streamProtocol", "remixCdnPrimaryUrl", "remixOriginPrimaryUrl" ],
      "additionalProperties": false
    },
    "dashRemix": {
      "properties": {
        "streamProtocol": { "enum": [ "DASH" ] },
        "remixCdnPrimaryUrl": {
          "type": "string"
        },
        "remixCdnSecondaryUrl": {
          "type": "string"
        },
        "remixPrivateUrl": {
          "type": "string"
        },
        "remixOriginPrimaryUrl": {
          "type": "string"
        },
        "remixOriginSecondaryUrl": {
          "type": "string"
        }
      },
      "required": [ "streamProtocol", "remixCdnPrimaryUrl", "remixOriginPrimaryUrl" ],
      "additionalProperties": false
    },
    "hdsRemix": {
      "properties": {
        "streamProtocol": { "enum": [ "HDS" ] },
        "remixCdnPrimaryUrl": {
          "type": "string"
        },
        "remixCdnSecondaryUrl": {
          "type": "string"
        },
        "remixPrivateUrl": {
          "type": "string"
        },
        "remixOriginPrimaryUrl": {
          "type": "string"
        },
        "remixOriginSecondaryUrl": {
          "type": "string"
        }
      },
      "required": [ "streamProtocol", "remixCdnPrimaryUrl", "remixOriginPrimaryUrl" ],
      "additionalProperties": false
    }
  }
}

Supported Actions

POST /remixflow/

Add a Remixflow.

Request Body:

{
  "Name": "Example Remixflow",
  "ConfigurationJson": "{...}"
}

Response: 200 OK or 400 Bad Request if the JSON is invalid.


PUT /remixflow/{id}

Update a Remixflow by Id.

Request Body:

{
  "Name": "Example Remixflow",
  "ConfigurationJson": "{...}"
}

Response: 200 OK or 400 Bad Request if the JSON is invalid.


GET /remixflow/

Get all Remixflows.

Response: 200 OK and a JSON array containing multiple Remixflow objects.


GET /remixflow/{id}

Get a Remixflow by Id.

Response:

200 OK and JSON containing the Remixflow object.

or

204 No Content if no Remixflow exists.


DEL /remixflow/{id}

Delete a Remixflow by Id.

Response: 200 OK