Resource deprecated upload API
| Endpoint | Method | Description |
|---|---|---|
| webRequest | Multipart upload | |
| webRequest | Multipart thumbnail upload | |
| webRequest | Resumable upload - Ping chunk | |
| webRequest | Resumable upload - Upload chunk | |
| webRequest | Resumable thumbnail upload - Ping chunk | |
| webRequest | Resumable thumbnail upload - Upload chunk | |
| websocket | Socket resource upload | |
| websocket | Socket resource thumbnail upload |
Multipart upload
HTTP Method: POST
Path: /api/v0/resource/upload
DEPRECATED
Description: Multipart uploads file from html form. Deprecated, use direct upload instead.
Headers:
X-Session-Id: sessionToken
X-Resource-Id: resourceId
Request:
multipart file
Response:
{
"id": string
"created": timestamp
"updated": timestamp
"title": string
"description": string
"location": string
"date": string
"category": string
"linkId": string // id of resource link is pointing to
"linkType": string // global/local
"encryptionVersion": string // encryption version, like 'verus.v1'
"encryptionEpoch": int // epoch defines key bundle that was used for encryption
"encryptionEpk": string // ephemeral public key that should be used to decrypt cypher data
"belonging": string // determines resource location in the system in a way 'belongingType:belongingPath(networkId)'
"status": string // pending/processing/ready/failed
"metadata": {
"fileName": string
"fileSize": int
"fileDate": timestamp
"behaviourType": string
"contentType": string
"convertedFrom": string
"link": string
"origin": { resource origin structure }
"geolocation": { geolocation structure }
"dimensions": { dimensions structure }
}
"thumbnail": string
"fromTemplate": bool
"totalReactions": int // amount of users who reacted to the resource
"data": {
"audio": { resource data audio structure }
"video": { resource data video structure }
"amazon": { resource data amazon structure }
"imdb": { resource data imdb structure }
"youtube": { resource data youtube structure }
"pinterest": { resource data pinterest structure }
"pixabay": { resource data pixabay structure }
"facebook": { resource data facebook structure }
"remoteUrl": { resource data remote url structure }
"liveStream": { live stream data structure }
"aiGeneration": { ai generation data structure }
"thumbnailUrl": string
"downloadUrl": string
"directory": { resource data directory structure }
"channel": { channel data structure }
"googleDrive": { google drive structure }
}
"customParams": map[string]{ custom structure } // client defined parameters
"actions": [{ programmatic action with children structure }] // custom programmatic actions from users
}
Multipart thumbnail upload
HTTP Method: POST
Path: /api/v0/resource/upload/thumbnail
DEPRECATED
Description: Multipart uploads file from html form. Deprecated, use direct upload instead.
Headers:
X-Session-Id: sessionToken
X-Resource-Id: resourceId
Request:
multipart file
Response:
{
"id": string
"created": timestamp
"updated": timestamp
"title": string
"description": string
"location": string
"date": string
"category": string
"linkId": string // id of resource link is pointing to
"linkType": string // global/local
"encryptionVersion": string // encryption version, like 'verus.v1'
"encryptionEpoch": int // epoch defines key bundle that was used for encryption
"encryptionEpk": string // ephemeral public key that should be used to decrypt cypher data
"belonging": string // determines resource location in the system in a way 'belongingType:belongingPath(networkId)'
"status": string // pending/processing/ready/failed
"metadata": {
"fileName": string
"fileSize": int
"fileDate": timestamp
"behaviourType": string
"contentType": string
"convertedFrom": string
"link": string
"origin": { resource origin structure }
"geolocation": { geolocation structure }
"dimensions": { dimensions structure }
}
"thumbnail": string
"fromTemplate": bool
"totalReactions": int // amount of users who reacted to the resource
"data": {
"audio": { resource data audio structure }
"video": { resource data video structure }
"amazon": { resource data amazon structure }
"imdb": { resource data imdb structure }
"youtube": { resource data youtube structure }
"pinterest": { resource data pinterest structure }
"pixabay": { resource data pixabay structure }
"facebook": { resource data facebook structure }
"remoteUrl": { resource data remote url structure }
"liveStream": { live stream data structure }
"aiGeneration": { ai generation data structure }
"thumbnailUrl": string
"downloadUrl": string
"directory": { resource data directory structure }
"channel": { channel data structure }
"googleDrive": { google drive structure }
}
"customParams": map[string]{ custom structure } // client defined parameters
"actions": [{ programmatic action with children structure }] // custom programmatic actions from users
}
Resumable upload - Ping chunk
HTTP Method: GET
Path: /api/v0/resource/upload/chunk
DEPRECATED
Description: Resumable uploads file by chunks. Deprecated, use direct upload instead.
Headers:
X-Session-Id: sessionToken
X-Resource-Id: resourceId
Request:
resumable form
Response:
{ empty }
Resumable upload - Upload chunk
HTTP Method: POST
Path: /api/v0/resource/upload/chunk
DEPRECATED
Description: Resumable uploads file by chunks. Deprecated, use direct upload instead.
Headers:
X-Session-Id: sessionToken
X-Resource-Id: resourceId
Request:
resumable form
Response:
{ empty }
Resumable thumbnail upload - Ping chunk
HTTP Method: GET
Path: /api/v0/resource/upload/thumbnail/chunk
DEPRECATED
Description: Resumable uploads file by chunks. Deprecated, use direct upload instead.
Headers:
X-Session-Id: sessionToken
X-Resource-Id: resourceId
Request:
resumable form
Response:
{ empty }
Resumable thumbnail upload - Upload chunk
HTTP Method: POST
Path: /api/v0/resource/upload/thumbnail/chunk
DEPRECATED
Description: Resumable uploads file by chunks. Deprecated, use direct upload instead.
Headers:
X-Session-Id: sessionToken
X-Resource-Id: resourceId
Request:
resumable form
Response:
{ empty }
Socket resource upload
Method: websocket
Endpoint: resource:upload
DEPRECATED
Description: API uploads files using socket connection. The amount of transfer data is limited, use alternative upload options for usual file upload.
API creates new resource and uploads data if no resourceId provided.
API updates resource and data if resourceId is provided.
Request:
{
"data": {
"resource": string
"fileName": string
"contentType": string
"data": [ byte ]
"parent": string // mark that resource belongs to directory
"roomId": string // mark that resource belongs to room
"contributeToRoom": string // mark that resource belongs to room sorting table
"addToSortingTable": bool // mark that resource belongs to user sorting table
"belonging": string // use custom belonging (like 'userAIGeneration:{userId}')
}
"event": { "id": string, "date": timestamp }
}
Response:
{
"data": {
"resource": { resource structure }
}
"error": { "status": bool, "code": int, "message": string }
}
Socket resource thumbnail upload
Method: websocket
Endpoint: resource:uploadThumbnail
DEPRECATED
Request:
{
"data": {
"resource": string
"fileName": string
"contentType": string
"data": [ byte ]
"parent": string // mark that resource belongs to directory
"roomId": string // mark that resource belongs to room
"contributeToRoom": string // mark that resource belongs to room sorting table
"addToSortingTable": bool // mark that resource belongs to user sorting table
"belonging": string // use custom belonging (like 'userAIGeneration:{userId}')
}
"event": { "id": string, "date": timestamp }
}
Response:
{
"data": {
"resource": { resource structure }
}
"error": { "status": bool, "code": int, "message": string }
}
Models
Resource Origin
{
"type": string
"device": string
"deviceName": string
"path": string
}
Geolocation
{
"latitude": float
"longitude": float
}
Dimensions
{
"width": int
"height": int
"orientation": int
}
Resource Data Audio
{
"title": string
"artist": string
"album": string
"genre": string
"duration": int
"durationFloat": float
}
Resource Data Video
{
"duration": int
"durationFloat": float
"hasAlphaChannel": bool // true, if video generated from gif with transparent pixels
"alphaChannel": string // alpha channel video resource (if generated from gif)
}
Resource Data Amazon
{
"asin": string
"summary": string
"author": [ string ]
"manufacturer": string
"title": string
"publicationDate": string
"url": string
}
Resource Data Imdb
{
"Actors": string
"Genre": string
"Ratings": [{
"Source": string
"Value": string
}]
"Released": string
"Runtime": string
"Website": string
"Year": string
"Trailers": [ string ]
"imdbID": string
}
Resource Data Youtube
{
"videoId": string
"formatId": string
}
Resource Data Pinterest
{
"pin": string
"url": string
}
Resource Data Pixabay
{
"id": string
"pageUrl": string
}
Resource Data Facebook
{
"id": string
}
Resource Data Remote Url
{
"url": string
"urlType": string
"favicon": string
"title": string
}
Live Stream Data
{
"streamId": string
"assetId": string
"playbackUrl": string
"masterUrl": string
}
AI Generation Data
{
"generationModel": string // the model used for image generation [dall-e-3]
"prompt": string // a text description of the desired image
"revisedPrompt": string // the prompt that was used to generate the image, if there was any revision to the prompt
"url": string // the URL of the generated image
}
Resource Data Directory
{
"innerContentType": string
"innerContentCount": int
}
Channel Data
{
"communityId": string
"channelId": string
"subChannelId": string
"messageId": string
}
Google Drive
{
"fileId": string
"name": string
"mimeType": string
}
Programmatic Action with children
{
"localId": string // local action id, operated by client side only
"eventName": string
"actionName": string
"actionData": {
"usedPropId": string
"usedRoomId": string
"usedNetworkId": string
"usedStorylineId": string
"usedQuestionId": int
"usedQuestionnaireId": int
"usedSegmentId": string
"usedPlacementAreaId": string
"usedRoomPoint": string
"animationData": map[string]{ custom structure }
}
"childActions": [{ programmatic action structure }]
}
Programmatic Action
{
"localId": string // local action id, operated by client side only
"eventName": string
"actionName": string
"actionData": {
"usedPropId": string
"usedRoomId": string
"usedNetworkId": string
"usedStorylineId": string
"usedQuestionId": int
"usedQuestionnaireId": int
"usedSegmentId": string
"usedPlacementAreaId": string
"usedRoomPoint": string
"animationData": map[string]{ custom structure }
}
}
Resource
{
"id": string
"created": timestamp
"updated": timestamp
"title": string
"description": string
"location": string
"date": string
"category": string
"linkId": string // id of resource link is pointing to
"linkType": string // global/local
"encryptionVersion": string // encryption version, like 'verus.v1'
"encryptionEpoch": int // epoch defines key bundle that was used for encryption
"encryptionEpk": string // ephemeral public key that should be used to decrypt cypher data
"belonging": string // determines resource location in the system in a way 'belongingType:belongingPath(networkId)'
"status": string // pending/processing/ready/failed
"metadata": {
"fileName": string
"fileSize": int
"fileDate": timestamp
"behaviourType": string
"contentType": string
"convertedFrom": string
"link": string
"origin": { resource origin structure }
"geolocation": { geolocation structure }
"dimensions": { dimensions structure }
}
"thumbnail": string
"fromTemplate": bool
"totalReactions": int // amount of users who reacted to the resource
"data": {
"audio": { resource data audio structure }
"video": { resource data video structure }
"amazon": { resource data amazon structure }
"imdb": { resource data imdb structure }
"youtube": { resource data youtube structure }
"pinterest": { resource data pinterest structure }
"pixabay": { resource data pixabay structure }
"facebook": { resource data facebook structure }
"remoteUrl": { resource data remote url structure }
"liveStream": { live stream data structure }
"aiGeneration": { ai generation data structure }
"thumbnailUrl": string
"downloadUrl": string
"directory": { resource data directory structure }
"channel": { channel data structure }
"googleDrive": { google drive structure }
}
"customParams": map[string]{ custom structure } // client defined parameters
"actions": [{ programmatic action with children structure }] // custom programmatic actions from users
}