fastpix

Signing keys

Create a signing key

POST
/signing-keys

Making a new signing key pair in FastPix is easy. Just start the process, and the API will generate a 2048-bit RSA key pair. You'll get the private key and a generated key-id. Meanwhile, FastPix keeps the public key stored to validate those signed tokens.

POST
/signing-keys
curl
-X POST https://api.fastpix.io/v1/iam/signing-keys
--user username:password \
HEADERS
environmentIdrequired
string

The Environment Id is assigned a universal unique identifier, which can contain a maximum of 255 characters.

Example "environmentId" :
"5ta85f64-5717-4562-b3fc-2c963f66afa6"
RESPONSE SCHEMA:application/json
success
boolean
object
Response example
{
  "success": true,
  "data": {
    "id": "fc9d9368-6ee5-4b16-ae50-880a2374bdc4",
    "privateKey": "LS0tLS1CRUdJTiBQUklWQVRFIEtFWS0tLS0tCk1JSUV2Z0lCQURBTkJna3Foa2lHOXcwQkFRRUZBQVNDQktnd2dnU2tBZ0VBQW9JQkFRREtaN1JKT1IrbXZGeVQxSWFIL0hVUkYwQnRncDJzK0srdUd4TUZ4N1JiaGNudVBMYU14WjM1b0lNWndhdHJrdDFDM3JxVFZsQzBsSnExeENFTyt3Zi9JNHQ0bktmUFB2WG83NGFCQi82YmR0MXpaSHp0OGFIenBnL3YrdEtCWVc5SEdWQ0tYc2JpNjczbHgwcFhHdXVnem8wdnZMR2lKWDBiL0Z4WEI5U1R3RkV5Q1dQOFJhczZ3VWVuSUdVM2UwMmJiV3Z4UnNoMWNER2xSRk03RWw2RVQ2MUQrS0tLTndnUGNYR1pvY0YwZTFxRU5iVGdPZUdBMFNDU0xIT3NtQ0NBQTNtSndJS1VaY0Z2MmpGRUx4Uk5MTnhoMjM5UEdUT3BuWmdvTFp5Skt4b2REN1FpV1N1eDVZY1Z0MFgrSk9rZXNBOEpjM1ZtM0tGc0IwL3RYck9QQWdNQkFBRUNnZ0VBUHhNWUxLVmZocTgyVGw4eFdWbEVCZ0p2OG5COHdIVnpFZGVnRXZJTDgyVjY2d0lDaFZYa0IvR01TVStBSXZMT2Z0TTM0MGhIdUM2REU5ZTkwWlJMQnFoR0ExMFdNbEJWZzdSNC91YkY0aDZsbmhzWGozTDRYQnhJNVNrTnhvSGRrcE9COU16YVA4YmxFNkVLT3FES0F2KzdJY0EwdnVuZDFnWExwTmRzMkduTW5nZW1qOUhJZWh1eTNLY0taNHlheFo1YkRKVEpLZlFrTlFDQzhOR0hIdWovQmRWUnU1RHRrZVdNMFFpN2FKeW5lSXRxOGhtbXdxcVNMTnpTOTZtcHpBdzF3RzFXTHVML1A3TGxJekVWa2ZJUFc0SW1zRXhsSG5FUG0ySld1RUNMQ1pRL25NODdhQXVXekROektCYW51LzZhdXhnSDB2Wnc5YWowTmxNNFFRS0JnUURPM3Y0YlN4bWluZGJpVEdSaXdFVXVyODh4TVA3M2U5RSt2SHlzb3JZMWZycFpkdXJHOVlFb09MUFN1YnQ5WkhZNFhGOFhxRWZ4bE94d294eDVzcU9PcGNMTnFnOWhTSWxPaXEyYmVnN2V2RGpOMml6b3JKRFl3VEhGQ0Era25FbmFpL0J2TU16N3AyVVkrUEEzUnJ4Z25BK3RkQlErZWlSZ1c0WmhnMkhWcndLQmdRRDZlVEpwRTRxZVFYdmpnMy9FS081UkllRklZOHphTGMvMVVHODBqNmVvbStNK3UyTmdUVDJqVmNyMkdQbjZTbHRNRlJNem5qOVJHYmQ1MCt5a2k0Y1NYU1JPdE44alV2M0FseHJtZzEwVTVtSWIrUXFIZ3g2QldyeXkvakxHYXVvMUJnVFg1dDZ0VXVEUUZuVDJSM2xoNGRNZ044T3V4VlR3OCtadGloSllJUUtCZ1FERE00ZHpHWnBHNThrc0lBbFpaVFBpcWVKSCtJT2Q0eWUrbXZ6SnFYOWxXdjljQytuZGN5czhXTVRWd293MzllUFhxdEhQOE9weCtxUmdaSWtxREhabzArRE5UL3JUUVM3Ty9leHpHT21QSXV3MjBmZ3VWU2NZWUxRbHgwVjdmajN5Q3JvRk1YYzZ2dW1XZHMrMFdQckg3bnFjb1R1NCtHZjZ4R0k1QVUvLzRRS0JnUUR6TFcvdjdIVU1xTzhyT0tSM1FuWCtkekpPSWZibGJNMFdrdjBrdnNROFF2MGlEclN3N3MwRkkycGwvR0hXeXhKUWo3V1F5L2NWT2k2VUxWajNlQyt2ZUphamc1K1FvQ2FWTVIrQTVkRWRWWCt6UU5za0xmMFVBWkJyQjdrc1F1a1lpYnR5RWtmblp5dTFXOWc2czdINWdsS0VXUiszTXdjQTJRdkRGZVl4Z1FLQmdDWVdlKzQ4bVVaUEl5ZnR4NVFaQllnYTE2blpndzYxZmxtdEdpQlVGWGVMR3BTaU1XNXc5R3RYVDZPbFh1Zy91TkNKbHR4TDE4c0NEeDNVaU9DNWFTMEN4OTc5TlFrSm1YRWw1UDNtMFNGaVU4VlZ0SFp1dHd3SWFKTFZockZ1T3NJV1BtRFN4aHhMaFpPNmJ5aWRwbHlXLzl1eGpwMlZrQ0Y3OGd5QXRRSWsKLS0tLS1FTkQgUFJJVkFURSBLRVktLS0tLQo=",
    "createdAt": "2024-01-11T10:00:06.618993Z"
  }
}

