# Create Asset Use this endpoint to perform one of the following operations: 1) Create a new Asset 2) Create a new Version of an existing Asset 3) Create a new Metadata-only Asset Once the new Asset or Asset Version is created, a new Object ID is returned to identify the new Asset / Asset Version. When a new Asset is created, the Asset is considered a metadata-only asset until a corresponding content file is uploaded. The Asset's content file size must be less than or equal to 5GB. After invoking the Create Asset service, the response shall include a signed URL to upload the content file. The upload should be performed using a PUT request with the file content attached as binary data in the request body. After creating an asset greater than 100MB, multiple presigned URLs will be returned. You must upload file chunks of 100MB to each one. You must call the /asset/complete endpoint to complete or cancel a multi-part file upload, otherwise the file will not be available to Tenovos. The user submitting the request to create an Asset must have the Upload Security Role Privilege and be granted access to at least one Security Template to assign to the new Asset. Average Response Time: 1077ms (varies based on metadata) Endpoint: POST /asset Version: 1.5 Security: ApiKeyAuth, BasicAuth ## Header parameters: - `X-API-Key` (string, required) Customer-specific API key required to invoke API. - `Authorization` (string, required) Provided by Authentication Token creation operation - `Content-Type` (string, required) Enum: "application/json" ## Request fields (application/json): - `originalFileId` (string) ID of the file. When provided a new version will be created. Example: "ea6eb24d-adef-4080-bd02-f64f567c437f" - `metadataTemplateId` (string, required) ID of metadata template to apply. Example: "ea6eb24d-adef-4080-bd02-f64f567c437f" - `metadata` (array, required) Array of metadata attributes - `securityTemplateIds` (array, required) Array of Security Template IDs Example: ["7d6f4e30-f423-11e9-8071-89c0c4052141"] - `filename` (string, required) Asset file name. - `contentPath` (string) S3 path to the file. Required only for Federated files. - `skipTranscode` (boolean) Flag to skip content transformation. Required only for Federated files. - `filesize` (number) Size of file in bytes ## Response 200 fields (application/json): - `status` (string) Response Status indicator returned by Tenovos Example: "success" - `message` (string) Message indicated whether the asset was successfully created or not. Example: "Asset created successfully" - `data` (object) - `data.objectId` (string) Tenovos generated unique identifier for the new created asset. Example: "2dee909b-6b2b-4da8-96c3-af90fc1662ec" - `data.filename` (string) Name of the file at the time of creation, or the placeholder value of a metadata-only Asset. Example: "hooli-logo.jpg" - `data.fileId` (string) Tenovos generated unique identifier of the content/file Example: "0fcb5eb4-5e0e-4ffa-8780-9206a0f833f1" - `data.originalFileId` (string) Tenovos generated unique identifier of the original content/file. Provided for versioning purposes. Example: "0fcb5eb4-5e0e-4ffa-8780-9206a0f833f1" - `data.uploadId` (string) Uniquely identifies the upload. Example: "gR5XHJZpuDv8UizdpSGuwONje0GbMHnCWXS5zTTVkyVINURV6iraWLhpM7Sy7oy65utAgPcm2FfM4fRp4oVga4ggEzD811aS1tke_F0iIIXX1kV7m6UouytsNE0oL8fzo2Zr2JCqwRyhFTXp98zjdQ" - `data.urls` (array) - `data.urls.partNumber` (number) If the file size is greater than 100MB, you'll upload your file in multiple parts. Each part has a corresponding url. Example: 1 - `data.urls.url` (string) If the file size is greater than 100MB, you'll upload your file in multiple parts. Each part has a corresponding url. AWS S3 presigned secure url to upload the your content part to for this Asset. Files must be streamed to this URL. ## Response 401 fields (application/json): - `message` (string) - `detail` (string) ## Response 403 fields (application/json): - `message` (string) - `detail` (string)