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.

POST AUTHENTICATION
https://api.jmvstream.com/v1/authenticate

*UUID (resource) is found on the HUB, any questions just contact our support team.

HEADERS

Content-Type
application/json

None

BODY raw

                                                  
                                                    
{
    "email": "your email",
    "password": "your password",
    "resource": "Uuid* of application"
}
                                                  
                                              
Example Request
                                                
POST https://api.jmvstream.com/v1/authenticate
{
    "email": "your email",
    "password": "your password",
    "resource": "Uuid* of application"
}
                                            
Example Response
200 - OK
POST CREATE EVENT
https://api.jmvstream.com/v1/events/insert

Rota para criar um evento. O planId é o ID do plano do cliente.

HEADERS

Authorization
Bearer [seu token]

Token de autorização

Content-Type
application/json

None

BODY raw

                                                  
{
  "planId": "30",
  "title": "newtest",
  "dateScheduled": "2023-11-30 12:00:00"
}
                                                  
                                              
Example Request
                                                
POST https://api.jmvstream.com/v1/events/insert
{
  "planId": "30",
  "title": "teste",
  "dateScheduled": "2023-11-30 12:00:00"
}
                                            
Example Response
200 - OK
PUT EVENT UPDATE
https://api.jmvstream.com/v1/events/update

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.

HEADERS

Accept
application/json

None

Authorization
Bearer [seu token]

Token de autenticação.

BODY raw

                                                  
                                                    
{
  "title": "testput",
  "eventId": 74,
  "secret": "G3iizNcmhuuuSBZ4lhLcyNg9jUMcEy",
  "hash": "0Pt444u5uN2ltcB"
}
                                                  
                                              
Example Request
                                                
PUT https://api.jmvstream.com/v1/events/update
{
  "title": "testput",
  "eventId": 74,
  "secret": "G3iizNcmhuuuSBZ4lhLcyNg9jUMcEy",
  "hash": "0Pt444u5uN2ltcB"
}
                                            
Example Response
200 - OK
PUT UPDATE LIVE STATUS
https://api.jmvstream.com/v1/events/start-or-end-live

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.

HEADERS

Authorization
Bearer [seu token]

Token de autenticação.

Content-Type
application/json;charset=UTF-8

None

BODY raw

Example Request
Example Response
200 - OK
DELETE EVENTS DELETE
https://api.jmvstream.com/v1/events/delete
HEADERS

Accept
application/json, text/plain, /

None

Authorization
Bearer [seu token]

Token de autenticação.

Content-Type
application/json;charset=UTF-8

None

BODY raw

                                                  
                                                    
{
  "eventIds": [
    73
  ]
}
                                                  
                                              
Example Request
                                                
DELETE https://api.jmvstream.com/v1/events/delete
{
  "eventIds": [
    74
  ]
}
                                            
Example Response
200 - OK
                                                    
{
    "success": "Event 73 deleted successfully"
}
                                                
GET PESQUISAR EVENTO POR ID E HASH
https://api.jmvstream.com/v1/events/searchByHash?planId=30&hash=your event_hash

O planId é o ID do seu plano.

O hash é o hash do seu evento.

HEADERS

Accept
application/json, text/plain, /

None

Authorization
Bearer [seu token]

Token de autenticação.

Content-Type
application/json;charset=UTF-8

None

PARAMS

planId
30

None

hash
your event_hash

None

Example Request
                                                
GET https://api.jmvstream.com/v1/events/searchByHash?planId=30&hash=0Pt444u5uN2ltcB
                                            
Example Response
200 - OK
GET SEARCH ALL EVENTS
https://api.jmvstream.com/v1/events/searchAll?planId=30&actualPage=1&quantity=10&orderBy=date&orderType=ASC

The planId is your plan id.

HEADERS

