# Push assets

By
The Quable Team
Published 2023-11-05

Create assets
Fetch assets
Update assets
Delete assets
Link assets to documents


# Create assets

In Quable, an asset is composed of:

  • a binary file (jpeg, mp4, ppt, etc.)
  • attribute's values (shooting date, model name, etc.)

# Importing attribute values

Importing attribute's values works the same way for assets as for classification's and document's attribute values.


# Importing binary files

For the binary file, things are a little trickier.
There are two ways to push an asset binary file in Quable DAM:

If the binary file is external (often located in another DAM), you can point to it using its URL when creating the asset object. This is a POST request.

curl --location 'https://{{instance}}.quable.com/api/assets' \
--header 'accept: */*' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {{bearerToken}}' \
--data '{
    "id": "myAssetIdentifier",
    "classification": {
        "id": "myDamClassificationIdentifier"
    },
    "attributes": {
        "date_shooting" : "2023-11-09T10:00:00",
        "mannequin" : "Jane Doe"
    },
    "remotePath": "https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQK__EYbk6y0la-IHFnoViF-ZRSkdam5yxhhtbsh3lG8YUQBuYEW7LLyi3qxl_vmu0-PyI&usqp=CAU"
}'

The response will display as follow:

{
    "@context": {
        "@vocab": "https://education-developers.quable.com/api/docs.jsonld#",
        "hydra": "http://www.w3.org/ns/hydra/core#",
        "name": "AssetOutput/name",
        "isActive": "AssetOutput/isActive",
        "attributes": "AssetOutput/attributes",
        "metadata": "AssetOutput/metadata",
        "url": "AssetOutput/url",
        "originalFilename": "AssetOutput/originalFilename",
        "thumbnailUrl": "AssetOutput/thumbnailUrl",
        "previewUrl": "AssetOutput/previewUrl",
        "classifications": "AssetOutput/classifications",
        "documentLinks": "AssetOutput/documentLinks",
        "variantLinks": "AssetOutput/variantLinks",
        "dateCreated": "AssetOutput/dateCreated",
        "dateModified": "AssetOutput/dateModified",
        "thumbnails": "AssetOutput/thumbnails",
        "legacyId": "AssetOutput/legacyId",
        "active": "AssetOutput/active"
    },
    "@type": "Asset",
    "@id": "/api/assets/myAssetIdentifier",
    "name": "",
    "active": true,
    "attributes": [],
    "metadata": [],
    "url": "https://www.crafters.fr/images/stories/virtuemart/sols20/633_chemise_homme_stretch_manches_longues_blake_men_black_face.png",
    "originalFilename": "633_chemise_homme_stretch_manches_longues_blake_men_black_face.png",
    "thumbnailUrl": "",
    "previewUrl": "",
    "classifications": [
        {
            "@context": {
                "@vocab": "https://education-developers.quable.com/api/docs.jsonld#",
                "hydra": "http://www.w3.org/ns/hydra/core#",
                "parentCode": "ClassificationOutput/parentCode",
                "catalogId": "ClassificationOutput/catalogId",
                "isActive": "ClassificationOutput/isActive",
                "attributes": "ClassificationOutput/attributes",
                "assetLinks": "ClassificationOutput/assetLinks",
                "mainAssetUrl": "ClassificationOutput/mainAssetUrl",
                "mainAssetThumbnailUrl": "ClassificationOutput/mainAssetThumbnailUrl",
                "dateCreated": "ClassificationOutput/dateCreated",
                "dateModified": "ClassificationOutput/dateModified",
                "createdBy": "ClassificationOutput/createdBy",
                "updatedBy": "ClassificationOutput/updatedBy",
                "legacyId": "ClassificationOutput/legacyId",
                "active": "ClassificationOutput/active"
            },
            "@type": "Classification",
            "@id": "/api/classifications/dam_sort",
            "catalogId": null,
            "id": "dam_sort",
            "legacyId": 3
        }
    ],
    "documentLinks": [],
    "variantLinks": [],
    "dateCreated": "2023-11-14T10:58:01+00:00",
    "dateModified": "2023-11-14T10:58:02+00:00",
    "thumbnails": {
        "preview": null
    },
    "id": "myAssetIdentifier",
    "legacyId": 178
}

