# Create an Asset. Use this service 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. Endpoint: POST /asset Version: 1.0 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 - `AccessToken` (string, required) JWT token 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. - `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 federated file - `skipTranscode` (boolean) Flag to skip content transformation - `filesize` (number) Size of file in bytes ## Response 200 fields (application/json): - `filename` (string) File Name Example: "apples.jpg" - `objectId` (string) Id of created object Example: "e55bdb0c-022b-475d-9e26-9d74552e1e81" - `fileId` (string) File Id Example: "ecc0d79a-e5cc-41aa-852d-1d9e0da62739" - `originalFileId` (string) Id of the original version of the file Example: "ecc0d79a-e5cc-41aa-852d-1d9e0da62739" - `url` (string) Presigned URL to upload the Asset file Example: "https://contentstore3.com/masters/919f33e2-dc03-4627-ab7b-642a5f1d11ae/apples.jpg?..." ## Response 401 fields (application/json): - `message` (string) - `detail` (string) ## Response 403 fields (application/json): - `message` (string) - `detail` (string)