Get list of signing key

GET
/signing-keys

Returns a list of all the signing keys of an organization.

GET
/signing-keys
curl
-X GET https://api.fastpix.io/v1/iam/signing-keys
--user username:password \
HEADERS
organizationId
string

The organization Id is assigned a universal unique identifier, which can contain a maximum of 255 characters.

Example "organizationId" :
"5ta85f64-5717-4562-b3fc-2c963f66afa6"
limitrequired
number

Maximum count of items to include per page

offsetrequired
number

An integer that indicates the distance from the object's start to a particular element contained within the same object.

RESPONSE SCHEMA:application/json
success
boolean
array
Response example
{
  "success": true,
  "data": [
    {
      "id": "fc9d9368-6ee5-4b16-ae50-880a2374bdc4",
      "createdAt": "2024-01-11T10:00:06.618993Z",
      "environment": [
        {
          "id": "6fa85f64-5717-4562-b3fc-2c963f66ag5t",
          "name": "environment1",
          "environmentType": "production"
        }
      ],
      "pagination": {
        "totalRecords": {
          "availableValue": 100
        },
        "currentOffset": {
          "availableValue": 1
        },
        "offsetCount": {
          "availableValue": 10
        }
      }
    }
  ]
}

Delete a signing key

DEL
/signing-keys/{signingKeyId}

This action deletes an existing signing key and is irreversible once done. Just be aware that once you do it, all the signatures connected to that key won't work anymore. You can't use the key to sign JWTs again.

DEL
/signing-keys/{signingKeyId}
curl
-X DELETE https://api.fastpix.io/v1/iam/signing-keys/{signingKeyId}
--user username:password \
HEADERS
signingKeyIdrequired
string

The signingKey Id is assigned a universal unique identifier, which can contain a maximum of 255 characters.

Example "signingKeyId" :
"5ta85f64-5717-4562-b3fc-2c963f66afa6"
environmentIdrequired
string

The environment Id is assigned a universal unique identifier, which can contain a maximum of 255 characters.

Example "environmentId" :
"5ta85f64-5717-4562-b3fc-2c963f66afa7"
RESPONSE SCHEMA:application/json
success
boolean
Response example
{
  "success": true
}

assets

Create asset from URL

POST
/assets

Create a new video asset in FastPix.