This requires two steps:

  1. pushing the file to Quable
  2. associating the file with an existing asset.

1. Pushing the file to Quable

curl --location 'https://{{instance}}.quable.com/api/files' \
--header 'Authorization: Bearer {{bearerToken}}' \
--form 'fileType="asset"' \
--form 'file=@"{{assetFile}}"'

This will return a payload response like so:

{
    "name": "shirt.jpg",
    "location": {
        "container": "education-developers-dam",
        "filename": "c52c1695-a303-4d7f-9bc5-c50142843325"
    },
    "metadatas": {
        "mime_type": "image/jpeg"
    },
    "id": "c52c1695-a303-4d7f-9bc5-c50142843325",
    "type": "asset",
    "status": "available",
    "dateModified": "2023-11-14T10:10:42+00:00",
    "dateCreated": "2023-11-14T10:10:42+00:00"
}

2. Creating the asset object

This is a POST request as well:

curl --location 'https://{{instance}}.quable.com/api/assets' \
--header 'accept: */*' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {{bearerToken}}' \
--data '{
    "id": "myAssetIdentifier",
    "file": {
        "id": "theFileIdentifier"
    },
    "classification": {
        "id": "myDamClassificationIdentifier"
    }
}'

In case of success, the response will come through as an HTTP 201 .
The response will look like so:

