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

planId is the id column of the customer plans table

HEADERS

Authorization
Bearer [your token]

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

```
The secret is in the customer_plans table, in your live plan.
You can get the secret by searching the SEARCH ALL EVENTS route which will return it.

```

HEADERS

Accept
application/json

None

Authorization
Bearer [your token]

None

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

The secret is in the customer_plans table, in your live plan.

You can get the secret by searching the SEARCH ALL EVENTS route which will return it.

The hash is your event_hash.

The status can be ON_DEMAND, WAITING_LIVE or LIVE.

HEADERS

Accept
application/json, text/plain, /

None

Authorization
Bearer [your token]

None

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 [your token]

None

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 SEARCH EVENT BY ID AND HASH
https://api.jmvstream.com/v1/events/searchByHash?planId=30&hash=your event_hash

The planId is your plan id.

The hash is your event_hash.

HEADERS

Accept
application/json, text/plain, /

None

Authorization
Bearer [your token]

None

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 [your token]

None

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 [your 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 [your token]

None

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 [your token]

None

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 [your token]

None

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 [your token]

None

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>

None

Content-Type
application/json

None

Authorization
Bearer [your token]

None

Upload-Length
tamanho_do_arquivo_em_bytes

None

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
[Amount in bytes remaining to be uploaded.]

None

Upload-Offset
[Initial byte for the upload]

None

Upload-Metadata
filename [base64_name]

None

Content-Type
application/offset+octet-stream

None

gallery
[Uuid of the gallery that will be uploaded later.]

None

Authorization
Bearer [your token]

None

BODY raw

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

@[caminho_do_arquivo]
                                            
HEAD RETURNS INFORMATION FROM THE UPLOAD
https://api.jmvstream.com/v1/videos/uploads/[id_do_upload]
HEADERS

Authorization
Bearer [your token]

None

Tus-Resumable
1.0.0

None

Example Request
                                                
HEAD https://api.jmvstream.com/v1/videos/uploads/[id_do_upload]
                                            
DELETE DELETE VIDEO BY HASH
https://api.jmvstream.com/v1/videos/deleteVideo/[videohash]/[planid]

You need to add the following information:

  1. Video hash

  2. Plan ID

  3. Your token

HEADERS

Accept
/

None

Authorization
Bearer [your token]

None

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]

You need to add the following information:

  1. Video hash

  2. Plan ID

  3. Image to be upload into the body file

  4. Your token

HEADERS

Accept
/

None

Authorization
Bearer [your token]

None

BODY formdata

file
None

None

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]

You need to add the following information:

  1. Video hash

  2. Plan ID

  3. New video name into body

  4. Your token

HEADERS

Accept
/

None

Authorization
Bearer [your token]

None

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]

You need to add the following information:

  1. Video name

  2. Plan ID into body

  3. Your token

HEADERS

Accept
/

None

Authorization
Bearer [your token]

None

Content-Type
application/json

None

PARAMS

name
[videoname]

None

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

You need to add the following information:

  1. Plan ID into body

  2. Your token

HEADERS

Accept
/

None

Authorization
Bearer [your token]

None

Content-Type
application/json

None

BODY raw

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

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

You need to add the following information:

  1. Video hash

  2. UUID of folder into body

  3. Your token

HEADERS

Accept
/

None

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

None

Authorization
Bearer [your token]

None

Content-Type
application/json

None

BODY raw

                                                  
                                                    
{
    "folder_uuid": "uuidd of the folder you want to move"
}
                                                  
                                              
Example Request
                                                
PUT https://api.jmvstream.com/v1/videos/moveVideo/[videohash]

{
    "folder_uuid": "uuidd of the folder you want to move"
}