POST
/assets
curl
-X POST https://api.fastpix.io/v1/video/assets
--user username:password \
-H 'Content-Type: application/json' \
-d '{"input":{"url":"https://storage.googleapis.com/gtv-videos-bucket/sample/BigBuckBunny.mp4","startTime":0,"endTime":60,"type":"video","languageCode":"en-US","name":"James Bond","closedCaptions":true},"accessPolicy":"public","metadata":{"key1":"value1"},"generateSubtitles":false,"normalizeAudio":true,"maxResolution":"1080p"}'
REQUEST BODY SCHEMA:application/json

Request body for uploading a video asset from URL

object

Input will consist url, startTime, endTime, type, languageCode, name and closedCaption.

accessPolicyrequired
string

determines if access to the streamed content is kept private or available to all. - Example "accessPolicy": "public" - Possible values: "public", "private"

Example "accessPolicy" :
"public"
Possible values :
"public, private"
metadata
object

Videos can be tagged with metadata tags in "key" : "value" pairs. You can search for videos with specific key value pairs using this parameter. Dynamic Metadata allows you to define a key that allows any value pair. Max: 255 characters. Upto 10 entries are allowed.

Example "metadata" :
{"key1":"value1"}
generateSubtitles
boolean

Subtitles or captions are on-screen text synchronized with the audio of a video file. They provide a written transcript of the spoken words, enhancing the video's accessibility and comprehension.

Example "generateSubtitles" :
false
Possible values :
"true, false"
normalizeAudio
boolean

Level the audio track's overall volume. This parameter is specifically designed for pre-recorded content.

Example "normalizeAudio" :
false
Possible values :
"true, false"
Default :
true
maxResolution
string

The maximum resolution tier determines the highest quality your asset will be available in. Omitting this setting will set the default resolution to 1080p.

Example "maxResolution" :
"1080p"
Request example
{
  "input": {
    "url": "https://storage.googleapis.com/gtv-videos-bucket/sample/BigBuckBunny.mp4",
    "startTime": 0,
    "endTime": 60,
    "type": "video",
    "languageCode": "en-US",
    "name": "James Bond",
    "closedCaptions": true
  },
  "accessPolicy": "public",
  "metadata": {
    "key1": "value1"
  },
  "generateSubtitles": false,
  "normalizeAudio": true,
  "maxResolution": "1080p"
}
RESPONSE SCHEMA:application/json
success
boolean

It demonstrates either the request is successfull or not.

Object
Response example
{
  "success": true,
  "data": [
    {
      "id": "iyuU4HFxhJg1vMHM2uztnJut1hIJBuNBSzJionwUV7c",
      "status": "preparing",
      "generateSubtitles": false,
      "createdAt": "2023-10-20T10:50:34.594302",
      "updatedAt": "2023-10-20T10:50:34.594302",
      "playbackIds": [
        {
          "id": "6ta85f64-5717-4562-b3fc-2c963f66afa6",
          "accessPolicy": "public"
        }
      ],
      "metadata": {
        "key1": "value1"
      },
      "maxResolution": "1080p"
    }
  ]
}

Get list of video assets

GET
/assets

List all video assets in FastPix.

GET
/assets
curl
-X GET https://api.fastpix.io/v1/video/assets
--user username:password \
HEADERS
limitrequired
number

Maximum count of items to include per page

offsetrequired
number

An integer that indicates the distance from the object's start to a particular element contained within the same object.

orderByrequired
string

Value can be either DESC or ASC, by default DESC

RESPONSE SCHEMA:application/json
success
boolean

It demonstrates either the request is successfull or not.

array
object
Response example
{
  "success": true,
  "data": [
    {
      "thumbnail": "https://images.fastpix.io/6b13fdaf-f9ac-4970-a13b-01ea417e8783/thumbnail.png",
      "trackFile": "https://storage.googleapis.com/gtv-videos-bucket/sample/BigBuckBunny.mp4",
      "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
      "environmentId": "5ta85f64-5717-4562-b3fc-2c963f66afa6",
      "metadata": {
        "key1": "value1"
      },
      "maxResolution": "1080p",
      "availableResolution": "1080p",
      "status": "preparing",
      "generateSubtitles": false,
      "playbackIds": [
        {
          "id": "6ta85f64-5717-4562-b3fc-2c963f66afa6",
          "accessPolicy": "public"
        }
      ],
      "tracks": [
        {
          "id": "9oa85f64-5717-4562-b3fc-2c963f66afa6",
          "type": "video",
          "width": 1920,
          "height": 1080,
          "frameRate": 29.97
        }
      ],
      "duration": 23,
      "frameRate": "29.97",
      "aspectRatio": "16:9",
      "createdAt": "2023-10-20T10:50:34.594302",
      "updatedAt": "2023-10-20T10:50:34.594302"
    }
  ],
  "pagination": {
    "totalRecords": 100,
    "currentOffset": 1,
    "offsetCount": 10
  }
}

