---
title: "Upload Assets API"
url: "https://earlyaccess.developers.bynder.com/apis/upload-assets-api-1/versions/df48c638-df62-47a2-917c-b3255c452e8b"
---

# Upload Assets API

OpenAPI specification document.

```json
{"components":{"schemas":{"ApiUploadInitResponse":{"properties":{"multipart_params":{"$ref":"#/components/schemas/MultipartParams"},"s3_filename":{"examples":["pluploads/api/00000000-0000-0000-0000-000000000000/image.jpeg"],"type":"string"},"s3file":{"$ref":"#/components/schemas/S3file"},"target_key":{"examples":["pluploads/api/00000000-0000-0000-0000-000000000000/image.jpeg"],"type":"string"}},"title":"ApiUploadInitResponse","type":"object"},"ApiV4Upload500Error1":{"properties":{"message":{"examples":["Could not complete upload"],"type":"string"},"retry":{"contentEncoding":"int32","examples":[1],"type":"integer"},"success":{"examples":[false],"type":"boolean"}},"title":"ApiV4Upload500Error1","type":"object"},"ApiV4UploadResponse":{"properties":{"batchId":{"examples":["00000000-0000-0000-0000000000000000"],"type":"string"},"file":{"$ref":"#/components/schemas/File"},"filename":{"examples":["final/2ba07d00-586a-4a44-b13c-c58598cfe828/IMG_1874.JPG"],"type":"string"},"importId":{"examples":["000000000-0000-0000-0000000000000000"],"type":"string"},"locationType":{"examples":["s3"],"type":"string"},"output":{"examples":["final/2ba07d00-586a-4a44-b13c-c58598cfe828/"],"type":"string"},"status":{"description":"Only for chunk registration","examples":["ok"],"type":"string"},"success":{"contentEncoding":"int32","examples":[1],"type":"integer"}},"title":"ApiV4UploadResponse","type":"object"},"ApiV4UploadResponse1":{"properties":{"batchId":{"examples":["00000000-0000-0000-0000000000000000"],"type":"string"},"file":{"$ref":"#/components/schemas/File"},"filename":{"examples":["final/2ba07d00-586a-4a44-b13c-c58598cfe828/IMG_1874.JPG"],"type":"string"},"importId":{"examples":["000000000-0000-0000-0000000000000000"],"type":"string"},"locationType":{"examples":["s3"],"type":"string"},"output":{"examples":["final/2ba07d00-586a-4a44-b13c-c58598cfe828/"],"type":"string"},"success":{"contentEncoding":"int32","examples":[1],"type":"integer"}},"title":"ApiV4UploadResponse1","type":"object"},"Content-Type":{"const":"application/x-www-form-urlencoded","title":"Content-Type","type":"string"},"File":{"properties":{"bucket":{"examples":["BUCKET"],"type":"string"},"path":{"examples":["final/2ba07d00-586a-4a44-b13c-c58598cfe828/IMG_1874.JPG"],"type":"string"},"type":{"examples":["s3"],"type":"string"}},"title":"File","type":"object"},"MultipartParams":{"properties":{"Content-Type":{"examples":["image/*"],"type":"string"},"Policy":{"examples":["AWS_S3_POLICY"],"type":"string"},"X-Amz-Signature":{"examples":["AWS_S3_SIGNATURE"],"type":"string"},"acl":{"examples":["private"],"type":"string"},"key":{"examples":["pluploads/api/00000000-0000-0000-0000-000000000000/image.jpeg"],"type":"string"},"success_action_status":{"examples":["201"],"type":"string"},"x-amz-algorithm":{"examples":["AWS4-HMAC-SHA256"],"type":"string"},"x-amz-credential":{"examples":["AWS_S3_AUTH"],"type":"string"},"x-amz-date":{"examples":["20160216T100755Z"],"type":"string"}},"title":"MultipartParams","type":"object"},"S3file":{"properties":{"targetid":{"examples":["final/00000000-0000-0000-0000-000000000000/image.jpeg"],"type":"string"},"uploadid":{"examples":["UPLOAD_ID"],"type":"string"}},"title":"S3file","type":"object"},"accessType":{"description":"If audit is set to `true` you can specify an access type to define to which waiting room location the asset is uploaded to. The available locations are: Upload, Edit, Workflow approval (export), Shutterstock and Stock.","enum":["upload","edit","export","shutterstock","stock"],"examples":["upload"],"title":"accessType","type":"string"}},"securitySchemes":{"OAuth2":{"flows":{"authorizationCode":{"authorizationUrl":"https://your-bynder-domainDefaultValue/","scopes":{"MEDIAUPLOAD":"","MEDIAUPLOADFORAPPROVAL":""},"tokenUrl":"https://your-bynder-domainDefaultValue/token"},"clientCredentials":{"scopes":{"MEDIAUPLOAD":"","MEDIAUPLOADFORAPPROVAL":""},"tokenUrl":"https://your-bynder-domainDefaultValue/token"}},"type":"oauth2"},"permanentToken":{"in":"header","name":"Authorization","type":"apiKey"}}},"info":{"contact":{},"title":"Upload Assets API","version":"1.0.0"},"jsonSchemaDialect":"https://json-schema.org/draft/2020-12/schema","openapi":"3.1.0","paths":{"/":{"parameters":[],"post":{"deprecated":false,"description":"Uploading a file consists of the following two parts:\n\n**1. Breaking down your file into parts/chunks**\n\nEach part must be at least 5 MB in size, except for the last part. There is no size limit on the last part of your multipart upload. For more information about how Amazon handles parts/chunks, visit [Amazon's website](https://docs.aws.amazon.com/AmazonS3/latest/userguide/qfacts.html).\n\n**2. Sending the chunks to Amazon and registering them with Bynder**\n\nYou can repeat these calls until your file has been uploaded completely.\n\n## Upload a chunk\n\nMake a `POST` request to the Amazon upload endpoint you received from calling **Get closest AmazonS3 upload endpoint**. Use `multipart/form-data` to send all of the parameters included in the `multipart_params` of the previous request, plus the additional parameters listed below.","operationId":"Upload file in chunks","parameters":[],"responses":{"200":{"content":{},"description":"","headers":{}}},"summary":"Upload file in chunks","tags":["Step 3A Upload file in chunks"]},"servers":[{"description":"Dynamic upload server returned in the previous step.","url":"https://bynder-public-us-east-1.s3-accelerate.amazonaws.com/"}]},"/api/upload/endpoint":{"get":{"deprecated":false,"description":"Get the closest AmazonS3 upload endpoint.","operationId":"Get closest Amazon S3 upload endpoint","parameters":[],"responses":{"200":{"content":{"application/json":{"example":"https://bynder-public-eu-central-1.s3.amazonaws.com/","schema":{"contentMediaType":"application/json","examples":["https://bynder-public-eu-central-1.s3.amazonaws.com/"],"type":"string"}}},"description":"Successful response","headers":{}}},"security":[{"OAuth2":["MEDIAUPLOAD","MEDIAUPLOADFORAPPROVAL"]},{"permanentToken":["MEDIAUPLOAD","MEDIAUPLOADFORAPPROVAL"]}],"summary":"Get closest Amazon S3 upload endpoint","tags":["Step 1 Get closest AmazonS3 upload endpoint"]},"parameters":[]},"/api/upload/init":{"parameters":[],"post":{"deprecated":false,"description":"Initialise an upload.","operationId":"initialiseUpload","parameters":[{"description":"","in":"header","name":"Content-Type","required":true,"schema":{"$ref":"#/components/schemas/Content-Type"},"style":"simple"}],"requestBody":{"content":{"application/x-www-form-urlencoded":{"encoding":{},"schema":{"contentMediaType":"application/x-www-form-urlencoded","properties":{"filename":{"examples":["image.jpeg"],"type":"string"}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiUploadInitResponse"}}},"description":"Successful response","headers":{}},"400":{"content":{"text/plain":{"example":{"filename":"'image' is not a valid filename"},"schema":{"contentMediaType":"text/plain","examples":[{"filename":"'image' is not a valid filename"}],"type":"string"}}},"description":"Invalid input","headers":{}}},"security":[{"OAuth2":["MEDIAUPLOAD","MEDIAUPLOADFORAPPROVAL"]},{"permanentToken":["MEDIAUPLOAD","MEDIAUPLOADFORAPPROVAL"]}],"summary":"Initialise upload","tags":["Step 2 Initialise upload"]}},"/api/v4/media/save/{importId}":{"parameters":[],"post":{"deprecated":false,"description":"For metaproperties that use options (Select, Select2, Autocomplete), modifying an asset's metaproperty options should be done via option UUID's for the API to work optimally, sending name or label values will be deprecated in the future. Other metaproperties (Date, Text and Longtext), values can be submitted directly. Be aware that the endpoints described in Step 6 are an Either/Or choice. You should use either the `Save as a new asset` endpoint to save the uploaded file as a new asset, or the `Update existing asset` endpoint to update an existing asset with the uploaded file.\n","operationId":"Saveasanewasset","parameters":[{"description":"Import id of a finalised and processed upload to be saved.","in":"path","name":"importId","required":true,"schema":{"examples":["00000000-0000-0000-0000-000000000000"],"type":"string"},"style":"simple"},{"description":"","in":"header","name":"Content-Type","required":true,"schema":{"$ref":"#/components/schemas/Content-Type"},"style":"simple"}],"requestBody":{"content":{"application/x-www-form-urlencoded":{"encoding":{},"schema":{"contentMediaType":"application/x-www-form-urlencoded","properties":{"ISOPublicationDate":{"contentEncoding":"date-time","description":"Date/time of publication in ISO08601-format.","examples":["2014-06-12T18:53:21.000Z"],"type":"string"},"accessRequestId":{"description":"If audit is set to `true` you can specify an accessRequestId to batch uploads to the waiting room. The accessRequestId is retrieved in the response of this endpoint, after you save the first asset of your batch.","examples":["00000000-0000-0000-0000000000000000"],"type":"string"},"accessType":{"$ref":"#/components/schemas/accessType"},"archiveDate":{"contentEncoding":"date-time","description":"Archive date/time of the asset in ISO8601-format.","examples":["2014-12-25T10:30:00.000Z"],"type":"string"},"audit":{"description":"Flags if the asset should be sent to the waiting room.","examples":[true],"type":"boolean"},"brandId":{"description":"Brand id to save the asset to.","examples":["00000000-0000-0000-0000-0000000000000000"],"type":"string"},"categories":{"description":"Comma-separated category ids of the asset.","examples":["00000000-0000-0000-0000000000000000,00000000-0000-0000-0000000000000000"],"type":"string"},"copyright":{"description":"Copyright information of the asset.","examples":["Copyright (c) Example corp."],"type":"string"},"crc32":{"contentEncoding":"int32","description":"CRC32 checksum of the original file, used for verification.","examples":[79764919],"type":"integer"},"description":{"description":"Extended asset description.","examples":["Extended asset description"],"type":"string"},"isPublic":{"description":"Flags if the asset should be Public.","examples":[true],"type":"boolean"},"metaproperty":{"description":"Dictionary with (metaproperty) options to set on the asset. Send fields as `metaproperty.METAPROPERY_ID` with a string of all its (metaproperty) options ids comma-separated.","examples":["metaproperty.00000000-0000-0000-0000000000000000=00000000-0000-0000-0000000000000000,00000000-0000-0000-0000000000000000"],"type":"string"},"name":{"description":"Name of the asset.","examples":["Asset name"],"type":"string"},"publicationDate":{"description":"*DEPRECATED* Date/time of publication in linked API user selected locale-format.","examples":["05-31-2010"],"type":"string"},"requestorId":{"description":"If audit is set to `true` you can specify a requestor ID (user ID) to identify the user uploading the asset to the waiting room.","examples":["00000000-0000-0000-0000000000000000"],"type":"string"},"tags":{"description":"Comma-separated list of tags of the asset.","examples":["scenery,grassland,Holland"],"type":"string"},"watermarkDate":{"contentEncoding":"date-time","description":"Watermark datetime. ISO8601 format: yyyy-mm-ddThh:mm:ssZ.","examples":["2014-12-25T10:30:00.000Z"],"type":"string"}},"required":["brandId"],"type":"object"}}},"required":false},"responses":{"201":{"content":{"application/json":{"examples":{"success":{"summary":"Successful response","value":{"accessRequestId":"00000000-0000-0000-0000000000000000","batchId":"00000000-0000-0000-0000000000000000","mediaid":"00000000-0000-0000-0000000000000000","mediaitems":[{"destination":"___URL_TO_BYNDER_CDN___","original":"final/00000000-0000-0000-0000000000000000/image.jpg"},{"destination":"___URL_TO_BYNDER_CDN___","original":"final/00000000-0000-0000-0000000000000000/thul-image.jpg"},{"destination":"___URL_TO_BYNDER_CDN___","original":"final/00000000-0000-0000-0000000000000000/mini-image.jpg"}],"success":true}}},"schema":{"contentMediaType":"application/json","examples":[{"accessRequestId":"00000000-0000-0000-0000000000000000","batchId":"00000000-0000-0000-0000000000000000","mediaid":"00000000-0000-0000-0000000000000000","mediaitems":[{"destination":"___URL_TO_BYNDER_CDN___","original":"final/00000000-0000-0000-0000000000000000/image.jpg"},{"destination":"___URL_TO_BYNDER_CDN___","original":"final/00000000-0000-0000-0000000000000000/thul-image.jpg"},{"destination":"___URL_TO_BYNDER_CDN___","original":"final/00000000-0000-0000-0000000000000000/mini-image.jpg"}],"success":true}]}}},"description":"Created","headers":{}},"303":{"content":{"application/json":{"examples":{"poll":{"summary":"Poll response","value":{"message":"Import not converted yet, please poll","statuscode":"303"}}},"schema":{"contentMediaType":"application/json","examples":[{"message":"Import not converted yet, please poll","statuscode":"303"}]}}},"description":"Import not converted yet, please poll","headers":{}},"400":{"content":{"application/json":{"examples":{"invalidCrc32":{"summary":"Invalid unsigned integer for CRC32","value":{"message":"Invalid unsigned integer for CRC32","statuscode":"400"}},"invalidCrc32Type":{"summary":"Invalid argument type for CRC32","value":{"message":"Invalid argument type for CRC32","statuscode":"400"}},"invalidDateFormat":{"summary":"Date format not ISO8601-compliant","value":{"message":"Date format not ISO8601-compliant","statuscode":"400"}},"noBrandId":{"summary":"No brandId provided","value":{"message":"No brandid provided","statuscode":"400"}},"noImportId":{"summary":"No importId provided","value":{"message":"No importid provided","statuscode":"400"}}},"schema":{"contentMediaType":"application/json","examples":["{\"message\":\"No importid provided\",\"statuscode\":\"400\"}","{\"message\":\"No brandid provided\",\"statuscode\":\"400\"}","{\"message\":\"Invalid unsigned integer for CRC32\",\"statuscode\":\"400\"}","{\"message\":\"Invalid argument type for CRC32\",\"statuscode\":\"400\"}","{\"message\":\"Date format not ISO8601-compliant\",\"statuscode\":\"400\"}"]}}},"description":"Bad Request","headers":{}},"403":{"content":{"application/json":{"examples":{"accessDenied":{"summary":"Access denied response","value":{"message":"Access denied","statuscode":"403"}}},"schema":{"contentMediaType":"application/json","examples":[{"message":"Access denied","statuscode":"403"}]}}},"description":"Access denied","headers":{}},"404":{"content":{"application/json":{"examples":{"importIdNotFound":{"summary":"Import ID not found","value":{"message":"Import ID not found","statuscode":"404"}},"uploadNotExist":{"summary":"Upload doesn't exist","value":{"message":"Upload doesn't exist","statuscode":"404"}}},"schema":{"contentMediaType":"application/json","examples":["{\"message\":\"Import ID not found\",\"statuscode\":\"404\"}","{\"message\":\"Upload doesn't exist\",\"statuscode\":\"404\"}"]}}},"description":"Not Found","headers":{}},"500":{"content":{"application/json":{"examples":{"uploadFailed":{"summary":"Upload failed or not ready","value":{"message":"Upload failed or not ready","statuscode":"500"}}},"schema":{"contentMediaType":"application/json","examples":[{"message":"Upload failed or not ready","statuscode":"500"}]}}},"description":"Internal Server Error","headers":{}}},"security":[{"OAuth2":["MEDIAUPLOAD","MEDIAUPLOADFORAPPROVAL"]},{"permanentToken":["MEDIAUPLOAD","MEDIAUPLOADFORAPPROVAL"]}],"summary":"Save as a new asset","tags":["Step 6 EITHER Save as a new asset"]}},"/api/v4/media/{id}/save/additional/{uploadId}/":{"parameters":[],"post":{"deprecated":false,"description":"The endpoints described in Step 4 are an Either/Or choice. You should use either the `Finalise an uploaded file` endpoint to finalize and process a standard upload, or the `Finalize additional file` endpoint to finalize and save an additional uploaded file as a new asset.","operationId":"Finalize additional file","parameters":[{"description":"Asset id to which to save the new additional.","in":"path","name":"id","required":true,"schema":{"examples":["00000000-0000-0000-0000-000000000000"],"type":"string"},"style":"simple"},{"description":"The upload id of the file.","in":"path","name":"uploadId","required":true,"schema":{"examples":["T3.fS5.5HPhtYFtm2b_.e7wVe910tL5XQutKw1jkMqlP5cPQVyZkOZxZ9lJiGUk4FIw6M0CFZ3xogTWrm.GPI2p2CaglQcAS5aH37zT_vHJnbtkebYbheXIQc_.M_6hM"],"type":"string"},"style":"simple"}],"requestBody":{"content":{"application/x-www-form-urlencoded":{"encoding":{},"schema":{"properties":{"chunks":{"description":"Total number of chunks uploaded.","examples":[5],"type":"number"},"s3_filename":{"description":"Base location of the uploaded file.","examples":["api_uploads/00000000-0000-0000-0000-000000000000/00000000-0000-0000-000000000000/Logo.png"],"type":"string"},"targetId":{"description":"Target id as returned by the initialise call.","examples":["final/00000000-0000-0000-0000-000000000000/Logo.png"],"type":"string"}},"type":"object"}}}},"responses":{"201":{"content":{"application/json":{"examples":{"success":{"summary":"Successful response","value":{"batchId":"00000000-0000-0000-0000000000000000","mediaid":"00000000-0000-0000-0000000000000000","mediaitems":null,"success":true}}},"schema":{"contentMediaType":"application/json","examples":[{"batchId":"00000000-0000-0000-0000000000000000","mediaid":"00000000-0000-0000-0000000000000000","mediaitems":[{"destination":"___URL_TO_BYNDER_CDN___","original":"final/00000000-0000-0000-0000000000000000/image.jpg"},{"destination":"___URL_TO_BYNDER_CDN___","original":"final/00000000-0000-0000-0000000000000000/thul-image.jpg"},{"destination":"___URL_TO_BYNDER_CDN___","original":"final/00000000-0000-0000-0000000000000000/mini-image.jpg"}],"success":true}]}}},"description":"Created","headers":{}}},"summary":"Finalize additional file","tags":["Step 4 OR Finalize and save an additional uploaded file as a new asset."]}},"/api/v4/media/{id}/save/{importId}":{"parameters":[],"post":{"deprecated":false,"description":"Be aware that the endpoints described in Step 6 are an Either/Or choice. You should use either the `Save as a new asset` endpoint to save the uploaded file as a new asset, or the `Update existing asset` endpoint to update an existing asset with the uploaded file.","operationId":"Save uploaded file to existing asset","parameters":[{"description":"Asset id to which to save the uploaded file.","in":"path","name":"id","required":true,"schema":{"examples":["00000000-0000-0000-0000-000000000000"],"type":"string"},"style":"simple"},{"description":"Import id of a finalised and processed upload to be saved.","in":"path","name":"importId","required":true,"schema":{"examples":["00000000-0000-0000-0000-000000000000"],"type":"string"},"style":"simple"}],"requestBody":{"content":{"text/plain":{"schema":{"contentMediaType":"text/plain"}}},"description":"","required":false},"responses":{"201":{"content":{"application/json":{"examples":{"success":{"summary":"Successful response","value":{"batchId":"00000000-0000-0000-0000000000000000","mediaid":"00000000-0000-0000-0000000000000000","mediaitems":null,"success":true}}},"schema":{"contentMediaType":"application/json","examples":[{"batchId":"00000000-0000-0000-0000000000000000","mediaid":"00000000-0000-0000-0000000000000000","mediaitems":[{"destination":"___URL_TO_BYNDER_CDN___","original":"final/00000000-0000-0000-0000000000000000/image.jpg"},{"destination":"___URL_TO_BYNDER_CDN___","original":"final/00000000-0000-0000-0000000000000000/thul-image.jpg"},{"destination":"___URL_TO_BYNDER_CDN___","original":"final/00000000-0000-0000-0000000000000000/mini-image.jpg"}],"success":true}]}}},"description":"Created","headers":{}}},"summary":"Save uploaded file to existing asset","tags":["Step 6 OR Save uploaded file to existing asset"]}},"/api/v4/upload/poll":{"get":{"deprecated":false,"description":"This call needs to be executed in a loop until its response returns the item(s) id(s) passed in the **items** parameter.\n","operationId":"Retrieve poll state","parameters":[{"description":"Comma-separated import id's of a finalised file, as returned by the finalise call.","explode":true,"in":"query","name":"items","required":true,"schema":{"examples":["00000000-0000-0000-0000-000000000000,00000000-0000-0000-0000-000000000000"],"type":"string"},"style":"form"}],"responses":{"200":{"content":{"application/json":{"examples":{"success":{"summary":"Successful response","value":{"itemsDone":["00000000-0000-0000-0000000000000000"],"itemsFailed":[],"itemsRejected":[]}}},"schema":{"contentMediaType":"application/json","examples":[{"itemsDone":["00000000-0000-0000-0000000000000000"],"itemsFailed":[],"itemsRejected":[]}]}}},"description":"Successful response","headers":{}}},"security":[{"OAuth2":["MEDIAUPLOAD","MEDIAUPLOADFORAPPROVAL"]},{"permanentToken":["MEDIAUPLOAD","MEDIAUPLOADFORAPPROVAL"]}],"summary":"Retrieve poll state","tags":["Step 5 Poll for processing status"]},"parameters":[]},"/api/v4/upload/{uploadId}":{"parameters":[],"post":{"deprecated":false,"description":"Register the completion of an uploaded chunk.","operationId":"Register uploaded chunk","parameters":[{"description":"","in":"path","name":"uploadId","required":true,"schema":{"examples":["T3.fS5.5HPhtYFtm2b_.e7wVe910tL5XQutKw1jkMqlP5cPQVyZkOZxZ9lJiGUk4FIw6M0CFZ3xogTWrm.GPI2p2CaglQcAS5aH37zT_vHJnbtkebYbheXIQc_.M_6hM"],"type":"string"},"style":"simple"},{"description":"","in":"header","name":"Content-Type","required":true,"schema":{"$ref":"#/components/schemas/Content-Type"},"style":"simple"}],"requestBody":{"content":{"application/x-www-form-urlencoded":{"encoding":{},"schema":{"contentMediaType":"application/x-www-form-urlencoded","properties":{"chunkNumber":{"contentEncoding":"double","description":"required for every chunk","examples":[5],"type":"number"},"filename":{"description":"required for every chunk","examples":["api_uploads/00000000-0000-0000-0000000000000000/00000000-0000-0000-0000000000000000/Logo.png/p5"],"type":"string"},"targetid":{"description":"required for every chunk","examples":["final/00000000-0000-0000-0000000000000000/Logo.png"],"type":"string"}},"type":"object"}}},"required":false},"responses":{"202":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiV4UploadResponse"}}},"description":"Chunk registered successfully","headers":{}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiV4Upload500Error1"}}},"description":"Upload failed or not ready","headers":{}}},"security":[{"OAuth2":["MEDIAUPLOAD","MEDIAUPLOADFORAPPROVAL"]},{"permanentToken":["MEDIAUPLOAD","MEDIAUPLOADFORAPPROVAL"]}],"summary":"Register uploaded chunk","tags":["Step 3B Register uploaded chunk"]}},"/api/v4/upload/{uploadId}/":{"parameters":[],"post":{"deprecated":false,"description":"The endpoints described in Step 4 are an Either/Or choice. You should use either the `Finalise an uploaded file` endpoint to finalize and process a standard upload, or the `Finalize additional file` endpoint to finalize and save an additional uploaded file as a new asset.","operationId":"Finalise an uploaded file","parameters":[{"description":"","in":"path","name":"uploadId","required":true,"schema":{"examples":["T3.fS5.5HPhtYFtm2b_.e7wVe910tL5XQutKw1jkMqlP5cPQVyZkOZxZ9lJiGUk4FIw6M0CFZ3xogTWrm.GPI2p2CaglQcAS5aH37zT_vHJnbtkebYbheXIQc_.M_6hM"],"type":"string"},"style":"simple"},{"description":"","in":"header","name":"Content-Type","required":true,"schema":{"$ref":"#/components/schemas/Content-Type"},"style":"simple"}],"requestBody":{"content":{"application/x-www-form-urlencoded":{"encoding":{},"schema":{"contentMediaType":"application/x-www-form-urlencoded","properties":{"chunks":{"contentEncoding":"double","description":"Total number of chunks uploaded.","examples":[5],"type":"number"},"original_filename":{"description":"Filename including special characters to be displayed in Bynder.","examples":["Logo.png"],"type":"string"},"s3_filename":{"description":"Base location of the uploaded file.","examples":["api_uploads/159D8D4B-B981-49B8-BF0569FD144CB359/A29FABF0-26B8-44BF-890920E4C09E7C11/Logo.png"],"type":"string"},"targetid":{"description":"Target id as returned by the initialise call.","examples":["final/E3333526-7F87-49F9-B49C0054C0D31477/Logo.png"],"type":"string"}},"required":["targetid","s3_filename","chunks"],"type":"object"}}},"required":false},"responses":{"202":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiV4UploadResponse1"}}},"description":"Accepted","headers":{}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiV4Upload500Error1"}}},"description":"Internal Server Error","headers":{}}},"summary":"Finalise an uploaded file","tags":["Step 4 EITHER Finalise uploaded file"]}}},"security":[],"servers":[{"url":"https://{your-bynder-domain}/","variables":{"your-bynder-domain":{"default":"your-bynder-domainDefaultValue"}}},{"url":"https://your-bynder-domainDefaultValue","variables":{}},{"url":"https://DefaultParameterValue","variables":{}},{"url":"https://your-bynder-domainDefaultValue","variables":{}},{"url":"https://your-bynder-domainDefaultValue/v6/authentication/oauth2","variables":{}},{"url":"https://your-bynder-domainDefaultValue","variables":{}},{"url":"https://{your-auth-url}","variables":{"your-auth-url":{"default":"DefaultParameterValue"}}},{"url":"https://your-bynder-domainDefaultValue","variables":{}},{"url":"https://DefaultParameterValue","variables":{}},{"url":"https://your-bynder-domainDefaultValue","variables":{}},{"url":"https://your-bynder-domainDefaultValue/v6/authentication/oauth2","variables":{}},{"url":"https://your-bynder-domainDefaultValue","variables":{}},{"url":"https://bynder-public-us-east-1.s3.amazonaws.com/","variables":{}}],"tags":[{"description":"This endpoint gets the AmazonS3 endpoint that is closest to your current location.","name":"Step 1 Get closest AmazonS3 upload endpoint"},{"description":"This endpoint prepares the upload of a file in chunks. It returns a file ID that will be used in subsequent steps to upload the file chunks and finalize the upload.\n","name":"Step 2 Initialise upload"},{"description":"This endpoint uploads a chunk of the file. You need to provide the file ID obtained from the prepare upload step and the chunk number (starting from 0). The request body should contain the binary data of the chunk being uploaded.\n","name":"Step 3A Upload file in chunks"},{"description":"This endpoint finalizes the upload after all chunks have been uploaded. You need to provide the file ID and details about the file, including its name, size, and the number of chunks it was split into.\n","name":"Step 3B Register uploaded chunk"},{"description":"","name":"Step 4 EITHER Finalise uploaded file"},{"description":"","name":"Step 4 OR Finalize and save an additional uploaded file as a new asset."},{"description":"This endpoint allows you to check the processing status of a finalized upload. It should be called repeatedly until the response indicates that the processing is complete or provides the item IDs of the processed files.\n","name":"Step 5 Poll for processing status"},{"description":"This endpoint finalizes the upload after all chunks have been uploaded. You need to provide the file ID and details about the file, including its name, size, and the number of chunks it was split into.\n","name":"Step 6 EITHER Save as a new asset"},{"description":"This endpoint finalizes the upload after all chunks have been uploaded. You need to provide the file ID and details about the file, including its name, size, and the number of chunks it was split into.","name":"Step 6 OR Save as a new asset version"}]}
```