{
    "@context": {
        "@vocab": "https://education-developers.quable.com/api/docs.jsonld#",
        "hydra": "http://www.w3.org/ns/hydra/core#",
        "name": "AssetOutput/name",
        "isActive": "AssetOutput/isActive",
        "attributes": "AssetOutput/attributes",
        "metadata": "AssetOutput/metadata",
        "url": "AssetOutput/url",
        "originalFilename": "AssetOutput/originalFilename",
        "thumbnailUrl": "AssetOutput/thumbnailUrl",
        "previewUrl": "AssetOutput/previewUrl",
        "classifications": "AssetOutput/classifications",
        "documentLinks": "AssetOutput/documentLinks",
        "variantLinks": "AssetOutput/variantLinks",
        "dateCreated": "AssetOutput/dateCreated",
        "dateModified": "AssetOutput/dateModified",
        "thumbnails": "AssetOutput/thumbnails",
        "legacyId": "AssetOutput/legacyId",
        "active": "AssetOutput/active"
    },
    "@type": "Asset",
    "@id": "/api/assets/blueshirt",
    "name": "shirt.jpg",
    "active": true,
    "attributes": [],
    "metadata": {
        "color_space": "sRGB",
        "file_size": "1.31 MB",
        "width": "3064",
        "height": "4592",
        "orientation": "portrait",
        "file_name": "shirt.jpg",
        "mime_type": "image/jpeg",
        "detail": {
            "FileSize": "1373 kB",
            "FileModifyDate": "2023:11:14 10:41:05+00:00",
            "FileAccessDate": "2023:11:14 10:41:05+00:00",
            "FileInodeChangeDate": "2023:11:14 10:41:05+00:00",
            "FilePermissions": "-rw-r--r--",
            "FileType": "JPEG",
            "FileTypeExtension": "jpg",
            "MIMEType": "image/jpeg",
            "JFIFVersion": 1.01,
            "ResolutionUnit": "inches",
            "XResolution": 72,
            "YResolution": 72,
            "ProfileCMMType": "Linotronic",
            "ProfileVersion": "2.1.0",
            "ProfileClass": "Display Device Profile",
            "ColorSpaceData": "RGB ",
            "ProfileConnectionSpace": "XYZ ",
            "ProfileDateTime": "1998:02:09 06:49:00",
            "ProfileFileSignature": "acsp",
            "PrimaryPlatform": "Microsoft Corporation",
            "CMMFlags": "Not Embedded, Independent",
            "DeviceManufacturer": "Hewlett-Packard",
            "DeviceModel": "sRGB",
            "DeviceAttributes": "Reflective, Glossy, Positive, Color",
            "RenderingIntent": "Perceptual",
            "ConnectionSpaceIlluminant": "0.9642 1 0.82491",
            "ProfileCreator": "Hewlett-Packard",
            "ProfileID": 0,
            "ProfileCopyright": "Copyright (c) 1998 Hewlett-Packard Company",
            "ProfileDescription": "sRGB IEC61966-2.1",
            "MediaWhitePoint": "0.95045 1 1.08905",
            "MediaBlackPoint": "0 0 0",
            "RedMatrixColumn": "0.43607 0.22249 0.01392",
            "GreenMatrixColumn": "0.38515 0.71687 0.09708",
            "BlueMatrixColumn": "0.14307 0.06061 0.7141",
            "DeviceMfgDesc": "IEC http://www.iec.ch",
            "DeviceModelDesc": "IEC 61966-2.1 Default RGB colour space - sRGB",
            "ViewingCondDesc": "Reference Viewing Condition in IEC61966-2.1",
            "ViewingCondIlluminant": "19.6445 20.3718 16.8089",
            "ViewingCondSurround": "3.92889 4.07439 3.36179",
            "ViewingCondIlluminantType": "D50",
            "Luminance": "76.03647 80 87.12462",
            "MeasurementObserver": "CIE 1931",
            "MeasurementBacking": "0 0 0",
            "MeasurementGeometry": "Unknown",
            "MeasurementFlare": "0.999%",
            "MeasurementIlluminant": "D65",
            "Technology": "Cathode Ray Tube Display",
            "RedTRC": "(Binary data 2060 bytes, use -b option to extract)",
            "GreenTRC": "(Binary data 2060 bytes, use -b option to extract)",
            "BlueTRC": "(Binary data 2060 bytes, use -b option to extract)",
            "ImageWidth": 3064,
            "ImageHeight": 4592,
            "EncodingProcess": "Progressive DCT, Huffman coding",
            "BitsPerSample": 8,
            "ColorComponents": 3,
            "YCbCrSubSampling": "YCbCr4:2:0 (2 2)",
            "ImageSize": "3064x4592",
            "Megapixels": 14.1
        }
    },
    "url": "https://cdn.quable.com/education-developers/blueshirt/original/shirt.jpg",
    "originalFilename": "shirt.jpg",
    "thumbnailUrl": "https://cdn.quable.com/education-developers/blueshirt/system-thumbnail/shirt-jpg.jpg",
    "previewUrl": "https://cdn.quable.com/education-developers/blueshirt/system-preview/shirt-jpg.jpg",
    "classifications": [
        {
            "@context": {
                "@vocab": "https://education-developers.quable.com/api/docs.jsonld#",
                "hydra": "http://www.w3.org/ns/hydra/core#",
                "parentCode": "ClassificationOutput/parentCode",
                "catalogId": "ClassificationOutput/catalogId",
                "isActive": "ClassificationOutput/isActive",
                "attributes": "ClassificationOutput/attributes",
                "assetLinks": "ClassificationOutput/assetLinks",
                "mainAssetUrl": "ClassificationOutput/mainAssetUrl",
                "mainAssetThumbnailUrl": "ClassificationOutput/mainAssetThumbnailUrl",
                "dateCreated": "ClassificationOutput/dateCreated",
                "dateModified": "ClassificationOutput/dateModified",
                "createdBy": "ClassificationOutput/createdBy",
                "updatedBy": "ClassificationOutput/updatedBy",
                "legacyId": "ClassificationOutput/legacyId",
                "active": "ClassificationOutput/active"
            },
            "@type": "Classification",
            "@id": "/api/classifications/dam_sort",
            "catalogId": null,
            "id": "dam_sort",
            "legacyId": 3
        }
    ],
    "documentLinks": [],
    "variantLinks": [],
    "dateCreated": "2023-11-14T10:41:04+00:00",
    "dateModified": "2023-11-14T10:41:05+00:00",
    "thumbnails": {
        "preview": "https://cdn.quable.com/education-developers/blueshirt/system-preview/shirt-jpg.jpg",
        "thumbnail": "https://cdn.quable.com/education-developers/blueshirt/system-thumbnail/shirt-jpg.jpg"
    },
    "id": "blueshirt",
    "legacyId": 177
}