Get a video asset by ID

GET
/assets/{assetId}

Retrieves the information from a previously created asset. If you provide the distinct asset ID that was given back to you in the previous request, FastPix will provide the relevant asset details. When a asset is created, the same data is returned.

GET
/assets/{assetId}
curl
-X GET https://api.fastpix.io/v1/video/assets/{assetId}
--user username:password \
HEADERS
assetIdrequired
string

The Asset Id is assigned a universal unique identifier, which can contain a maximum of 255 characters.

RESPONSE SCHEMA:application/json
success
boolean

It demonstrates either the request is successfull or not.

object
Response example
{
  "success": true,
  "data": {
    "thumbnail": "https://images.fastpix.io/6b13fdaf-f9ac-4970-a13b-01ea417e8783/thumbnail.png",
    "trackFile": "https://storage.googleapis.com/gtv-videos-bucket/sample/BigBuckBunny.mp4",
    "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "environmentId": "5ta85f64-5717-4562-b3fc-2c963f66afa6",
    "metadata": {
      "key1": "value1"
    },
    "maxResolution": "1080p",
    "availableResolution": "1080p",
    "status": "preparing",
    "generateSubtitles": false,
    "playbackIds": [
      {
        "id": "6ta85f64-5717-4562-b3fc-2c963f66afa6",
        "accessPolicy": "public"
      }
    ],
    "tracks": [
      {
        "id": "9oa85f64-5717-4562-b3fc-2c963f66afa6",
        "type": "video",
        "width": 1920,
        "height": 1080,
        "frameRate": 29.97
      }
    ],
    "duration": 23,
    "frameRate": "29.97",
    "aspectRatio": "16:9",
    "createdAt": "2023-10-20T10:50:34.594302",
    "updatedAt": "2023-10-20T10:50:34.594302"
  }
}

Update an asset by ID

PATCH
/assets/{assetId}

Updates the parameters of an asset that has already been created. Only a portion of variables are supported at this time. Give FastPix the updated parameters and the asset ID, and it will return the relevant asset data.

PATCH
/assets/{assetId}
curl
-X PATCH https://api.fastpix.io/v1/video/assets/{assetId}
--user username:password \
-H 'Content-Type: application/json' \
-d '{"metadata":{"key1":"value1"}}'
HEADERS
assetIdrequired
string

UUID of Stream

REQUEST BODY SCHEMA:application/json

metadata
object

Videos can be tagged with metadata tags in "key" : "value" pairs. You can search for videos with specific key value pairs using this parameter. Dynamic Metadata allows you to define a key that allows any value pair. Max: 255 characters. Upto 10 entries are allowed.

Example "metadata" :
{"key1":"value1"}
Request example
{
  "metadata": {
    "key1": "value1"
  }
}
RESPONSE SCHEMA:application/json
success
boolean

It demonstrates either the request is successfull or not.

object
Response example
{
  "success": true,
  "data": {
    "thumbnail": "https://images.fastpix.io/6b13fdaf-f9ac-4970-a13b-01ea417e8783/thumbnail.png",
    "trackFile": "https://storage.googleapis.com/gtv-videos-bucket/sample/BigBuckBunny.mp4",
    "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "environmentId": "5ta85f64-5717-4562-b3fc-2c963f66afa6",
    "metadata": {
      "key1": "value1"
    },
    "maxResolution": "1080p",
    "availableResolution": "1080p",
    "status": "preparing",
    "generateSubtitles": false,
    "playbackIds": [
      {
        "id": "6ta85f64-5717-4562-b3fc-2c963f66afa6",
        "accessPolicy": "public"
      }
    ],
    "tracks": [
      {
        "id": "9oa85f64-5717-4562-b3fc-2c963f66afa6",
        "type": "video",
        "width": 1920,
        "height": 1080,
        "frameRate": 29.97
      }
    ],
    "duration": 23,
    "frameRate": "29.97",
    "aspectRatio": "16:9",
    "createdAt": "2023-10-20T10:50:34.594302",
    "updatedAt": "2023-10-20T10:50:34.594302"
  }
}

Delete an asset by ID

DEL
/assets/{assetId}