Accept
application/json, text/plain, */*

None

Authorization
Bearer [seu token]

Token de autenticação.

PARAMS

planId
30

None

actualPage
1

None

quantity
10

None

orderBy
date

None

orderType
ASC

None

Example Request
                                                
GET https://api.jmvstream.com/v1/events/searchAll?planId=30&actualPage=1&quantity=10&orderBy=date&orderType=ASC
                                            
Example Response
200 - OK
GET RETURN TOTAL NUMBER OF GALLERIES
https://api.jmvstream.com/v1/folders/total
HEADERS

Authorization
Bearer [seu token]

None

Example Request
                                                
GET https://api.jmvstream.com/v1/folders/total
                                            
Example Response
200 - OK
                                                    
{
    "folders": 6
}
                                                
GET RETURN ALL GALLERIES
https://api.jmvstream.com/v1/folders
HEADERS

Authorization
Bearer [seu token]

Token de autenticação.

Example Request
                                                
GET https://api.jmvstream.com/v1/folders
                                            
Example Response
200 - OK
PUT EDIT GALLERY
https://api.jmvstream.com/v1/folders/[ADD UUID]
HEADERS

Authorization
Bearer [seu token]

Token de autenticação.

BODY raw

                                                  
                                                    
{
    "name": "TEST GALLERY"
}
                                                  
                                              
Example Request
                                                
PUT https://api.jmvstream.com/v1/folders/ff92418f-778a-4ea2-8ade-e42414ce042f
{
    "name": "TEST GALLERY"
}
                                            
Example Response
200 - OK
DELETE DELETE GALLERY
https://api.jmvstream.com/v1/folders/[ADD UUID]
HEADERS

Authorization
Bearer [seu token]

Token de autenticação.

BODY raw

                                                  
                                                    
{
    "name": "TEST GALLERY"
}
                                                  
                                              
Example Request
                                                
DELETE https://api.jmvstream.com/v1/folders/ff92418f-778a-4ea2-8ade-e42414ce042f
{
    "name": "TEST GALLERY"
}
                                            
Example Response
200 - OK
                                                    
1
                                                
POST CREATE NEW GALLERY
https://api.jmvstream.com/v1/folders
HEADERS

Authorization
Bearer [seu token]

Token de autenticação.

BODY raw

                                                  
                                                    
{
    "name": "New Folder"
}
                                                  
                                              
Example Request
                                                
POST https://api.jmvstream.com/v1/folders
{
    "name": "New Folder"
  }
                                            
Example Response
200 - OK
POST CREATING THE UPLOAD
https://api.jmvstream.com/v1/videos
HEADERS

Tus-Resumable
1.0.0

None

Upload-Metadata
filename <base64_filename>

Nome do arquivo em base64.

Content-Type
application/json

None

Authorization
Bearer [seu token]

Token de autenticação.

Upload-Length
Ex: 1000000

Tamanho do arquivo em bytes.

BODY formdata

Example Request
                                                
POST https://api.jmvstream.com/v1/videos
                                            
PATCH UPLOAD - PATCH
https://api.jmvstream.com/v1/videos/uploads/[id_do_upload]
HEADERS

Tus-Resumable
1.0.0

None

Content-Length
Ex: 2000000

Quantidade de bytes restantes para ser enviado.

Upload-Offset
Ex: 0

Byte inicial para o upload.

Upload-Metadata
filename [base64_name]

Nome do arquivo em base64.

Content-Type
application/offset+octet-stream

Tipo de conteúdo do arquivo.

gallery
Ex: xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

Uuid da galeria que será enviada posteriormente.

Authorization
Bearer [seu token]

Token de autenticação.

BODY raw

                                                  
                                                    
@[caminho_do_arquivo]
                                                  
                                              
Example Request
                                                
PATCH https://api.jmvstream.com/v1/videos/uploads/[id_do_upload]

@[caminho_do_arquivo]
                                            
HEAD INFORMAÇÕES DO UPLOAD
https://api.jmvstream.com/v1/videos/uploads/[id_do_upload]
HEADERS

Authorization
Bearer [seu token]

Token de autenticação.

Tus-Resumable
1.0.0

None

Example Request
                                                
HEAD https://api.jmvstream.com/v1/videos/uploads/[id_do_upload]
                                            
DELETE DELETAR VÍDEO POR HASH
https://api.jmvstream.com/v1/videos/deleteVideo/[videohash]/[planid]

Você precisa adicionar as seguintes informações:

  1. Hash do vídeo

  2. ID do plano

  3. Seu token

HEADERS

Accept
/

None

Authorization
Bearer [seu token]

Token de autenticação.

Content-Type
application/json

None

Example Request
                                                
DELETE https://api.jmvstream.com/v1/videos/deleteVideo/[videohash]/[planid]
                                            
PUT UPLOAD THUMB
https://api.jmvstream.com/v1/videos/uploadThumb/[videohash]/[planid]

Você precisa adicionar as seguintes informações:

  1. Hash do vídeo

  2. ID do plano

  3. Imagem a ser enviada no corpo do arquivo

  4. Seu token

HEADERS

Accept
/

None

Authorization
Bearer [seu token]

Token de autenticação.

BODY formdata

file
None

Imagem a ser enviada no corpo do arquivo.

Example Request
                                                
PUT https://api.jmvstream.com/v1/videos/uploadThumb/[videohash]/[planid]
                                            
PUT UPDATE VIDEO NAME
https://api.jmvstream.com/v1/videos/editVideo/[videohash]/[planid]

Você precisa adicionar as seguintes informações:

  1. Hash do vídeo

  2. ID do plano

  3. Novo nome do vídeo no corpo

  4. Seu token

HEADERS

Accept
/

None

Authorization
Bearer [seu token]

Token de autenticação.

Content-Type
application/json

None

BODY raw

                                                  
                                                    
{
    "name": "newvideoname"
}
                                                  
                                              
Example Request
                                                
PUT https://api.jmvstream.com/v1/videos/editVideo/[videohash]/[planid]

{
    "name": "newvideoname"
}
                                            
GET GET VIDEO BY NAME
https://api.jmvstream.com/v1/videos/application?name=[videoname]

Você precisa adicionar as seguintes informações:

  1. Nome do vídeo

  2. ID do plano no corpo

  3. Seu token

HEADERS

Accept
/

None

Authorization
Bearer [seu token]

Token de autenticação.

Content-Type
application/json

None

PARAMS

name
[videoname]

Nome do vídeo a ser procurado.

BODY raw

                                                  
                                                    
{
"payload": {
"planId": "iddoplano"
}
}
                                                  
                                              
Example Request
                                                
GET https://api.jmvstream.com/v1/videos/application?name=[videoname]

{
"payload": {
"planId": "iddoplano"
}
}
                                            
GET GET ALL VIDEOS
https://api.jmvstream.com/v1/videos/application

Você precisa adicionar as seguintes informações:

  1. ID do plano no corpo

  2. Seu token

HEADERS

Accept
/

None

Authorization
Bearer [seu token]

Token de autenticação.

Content-Type
application/json

None

PARAMS

page
Number

Número da página a se navegar (Caso não enviado o padrão é 1)

name
String

Nome dos vídeos a serem procurados

initialDate
String

Data inicial do range de busca por data de criação

endDate
String

Data final do range de busca por data de criação

orderBy
String

Campo do vídeo a ser ordenado (Apenas: created_date, name)

sort
String

Tipo de Ordenação

BODY raw

                                                  
                                                    
{
"payload": {
"planId": "iddoplano"
}
}
                                                  
                                              
Example Request
                                                
GET https://api.jmvstream.com/v1/videos/application?page=[page]&name=[name]&initialDate=[initialDate]&endDate=[endDate]&orderBy=[orderBy]&sort=[sort]

{
"payload": {
"planId": "iddoplano"
}
}
                                            
PUT MOVE VIDEO TO FOLDER
https://api.jmvstream.com/v1/videos/moveVideo/[videohash]

Você precisa adicionar as seguintes informações:

  1. Hash do vídeo

  2. UUID da galeria no corpo

  3. seu token

HEADERS

Accept
/

None

User-Agent
Thunder Client (https://www.thunderclient.com)

None

Authorization
Bearer [seu token]

Token de autenticação.

Content-Type
application/json

None

BODY raw

                                                  
                                                    
{
    "folder_uuid": "uuid da galeria que você deseja mover"
}
                                                  
                                              
Example Request
                                                
PUT https://api.jmvstream.com/v1/videos/moveVideo/[videohash]

{
    "folder_uuid": "uuidd of the folder you want to move"
}
                                            
GET DISK USAGE BY APP
https://api.jmvstream.com/v1/videos/diskusagebyapp

Rota para verificação de espaço consumido por aplicação.

HEADERS

Content-Type
application/json

None

Authorization
Bearer [seu token]

Token de autenticação.

GET DISK USAGE BY FOLDER AND VIDEO
https://api.jmvstream.com/v1/videos/diskusagebyfolderandvideo/:uuid

Rota para verificação de espaço consumido por galeria e vídeos.

HEADERS

Content-Type
application/json

None

Authorization
Bearer [seu token]

Token de autenticação.

PARAMS

uuid
String

UUID da galeria