Skip to content
On this page

Resource deprecated upload API

EndpointMethodDescription
/api/v0/resource/uploadwebRequestMultipart upload
/api/v0/resource/upload/thumbnailwebRequestMultipart thumbnail upload
/api/v0/resource/upload/chunkwebRequestResumable upload - Ping chunk
/api/v0/resource/upload/chunkwebRequestResumable upload - Upload chunk
/api/v0/resource/upload/thumbnail/chunkwebRequestResumable thumbnail upload - Ping chunk
/api/v0/resource/upload/thumbnail/chunkwebRequestResumable thumbnail upload - Upload chunk
resource:uploadwebsocketSocket resource upload
resource:uploadThumbnailwebsocketSocket 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
}