Delete a video asset along with its data.

DEL
/assets/{assetId}
curl
-X DELETE https://api.fastpix.io/v1/video/assets/{assetId}
--user username:password \
HEADERS
assetIdrequired
string

The asset Id is assigned a universal unique identifier, which can contain a maximum of 255 characters

RESPONSE SCHEMA:application/json
success
boolean

It demonstrates either the request is successfull or not.

Response example
{
  "success": true
}

Create a playback ID

POST
/assets/{assetId}/playback-ids

Creates a playback ID that could be used to stream the video asset to a viewer.

POST
/assets/{assetId}/playback-ids
curl
-X POST https://api.fastpix.io/v1/video/assets/{assetId}/playback-ids
--user username:password \
-H 'Content-Type: application/json' \
-d '{"accessPolicy":"public"}'
HEADERS
assetIdrequired
string

pass asset id

REQUEST BODY SCHEMA:application/json

Request body for creating playback id for an asset

accessPolicyrequired
string

Determines if access to the streamed content is kept private or available to all.

Example "accessPolicy" :
"public"
Possible values :
"public, private, drm"
Request example
{
  "accessPolicy": "public"
}
RESPONSE SCHEMA:application/json
success
boolean

It demonstrates either the request is successfull or not.

object
Response example
{
  "success": true,
  "data": {
    "accessPolicy": "private",
    "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
  }
}

Delete a playback ID

DEL
/assets/{assetId}/playback-ids/{playbackId}

Removes an playbackId from the asset.

DEL
/assets/{assetId}/playback-ids/{playbackId}
curl
-X DELETE https://api.fastpix.io/v1/video/assets/{assetId}/playback-ids/{playbackId}
--user username:password \
HEADERS
assetIdrequired
string

Pass asset id

playbackIdrequired
string

Pass playback id

RESPONSE SCHEMA:application/json
success
boolean

It demonstrates either the request is successfull or not.

Response example
{
  "success": true
}

Upload video asset from device

POST
/uploads

Upload video asset directly from device.

POST
/uploads
curl
-X POST https://api.fastpix.io/v1/video/uploads
--user username:password \
-H 'Content-Type: application/json' \
-d '{"corsOrigin":"*","newAssetSettings":{"accessPolicy":"public","metadata":{"key1":"value1"},"generateSubtitles":false,"normalizeAudio":true,"maxResolution":"1080p"}}'
REQUEST BODY SCHEMA:application/json

Request body for direct upload

corsOriginrequired
string

Use the URL name or put * for allowing all

Example :
"*"
object
Request example
{
  "corsOrigin": "*",
  "newAssetSettings": {
    "accessPolicy": "public",
    "metadata": {
      "key1": "value1"
    },
    "generateSubtitles": false,
    "normalizeAudio": true,
    "maxResolution": "1080p"
  }
}
RESPONSE SCHEMA:application/json
success
boolean

It demonstrates either the request is successfull or not.

object
Response example
{
  "success": true,
  "data": {
    "id": "5ta85f64-5717-4562-b3fc-2c963f66afa6",
    "assetId": "7ya85f64-5717-4562-b3fc-2c963f66afa6",
    "status": "waiting",
    "url": "https://storage.fastpix.net/uploads/08256f2c-efca-4c4f-8f21-75e40d49f225/80911756-1ce3-485a-a3b4-6653ff0937a1?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=assets-svc%2F20240111%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20240111T123116Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host&X-Amz-Signature=419ab443cdc1d4a22cf1b0f8875855590b346058e6d3859f7c1c9da3bb061f91",
    "timeout": 3600,
    "corsOrigin": "*",
    "newAssetSettings": {
      "playbackIds": [
        {
          "id": "6ta85f64-5717-4562-b3fc-2c963f66afa6",
          "accessPolicy": "public"
        }
      ],
      "metadata": {
        "key1": "value1"
      },
      "generateSubtitle": false,
      "normalizeAudio": true,
      "maxResolution": "1080p"
    }
  }
}

livestream

Create a new stream

POST
/streams

Creates a new stream. Once it is created, use the recieved stream key to connect to Fastpix's RTMP server through any Broadcasting software to start streaming to viewers.

POST
/streams
curl
-X POST https://api.fastpix.io/v1/live/streams
--user username:password \
-H 'Content-Type: application/json' \
-d '{"playbackSettings":{"accessPolicy":"public"},"inputMediaSettings":{"test":false,"audioOnly":true,"maxResolution":"1080p","generateSubtitles":false,"reconnectWindow":60,"metadata":{"key1":"value1"}}}'
REQUEST BODY SCHEMA:application/json