# Fetch assets

This allows to verify if the asset already exists in the PIM, or if it has to be created.

curl --location --globoff --request GET 'https://{{instance}}.quable.com/api/assets/81f1a5f5-9a54-40bb-9bf3-front' \
--header 'Authorization: Bearer _api-token_'

In case of success, the response will come through as an HTTP 200 .
The fetched resources will be available in a hydra:member table.

{
    "@context": {
        "@vocab": "https://education-developers.quable.com/api/docs.jsonld#",
        "hydra": "http://www.w3.org/ns/hydra/core#",
        "name": "AssetOutput/name",
        "isActive": "AssetOutput/isActive",
        "attributes": "AssetOutput/attributes",
        "metadata": "AssetOutput/metadata",
        "url": "AssetOutput/url",
        "originalFilename": "AssetOutput/originalFilename",
        "thumbnailUrl": "AssetOutput/thumbnailUrl",
        "previewUrl": "AssetOutput/previewUrl",
        "classifications": "AssetOutput/classifications",
        "documentLinks": "AssetOutput/documentLinks",
        "variantLinks": "AssetOutput/variantLinks",
        "dateCreated": "AssetOutput/dateCreated",
        "dateModified": "AssetOutput/dateModified",
        "thumbnails": "AssetOutput/thumbnails",
        "legacyId": "AssetOutput/legacyId",
        "active": "AssetOutput/active"
    },
    "@type": "Asset",
    "@id": "/api/assets/81f1a5f5-9a54-40bb-9bf3-front",
    "name": "shirt.jpg",
    "active": true,
    "attributes": [],
    "metadata": {
        "color_space": "sRGB",
        "file_size": "1.31MB",
        "width": "3064",
        "height": "4592",
        "orientation": "portrait",
        "file_name": "shirt.jpg",
        "mime_type": "image/jpeg",
        "detail": {
            "FileSize": "1373 kB",
            "FileModifyDate": "2023:11:14 10:12:02+00:00",
            "FileAccessDate": "2023:11:14 10:12:02+00:00",
            "FileInodeChangeDate": "2023:11:14 10:12:02+00:00",
            "FilePermissions": "-rw-------",
            "FileType": "JPEG",
            "FileTypeExtension": "jpg",
            "MIMEType": "image/jpeg",
            "JFIFVersion": 1.01,
            "ResolutionUnit": "inches",
            "XResolution": 72,
            "YResolution": 72,
            "ProfileCMMType": "Linotronic",
            "ProfileVersion": "2.1.0",
            "ProfileClass": "Display Device Profile",
            "ColorSpaceData": "RGB ",
            "ProfileConnectionSpace": "XYZ ",
            "ProfileDateTime": "1998:02:09 06:49:00",
            "ProfileFileSignature": "acsp",
            "PrimaryPlatform": "Microsoft Corporation",
            "CMMFlags": "Not Embedded, Independent",
            "DeviceManufacturer": "Hewlett-Packard",
            "DeviceModel": "sRGB",
            "DeviceAttributes": "Reflective, Glossy, Positive, Color",
            "RenderingIntent": "Perceptual",
            "ConnectionSpaceIlluminant": "0.9642 1 0.82491",
            "ProfileCreator": "Hewlett-Packard",
            "ProfileID": 0,
            "ProfileCopyright": "Copyright (c) 1998 Hewlett-Packard Company",
            "ProfileDescription": "sRGB IEC61966-2.1",
            "MediaWhitePoint": "0.95045 1 1.08905",
            "MediaBlackPoint": "0 0 0",
            "RedMatrixColumn": "0.43607 0.22249 0.01392",
            "GreenMatrixColumn": "0.38515 0.71687 0.09708",
            "BlueMatrixColumn": "0.14307 0.06061 0.7141",
            "DeviceMfgDesc": "IEC http://www.iec.ch",
            "DeviceModelDesc": "IEC 61966-2.1 Default RGB colour space - sRGB",
            "ViewingCondDesc": "Reference Viewing Condition in IEC61966-2.1",
            "ViewingCondIlluminant": "19.6445 20.3718 16.8089",
            "ViewingCondSurround": "3.92889 4.07439 3.36179",
            "ViewingCondIlluminantType": "D50",
            "Luminance": "76.03647 80 87.12462",
            "MeasurementObserver": "CIE 1931",
            "MeasurementBacking": "0 0 0",
            "MeasurementGeometry": "Unknown",
            "MeasurementFlare": "0.999%",
            "MeasurementIlluminant": "D65",
            "Technology": "Cathode Ray Tube Display",
            "RedTRC": "(Binary data 2060 bytes, use -b option to extract)",
            "GreenTRC": "(Binary data 2060 bytes, use -b option to extract)",
            "BlueTRC": "(Binary data 2060 bytes, use -b option to extract)",
            "ImageWidth": 3064,
            "ImageHeight": 4592,
            "EncodingProcess": "Progressive DCT, Huffman coding",
            "BitsPerSample": 8,
            "ColorComponents": 3,
            "YCbCrSubSampling": "YCbCr4:2:0 (2 2)",
            "ImageSize": "3064x4592",
            "Megapixels": 14.1
        }
    },
    "url": "https://cdn.quable.com/education-developers/81f1a5f5-9a54-40bb-9bf3-front/original/shirt.jpg",
    "originalFilename": "shirt.jpg",
    "thumbnailUrl": "https://cdn.quable.com/education-developers/81f1a5f5-9a54-40bb-9bf3-front/thumbnail/shirt-jpg.jpg",
    "previewUrl": "https://cdn.quable.com/education-developers/81f1a5f5-9a54-40bb-9bf3-front/preview/shirt-jpg.jpg",
    "classifications": [
        {
            "@context": {
                "@vocab": "https://education-developers.quable.com/api/docs.jsonld#",
                "hydra": "http://www.w3.org/ns/hydra/core#",
                "parentCode": "ClassificationOutput/parentCode",
                "catalogId": "ClassificationOutput/catalogId",
                "isActive": "ClassificationOutput/isActive",
                "attributes": "ClassificationOutput/attributes",
                "assetLinks": "ClassificationOutput/assetLinks",
                "mainAssetUrl": "ClassificationOutput/mainAssetUrl",
                "mainAssetThumbnailUrl": "ClassificationOutput/mainAssetThumbnailUrl",
                "dateCreated": "ClassificationOutput/dateCreated",
                "dateModified": "ClassificationOutput/dateModified",
                "createdBy": "ClassificationOutput/createdBy",
                "updatedBy": "ClassificationOutput/updatedBy",
                "legacyId": "ClassificationOutput/legacyId",
                "active": "ClassificationOutput/active"
            },
            "@type": "Classification",
            "@id": "/api/classifications/dam_sort",
            "catalogId": null,
            "id": "dam_sort",
            "legacyId": 3
        }
    ],
    "documentLinks": [],
    "variantLinks": [],
    "dateCreated": "2023-11-14T10:12:03+00:00",
    "dateModified": "2023-11-14T10:12:05+00:00",
    "thumbnails": {
        "preview": "https://cdn.quable.com/education-developers/81f1a5f5-9a54-40bb-9bf3-front/preview/shirt-jpg.jpg",
        "thumbnail": "https://cdn.quable.com/education-developers/81f1a5f5-9a54-40bb-9bf3-front/thumbnail/shirt-jpg.jpg",
        "1920x": "https://cdn.quable.com/education-developers/81f1a5f5-9a54-40bb-9bf3-front/1920x/shirt-jpg.jpg"
    },
    "id": "81f1a5f5-9a54-40bb-9bf3-front",
    "legacyId": 176
}

