Asset (Beta)

Asset API (Beta)

1.0.0-betaOAS 3.1

Beta. The Asset API lets you ingest, enrich, and manage assets on api.bynder.com. Endpoints are grouped by the stage of the asset lifecycle: ingestion (create → upload → publish), enrichment (metadata, tags, embargoes, rights, relations), and general retrieval/management.

API Base URL
  • Server 1:{Location Header Value}
    Variables
    baseUploadUrl:

    Dynamic Tus upload server returned in the previous step.

Security
httpAuth (http)

Provide your bearer token in the Authorization header when making requests to protected resources.

Example: Authorization: Bearer 123

Asset ingestion

Create an asset, upload its file in resumable chunks, and publish it. After the file is uploaded you can enrich the asset - see the Asset enrichment section - before publishing. Retrieval of the asset during ingestion uses Get asset in the General endpoints section.

Upload file chunks

IMPORTANT NOTE
These APIs do not replace the existing v4 APIs yet, and currently only applies to newly uploaded assets still in Draft state (before publishing). Cannot be yet used for Assets that are in Asset Bank and Waiting room.

The request target is the Location response header returned by Upload file initialization. Carry the relevant header information across calls as shown below. After the last chunk is uploaded, the file is automatically finalized.

The Location Header Value URL is a placeholder for the Location header from the previous call.

patch
{Location Header Value}/

Headers

tus-resumablestringrequired

Default:1.0.0

upload-offsetstringrequired

The combined length of the previously uploaded chunks. This value can be taken from the Upload-Offset response header of each preceding chunk request.

content-typestringrequired

Default:application/offset+octet-stream

fileidstringrequired
filenamestringrequired
reasonstringrequired

Body

application/offset+octet-stream
string(binary)

Response

Chunk accepted.

patch/

Body

No file selected
 
Invalid URL value 'Location Header Value/'
- missing protocol

Upload file initialization

IMPORTANT NOTE
These APIs do not replace the existing v4 APIs yet, and currently only applies to newly uploaded assets still in Draft state (before publishing). Cannot be yet used for Assets that are in Asset Bank and Waiting room.

This step actually starts uploading the file. Send this request to the signed uploadUrl returned by Create upload url. This initializes a resumable (tus) upload. Any file namings have to be base64 encoded/decoded.
The response headers - in particular the Location header - are required for the next call, Upload file chunks.

The {uploadUrl} path parameter is a placeholder for the signed URL from the previous step.

post
{Location Header Value}/

Headers

tus-resumablestringrequired

Default:1.0.0

upload-lengthstringrequired

Total size of the file to upload, in bytes.

upload-metadatastringrequired

Comma-separated key <base64-value> pairs, e.g. filename ZXhhbXBsZS5wbmc=.

fileidstringrequired
filenamestringrequired
authorizationstringrequired
content-lengthstringrequired

Response

Upload initialized. Use the returned Location header for the chunk uploads.

post/
 
Invalid URL value 'Location Header Value/'
- missing protocol

Create asset

IMPORTANT NOTE
These APIs do not replace the existing v4 APIs yet, and currently only applies to newly uploaded assets still in Draft state (before publishing). Cannot be yet used for Assets that are in Asset Bank and Waiting room.

Creates an empty container, this is the first step to start the file upload and any asset enrichment.

post
{Location Header Value}/api/1/asset/assets

Body

application/json

CreateAssetInput

copyrightstring
descriptionstring
namestring
originstring
timeStampPublishedstring(date-time)

Response

application/json

Asset

activeVersionobject
Show Child Parameters
advancedRightsobject
Show Child Parameters
assetIdstring
assetStatusstring
copyrightstring
descriptionstring
embargosarray[object]
Show Child Parameters
moduleCodestring

Allowed values:BGBSIBWF

namestring
originstring
portalIdstring
timeStampCreatedstring(date-time)
timeStampModifiedstring(date-time)
timeStampPublishedstring(date-time)
userCreatedIdstring
userModifiedIdstring
post/api/1/asset/assets

Body

{}
 
Invalid URL value 'Location Header Value/api/1/asset/assets'
- missing protocol
application/json