object
object
Request example
{
  "playbackSettings": {
    "accessPolicy": "public"
  },
  "inputMediaSettings": {
    "test": false,
    "audioOnly": true,
    "maxResolution": "1080p",
    "generateSubtitles": false,
    "reconnectWindow": 60,
    "metadata": {
      "key1": "value1"
    }
  }
}
RESPONSE SCHEMA:application/json
success
boolean

Returns a new stream object in response to the given request.

object
Response example
{
  "success": true,
  "data": {
    "test": false,
    "streamId": "4fa85f64-5717-4562-b3fc-2c963f66afa6",
    "status": "idle",
    "audioOnly": false,
    "streamKey": "FP_4S6heFsLf4N8IqOVIscf",
    "maxResolution": "1080p",
    "createdAt": "2024-02-13T09:31:26.478Z",
    "reconnectWindow": 60,
    "maxDuration": 43200,
    "playbackId": [
      {
        "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
        "accessPolicy": "public"
      }
    ]
  }
}

Get all live streams

GET
/streams

Provides a list of all the streams that are available in the current environment.

GET
/streams
curl
-X GET https://api.fastpix.io/v1/live/streams
--user username:password \
HEADERS
limitrequired
string

Maximum count of items to include per page.

Example "limit" :
10
offsetrequired
string

An integer that indicates the distance from the object's start to a particular element contained within the same object.

Example "offset" :
5
orderByrequired
string

Value can be either DESC or ASC.

Example "orderBy" :
"DESC"
RESPONSE SCHEMA:application/json
success
boolean

Returns an array of stream objects along with pagination

array
object
Response example
{
  "success": true,
  "data": [
    {
      "test": false,
      "streamId": "4fa85f64-5717-4562-b3fc-2c963f66afa6",
      "status": "idle",
      "audioOnly": false,
      "streamKey": "FP_4S6heFsLf4N8IqOVIscf",
      "maxResolution": "1080p",
      "createdAt": "2024-02-13T09:36:07.802Z",
      "reconnectWindow": 60,
      "maxDuration": 43200,
      "playbackId": [
        {
          "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
          "accessPolicy": "public"
        }
      ]
    }
  ],
  "pagination": {
    "totalRecords": 12,
    "currentOffset": 5,
    "offsetCount": 2
  }
}

Get stream by ID

GET
/streams/{streamId}

Retrieves the information from a previously created stream. If you provide the distinct stream ID that was given back to you in the previous request, Fastpix will provide the relevant stream details. When a stream is created, the same data is returned.

GET
/streams/{streamId}
curl
-X GET https://api.fastpix.io/v1/live/streams/{streamId}
--user username:password \
HEADERS
streamIdrequired
string

UUID of Stream - Example "4fa85f64-5717-4562-b3fc-2c963f66afa6"

Example "streamId" :
"4fa85f64-5717-4562-b3fc-2c963f66afa6"
RESPONSE SCHEMA:application/json
success
boolean

Returns a stream object for the streamId that was entered.

object
Response example
{
  "success": true,
  "data": {
    "test": false,
    "streamId": "4fa85f64-5717-4562-b3fc-2c963f66afa6",
    "status": "idle",
    "audioOnly": false,
    "streamKey": "FP_4S6heFsLf4N8IqOVIscf",
    "maxResolution": "1080p",
    "createdAt": "2024-02-13T09:37:35.467Z",
    "reconnectWindow": 60,
    "maxDuration": 43200,
    "playbackId": [
      {
        "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
        "accessPolicy": "public"
      }
    ]
  }
}

Delete a stream

DEL
/streams/{streamId}

Removes a stream from the environment it is currently in. The encoder will be disconnected and ingest will stop if the stream is still running and being streamed to.

DEL
/streams/{streamId}
curl
-X DELETE https://api.fastpix.io/v1/live/streams/{streamId}
--user username:password \
HEADERS
streamIdrequired
string

UUID of Stream

Example "streamId" :
"4fa85f64-5717-4562-b3fc-2c963f66afa6"
RESPONSE SCHEMA:application/json
success
boolean

The delete operation to remove the stream was completed successfull.

Response example
{
  "success": true
}

Update a stream

PATCH
/streams/{streamId}