# Update assets

Updating existing assets work the same way as for asset creating (POST requests). If the binary file does not change, there is no need to specify it for each request.

curl --location --request PUT 'https://{{instance}}.quable.com/api/assets/7c5f3868-d166-4bda-b5bd-front' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer _api-token_' \
--data '{
    "id": "7c5f3868-d166-4bda-b5bd-front",
    "attributes": {
        "reference_name": {
            "fr_FR" : "Chemise bleue",
            "en_US" : "Blue short"
        }
    }
}'

In case of success, the response will come through as an HTTP 200 .

{
    "@context": {
        "@vocab": "https://education-developers.quable.com/api/docs.jsonld#",
        "hydra": "http://www.w3.org/ns/hydra/core#",
        "name": "AssetOutput/name",
        "isActive": "AssetOutput/isActive",
        "attributes": "AssetOutput/attributes",
        "metadata": "AssetOutput/metadata",
        "url": "AssetOutput/url",
        "originalFilename": "AssetOutput/originalFilename",
        "thumbnailUrl": "AssetOutput/thumbnailUrl",
        "previewUrl": "AssetOutput/previewUrl",
        "classifications": "AssetOutput/classifications",
        "documentLinks": "AssetOutput/documentLinks",
        "variantLinks": "AssetOutput/variantLinks",
        "dateCreated": "AssetOutput/dateCreated",
        "dateModified": "AssetOutput/dateModified",
        "thumbnails": "AssetOutput/thumbnails",
        "legacyId": "AssetOutput/legacyId",
        "active": "AssetOutput/active"
    },
    "@type": "Asset",
    "@id": "/api/assets/blueshirt",
    "name": "shirt.jpg",
    "active": true,
    "attributes": {
        "attr_photographer": "Joanne doe",
        "media_desc": {
            "en_GB": "this is a blue shirt",
            "en_US": null,
            "fr_FR": "il s'agit d'une chemise bleue"
        }
    },
    "metadata": {
        "color_space": "sRGB",
        "file_size": "1.31 MB",
        "width": "3064",
        "height": "4592",
        "orientation": "portrait",
        "file_name": "shirt.jpg",
        "mime_type": "image/jpeg",
        "detail": {
            "FileSize": "1373 kB",
            "FileModifyDate": "2023:11:14 10:41:05+00:00",
            "FileAccessDate": "2023:11:14 10:41:05+00:00",
            "FileInodeChangeDate": "2023:11:14 10:41:05+00:00",
            "FilePermissions": "-rw-r--r--",
            "FileType": "JPEG",
            "FileTypeExtension": "jpg",
            "MIMEType": "image/jpeg",
            "JFIFVersion": 1.01,
            "ResolutionUnit": "inches",
            "XResolution": 72,
            "YResolution": 72,
            "ProfileCMMType": "Linotronic",
            "ProfileVersion": "2.1.0",
            "ProfileClass": "Display Device Profile",
            "ColorSpaceData": "RGB ",
            "ProfileConnectionSpace": "XYZ ",
            "ProfileDateTime": "1998:02:09 06:49:00",
            "ProfileFileSignature": "acsp",
            "PrimaryPlatform": "Microsoft Corporation",
            "CMMFlags": "Not Embedded, Independent",
            "DeviceManufacturer": "Hewlett-Packard",
            "DeviceModel": "sRGB",
            "DeviceAttributes": "Reflective, Glossy, Positive, Color",
            "RenderingIntent": "Perceptual",
            "ConnectionSpaceIlluminant": "0.9642 1 0.82491",
            "ProfileCreator": "Hewlett-Packard",
            "ProfileID": 0,
            "ProfileCopyright": "Copyright (c) 1998 Hewlett-Packard Company",
            "ProfileDescription": "sRGB IEC61966-2.1",
            "MediaWhitePoint": "0.95045 1 1.08905",
            "MediaBlackPoint": "0 0 0",
            "RedMatrixColumn": "0.43607 0.22249 0.01392",
            "GreenMatrixColumn": "0.38515 0.71687 0.09708",
            "BlueMatrixColumn": "0.14307 0.06061 0.7141",
            "DeviceMfgDesc": "IEC http://www.iec.ch",
            "DeviceModelDesc": "IEC 61966-2.1 Default RGB colour space - sRGB",
            "ViewingCondDesc": "Reference Viewing Condition in IEC61966-2.1",
            "ViewingCondIlluminant": "19.6445 20.3718 16.8089",
            "ViewingCondSurround": "3.92889 4.07439 3.36179",
            "ViewingCondIlluminantType": "D50",
            "Luminance": "76.03647 80 87.12462",
            "MeasurementObserver": "CIE 1931",
            "MeasurementBacking": "0 0 0",
            "MeasurementGeometry": "Unknown",
            "MeasurementFlare": "0.999%",
            "MeasurementIlluminant": "D65",
            "Technology": "Cathode Ray Tube Display",
            "RedTRC": "(Binary data 2060 bytes, use -b option to extract)",
            "GreenTRC": "(Binary data 2060 bytes, use -b option to extract)",
            "BlueTRC": "(Binary data 2060 bytes, use -b option to extract)",
            "ImageWidth": 3064,
            "ImageHeight": 4592,
            "EncodingProcess": "Progressive DCT, Huffman coding",
            "BitsPerSample": 8,
            "ColorComponents": 3,
            "YCbCrSubSampling": "YCbCr4:2:0 (2 2)",
            "ImageSize": "3064x4592",
            "Megapixels": 14.1
        }
    },
    "url": "https://cdn.quable.com/education-developers/blueshirt/original/shirt.jpg",
    "originalFilename": "shirt.jpg",
    "thumbnailUrl": "https://cdn.quable.com/education-developers/blueshirt/system-thumbnail/shirt-jpg.jpg",
    "previewUrl": "https://cdn.quable.com/education-developers/blueshirt/system-preview/shirt-jpg.jpg",
    "classifications": [
        {
            "@context": {
                "@vocab": "https://education-developers.quable.com/api/docs.jsonld#",
                "hydra": "http://www.w3.org/ns/hydra/core#",
                "parentCode": "ClassificationOutput/parentCode",
                "catalogId": "ClassificationOutput/catalogId",
                "isActive": "ClassificationOutput/isActive",
                "attributes": "ClassificationOutput/attributes",
                "assetLinks": "ClassificationOutput/assetLinks",
                "mainAssetUrl": "ClassificationOutput/mainAssetUrl",
                "mainAssetThumbnailUrl": "ClassificationOutput/mainAssetThumbnailUrl",
                "dateCreated": "ClassificationOutput/dateCreated",
                "dateModified": "ClassificationOutput/dateModified",
                "createdBy": "ClassificationOutput/createdBy",
                "updatedBy": "ClassificationOutput/updatedBy",
                "legacyId": "ClassificationOutput/legacyId",
                "active": "ClassificationOutput/active"
            },
            "@type": "Classification",
            "@id": "/api/classifications/dam_sort",
            "catalogId": null,
            "id": "dam_sort",
            "legacyId": 3
        }
    ],
    "documentLinks": [],
    "variantLinks": [],
    "dateCreated": "2023-11-14T10:41:04+00:00",
    "dateModified": "2023-11-15T10:43:57+00:00",
    "thumbnails": {
        "preview": "https://cdn.quable.com/education-developers/blueshirt/system-preview/shirt-jpg.jpg",
        "thumbnail": "https://cdn.quable.com/education-developers/blueshirt/system-thumbnail/shirt-jpg.jpg"
    },
    "id": "blueshirt",
    "legacyId": 177
}

# Delete assets

curl --location --request DELETE 'https://{{instance}}.quable.com/api/assets/23edd9a9-3651-4798-bb56-front' \
--header 'Authorization: Bearer _api-token_'

In case of success, the response will come through as an HTTP 204 and the response body will be empty.


# Link assets to documents

curl --location --request POST 'https://{{instance}}.quable.com/api/links' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer _api-token_' \
--data '{
  "origin": {
    "id": "TheDocumentIdentifier"
  },
  "target": {
    "id": "TheAssetIdentifier"
  },
  "linkType": {
    "id": "TheLinkTypeIdentifier"
  },
  "attributes": [],
  "sequence": 1
}'

In case of success, the response will return a 201 created code.