JMV Stream | Public API for Video Upload Streaming
To utilize our public API, a subscription plan is required. Explore our plans here: JMVStream [Subscription Plans](https://jmvstream.com/en/video-hosting-platform/). JMVStream is a video platform that empowers you with freedom, offering unlimited traffic, video uploads, and views. Experience a platform where limits don't exist.
*UUID (resource) is found on the HUB, any questions just contact our support team.
None
{
"email": "your email",
"password": "your password",
"resource": "Uuid* of application"
}
POST https://api.jmvstream.com/v1/authenticate
{
"email": "your email",
"password": "your password",
"resource": "Uuid* of application"
}
{
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJwbGFuSWQiOjEwLCJwbGFuRGVzY3JpcHRpb24iOiJTdHJlYW1pbmcgZGUgVsOtZGVvIE9uIERlbWFuZCwgNTAwIHRlbGVzcGVjdGFkb3JlcyBhIDEwMjQgS2JwcywgMzAgR0IiLCJwbGFuVXVpZCI6IjZiMTcyZjc4LTkxODktNDdkYi04ZTcwLTc0MTA4MmFkODAxYyIsInBsYW5UeXBlIjoiT0QiLCJpYXQiOjE3MDE2OTQ5NTQsImV4cCI6MTcwMTcwOTM1NH0.UQ4UN5kXlt7QFxg0JBaCPXanNmRCfvQFBWXir83Dxto"
}
Rota para criar um evento. O planId é o ID do plano do cliente.
Token de autorização
None
{
"planId": "30",
"title": "newtest",
"dateScheduled": "2023-11-30 12:00:00"
}
POST https://api.jmvstream.com/v1/events/insert
{
"planId": "30",
"title": "teste",
"dateScheduled": "2023-11-30 12:00:00"
}
{
"customer_plans_id": "30",
"stream": "EVT74_N7XyEGuGrkyDul3",
"status": "WAITING_LIVE",
"date": "2023-11-30 12:00:00",
"title": "teste",
"event_hash": "0Pt444u5uN2ltcB",
"video_hash": null,
"id": 74
}
Rota para atualizar um evento. O secret é encontrado na tabela customer_plans, no seu plano live.
Você pode obter o secret pesquisando a rota SEARCH ALL EVENTS que retornará ele.
None
Token de autenticação.
{
"title": "testput",
"eventId": 74,
"secret": "G3iizNcmhuuuSBZ4lhLcyNg9jUMcEy",
"hash": "0Pt444u5uN2ltcB"
}
PUT https://api.jmvstream.com/v1/events/update
{
"title": "testput",
"eventId": 74,
"secret": "G3iizNcmhuuuSBZ4lhLcyNg9jUMcEy",
"hash": "0Pt444u5uN2ltcB"
}
{
"success": "Event 74 updated successfully! 🔧",
"event": {
"id": 74,
"customer_plans_id": 30,
"stream": "EVT74_N7XyEGuGrkyDul3",
"status": "WAITING_LIVE",
"date": "2023-11-30T15:00:00.000Z",
"title": "testput",
"video_hash": null,
"event_hash": "0Pt444u5uN2ltcB"
}
}
Rota para atualizar o status de um evento para "LIVE" ou "END". O status pode ser ON_DEMAND, WAITING_LIVE ou LIVE.
O secret é encontrado na tabela customer_plans, no seu plano live.
O hash é o event_hash do seu evento.
Token de autenticação.
None
{
"status": "LIVE",
"eventId": 74,
"customerPlanId": 30,
"secret": "G3iizNcmhuuuSBZ4lhLcyNg9jUMcEy",
"hash": "0Pt444u5uN2ltcB"
}
PUT https://api.jmvstream.com/v1/events/start-or-end-live
{
"status": "LIVE",
"eventId": 74,
"customerPlanId": 30,
"secret": "G3iizNcmhuuuSBZ4lhLcyNg9jUMcEy",
"hash": "0Pt444u5uN2ltcB"
}
{
"success": "Status of event 74 has been updated successfully",
"event": {
"id": 74,
"customer_plans_id": 30,
"stream": "EVT74_N7XyEGuGrkyDul3",
"status": "LIVE",
"date": "2023-11-30T15:00:00.000Z",
"title": "testput",
"video_hash": null,
"event_hash": "0Pt444u5uN2ltcB"
}
}
None
Token de autenticação.
None
{
"eventIds": [
73
]
}
DELETE https://api.jmvstream.com/v1/events/delete
{
"eventIds": [
74
]
}
{
"success": "Event 73 deleted successfully"
}
O planId é o ID do seu plano.
O hash é o hash do seu evento.
None
Token de autenticação.
None
None
None
GET https://api.jmvstream.com/v1/events/searchByHash?planId=30&hash=0Pt444u5uN2ltcB
{
"id": 74,
"customer_plans_id": 30,
"stream": "EVT74_N7XyEGuGrkyDul3",
"status": "LIVE",
"date": "2023-11-30T15:00:00.000Z",
"title": "testput",
"video_hash": null,
"event_hash": "0Pt444u5uN2ltcB",
"secret": "70LzO7DFNNjxYVHHhYQ7GwZqME7E5j",
"liveData": {
"rtmpUrl": "rtmp://rtmp.jmvstream.com/LVW-26?secret=G3iizNcmhuuuSBZ4lhLcyNg9jUMcEy",
"shareLink": "https://player.jmvstream.com/evt/G3iizNcmhuuuSBZ4lhLcyNg9jUMcEy/0Pt444u5uN2ltcB",
"source": "https://cdn.jmvstream.com/w/LVW-26/ngrp:EVT74_N7XyEGuGrkyDul3_all/playlist.m3u8",
"playerShareCode": "<iframe class='jmvplayer' src='https://player.jmvstream.com/evt/G3iizNcmhuuuSBZ4lhLcyNg9jUMcEy/0Pt444u5uN2ltcB' allowfullscreen allow='autoplay; fullscreen' frameborder='0' width='640' height='360'></iframe>",
"streamKey": "EVT74_N7XyEGuGrkyDul3"
},
"customer_plans_od_id": 10,
"customer_plans_lvw_id": 26
}
The planId is your plan id.
None
Token de autenticação.
None
None
None
None
None
GET https://api.jmvstream.com/v1/events/searchAll?planId=30&actualPage=1&quantity=10&orderBy=date&orderType=ASC
{
"total": 4,
"secret": "G3iizNcmhuuuSBZ4lhLcyNg9jUMcEy",
"events": [
{
"id": 7,
"customer_plans_id": 30,
"stream": "EVT7_8P9XirZ7f4Dr",
"status": "WAITING_LIVE",
"date": "2022-05-03T06:00:00.000Z",
"title": "teste",
"video_hash": null,
"event_hash": "GfBzuNPZZl7k732",
"od": null
},
{
"id": 66,
"customer_plans_id": 30,
"stream": "EVT66_ys7W8Z34EDt4",
"status": "WAITING_LIVE",
"date": "2023-07-27T06:00:00.000Z",
"title": "asfa",
"video_hash": null,
"event_hash": "7sXPE43szis629D",
"od": null
},
{
"id": 72,
"customer_plans_id": 30,
"stream": "EVT72_yu4suXX6ut90Wl3",
"status": "WAITING_LIVE",
"date": "2023-11-30T15:00:00.000Z",
"title": "newtest",
"video_hash": null,
"event_hash": "4X4fyNDaktX7sGB",
"od": null
},
{
"id": 67,
"customer_plans_id": 30,
"stream": "EVT67_ZG66yD9tft2D2c3",
"status": "LIVE",
"date": "2023-11-30T15:00:00.000Z",
"title": "teste",
"video_hash": null,
"event_hash": "P5iZX708D45u1Ek",
"od": null
}
]
}
None
GET https://api.jmvstream.com/v1/folders/total
{
"folders": 6
}
Token de autenticação.
GET https://api.jmvstream.com/v1/folders
{
"folders": [
{
"name": "Main",
"description": "Main gallery",
"uuid": null,
"subFolders": [
{
"name": "Sub Main",
"description": null,
"uuid": "0193f1fa-2081-4aa1-9888-84868a9b75e2"
}
]
},
{
"name": "Teste 2306",
"description": null,
"uuid": null
},
{
"name": "FTP",
"description": null,
"uuid": null,
"subFolders": [
{
"name": "Sub FTP",
"description": null,
"uuid": "b917bdc2-2b0f-4e48-80c7-04cbeb15421a",
"subFolders": [
{
"name": "Sub Sub FTP",
"description": null,
"uuid": "03c3bdf7-5106-4d81-8869-9217e6ec05d1"
}
]
}
]
}
]
}
Token de autenticação.
{
"name": "TEST GALLERY"
}
PUT https://api.jmvstream.com/v1/folders/ff92418f-778a-4ea2-8ade-e42414ce042f
{
"name": "TEST GALLERY"
}
{
"id": 398,
"id_customer_plans": 10,
"parentId": null,
"hierarchyLevel": null,
"created_date": "2023-12-04T14:04:28.000Z",
"updated_date": "2023-12-04T14:04:28.000Z",
"uuid": "ff92418f-778a-4ea2-8ade-e42414ce042f"
}
Token de autenticação.
{
"name": "TEST GALLERY"
}
DELETE https://api.jmvstream.com/v1/folders/ff92418f-778a-4ea2-8ade-e42414ce042f
{
"name": "TEST GALLERY"
}
1
Token de autenticação.
{
"name": "New Folder"
}
POST https://api.jmvstream.com/v1/folders
{
"name": "New Folder"
}
{
"id_customer_plans": 10,
"created_date": "2023-12-04T14:04:28.753Z",
"updated_date": "2023-12-04T14:04:28.753Z",
"uuid": "ff92418f-778a-4ea2-8ade-e42414ce042f",
"name": "New Folder",
"description": "",
"parentId": null,
"hierarchyLevel": null,
"id": 398
}
None
Nome do arquivo em base64.
None
Token de autenticação.
Tamanho do arquivo em bytes.
POST https://api.jmvstream.com/v1/videos
None
Quantidade de bytes restantes para ser enviado.
Byte inicial para o upload.
Nome do arquivo em base64.
Tipo de conteúdo do arquivo.
Uuid da galeria que será enviada posteriormente.
Token de autenticação.
@[caminho_do_arquivo]
PATCH https://api.jmvstream.com/v1/videos/uploads/[id_do_upload]
@[caminho_do_arquivo]
Token de autenticação.
None
HEAD https://api.jmvstream.com/v1/videos/uploads/[id_do_upload]
Você precisa adicionar as seguintes informações:
-
Hash do vídeo
-
ID do plano
-
Seu token
None
Token de autenticação.
None
DELETE https://api.jmvstream.com/v1/videos/deleteVideo/[videohash]/[planid]
Você precisa adicionar as seguintes informações:
-
Hash do vídeo
-
ID do plano
-
Imagem a ser enviada no corpo do arquivo
-
Seu token
None
Token de autenticação.
Imagem a ser enviada no corpo do arquivo.
PUT https://api.jmvstream.com/v1/videos/uploadThumb/[videohash]/[planid]
Você precisa adicionar as seguintes informações:
-
Hash do vídeo
-
ID do plano
-
Novo nome do vídeo no corpo
-
Seu token
None
Token de autenticação.
None
{
"name": "newvideoname"
}
PUT https://api.jmvstream.com/v1/videos/editVideo/[videohash]/[planid]
{
"name": "newvideoname"
}
Você precisa adicionar as seguintes informações:
-
Nome do vídeo
-
ID do plano no corpo
-
Seu token
None
Token de autenticação.
None
Nome do vídeo a ser procurado.
{
"payload": {
"planId": "iddoplano"
}
}
GET https://api.jmvstream.com/v1/videos/application?name=[videoname]
{
"payload": {
"planId": "iddoplano"
}
}
Você precisa adicionar as seguintes informações:
-
ID do plano no corpo
-
Seu token
None
Token de autenticação.
None
Número da página a se navegar (Caso não enviado o padrão é 1)
Nome dos vídeos a serem procurados
Data inicial do range de busca por data de criação
Data final do range de busca por data de criação
Campo do vídeo a ser ordenado (Apenas: created_date, name)
Tipo de Ordenação
{
"payload": {
"planId": "iddoplano"
}
}
GET https://api.jmvstream.com/v1/videos/application?page=[page]&name=[name]&initialDate=[initialDate]&endDate=[endDate]&orderBy=[orderBy]&sort=[sort]
{
"payload": {
"planId": "iddoplano"
}
}
Você precisa adicionar as seguintes informações:
-
Hash do vídeo
-
UUID da galeria no corpo
-
seu token
None
None
Token de autenticação.
None
{
"folder_uuid": "uuid da galeria que você deseja mover"
}
PUT https://api.jmvstream.com/v1/videos/moveVideo/[videohash]
{
"folder_uuid": "uuidd of the folder you want to move"
}
Rota para verificação de espaço consumido por aplicação.
None
Token de autenticação.
Rota para verificação de espaço consumido por galeria e vídeos.
None
Token de autenticação.
UUID da galeria