Updates the parameters of a stream that has already been created. Only a portion of variables are supported at this time. Give Fastpix the updated parameters and the stream ID, and it will return the relevant stream data.

PATCH
/streams/{streamId}
curl
-X PATCH https://api.fastpix.io/v1/live/streams/{streamId}
--user username:password \
-H 'Content-Type: application/json' \
-d '{"maxResolution":"1080p","reconnectWindow":100,"maxDuration":500}'
HEADERS
streamIdrequired
string

UUID of Stream

Example "streamId" :
"4fa85f64-5717-4562-b3fc-2c963f66afa6"
REQUEST BODY SCHEMA:application/json

maxResolution
string

For his live broadcast, the streamer has the option to select the maximum resolution.

Example "maxResolution" :
"1080p"
Possible values :
"1080p, 720p, 480p"
reconnectWindow
integer

When software for live streaming purposefully or because of network problems disconnects from Fastpix, the Reconnect Window specifies how long Fastpix will wait (in seconds) before concluding the recorded asset and declaring the stream to be over.If no Reconnect Window is supplied, the API falls back to a 60-second window.Reconnect windows are 60 seconds for Standard Latency streams and 0 seconds by default for Reduced and Low Latency streams. As a result, we advise giving Reduced and Low Latency streams a value other than zero.

Example "reconnectWindow" :
100
maxDuration
integer

The duration in seconds that a live stream can have before disconnecting.

Example "maxDuration" :
500
Request example
{
  "maxResolution": "1080p",
  "reconnectWindow": 100,
  "maxDuration": 500
}
RESPONSE SCHEMA:application/json
success
boolean

Returns a updated stream object in response to the given request

object
Response example
{
  "success": true,
  "data": {
    "test": false,
    "streamId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "status": "idle",
    "audioOnly": false,
    "streamKey": "FP_9S6heFsLf4N8IqOVIscf",
    "maxResolution": "1080p",
    "createdAt": "2024-02-13T09:56:27.738Z",
    "reconnectWindow": 100,
    "maxDuration": 500,
    "playbackId": [
      {
        "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
        "accessPolicy": "public"
      }
    ]
  }
}

Reset a stream key

POST
/streams/{streamId}/reset-stream-key

Resets the streamKey of a previously-created stream. Supply the stream ID and Fastpix will return the corresponding stream information with a new streamKey.

POST
/streams/{streamId}/reset-stream-key
curl
-X POST https://api.fastpix.io/v1/live/streams/{streamId}/reset-stream-key
--user username:password \
HEADERS
streamIdrequired
string

UUID of stream

Example "streamId" :
"4fa85f64-5717-4562-b3fc-2c963f66afa6"
RESPONSE SCHEMA:application/json
success
boolean

Returns a new streamKey for the stream object

object
Response example
{
  "success": true,
  "data": {
    "test": false,
    "streamId": "4fa85f64-5717-4562-b3fc-2c963f66afa6",
    "status": "idle",
    "audioOnly": false,
    "streamKey": "FP_4S6heFsLf4N8IqOVIscf",
    "maxResolution": "1080p",
    "createdAt": "2024-02-13T09:57:47.405Z",
    "reconnectWindow": 60,
    "maxDuration": 43200,
    "playbackId": [
      {
        "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
        "accessPolicy": "public"
      }
    ]
  }
}

Disable a stream

PUT
/streams/{streamId}/disable

Disabling a live stream prevents it from accepting incoming RTMP streams until reactivated(Enabled), and the API also terminates any ongoing live stream recording instantly when activated.

PUT
/streams/{streamId}/disable
curl
-X PUT https://api.fastpix.io/v1/live/streams/{streamId}/disable
--user username:password \
HEADERS
streamIdrequired
string

UUID of stream

Example "streamId" :
"4fa85f64-5717-4562-b3fc-2c963f66afa6"
RESPONSE SCHEMA:application/json
success
boolean

The delete operation to remove the stream was completed successfull.

Response example
{
  "success": true
}

Enable a stream

PUT
/streams/{streamId}/enable

Enables a live stream so that an incoming RTMP stream can be received.

PUT
/streams/{streamId}/enable
curl
-X PUT https://api.fastpix.io/v1/live/streams/{streamId}/enable
--user username:password \
HEADERS
streamIdrequired
string

UUID of stream

Example "streamId" :
"4fa85f64-5717-4562-b3fc-2c963f66afa6"
RESPONSE SCHEMA:application/json
success
boolean

The delete operation to remove the stream was completed successfull.

Response example
{
  "success": true
}

Get stream playback ID

GET
/streams/{streamId}/playback-ids/{playbackId}

Fetches information about the playback ID of a stream so that viewers can access and watch the content that is being streamed from it.

GET
/streams/{streamId}/playback-ids/{playbackId}
curl
-X GET https://api.fastpix.io/v1/live/streams/{streamId}/playback-ids/{playbackId}
--user username:password \
HEADERS
streamIdrequired
string

UUID of stream

Example "streamId" :
"4fa85f64-5717-4562-b3fc-2c963f66afa6"
playbackIdrequired
string

UUID of playbackId

Example "playbackId" :
"3fa85f64-5717-4562-b3fc-2c963f66afa6"
RESPONSE SCHEMA:application/json
success
boolean

Returns a playbackId of a stream

object
Response example
{
  "success": true,
  "data": {
    "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "accessPolicy": "public"
  }
}

Create a simulcast

POST
/streams/{streamId}/simulcast

POST
/streams/{streamId}/simulcast
curl
-X POST https://api.fastpix.io/v1/live/streams/{streamId}/simulcast
--user username:password \
-H 'Content-Type: application/json' \
-d '{"rtmpUrl":"rtmp://live.example.com/streaming","streamKey":"user specified secret key","metadata":{"key1":"value1"}}'
HEADERS
streamIdrequired
string

UUID of Stream

Example "streamId" :
"4fa85f64-5717-4562-b3fc-2c963f66afa6"
REQUEST BODY SCHEMA:application/json

rtmpUrl
string

The RTMP hostname, coupled with the application name, is essential for linking to the third-party live streaming service and transmitting the live stream.

Example "rtmpUrl" :
"rtmp://live.example.com/streaming"
streamKey
string

The stream key is a unique identifier used to transmit the main live stream to a third-party live streaming service.

Example "streamKey" :
"81ta-sr0p-hrpr-t5tt-6bed"
metadata
object

Arbitrary user-supplied metadata that will be included in the stream details and related webhooks. Can be used to store your own ID for a video along with the livestream. Max:255 characters, Upto 10 entries are allowed.

Example "metadata" :
{"key1":"value1"}
Request example
{
  "rtmpUrl": "rtmp://live.example.com/streaming",
  "streamKey": "user specified secret key",
  "metadata": {
    "key1": "value1"
  }
}
RESPONSE SCHEMA:application/json
success
boolean

Returns a stream's simulcast that was created.

object
Response example
{
  "success": true,
  "data": {
    "simulcastId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "rtmpUrl": "rtmp://live.example.com/streaming",
    "streamKey": "user specified secret key",
    "metadata": {
      "key1": "value1"
    }
  }
}

Delete a simulcast

DEL
/streams/{streamId}/simulcast/{simulcastId}

DEL
/streams/{streamId}/simulcast/{simulcastId}
curl
-X DELETE https://api.fastpix.io/v1/live/streams/{streamId}/simulcast/{simulcastId}
--user username:password \
HEADERS
streamIdrequired
string

UUID of Stream

Example "streamId" :
"4fa85f64-5717-4562-b3fc-2c963f66afa6"
simulcastIdrequired
string

UUID of simulcast

Example "simulcastId" :
"5fa85f64-5717-4562-b3fc-2c963f66afa6"
RESPONSE SCHEMA:application/json
success
boolean

The delete operation to remove the stream's simulcast was completed successfully.

Response example
{
  "success": true
}

Get a specific simulcast of a stream

GET
/streams/{streamId}/simulcast/{simulcastId}

GET
/streams/{streamId}/simulcast/{simulcastId}
curl
-X GET https://api.fastpix.io/v1/live/streams/{streamId}/simulcast/{simulcastId}
--user username:password \
HEADERS
streamIdrequired
string

UUID of Stream

Example "streamId" :
"4fa85f64-5717-4562-b3fc-2c963f66afa6"
simulcastIdrequired
string

UUID of simulcast

Example "simulcastId" :
"5fa85f64-5717-4562-b3fc-2c963f66afa6"
RESPONSE SCHEMA:application/json
success
boolean

Returns a stream's simulcast that was created.

object
Response example
{
  "success": true,
  "data": {
    "simulcastId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "rtmpUrl": "rtmp://live.example.com/streaming",
    "streamKey": "user specified secret key",
    "metadata": {
      "key1": "value1"
    }
  }
}
FastPix.ioGlossary
2024, FastPix, Inc