Information for: DEVELOPERS   PARTNERS   SUPPORT

Using the Acquia DAM Classic API

The Acquia DAM Classic API is the underlying interface for building apps using the power of Acquia DAM Classic. The API allows developers to securely read and write from Acquia DAM Classic so that your users can push and pull their important files and metadata. You will also have access to powerful Acquia DAM Classic features such as file sharing, upload, search, and more.

To use the API, you must create and use an administrator account in Acquia DAM Classic. If you do not already have an account, you can ask your Acquia DAM Classic administrator to assist you in creating one.

If API usage/analytics is important to your organization, try using a unique administrator seat for the API.

Acquia DAM Classic REST API v2

Getting metadata schema and updating metadata type

Downloading presets

Getting an account subscription

Retrieving notifications

Using the API Reference

Accessing the API

Connecting to Acquia DAM Classic REST API V2

Before performing any API calls, your application must authenticate with the Acquia DAM OAuth2 server, and your users must sign in so that they can perform authenticated web service requests. For this, you must first obtain an application ID, which will allow you to connect to the Acquia DAM OAuth2 servers. To obtain an application ID, contact Acquia support.

Accessing the Acquia DAM Classic Authorization APIs using important keys

To access the Acquia DAM Classic Authorization APIs, you will need the following information:

Key Description
CLIENT_ID Contact your Account Manager or Acquia support for the CLIENT_ID.
CLIENT_SECRET Contact your Account Manager or Acquia support for the CLIENT_SECRET.
REDIRECT_URI This is the client URL to redirect back to after successfully signing in.
ACCESS_CODE This is used to request an access_token. Lifetime of 30 seconds.
ACCESS_TOKEN This is used to make API calls on behalf of a user. Lifetime of 1 hour.
REFRESH_TOKEN This is used for refreshing the access_token.

Authorizing the user

After your application detects that the user must be authenticated, it will redirect the user to the following URL so that the user can authorize your application:

https://apiv2.webdamdb.com/oauth2/authorize?response_type=code&client_id=CLIENT_ID&redirect_uri=REDIRECT_URI&state=STATE

The user must sign in with their Acquia DAM Classic credentials, and then authenticate your application to use their data.

After the authorization process is complete, Acquia DAM Classic will redirect back to your application and send a temporary authorization_code in the GET method of the redirect URL. An example of the redirect path is:

http://yourdomain.com/?code=AUTHORIZATION_CODE&state=STATE

Next, your application will use the authorization_code to fetch an access_token and refresh_token. The access_token will allow your application to perform subsequent service calls on behalf of the user. The state variable will also be forwarded to the redirect URL to help validate the request.

Storing the authorization_code and refresh_token

Your application should store the authorization_code and refresh_token retrieved previously for subsequent calls to the Acquia DAM Classic APIs.

Getting the access_token

After the application obtains the authorization_code, you may use the code to request the access_token to retrieve data on behalf of the user from Acquia DAM Classic.

curl -X POST https://apiv2.webdamdb.com/oauth2/token -d
'grant_type=authorization_code&code=AUTHORIZATION_CODE&redirect_uri=REDIRECT_URI&client_id=CLIENT_ID&client_secret=SECRET_KEY'

The following code will return a response that contains the keys to refresh your API session or get data from Acquia DAM Classic:

{
    "access_token":"ACCESS_TOKEN",
    "expires_in":3600,
    "token_type":"bearer",
    "refresh_token":"REFRESH_TOKEN"
}

Getting the access_token using grant type “password”

If you have a relationship of trust with the user, you can supply the user’s credentials to get an access_token without having to get an authorization_code first.

Key (Grant Type: password) Description
CLIENT_ID  
CLIENT_SECRET  
USERNAME  
PASSWORD  
ACCESS_TOKEN This is used to make API calls on behalf of a user. Lifetime of 1 hour.
REFRESH_TOKEN This is used for refreshing the access_token.
curl -X POST https://apiv2.webdamdb.com/oauth2/token -d
'grant_type=password&client_id=CLIENT_ID&client_secret=SECRET_KEY&username=USERNAME&password=USER_PASSWORD'

The following code will return a response that contains the keys to refresh your API session or get data from Acquia DAM Classic:

{
  "access_token":"ACCESS_TOKEN",
  "expires_in":3600,
  "token_type":"bearer",
  "refresh_token":"REFRESH_TOKEN"
}

Retrieving folders from your account (an example)

The previous call enables you to retrieve the access_token which you can use to retrieve folders from Acquia DAM Classic by performing the following service call:

curl -H "Authorization: Bearer ACCESS_TOKEN"
https://apiv2.webdamdb.com/folders

The previous call may return a response as shown in the following example:

[
  {
      "type":"folder",
      "id":"182378912893",
      "parent":"0",
      "name":"Movies",
      "status":"active",
      "datecreated":"2013-07-18 07:03:00",
      "passwordprotected":"false",
      "user":{
        "type":"user",
        "id":"32326",
        "email":"[email protected]",
        "name":"John Smith",
        "username":"jsmith"
      },
      "numassets":"2",
      "numchildren":1,
      "permissions":{
        "folders":[
            "create",
            "move",
            "delete",
            "edit"
        ],
        "assets":[
            "download",
            "upload",
            "move",
            "edit",
            "delete"
        ]
      },
      "thumbnailurls":[
        {
            "size": "100", "url":
            "http://subdomain.webdamdb.com/s/100th_sm_DSF3243S.jpg"
        },
        {
            "size": "150", "url":
            "http://subdomain.webdamdb.com/s/150th_sm_DSF3243S.jpg"
        },
        {
            "size": "220", "url":
            "http://subdomain.webdamdb.com/s/220th_sm_DSF3243S.jpg"
        },
        {
            "size": "310", "url":
            "http://subdomain.webdamdb.com/s/310th_sm_DSF3243S.jpg"
        }
      ]
  }
]

Resetting the access_token

If you want to make service calls on a regular basis and you need a greater time to keep for the access_token, you may request a refresh service to re-enable the session of your access_token. You can do this by using the following refresh call:

curl -H "Authorization: Bearer ACCESS_TOKEN"
https://apiv2.webdamdb.com/oauth2/token -d
'grant_type=refresh_token&refresh_token=REFRESH_TOKEN&client_id=CLIENT_ID&client_secret=SECRET_KEY&redirect_uri=REDIRECT_URI' -X POST

Note

The refresh_token required previously is received using the access_token request, see Getting the access_token.

Managing folders

Using JSON format for folders

Attribute Type Description
type string This is equal to “folder.”
id long The unique id of the folder.
metadatatemplateid long The associated metadata template id for a folder, if available. Default value is null.
parent string The id of the folder the folder is located in. Value of 0 means its at the root.
name string The name of the folder.
status string The current state of the folder, either active or inactive.
user Mini user The mini user JSON of the owner of the asset.
datecreated string The date the folder was created.
passwordprotected boolean  
numassets integer How many assets are in the folder.
numchildren integer How many nested folders are in the folder.
clientfolderid string An optional identifier guaranteed to be unique. This must be unique across all folders a customer.
permissions array Actions available on folder and it’s assets. assets: (view, upload, download, edit, move, delete) folders: (view, create, download, edit, move, delete)
properties array Folder properties

Folder properties

Properties Description
ALBWATERMARKPHOTOS Watermark assets in this folder
ALBDISPLAYOWNERIMA Display asset owner
ALBEMAILHIRESDOWNLOAD Allow email high res downloads
ALBENABLE_REQUESTRECIPIENT Download request recipient
ALBENABLE_REQUESTDOWNLOAD Allow download requests
ALBENABLE_DOWNLOADUSAGE Require completion of download form

Viewing top level folders

GET /folders or GET /folders/0

Parameters

Name Type Description
thumbnail_ttl string Time to live for thumbnails Default: Set by the account admin Values: ‘+3 min’, ‘+15 min’, ‘+2 hours’, ‘+1 day’, ‘+2 weeks’, ‘no-expiration’

Curl

curl https://apiv2.webdamdb.com/folders

Example Response

Status: 200 OK

Note

Returns top level children.

[{
      "type": "folder",
      "id": "90672",
      "metadatatemplateid": null,
      "parent": "0",
      "name": "Marketing",
      "status": "active",
      "datecreated": "2011-09-23 13:17:48",
      "passwordprotected": "false",
      "numassets": "144",
      "numchildren": 1,
      "permissions": {
            "folders": [
                  "create",
                  "move",
                  "delete",
                  "edit"
            ],
            "assets": [
                  "download",
                  "upload",
                  "move",
                  "edit",
                  "delete"
            ]
      },
      "properties": {
            "ALBWATERMARKPHOTOS": "1",
            "ALBEMAILHIRESDOWNLOAD": "1",
            "ALBENABLE_REQUESTDOWNLOAD": "1",
            "ALBENABLE_REQUESTRECIPIENT": "admin"
      },
      "thumbnailurls": [{
            "size": "100", "url": "http://subdomain.webdamdb.com/s/100th_sm_0UerYozlI3.jpg"
      }, {
            "size": "150", "url": "http://subdomain.webdamdb.com/s/150th_sm_0UerYozlI3.jpg"
      }, {
            "size": "220", "url": "http://subdomain.webdamdb.com/s/220th_sm_0UerYozlI3.jpg"
      }, {
            "size": "310", "url": "http://subdomain.webdamdb.com/s/310th_sm_0UerYozlI3.jpg"
      }],
      "user": {
            "type": "user",
            "id": "9750",
            "email": "[email protected]",
            "name": "John Smith",
            "username": "myusername"
      },
      "folders": [{
            "type": "folder",
            "id": "90674",
            "metadatatemplateid": null,
            "parent": "90672",
            "name": "Demo",
            "status": "active",
            "datecreated": "2011-09-23 13:17:48",
            "passwordprotected": "false",
            "numassets": "144",
            "numchildren": 0,
            "permissions": {
                  "folders": [
                        "create",
                        "move",
                        "delete",
                        "edit"
                  ],
                  "assets": [
                        "download",
                        "upload",
                        "move",
                        "edit",
                        "delete"
                  ]
            },
            "properties": {
                  "ALBWATERMARKPHOTOS": "1",
                  "ALBEMAILHIRESDOWNLOAD": "1",
                  "ALBENABLE_REQUESTDOWNLOAD": "1",
                  "ALBENABLE_REQUESTRECIPIENT": "admin"
            },
            "thumbnailurls": [{
                  "size": "100", "url": "http://subdomain.webdamdb.com/s/100th_sm_0UerYozlI4.jpg"
            }, {
                  "size": "150", "url": "http://subdomain.webdamdb.com/s/150th_sm_0UerYozlI4.jpg"
            }, {
                  "size": "220", "url": "http://subdomain.webdamdb.com/s/220th_sm_0UerYozlI4.jpg"
            }, {
                  "size": "310", "url": "http://subdomain.webdamdb.com/s/310th_sm_0UerYozlI4.jpg"
            }],
            "user": {
                  "type": "user",
                  "id": "9750",
                  "email": "[email protected]",
                  "name": "John Smith",
                  "username": "myusername"
            }
      }]
}, {
      "type": "folder",
      "id": "90786",
      "metadatatemplateid": null,
      "parent": "0",
      "name": "Sales",
      "status": "active",
      "datecreated": "2012-12-02 09:30:45",
      "passwordprotected": "false",
      "numassets": "10",
      "numchildren": 0,
      "permissions": {
            "folders": [
                  "create",
                  "move",
                  "delete",
                  "edit"
            ],
            "assets": [
                  "download",
                  "upload",
                  "move",
                  "edit",
                  "delete"
            ]
      },
      "properties": [],
      "thumbnailurls": [{
            "size": "100", "url": "http://subdomain.webdamdb.com/s/100th_sm_0UerYozlI3.jpg"
      }, {
            "size": "150", "url": "http://subdomain.webdamdb.com/s/150th_sm_0UerYozlI3.jpg"
      }, {
            "size": "220", "url": "http://subdomain.webdamdb.com/s/220th_sm_0UerYozlI3.jpg"
      }, {
            "size": "310", "url": "http://subdomain.webdamdb.com/s/310th_sm_0UerYozlI3.jpg"
      }],
      "user": {
            "type": "user",
            "id": "9750",
            "email": "[email protected]",
            "name": "John Smith",
            "username": "myusername"
      }
}]

Getting folder information

GET /folders/:folderid

Parameters

Name Type Description
thumbnail_ttl string Time to live for thumbnails Default: Set by the account admin Values: ‘+3 min’, ‘+15 min’, ‘+2 hours’, ‘+1 day’, ‘+2 weeks’, ‘no-expiration’

Curl

curl https://apiv2.webdamdb.com/folders/90672

Example Response

Status: 200 OK

Note

Returns top level children. Also takes an optional parameter clientfolderid=true to treat the id using a clientfolderid.

{
    "type": "folder",
    "id": "90672",
    "metadatatemplateid": null,
    "parent": "0",
    "name": "Marketing",
    "status": "active",
    "datecreated": "2011-09-23 13:17:48",
    "passwordprotected": "false",
    "numassets": "144",
      "permissions": {
        "folders": [
          "create",
          "move",
          "delete",
          "edit"
        ],
        "assets": [
          "download",
          "upload",
          "move",
          "edit",
          "delete"
        ]
      },
      "thumbnailurls": [
        {
          "size": "100", "url": "http://subdomain.webdamdb.com/s/100th_sm_0UerYozlI3.jpg"
        },
        {
          "size": "150", "url": "http://subdomain.webdamdb.com/s/150th_sm_0UerYozlI3.jpg"
        },
        {
          "size": "220", "url": "http://subdomain.webdamdb.com/s/220th_sm_0UerYozlI3.jpg"
        },
        {
          "size": "310", "url": "http://subdomain.webdamdb.com/s/310th_sm_0UerYozlI3.jpg"
        }
      ],
    "numchildren": 0,
      "user": {
        "type": "user",
        "id": "9750",
        "email": "[email protected]",
        "name": "John Smith",
        "username": "myusername"
      }
}

Getting information for multiple folders

GET /folders/list?ids={ids}

Parameters

Name Type Description
thumbnail_ttl string Time to live for thumbnails Default: Set by the account admin Values: ‘+3 min’, ‘+15 min’, ‘+2 hours’, ‘+1 day’, ‘+2 weeks’, ‘no-expiration’

Curl

curl https://apiv2.webdamdb.com/folders/list?ids=192498,192517

Example Response

Status: 200 OK

Note

Does not return top level children.

Creating a folder

POST /folders

Parameters

Name Type Description
thumbnail_ttl string Time to live for thumbnails Default: Set by the account admin Values: ‘+3 min’, ‘+15 min’, ‘+2 hours’, ‘+1 day’, ‘+2 weeks’, ‘no-expiration’

Curl

curl https://apiv2.webdamdb.com/folders -d
'{"parent":"90784","clientfolderid":null,
"name":"Marketing","status":"active"}' -X POST

The clientfolderid is an OPTIONAL unique attribute on a folder that enforces uniqueness across all folders. If there is a conflict on uniqueness, a 403 HTTP response code will be issued.

Example Response

Status: 201 Created

{
    "type": "folder",
    "id": "90672",
    "metadatatemplateid": null,
    "parent": "0",
    "name": "Marketing",
    "status": "active",
    "datecreated": "2011-09-23 13:17:48",
    "passwordprotected": "false",
    "numassets": "144",
      "permissions": {
        "folders": [
          "create",
          "move",
          "delete",
          "edit"
        ],
        "assets": [
          "download",
          "upload",
          "move",
          "edit",
          "delete"
        ]
      },
      "thumbnailurls": [
        {
          "size": "100", "url": "http://subdomain.webdamdb.com/s/100th_sm_0UerYozlI3.jpg"
        },
        {
          "size": "150", "url": "http://subdomain.webdamdb.com/s/150th_sm_0UerYozlI3.jpg"
        },
        {
          "size": "220", "url": "http://subdomain.webdamdb.com/s/220th_sm_0UerYozlI3.jpg"
        },
        {
          "size": "310", "url": "http://subdomain.webdamdb.com/s/310th_sm_0UerYozlI3.jpg"
        }
      ],
    "numchildren": 0,
      "user": {
        "type": "user",
        "id": "9750",
        "email": "[email protected]",
        "name": "John Smith",
        "username": "myusername"
      }
}

Editing a folder

PUT /folders/:folderid

Parameters

Name Type Description
thumbnail_ttl string Time to live for thumbnails Default: Set by the account admin Values: ‘+3 min’, ‘+15 min’, ‘+2 hours’, ‘+1 day’, ‘+2 weeks’, ‘no-expiration’
clientfolderid boolean An optional parameter used to flag the :folderid to be treated as a client specified identifier.

Curl

curl https://apiv2.webdamdb.com/folders/90123 -d '{"name":"Marketing Asia","status":"active"}' -X PUT

Example Response

Status: 200 OK

{
    "type": "folder",
    "id": "90672",
    "metadatatemplateid": null,
    "parent": "0",
    "name": "Marketing Asia",
    "status": "active",
    "datecreated": "2011-09-23 13:17:48",
    "passwordprotected": "false",
    "numassets": "144",
    "numchildren": 0,
      "permissions": {
        "folders": [
          "create",
          "move",
          "delete",
          "edit"
        ],
        "assets": [
          "download",
          "upload",
          "move",
          "edit",
          "delete"
        ]
      },
      "thumbnailurls": [
        {
          "size": "100", "url": "http://subdomain.webdamdb.com/s/100th_sm_0UerYozlI3.jpg"
        },
        {
          "size": "150", "url": "http://subdomain.webdamdb.com/s/150th_sm_0UerYozlI3.jpg"
        },
        {
          "size": "220", "url": "http://subdomain.webdamdb.com/s/220th_sm_0UerYozlI3.jpg"
        },
        {
          "size": "310", "url": "http://subdomain.webdamdb.com/s/310th_sm_0UerYozlI3.jpg"
        }
      ],
      "user": {
        "type": "user",
        "id": "9750",
        "email": "[email protected]",
        "name": "John Smith",
        "username": "myusername"
      }
}

Deleting a folder

DELETE /folders/:folderid

Curl

curl https://apiv2.webdamdb.com/folders/808232 -X DELETE

Example Response

Status: 204 OK

Listing assets for a folder

GET /folders/:folderid/assets

Curl

curl https://apiv2.webdamdb.com/folders/808232/assets
sortby=filename&sortdir=desc&limit=20&offset=0

Parameters

Name Type Description
sortby string The field to sort by. Possible values are filename, filesize, datecreated and datemodified. (Default = datecreated)
sortdir string The direction to sort by. Possible values are asc or desc. (Default = asc)
limit integer The number of items to return. (Default=50, Maximum=100)
offset integer The item number to start with. Default is 0.
types string The file type filters (Available filters: image, audiovideo, document, presentation, other)
clientfolderid boolean An optional parameter used to flag the :folderid should be treated as a client specified identifier.

Example Response

Status: 200 OK

{
  "total_count": "1",
  "offset": 0,
  "limit": "50",
  "facets": {
    "types": {
      "image": "6",
      "document": "1",
      "audiovideo": "1",
      "presentation": "3",
      "other": null
    }
  },
  "items": [
    {
      "type": "asset",
      "id": "3456621",
      "status": "active",
      "filename": "Lightbox_switch.jpg",
      "name": "Lightbox_switch.jpg",
      "filesize": "0.17",
      "width": "890",
      "height": "748",
      "description": "",
      "filetype": "jpg",
      "colorspace": "RGB",
      "version": "1",
      "datecreated": "2013-07-10 14:30:25",
      "datemodified": "2013-07-10 14:30:25",
      "thumbnailurls": {
        { "size": "100", "url": "http://subdomain.webdamdb.com/s/100th_sm_9wFXFzBwv6.jpg" },
        { "size": "150", "url": "http://subdomain.webdamdb.com/s/150th_sm_9wFXFzBwv6.jpg" },
        { "size": "220", "url": "http://subdomain.webdamdb.com/s/220th_sm_9wFXFzBwv6.jpg" },
        { "size": "310", "url": "http://subdomain.webdamdb.com/s/310th_sm_9wFXFzBwv6.jpg" },
        { "size": "550", "url": "http://subdomain.webdamdb.com/image_dir/album90922/md_9wFXFzBwv6.jpg" }
      },
      "folder": {
        "type": "folder",
        "id": "90922",
        "name": "WORKS22"
      },
      "user": {
        "type": "user",
        "id": "9750",
        "email": "[email protected]",
        "name": "John Smith",
        "username": "myusername"
      }
    }
  ]
}

Managing assets

Using JSON format for assets

Attribute Type Description
type string This is equal to “asset”.
id long The unique id of the asset.
status string The current state of the asset, either active or inactive.
filename string The filename of the asset.
version string The version number of the file. Default is 1.
name string The name of the asset.
filesize string The size of the asset in bytes.
width long The width in pixels of the asset. The width attribute only applies to certain types of assets such as image or videos.
width long The width in pixels of the asset. The width attribute only applies to certain types of assets such as image or videos.
height long The height in pixels of the asset. The height attribute only applies to certain types of assets such as image or videos.
filetype string The type of file.
colorspace string The colorspace of the asset. This attribute only applies to certain types of assets such as image.
thumbnailurls array The link to thumbnail of the asset. Available max dimension are 100px 150px, 220px, 310px and 550px. This attribute only applies to certain types of assets such as image or videos.
datecreated string The unix timestamp of the date the asset was created or uploaded.
datemodified string The unix timestamp of the date the asset was last modified.
datecaptured string The unix timestamp of the date the asset was captured. This usually only applies to files generated by a camera or scanned in.
numComments integer The number of comments on this asset.
user Mini user The mini user JSON of the owner of the asset.
folder Mini folder The mini folder JSON the asset is located in.

Getting asset information

GET /assets/:assetid

Parameters

Name Type Description
thumbnail_ttl string Time to live for thumbnails Default: Set by the account admin Values: ‘+3 min’, ‘+15 min’, ‘+2 hours’, ‘+1 day’, ‘+2 weeks’, ‘no-expiration’

Curl

curl https://apiv2.webdamdb.com/assets/23422

Example Response

Status: 200 OK

{
  "type": "asset",
  "id": "3455969",
  "status": "active",
  "filename": "XAAAZZZZZ.jpg",
  "name": "Micro turbine 60",
  "filesize": "0.07",
  "width": "647",
  "height": "433",
  "description": "micro-turbine, 60- or 100-kilowatt wind turbines",
  "filetype": "jpg",
  "colorspace": "RGB",
  "version": "4",
  "datecreated": "2012-12-13 13:50:10",
  "datemodified": "2013-08-17 14:44:15",
  "thumbnailurls": {
    { "size": "100", "url": "http://subdomain.webdamdb.com/s/100th_sm_0UerYozlI3.jpg" },
    { "size": "150", "url": "http://subdomain.webdamdb.com/s/150th_sm_0UerYozlI3.jpg" },
    { "size": "220", "url": "http://subdomain.webdamdb.com/s/220th_sm_0UerYozlI3.jpg" },
    { "size": "310", "url": "http://subdomain.webdamdb.com/s/310th_sm_0UerYozlI3.jpg" },
    { "size": "550", "url": "http://subdomain.webdamdb.com/s/md_0UerYozlI3.jpg" }
  },
  "folder": {
    "type": "folder",
    "id": "90754",
    "name": "Jody's New Folder - Don't Touch"
  },
  "user": {
    "type": "user",
    "id": "9750",
    "email": "[email protected]",
    "name": "John Smith",
    "username": "myusername"
  }
}

Getting multiple asset information

GET /assets/list?ids={ids}

Parameters

Name Type Description
thumbnail_ttl string Time to live for thumbnails Default: Set by the account admin Values: ‘+3 min’, ‘+15 min’, ‘+2 hours’, ‘+1 day’, ‘+2 weeks’, ‘no-expiration’

Curl

curl https://apiv2.webdamdb.com/assets/list?ids=5992827,5992826

Example Response

Status: 200 OK

Editing an asset

PUT /assets/:assetid

If an asset is uploaded and its required fields are not filled in, the asset is in onhold status and cannot be activated until all required fields are supplied. Any attempt to change the status to ‘active’ for assets that still require metadata will return back 409.

Parameters

Name Type Description
filename string The new filename for the asset.
status string The new status of the asset. Either active or inactive.
name string The new name for the asset.
filename string The new filename for the asset.
description string The new description of the asset.
folder long The id of the folder to move asset to.
thumbnail_ttl string Time to live for thumbnails Default: Set by the account admin Values: ‘+3 min’, ‘+15 min’, ‘+2 hours’, ‘+1 day’, ‘+2 weeks’, ‘no-expiration’

Curl

curl https://apiv2.webdamdb.com/assets/23422 -d '{"status": "active",
"filename": "newfilename.jpg", "description": "Nice", "folder": { "id":
"90751"}}'

Example Response

Status: 200 OK

{
  "type": "asset",
  "id": "3455969",
  "status": "active",
  "filename": "XAAAZZZZZ.jpg",
  "name": "Micro turbine 60",
  "filesize": "0.07",
  "width": "647",
  "height": "433",
  "description": "micro-turbine, 60- or 100-kilowatt wind turbines",
  "filetype": "jpg",
  "colorspace": "RGB",
  "version": "4",
  "datecreated": "2012-12-13 13:50:10",
  "datemodified": "2013-08-17 14:44:15",
  "thumbnailurls": {
    { "size": "100", "url": "http://subdomain.webdamdb.com/s/100th_sm_0UerYozlI3.jpg" },
    { "size": "150", "url": "http://subdomain.webdamdb.com/s/150th_sm_0UerYozlI3.jpg" },
    { "size": "220", "url": "http://subdomain.webdamdb.com/s/220th_sm_0UerYozlI3.jpg" },
    { "size": "310", "url": "http://subdomain.webdamdb.com/s/310th_sm_0UerYozlI3.jpg" },
    { "size": "550", "url": "http://subdomain.webdamdb.com/s/md_0UerYozlI3.jpg" }
  },
  "folder": {
    "type": "folder",
    "id": "90754",
    "name": "Jody's New Folder - Don't Touch"
  },
  "user": {
    "type": "user",
    "id": "9750",
    "email": "[email protected]",
    "name": "John Smith",
    "username": "myusername"
  }
}

Deleting an asset

DELETE /assets/:assetid

Curl

curl https://apiv2.webdamdb.com/assets/23422 -X DELETE

Example Response

Status: 204 OK

Uploading an asset (optimized)

This API endpoint is a 3-step process which provides the following advantages over the deprecated method:

  • Faster upload speeds by leveraging AWS S3
  • Support for files up to 5GB in size.

This API endpoint only supports upload up to 5GB in size.

Step 1

GET
/awss3/generateupload?filesize=:filesize&folderid=:folderid&filename=:filename&contenttype=:contenttype&assetid=:assetid&intent=:intent

The previous call returns a JSON response that contains:

  1. a pre-signed URL (:presignedurl) valid for 5 minutes
  2. the process id (:processid) for the upload.

Requirements:

  • :filesize = size of the file in bytes (e.g. 1000000)
  • :folderid = The target numeric folder id for this asset to reside in (such as 1366416)
  • :filename = A UTF-8 URL-encoded filename of the asset (such as shutterstock.jpg)
  • :contenttype = The mime type of the asset (such as image/jpeg)
  • :assetid = An OPTIONAL assetid that indicates this is an update. If not supplied, is treated as a new asset.
  • :intent = Optional, used in conjunction with the :assetid to signal intention. Valid values are newversion or replace. Default value is replace.

Curl

curl "http://apiv2.webdamdb.com/ws/awss3/generateupload?filesize=1000000&folderid=1366416&filename=shutterstock.jpg&contenttype=image/jpeg"

Example Response

Status: 200 OK

{
 "presignedUrl": "https://webdamuploads.s3.amazonaws.com/12722_7c74b491_2be1_4f4f_b215_b5533f4cd25e.jpg?AWSAccessKeyId=ABCDEFG&Expires=1471294558&Signature=E6vZtQBHTvfcRWdqwzWt65UrxX8%3D",
    "processId": "57165496"
}

Step 2

PUT :presignedurl

Upload the file directly to AWS S3.

Requirements:

  1. :presignedurl = A valid pre-signed URL from Step 1
  2. Content-Type header = A content type header matching the contenttype from Step 1 MUST be provided as part of the PUT.

Curl

curl -H 'Content-Type: image/jpeg' -T shutterstock.jpg
"https://webdamuploads.s3.amazonaws.com/12722_7c74b491_2be1_4f4f_b215_b5533f4cd25e.jpg?AWSAccessKeyId=ABCDEFG&Expires=1471294558&Signature=E6vZtQBHTvfcRWdqwzWt65UrxX8%3D"

Example Response

Status: 100 Continue

* We are completely uploaded and fine

Step 3

PUT http://apiv2.webdamdb.com/ws/awss3/finishupload/:processid

Signals to Acquia DAM Classic that the upload has completed and ready for creating a thumbnail. Returns back the inserted or updated asset id.

Requirements:

  1. :processid = The numeric process id returned from Step 1

Curl

curl -X PUT "https://apiv2.webdamdb.com/ws/awss3/finishupload/57165494"

Example Response

Status: 200 OK

{
    "id": "1234567"
}

Downloading an asset

GET /assets/:id/download

Optional query parameters

  • sendNotificationsOff = valid values are 1 or 0, used to programmatically disable triggering notifications. Default is set to be 0.
  • trackDownloadsOff = valid values are 1 or 0, used to programmatically disable triggering download tracking. Default is set to be 0.
  • geturl = valid values are 1 or 0, used to return back a json payload with the URL if enabled, otherwise serve the asset contents. The pre-signed URL is valid only for 60 seconds. Default is set to 0.

Curl

curl -L https://apiv2.webdamdb.com/assets/123123123/download

Example Response

Status: 200 OK

RAW FILE CONTENTS

Viewing versions of an asset

GET /assets/:assetid/versions

Parameters

Name Type Description
thumbnail_ttl string Time to live for thumbnails Default: Set by the account admin Values: ‘+3 min’, ‘+15 min’, ‘+2 hours’, ‘+1 day’, ‘+2 weeks’, ‘no-expiration’

Curl

curl https://apiv2.webdamdb.com/assets/7812323/versions

Example Response

Status: 200 OK

[
  {
    "type": "assetversion",
    "id": "3455969",
    "status": "inactive",
    "filename": "aaz.jpg",
    "name": "aaz.jpg",
    "filesize": "3.26",
    "width": "3040",
    "height": "2908",
    "description": "This facility, which is the only of its kind, tests how distributed generation sources connect and work together. At the facility, generation sources such as a 30-kilowatt micro-turbine, 60- or 100-kilowatt wind turbines, various sized diesel generators, ",
    "filetype": "jpg",
    "colorspace": "RGB",
    "version": "1",
    "datecreated": "2012-12-13 13:50:10",
    "datemodified": "2013-01-03 13:22:22",
    "thumbnailurls": {
      { "size": "100", "url": "http://subdomain.webdamdb.com/s/100th_sm_.jpg" },
      { "size": "150", "url": "http://subdomain.webdamdb.com/s/150th_sm_.jpg" },
      { "size": "220", "url": "http://subdomain.webdamdb.com/s/220th_sm_.jpg" },
      { "size": "310", "url": "http://subdomain.webdamdb.com/s/310th_sm_.jpg" },
      { "size": "550", "url": "http://subdomain.webdamdb.com/image_dir/album90784/md_aaz.jpg.mp4.jpg" }
    },
    "folder": {
      "type": "folder",
      "id": "90784",
      "name": "Videos"
    }
  },
  {
    "type": "assetversion",
    "id": "3455969",
    "status": "active",
    "filename": "ZIPJJSSS 1BR1.jpg",
    "name": "aaz.jpg",
    "filesize": "0.07",
    "width": "647",
    "height": "433",
    "description": "This facility, which is the only of its kind, tests how distributed generation sources connect and work together. At the facility, generation sources such as a 30-kilowatt micro-turbine, 60- or 100-kilowatt wind turbines, various sized diesel generators, ",
    "filetype": "jpg",
    "colorspace": "RGB",
    "version": "2",
    "datecreated": "2012-12-13 13:50:10",
    "datemodified": "2013-01-05 14:35:07",
    "thumbnailurls": {
      { "size": "100", "url": "http://subdomain.webdamdb.com/s/100th_sm_ZIPJJSSS.jpg" },
      { "size": "150", "url": "http://subdomain.webdamdb.com/s/150th_sm_ZIPJJSSS.jpg" },
      { "size": "220", "url": "http://subdomain.webdamdb.com/s/220th_sm_ZIPJJSSS.jpg" },
      { "size": "310", "url": "http://subdomain.webdamdb.com/s/310th_sm_ZIPJJSSS.jpg" },
      { "size": "550", "url": "http://subdomain.webdamdb.com/image_dir/album90784/md_ZIPJJSSS.jpg" }
    },
    "folder": {
      "type": "folder",
      "id": "90784",
      "name": "Videos"
    }
  },
  {
    "type": "assetversion",
    "id": "3455969",
    "status": "active",
    "filename": "ZIPJJSSS 1BR2.jpg",
    "name": "aaz.jpg",
    "filesize": "0.08",
    "width": "650",
    "height": "433",
    "description": "This facility, which is the only of its kind, tests how distributed generation sources connect and work together. At the facility, generation sources such as a 30-kilowatt micro-turbine, 60- or 100-kilowatt wind turbines, various sized diesel generators, ",
    "filetype": "jpg",
    "colorspace": "RGB",
    "version": "3",
    "datecreated": "2012-12-13 13:50:10",
    "datemodified": "2013-01-05 14:43:21",
    "thumbnailurls": {
      { "size": "100", "url": "http://subdomain.webdamdb.com/s/100th_sm_ZIPJJSSS.jpg" },
      { "size": "150", "url": "http://subdomain.webdamdb.com/s/150th_sm_ZIPJJSSS.jpg" },
      { "size": "220", "url": "http://subdomain.webdamdb.com/s/220th_sm_ZIPJJSSS.jpg" },
      { "size": "310", "url": "http://subdomain.webdamdb.com/s/310th_sm_ZIPJJSSS.jpg" },
      { "size": "550", "url": "http://subdomain.webdamdb.com/image_dir/album90784/md_ZIPJJSSS.jpg" }
    },
    "folder": {
      "type": "folder",
      "id": "90784",
      "name": "Videos"
    }
  }
]

Getting an asset version

GET /assets/:assetid/versions/:version

Parameters

Name Type Description
thumbnail_ttl string Time to live for thumbnails Default: Set by the account admin Values: ‘+3 min’, ‘+15 min’, ‘+2 hours’, ‘+1 day’, ‘+2 weeks’, ‘no-expiration’

Curl

curl https://apiv2.webdamdb.com/assets/7812323/versions/3

Example Response

Status: 200 OK

{
  "type": "assetversion",
  "id": "3455969",
  "status": "active",
  "filename": "XAAAZZZZZ.jpg",
  "name": "Micro turbine 60",
  "filesize": "0.07",
  "width": "647",
  "height": "433",
  "description": "micro-turbine, 60- or 100-kilowatt wind turbines",
  "filetype": "jpg",
  "colorspace": "RGB",
  "version": "3",
  "datecreated": "2012-12-13 13:50:10",
  "datemodified": "2013-08-17 14:44:15",
  "thumbnailurls": {
    { "size": "100", "url": "http://subdomain.webdamdb.com/s/100th_sm_0UerYozlI3.jpg" },
    { "size": "150", "url": "http://subdomain.webdamdb.com/s/150th_sm_0UerYozlI3.jpg" },
    { "size": "220", "url": "http://subdomain.webdamdb.com/s/220th_sm_0UerYozlI3.jpg" },
    { "size": "310", "url": "http://subdomain.webdamdb.com/s/310th_sm_0UerYozlI3.jpg" },
    { "size": "550", "url": "http://subdomain.webdamdb.com/s/md_0UerYozlI3.jpg" }
  },
  "folder": {
    "type": "folder",
    "id": "90754",
    "name": "Jody's New Folder - Don't Touch"
  },
  "user": {
    "type": "user",
    "id": "9750",
    "email": "[email protected]",
    "name": "John Smith",
    "username": "myusername"
  }
}

Deleting an asset version

DELETE /assets/:assetid/versions/:version

Curl

curl https://apiv2.webdamdb.com/assets/7812323/versions/3 -X DELETE

Example Response

Status: 204 OK

Restoring an asset version

POST /assets/:assetid/versions/:version

Curl

curl https://apiv2.webdamdb.com/assets/7812323/versions/3 -X POST

Example Response

Status: 204 OK

Downloading an asset version

GET /assets/:id/versions/:version/download

Optional query parameters

  • sendNotificationsOff = valid values are 1 or 0, used to programmatically disable triggering notifications. Default is set to be 0.
  • trackDownloadsOff = valid values are 1 or 0, used to programmatically disable triggering download tracking. Default is set to be 0.
  • geturl = valid values are 1 or 0, used to return back a json payload with the URL if enabled, otherwise serve the asset contents. The pre-signed URL is valid only for 60 seconds. Default is set to 0.

Curl

curl -L https://apiv2.webdamdb.com/assets/123123123/versions/3/download

Example Response

Status: 200 OK

RAW FILE CONTENTS

Sending asset download

POST /assets/:assetid/senddownload

Curl

curl https://apiv2.webdamdb.com/assets/7812323/senddownload -d
'{"emails":["[email protected]n.com","[email protected]"], "subject":
"Cool asset", "message": "Check out this cool asset", "expirationdate":
"2013-12-07"}' -X POST

Example Response

Status: 200 OK

{
    "downloadkey": "v6hHtXRwgAL9KkMj"
}

Viewing and editing metadata

Viewing asset XMP metadata

GET /assets/:id/metadatas/xmp

Curl

curl https://apiv2.webdamdb.com/assets/2342322/metadatas/xmp

Example Response

Status: 200 OK

{
    "type": "assetxmp",
    "headline": "myasset",
    "credit": "John Doe",
    "countryname": "United States of America",
    "keyword": "New York,Places,Ranula,San Francisco"
}

Viewing list of assets XMP metadata

https://apiv2.webdamdb.com/assets/2342322,5342344/metadatas/xmp

Note

The limit is 50 assets.

Editing asset XMP metadata

PUT /assets/:id/metadatas/xmp

Curl

curl https://apiv2.webdamdb.com/assets/2342322/metadatas/xmp -d
'{"keyword":"cat, dog, play together, not well"}' -X PUT

Example Response

Status: 200 OK

{
  "type": "assetxmp",
  "headline": "myasset",
  "credit": "John Doe",
  "countryname": "United States of America",
  "keyword": "cat, dog, play together, not well"
}

Remove Keywords

curl https://apiv2.webdamdb.com/assets/2342322/metadatas/xmp -d
'{"keyword":"","replacekeywords": "true"}' -X PUT

Disable Notifications

curl https://apiv2.webdamdb.com/assets/2342322/metadatas/xmp -d
'{"sendNotificationsOff": "1"}' -X PUT

Viewing asset EXIF metadata

GET /assets/:id/metadatas/exif

Curl

curl https://apiv2.webdamdb.com/assets/2342322/metadatas/exif

Example Response

Status: 200 OK

{
  "type": "assetexif",
  "ycbcrpositioning": "Centered",
  "resolutionunit": "inches",
  "yresolution": "300",
  "xresolution": "300"
}

Viewing a list of asset EXIF metadata

https://apiv2.webdamdb.com/assets/2342322,5342344/metadatas/exif

Note

The limit is 50 assets.

Searching

Searching assets

Note

You may only search one Search Field at a time using the Search API.

Only the parameters listed in this section are supported.

GET /search

Curl

curl https://apiv2.webdamdb.com/search?sortby=filename&sortdir=desc&limit=20&offset=0&query=dog&folderid=405352

Parameters

Name Type Description
query string The text to perform the search. This field is required.
folderid integer The folder id to filter search results by specific Acquia DAM Classic folder.
sortby string The field to sort by. Possible values are filename, filesize, datecreated, and date modified. (Default = datecreated)
sortdir string The direction to sort by. Possible values are asc or desc. (Default = asc)
limit integer The number of items to return. (Default=50, Maximum=100)
offset integer The item number to start with. Default is 0.
types string The file type filters (Available filter: image, audiovideo, document, presentation, other)
searchfield string The metadatafield filters (Available filters: customfield1, language, headline, keyword, other)

Example Response

Status: 200 OK

{
  "total_count": "1",
  "offset": 0,
  "limit": "50",
  "facets": {
    "types": {
      "image": "6",
      "document": "1",
      "audiovideo": "1",
      "presentation": "3",
      "other": null
    }
  },
  "items": [
    {
      "type": "asset",
      "id": "3456621",
      "status": "active",
      "filename": "Lightbox_switch.jpg",
      "name": "Lightbox_switch.jpg",
      "filesize": "0.17",
      "width": "890",
      "height": "748",
      "description": "",
      "filetype": "jpg",
      "colorspace": "RGB",
      "version": "1",
      "datecreated": "2013-07-10 14:30:25",
      "datemodified": "2013-07-10 14:30:25",
      "thumbnailurls": {
        { "size": "100", "url": "http://subdomain.webdamdb.com/s/100th_sm_9wFXFzBwv6.jpg" },
        { "size": "150", "url": "http://subdomain.webdamdb.com/s/150th_sm_9wFXFzBwv6.jpg" },
        { "size": "220", "url": "http://subdomain.webdamdb.com/s/220th_sm_9wFXFzBwv6.jpg" },
        { "size": "310", "url": "http://subdomain.webdamdb.com/s/310th_sm_9wFXFzBwv6.jpg" },
        { "size": "550", "url": "http://subdomain.webdamdb.com/s/550th_sm_9wFXFzBwv6.jpg" }
      },
      "folder": {
        "type": "folder",
        "id": "90922",
        "name": "WORKS22"
      },
      "user": {
        "type": "user",
        "id": "9750",
        "email": "[email protected]",
        "name": "John Smith",
        "username": "myusername"
      }
    }
  ]
}

Managing metadata templates

Using JSON format for metadata templates

Attribute Type Description
id long The unique id of the metadata template.
name string The unique name of the metadata template.
numFolders integer The number of folders for which this metadata template applies.
owner_id long The unique id of the user who created the metadata template.
values array The list of metadata values that the metadata template consists of. Consists of the “value” and “append”, where “append”: 1 to append, and “append”: 0 replace. “Append” is always “replace” for “select” type metadata. For other metadata types, “append” is required.

Getting all metadata templates

GET /metadatatemplates

Curl

curl https://apiv2.webdamdb.com/metadatatemplates

Example Response

Status: 200 OK

[
  {
    "id": "2216",
    "name": "My Template",
    "numFolders": 3,
    "folderids" : [ "123", "456", "789"],
    "owner_id": "9750"
  }
]

Getting a metadata template

GET /metadatatemplates/:templateid

Curl

curl https://apiv2.webdamdb.com/metadatatemplates/2216

Example Response

Status: 200 OK

{
  "id": "2216",
  "name": "My Template",
  "folderids": [ "123", "456", "789" ],
  "values": {
    "OBJECTNAME": {
      "value": "Sample object name",
      "append": "1"
    },
    "CREDIT": {
      "value": "Sample credit",
      "append": "0"
    },
    "CAPTION": {
      "value": "Sample caption",
      "append": "0"
    }
  }
}

Creating a metadata template

POST /metadatatemplates

Curl

curl https://apiv2.webdamdb.com/metadatatemplates -d '{"name":"New
Template","values":{"CREDIT":{"value":"Some
credit","append":"1"},"CAPTION":{"value":"Some
caption","append":"0"},"CITY":{"value":"Some city","append":"0"}}}' -X POST

Example Response

Status: 200 OK

{
  "id": "2217",
  "name": "New Template",
  "folderids": [],
  "values": {
    "CREDIT": {
      "value": "Some credit",
      "append": "1"
    },
    "CAPTION": {
      "value": "Some caption",
      "append": "0"
    },
    "CITY": {
      "value": "Some city",
      "append": "0"
    }
  }
}

Editing a metadata template

PUT /metadatatemplates/:templateid

Parameters

Name Type Description
name sting The new name for the template. Optional, but either “name” or “values” must be passed in.
replace integer Either 1 (replace current template with these new values) or 0 (only change the metadata that was passed in). Required.
values array The metadata to be updated in the template. Optional, but either “name” or “values” must be passed in.

“Values” Sub-parameters

Name Type Description
value array The new value for metadata field. If a multi-select picklist, can be an array of string values.
append integer Can be 1 or 0. Refers to whether this metadata will act as an appended or replaced value to new assets in the folder this template applies to. Does not affect single-select picklist metadata fields, and required for other metadata field types.
replace integer Required parameter for multi-select select lists. Can be 0-3. 0 means comma-separated values will be appended to existing picklist values (no duplicates accepted). 1 is total-replace. 2 is to delete the new values from the existing values (values must already exist). 3 requires an associative object where existing key replaces new value (requires format: values: {“Search for value”:”Replace with value”} and replaces in the order that they are received.

Curl

curl https://apiv2.webdamdb.com/metadatatemplates/2217 -d '{"name":"New
Template Name","replace":0,"values":{"CREDIT":{"value":"Credit 1, Credit
2, Credit 3","append":"0","replace":0},"CAPTION":{"value":"Some
caption","append":"0"},"OBJECTNAME":{"value":"Some object
name","append":"1"}}}' -X PUT

Example Response

Status: 200 OK

{
  "id": "2217",
  "name": "New Template Name",
  "folderids": ["123", "456", "789"],
  "values": {
    "CREDIT": {
      "value": "Credit 0, Credit 1, Credit 2, Credit 3"",
      "append": "0"
    },
    "CAPTION": {
      "value": "Some caption",
      "append": "0"
    },
    "OBJECTNAME": {
      "value": "Some object name",
      "append": "1"
    }
  }
}

Deleting a metadata template

DELETE /metadatatemplates/:templateid

Curl

curl https://apiv2.webdamdb.com/metadatatemplates/2217 -X DELETE

Example Response

Status: 200 OK

Applying a metadata template to folders

POST /metadatatemplates/:templateid/apply

Curl

curl https://apiv2.webdamdb.com/metadatatemplates/2216/apply -d
'{"folders":[{"id":"90672","state":1}]}' -X POST

Example Response

Status: 200 OK

Parameters

Name Type Description
folders array

The folders to apply/remove the metadata template to/from. Each folder object must contain:

  • id – (long) The unique id of the folder.
  • state – (integer) The state of the action. Available states: 1 (apply) and 0 (remove).

Managing metadata schema

Using JSON format for metadata schema

Attribute Type Description
field string The unique field/metadata code.
name string The name of the metadata field.
label string The label of the metadata field.
status string Whether or not this metadata is part of the active schema. Either “active” or “inactive”.
searchable string Whether or not this metadata can be searched upon. Either “yes” or “no”.
position string Numeric sting containing the position of this metadata field in the schema.
values array Array of values that gets returned only if “full” parameter is passed into the GET request. Returns only if “type” is select or multiselect.
type string Type of the metadata in the schema that gets returned only if “full” parameter is passed into the GET request. Returns: text, textarea, select, or multiselect.

Getting metadata schema and updating metadata type

Getting metadata schema

GET /metadataschemas/xmp

Curl

curl https://apiv2.webdamdb.com/metadataschemas/xmp?full=1

Example Response

Status: 200 OK

{
  "xmpschema": [
    {
      "field": "CAPTION",
      "name": "Caption\/Abstract",
      "label": "Caption\/Description",
      "status": "active",
      "searchable": "yes",
      "position": "2",
      "type": "textarea"
    },
    {
      "field": "HEADLINE",
      "name": "Headline",
      "label": "Headline\/Name",
      "status": "active",
      "searchable": "yes",
      "position": "3",
      "values": [
        "Headline 1",
        "Headline 2",
        "Headline 3"
      ],
      "type": "select"
    },
    {
      "field": "SOURCE",
      "name": "Source",
      "label": "Source",
      "status": "active",
      "searchable": "yes",
      "position": "5",
      "values": [
        "Source 1",
        "Source 2",
        "Source 3"
      ],
      "type": "multiselect"
    },
    {
      "field": "BYLINE",
      "name": "By-line",
      "label": "Photographer",
      "status": "active",
      "searchable": "yes",
      "position": "8",
      "type": "text"
    }
  ]
}

Note

Passing ?full=1 to GET /metadataschemas/xmp adds the “values” and “type” fields to the response.

Updating metadata type

POST /metadataschemas/xmp

Curl

curl https://apiv2.webdamdb.com/metadataschemas/xmp -d
'[{"field":"HEADLINE", "sort":0, "multiselect":1, "values":["Headline
1","Headline 3","Headline 3"], "replace":1}, {"field":"CREDIT", "sort": 0,
"multiselect":0, "values":["Credit 3"], "replace":2}, {"field":"SOURCE",
"sort":0, "multiselect":0, "values":["Source 4"], "replace":0}]' -X POST

Example Response

Status: 200 OK

Parameters

The API expects an array of objects requiring the following parameters.

Name Type Description
field string The unique field/metadata code to update. CAPTION and KEYWORD cannot be modified.
multiselect integer Either 1 (multiselect) or 0 (select).
sort integer Either 1 for the values to be sorted on insertion or 0 as is. Default is 0 since this is optional.
values array Array of values for the metadata.
replace integer Integer for the type of action. Either 0 (add new values. No duplicates accepted), 1 (replace all values with the new values), or 2 (remove values. Throws an error if the value does not exist , or 3 (replace existing values by associated key with new values. Requires format: values: {“Search for value”:”Replace with value”} and replaces in the order that they are received))

Getting download presets

Get Download Presets from your Acquia DAM account.

GET /downloadpresets

Curl

curl https://apiv2.webdamdb.com/downloadpresets

Example Response

Status: 200 OK

[
 {
     "id": "123",
     "colorspace": "RGB",
     "format": "jpeg",
     "name": "Web Jpeg 200px",
     "orientation": "",
     "resolution": "72",
     "size": "200",
     "unit": "px",
     "userId": "0",

   },
 {
     "id": "456",
     "colorspace": "",
     "format": "png",
     "name": "Web Optimized",
     "orientation": "",
     "resolution": "72",
     "size": "0",
     "unit": "px",
     "userId": "0",

   }
]

Managing lightboxes

Using JSON format for lightboxes

Attribute Type Description
type string This is equal to “lightbox.”
id long The unique id of the lightbox.
name string The name of the lightbox.
description string The description of the lightbox.
project string The project name of the lightbox.
datecreated string The date the lightbox was created.
user Mini user The mini user JSON of the owner of the asset.
share boolean This lightbox was shared by another user.
canedit boolean Current user can edit lightbox.
numCollaborators integer The number of collaborators of this lightbox.
numComments integer The number of comments on this lightbox.
numberitem integer How many assets are in the lightbox.

Getting current users’ lightboxes

GET /lightboxes

Curl

curl https://apiv2.webdamdb.com/lightboxes

Example Response

Status: 200 OK

[
    {
        "type": "lightbox",
        "id": "12724",
        "name": "Copy o Ne2123",
        "description": "This is really cool",
        "project": "My Project",
        "numItems": "61",
        "share": "false",
        "canedit": "true",
        "numCollaborators": "0",
        "numComments": "0",
      "user": {
        "type": "user",
        "id": "9750",
        "email": "[email protected]",
        "name": "John Smith",
        "username": "myusername"
      }
    },
    {
        "type": "lightbox",
        "id": "12782",
        "name": "Designs",
        "description": "Used for WIP.",
        "project": "Project X",
        "numItems": "5",
        "share": "true",
        "canedit": "true",
        "numCollaborators": "3",
        "numComments": "2",
      "user": {
        "type": "user",
        "id": "9750",
        "email": "[email protected]",
        "name": "John Smith",
        "username": "myusername"
      }
    }
]

Getting lightbox information

GET /lightboxes/:lightboxid

Curl

curl https://apiv2.webdamdb.com/lightboxes/12323

Example Response

Status: 200 OK

{
  "type": "lightbox",
  "id": "12782",
  "name": "Designs",
  "description": "Used for WIP.",
  "project": "Project X",
  "numItems": "5",
  "share": "true",
  "canedit": "true",
  "numCollaborators": "3",
  "numComments": "0",
    "user": {
    "type": "user",
    "id": "9750",
    "email": "[email protected]",
    "name": "John Smith",
    "username": "myusername"
  }
}

Creating a lightbox

POST /lightboxes

Curl

curl https://apiv2.webdamdb.com/lightboxes -d '{"name":"Working on
assets","project":"Project X","description":"Used to source assets"}'
-X POST

Example Response

Status: 201 Created

{
  "type": "lightbox",
  "id": "127822",
  "name": "Working on assets",
  "description": "Used to source assets",
  "project": "Project X",
  "numItems": "5",
  "share": "true",
  "canedit": "true",
  "numCollaborators": "3",
  "numComments": "0",
  "user": {
    "type": "user",
    "id": "9750",
    "email": "[email protected]",
    "name": "John Smith",
    "username": "myusername"
  }
}

Editing a lightbox

PUT /lightboxes/:lightboxid

Curl

curl https://apiv2.webdamdb.com/lightboxes -d '{"id":1123,"name":"Assets
to source for campaign"}' -X PUT

Example Response

Status: 200 OK

{
  "type": "lightbox",
  "id": "12782",
  "name": "Assets to source for campaign",
  "description": "Used for WIP.",
  "project": "Project X",
  "numItems": "5",
  "share": "true",
  "canedit": "true",
  "numCollaborators": "3",
  "numComments": "0",
    "user": {
    "type": "user",
    "id": "9750",
    "email": "[email protected]",
    "name": "John Smith",
    "username": "myusername"
  }
}

Deleting a lightbox

DELETE /lightboxes/:lightboxid

Curl

curl https://apiv2.webdamdb.com/lightboxes/808232 -X DELETE

Example Response

Status: 204 OK

Listing assets for a lightbox

GET /lightboxes/:lightboxid/assets

Curl

curl https://apiv2.webdamdb.com/lightboxes/808232/assets?sortby=filename&sortdir=desc&limit=20&offset=0

Parameters

Name Type Description
sortby string The field to sort by. Possible values are filename, filesize, datecreated and datemodified. (Default = datecreated)
sortdir string The direction to sort by. Possible values are asc or desc. (Default = asc)
limit integer The number of items to return. (Default=50, Maximum=100)
offset integer The item number to start with. Default is 0.
types string The file type filters (Available filters: image, audiovideo, document, presentation, other)
thumbnail_ttl string Time to live for thumbnails Default: Set by the account admin Values: ‘+3 min’, ‘+15 min’, ‘+2 hours’, ‘+1 day’, ‘+2 weeks’, ‘no-expiration’

Example Response

Status: 200 OK

{
  "total_count": "1",
  "offset": 0,
  "limit": "50",
  "facets": {
    "types": {
      "image": "6",
      "document": "1",
      "audiovideo": "1",
      "presentation": "3",
      "other": null
    }
  },
  "items": [
    {
      "type": "asset",
      "id": "3456621",
      "status": "active",
      "filename": "Lightbox_switch.jpg",
      "name": "Lightbox_switch.jpg",
      "filesize": "0.17",
      "width": "890",
      "height": "748",
      "description": "",
      "filetype": "jpg",
      "colorspace": "RGB",
      "version": "1",
      "datecreated": "2013-07-10 14:30:25",
      "datemodified": "2013-07-10 14:30:25",
      "thumbnailurls": [
        { "size": "100", "url": "http://subdomain.webdamdb.com/s/100th_sm_9wFXFzBwv6.jpg" },
        { "size": "150", "url": "http://subdomain.webdamdb.com/s/150th_sm_9wFXFzBwv6.jpg" },
        { "size": "220", "url": "http://subdomain.webdamdb.com/s/220th_sm_9wFXFzBwv6.jpg" },
        { "size": "310", "url": "http://subdomain.webdamdb.com/s/310th_sm_9wFXFzBwv6.jpg" },
        { "size": "550", "url": "http://subdomain.webdamdb.com/image_dir/album90922/md_9wFXFzBwv6.jpg" }
      ],
      "folder": {
        "type": "folder",
        "id": "90922",
        "name": "WORKS22"
      },
      "numComments":2,
      "user": {
        "type": "user",
        "id": "9750",
        "email": "[email protected]",
        "name": "John Smith",
        "username": "myusername"
      }
    }
  ]
}

Adding assets to a lightbox

POST /lightboxes/:lightboxid/assets

Curl

curl https://apiv2.webdamdb.com/lightboxes/34543543/assets -d
'{"id":"2342211"}' -X POST

Example Response

Status: 201 Created

{
    "type": "asset",
    "id": "2342211",
}

Removing an asset from a lightbox

DELETE /lightboxes/:lightboxid/assets/:assetid

Curl

curl https://apiv2.webdamdb.com/lightboxes/1223423/assets/123333 -X DELETE

Example Response

Status: 204 OK

Emptying a lightbox

DELETE /lightboxes/:lightboxid/empty

Curl

curl https://apiv2.webdamdb.com/lightboxes/1223423/empty -X DELETE

Example Response

Status: 204 OK

Listing collaborators for a lightbox

GET /lightboxes/:lightboxid/collaborators

Curl

curl https://apiv2.webdamdb.com/lightboxes/23423422/collaborators

Example Response

Status: 200 OK

[
    {
        "type": "collaborator",
        "id": "12814",
        "email": "[email protected]",
        "canedit": "true"
    },
    {
        "type": "collaborator",
        "id": "12816",
        "email": "[email protected]",
        "user": {
            "type": "user",
            "id": "9810",
            "email": "[email protected]",
            "name": "John Smith",
            "username": "jsmith"
        },
        "canedit": "true"
    }
]

Adding a collaborator to a lightbox

POST /lightboxes/:lightboxid/collaborators

Curl

curl https://apiv2.webdamdb.com/lightboxes/:lightboxid/collaborators -d
'{"emails":["[email protected]","[email protected]"],"message":"This
lightbox has cool assets.","canedit":true}' -X POST

Example Response

Status: 201 Created

{
    "type": "collaborator",
    "id": "12814",
    "emails": ["[email protected]"],
    "canedit": "true"
}

Removing a collaborator from a lightbox

DELETE /lightboxes/:lightboxid/collaborators/:collaboratorid

Curl

curl https://apiv2.webdamdb.com/lightboxes/12132/collaborators/13422 -X
DELETE

Example Response

Status: 204 OK

Sending a lightbox download

POST /lightboxes/:lightboxid/senddownload

Curl

curl https://apiv2.webdamdb.com/lightboxes/7812323/senddownload -d
'{"emails":["[email protected]", "[email protected]"], "subject":
"Cool lightbox", "message": "Hi, this lightbox has very cool assets",
"expirationdate": "2013-12-07"}' -X POST

Example Response

Status: 200 OK

{
    "downloadkey": "qOF1NRU40myI7S3f"
}

Getting lightbox comments

Listing comments on a lightbox

GET /lightboxes/:lightboxid/comments

Curl

curl https://apiv2.webdamdb.com/lightboxes/23423422/comments

Example Response

Status: 200 OK

{
  "total_items":"1",
  "items":[
      {
        "type":"comment",
        "id":"643",
        "comment":"This is the best asset.",
        "datecreated":"2013-10-15 21:53:24",
        "datemodified":"2013-10-15 21:53:24",
        "item":{
            "type":"lightbox",
            "id":"12782"
        },
        "user":{
            "type":"user",
            "id":"123123",
            "email":"[email protected]",
            "name":"John Doe",
            "username":"myusername"
        }
      }
  ]
}

Getting a lightbox comment

GET /lightboxes/:lightboxid/comments/:commentid

Curl

curl https://apiv2.webdamdb.com/lightboxes/23423422/comments/1233

Example Response

Status: 200 OK

{
  "type":"comment",
  "id":"643",
  "comment":"This is the best asset.",
  "datecreated":"2013-10-15 21:53:24",
  "datemodified":"2013-10-15 21:53:24",
  "item":{
    "type":"lightbox",
    "id":"12782"
  },
  "user":{
    "type":"user",
    "id":"123123",
    "email":"[email protected]",
    "name":"John Doe",
    "username":"myusername"
  }

}

Adding a comment to a lightbox

POST /lightboxes/:lightboxid/comments

Curl

curl https://apiv2.webdamdb.com/lightboxes/:lightboxid/comments -d
'{"type":"comment","comment":"This asset is the best."}' -X POST

Example Response

Status: 201 Created

{
  "type":"comment",
  "id":"643",
  "comment":"This is the best asset.",
  "datecreated":"2013-10-15 21:53:24",
  "datemodified":"2013-10-15 21:53:24",
  "item":{
    "type":"lightbox",
    "id":"12782"
  },
  "user":{
    "type":"user",
    "id":"123123",
    "email":"[email protected]",
    "name":"John Doe",
    "username":"myusername"
  }
}

Deleting a comment from a lightbox

DELETE /lightboxes/:lightboxid/comments/:commentid

Curl

curl https://apiv2.webdamdb.com/lightboxes/12132/comments/13422 -X DELETE

Example Response

Status: 204 OK

Listing comments on an asset in a lightbox

GET /lightboxes/:lightboxid/assets/:assetid/comments

Curl

curl https://apiv2.webdamdb.com/lightboxes/23423422/assets/4322322/comments

Example Response

Status: 200 OK

{
  "total_items":"1",
  "items":[
      {
        "type":"comment",
        "id":"643",
        "comment":"This is the best asset.",
        "datecreated":"2013-10-15 21:53:24",
        "datemodified":"2013-10-15 21:53:24",
        "item":{
            "type":"lightbox",
            "id":"12782"
        },
        "user":{
            "type":"user",
            "id":"123123",
            "email":"[email protected]",
            "name":"John Doe",
            "username":"myusername"
        }
      }
  ]
}

Getting comments on an asset in a lightbox

GET /lightboxes/:lightboxid/assets/:assetid/comments/:commentid

Curl

curl https://apiv2.webdamdb.com/lightboxes/23423422/assets/54342/comments/1233

Example Response

Status: 200 OK

{
    "type":"comment",
    "id":"643",
    "comment":"This is the best asset.",
    "datecreated":"2013-10-15 21:53:24",
    "datemodified":"2013-10-15 21:53:24",
    "item":{
      "type":"lightbox",
      "id":"12782"
    },
    "user":{
      "type":"user",
      "id":"123123",
      "email":"[email protected]",
      "name":"John Doe",
      "username":"myusername"
    }
}

Adding a comment to an asset in a lightbox

POST /lightboxes/:lightboxid/assets/:assetid/comments

Curl

curl
https://apiv2.webdamdb.com/lightboxes/:lightboxid/assets/:assetid/comments -d
'{"type":"comment","comment":"This asset is the best."}' -X POST

Example Response

Status: 201 Created

{
    "type":"comment",
    "id":"643",
    "comment":"This is the best asset.",
    "datecreated":"2013-10-15 21:53:24",
    "datemodified":"2013-10-15 21:53:24",
    "item":{
      "type":"lightbox",
      "id":"12782"
    },
    "user":{
      "type":"user",
      "id":"123123",
      "email":"[email protected]",
      "name":"John Doe",
      "username":"myusername"
    }
}

Deleting a comment from an asset in a lightbox

DELETE /lightboxes/:lightboxid/assets/:assetid/comments/:commentid

Curl

curl
https://apiv2.webdamdb.com/lightboxes/12132/assets/424234/comments/13422
-X DELETE

Example Response

Status: 204 OK

Managing groups

Using JSON format for groups

Attribute Type Description
type string This is equal to “group.”
id long The unique id of the group.
role string The role of the group.
name string The name of the group.
description string The description of the group.
numusers integer How many users are in the folder.

Getting all groups

GET /groups

Allowed For
Admins

Curl

curl https://apiv2.webdamdb.com/groups

Example Response

Status: 200 OK

[
  {
    "type": "group",
    "id": "162",
    "name": "Marketing Asia",
    "description": "This group is for marketing in Asia",
    "role": "Contributor",
    "numusers": 2
  },
    {
    "type": "group",
    "id": "165",
    "name": "Partners",
    "description": "This group is for our partners",
    "role": "End User",
    "numusers": 6
  }
]

Getting group information

GET /groups/:groupid

Allowed For
Admins

Curl

curl https://apiv2.webdamdb.com/groups/162

Example Response

Status: 200 OK

{
    "type": "group",
    "id": "162",
    "name": "Marketing Asia",
    "description": "This group is for marketing in Asia",
    "role": "Contributor",
    "numusers": 2
}

Creating a group

POST /groups

Allowed For
Admins

Curl

curl https://apiv2.webdamdb.com/groups -d
'{"type":"group","id":"162","name":"Marketing Asia","description":"dont
tread on me","role":"Contributor"}' -X POST

Example Response

Status: 201 Created

{
    "type": "group",
    "id": "162",
    "name": "Marketing Asia",
    "description": "This group is for marketing in Asia",
    "role": "Contributor",
    "numusers": 0
}

Editing a group

PUT /groups/:groupid

Allowed For
Admins

Curl

curl https://apiv2.webdamdb.com/groups/162 -d
'{"id":"162","name":"Marketing South Asia"}' -X PUT

Example Response

Status: 200 OK

{
    "type": "group",
    "id": "162",
    "name": "Marketing South Asia",
    "description": "This group is for marketing in Asia",
    "role": "Contributor",
    "numusers": 0
}

Deleting a group

DELETE /groups/:groupid

Allowed For
Admins

Curl

curl https://apiv2.webdamdb.com/groups/162 -X DELETE

Example Response

Status: 204 OK

Viewing users of a group

GET /groups/:groupid/users

Allowed For
Admins

Curl

curl https://apiv2.webdamdb.com/groups/23422/users

Example Response

Status: 200 OK

[
  {
  "user": {
    "type": "user",
    "id": "9750",
    "email": "[email protected]",
    "name": "Celeb Stars",
    "username": "myusername"
    }
  },
    {
    "user": {
    "type": "user",
    "id": "9754",
    "email": "[email protected]",
    "name": "John Smith",
    "username": "jsmith"
   }
  }
]

Adding a user to a group

POST /groups/:groupid/users/:userid

Allowed For
Admins

Curl

curl https://apiv2.webdamdb.com/groups/23422/users/923422 -X POST

Example Response

Status: 201 Created

{
  "user": {
  "type": "user",
  "id": "9750",
  "email": "[email protected]",
  "name": "Celeb Stars",
  "username": "myusername"
  }
}

Removing a user from a group

POST /groups/:groupid/users/:userid

Allowed For
Admins

Curl

curl https://apiv2.webdamdb.com/groups/23422/users/923422 -X DELETE

Example Response

Status: 204 OK

Managing users

Using JSON format for users

Attribute Type Description
type string This is equal to “user.”
id long The unique id of the user.
username string The username for the user.
first string The first name of the user.
last string The first last of the user.
name string The full name of the user.
email string The email address of the user.
company date The company name the user works for.
companyurl string The company url the user works for.
phone string Phone number of user.
fax string Fax number of user.
country string The country the user is in.
city string The city the user is in.
address1 string The street address the user works.
address2 string The street secondary address the user works.
status string The current state of the user, either active or inactive.
datecreated date The date the user was created.
lastlogin date The timestamp of users last sign-in.
sendemail boolean Send welcome email when user account is created.
groups array Array of group objects that the user belongs to.

Getting users

GET /users

Allowed For
Admins

Curl

curl https://apiv2.webdamdb.com/users?offset=0&limit=1&sortby=username&sortdir=asc

Parameters

Name Type Description
sortby string The field to sort by. Possible values are username, firstname, lastname and email. (Default=username)
sortdir string The direction to sort by. Possible values are asc or desc. (Default=asc)
limit integer The number of items to return. (Default=1000, Maximum=1000)
offset integer The item number to start with. Default is 0.

Example Response

Status: 200 OK

[
  {
    "type": "user",
    "id": "9769",
    "username": "jsmith",
    "first": "John",
    "last": "Smith",
    "name": "John Smith",
    "email": "[email protected]",
    "datecreated": "2009-10-09 20:34:36",
    "lastlogin": "2013-07-10 12:04:24",
    "company": "",
    "companyurl": "",
    "phone": "",
    "fax": "",
    "country": "United States",
    "city": "",
    "address1": "",
    "address2": "",
    "zip": "94402",
    "groups": [
        {
            "type": "group",
            "id": "21",
            "name": "Admin",
            "role": "Admin"
        }
    ]
  }
]

Getting current users

GET /users/me

Curl

curl https://apiv2.webdamdb.com/users/me

Example Response

Status: 200 OK

{
    "type": "user",
    "id": "9769",
    "username": "jsmith",
    "first": "John",
    "last": "Smith",
    "name": "John Smith",
    "email": "[email protected]",
    "datecreated": "2009-10-09 20:34:36",
    "lastlogin": "2013-07-10 12:04:24",
    "company": "",
    "companyurl": "",
    "phone": "",
    "fax": "",
    "country": "United States",
    "city": "",
    "address1": "",
    "address2": "",
    "zip": "94402",
    "groups": [
        {
            "type": "group",
            "id": "21",
            "name": "Admin",
            "role": "Admin"
        }
    ]
}

Getting a user

GET /users/9769

Allowed For
Admins

Curl

curl https://apiv2.webdamdb.com/users/9769

Example Response

Status: 200 OK

{
    "type": "user",
    "id": "9769",
    "username": "jsmith",
    "first": "John",
    "last": "Smith",
    "name": "John Smith",
    "email": "[email protected]",
    "datecreated": "2009-10-09 20:34:36",
    "lastlogin": "2013-07-10 12:04:24",
    "company": "",
    "companyurl": "",
    "phone": "",
    "fax": "",
    "country": "United States",
    "city": "",
    "address1": "",
    "address2": "",
    "zip": "94402"
}

Viewing groups for a user

GET /users/9769/groups

Allowed For
Admins

Curl

curl https://apiv2.webdamdb.com/users/9769/groups

Example Response

Status: 200 OK

[
  {
      "type": "group",
      "id": "154",
      "name": "Sales",
      "role": "End user"
  },
  {
      "type": "group",
      "id": "138",
      "name": "Marketing",
      "role": "Contributor"
  }
]

Creating a user

POST /users

Allowed For
Admins

Curl

curl https://apiv2.webdamdb.com/users -d
'{"username":"90784","password1":"[email protected]","password2":"[email protected]","first":"John","last":"smith","email":[email protected]","country":
"United States","zip": "94402,"sendemail": "true","status":"active"}' -X POST

Example Response

Status: 201 Created

{
    "type": "user",
    "id": "9769",
    "username": "jsmith",
    "password1":"[email protected]",
    "password2":"[email protected]",
    "first": "John",
    "last": "Smith",
    "name": "John Smith",
    "email": "[email protected]",
    "datecreated": "2013-07-10 12:04:24",
    "lastlogin": "2013-07-10 12:04:24",
    "company": "",
    "companyurl": "",
    "phone": "",
    "fax": "",
    "country": "United States",
    "city": "",
    "address1": "",
    "address2": "",
    "zip": "94402",
    "status": "active",
    "sendemail": "true"
}

Editing a user

PUT /users/:userid or PUT /users/me

Curl

curl https://apiv2.webdamdb.com/users/me -d
'{"id":12321","email":"[email protected]","zip":"94065"}' -X PUT

Example Response

Status: 200 OK

{
    "type": "user",
    "id": "9769",
    "username": "jsmith",
    "first": "John",
    "last": "Smith",
    "name": "John Smith",
    "email": "[email protected]",
    "datecreated": "2013-07-10 12:04:24",
    "lastlogin": "2013-07-10 12:04:24",
    "company": "",
    "companyurl": "",
    "phone": "",
    "fax": "",
    "country": "United States",
    "city": "",
    "address1": "",
    "address2": "",
    "zip": "94065"
}

Deleting a user

DELETE /users/:userid

Allowed For - Admins

Curl

curl https://apiv2.webdamdb.com/users/9769 -X DELETE

Example Response

Status: 204 OK

Getting an account subscription

GET /subscription

Curl

curl https://apiv2.webdamdb.com/subscription

Example Response

Status: 200 OK

{
    "maxEndUsers": "125",
    "numEndUsers": 50,
    "maxPowerUsers": "125",
    "numPowerUsers": 48,
    "maxUsers": "125",
    "url": "account.webdamdb.com",
    "username": "username",
    "planDiskSpace": "10000 MB",
    "currentDiskSpace": "361 MB",
    "activeUsers": "30",
    "inactiveUsers": "8"
}

Retrieving notifications

Available actions

Action Description
asset_created A user uploaded asset(s) to a folder
asset_deleted A user deleted asset(s) to a folder
asset_version A user uploaded a new asset version
asset_property A user edited metadata of asset(s)
asset_add_lightbox A user added asset(s) to a lightbox
asset_remove_lightbox A user removed asset(s) from a lightbox
lightbox_share A user shared a lightbox with you
lightbox_sharedelete A user removed a shared lightbox
comment A user commented on a lightbox
message Site admin sent a message
user_registered A new user registered
download_request A user/visitor is requesting to download an asset

Getting notifications

GET /notifications?limit=20&offset=0

Curl

curl https://apiv2.webdamdb.com/notifications?limit=20&offset=0

Example Response

Status: 200 OK

{
  "last_read":"2013-11-14 18:23:13",
  "offset":"0",
  "limit":"20",
  "total":"65",
  "notifications":[
    {
      "id":"2952",
      "type":"notification",
      "action":"comment",
      "datecreated":"2013-11-13 20:55:38",
      "user":{
        "type":"user",
        "id":"31885",
        "email":"[email protected]",
        "name":"Kim Jane",
        "username":"kjane",
        "status":"active"
      },
      "source":{
        "type":"lightbox",
        "id":"39438",
        "name":"Summer publication"
      },
      "subitems":{
        "type":"comment",
        "comment":"I like these images"
      },
      "displaystring":"Kim Jane commented on Summer publication, 'I like these images'"
    },
    {
      "id":"2951",
      "type":"notification",
      "action":"asset_version",
      "datecreated":"2013-11-13 10:32:51",
      "user":{
        "type":"user",
        "id":"31877",
        "email":"[email protected]",
        "name":"Abbey Johnson",
        "username":"ajohn",
        "status":"active"
      },
      "source":{
        "type":"asset",
        "id":"5994050",
        "name":"sales101.ppt",
        "version":"3"
      },
      "displaystring":"Abbey Johnson updated sales101.ppt to version 3"
    },
    {
      "id":"2950",
      "type":"notification",
      "action":"asset_deleted",
      "datecreated":"2013-11-13 09:17:50",
      "user":{
        "type":"user",
        "id":"31877",
        "email":"[email protected]",
        "name":"Abbey Johnson",
        "username":"ajohn",
        "status":"active"
      },
      "subitems":[
        {
          "type":"asset",
          "id":"5994051"
        },
        {
          "type":"asset",
          "id":"5994364"
        }
      ],
      "source":{
        "type":"folder",
        "id":"192518",
        "name":"Custom Icons"
      },
      "displaystring":"Abbey Johnson deleted 2 asset(s) from Custom Icons"
    }
  ]
}

Using the API Reference

EXIF metadata

Field Description
artist Artist
bitspersample Bits Per Sample
colorspace Color Space
componentsconfiguration Components Configuration
compressedbutperpixel Compressed Bits Per Pixel
compression Compression
contrast Contrast
copyright Copyright
customrendered Custom Rendered
datetime Date Time
datetimedigitized Date Time Digitized
datetimeoriginal Date Time Original
digitalzoomratio Digital Zoom Ratio
exifimageheight Exif Image Length
exifimagewidth Exif Image Width
exifoffset Exif Offset
exifversion Exif Version
exposurebiasvalue Exposure Bias Value
exposuremode Exposure Mode
exposureprogram Exposure Program
exposuretime Exposure Time
filesource File Source
flash Flash
flashpixversion Flashpix Version
fnumber F Number
focallength Focal Length
gain control Gain Control
imagedescription Image Description
imagelength Image Length
imageniqueid Image Unique ID
imagewidth Image Width
interoperability Interoperability Index
interoperabilityoffset Interoperability Offset
interoperabilityversion Interoperability Version
isospeedratings ISO Speed Ratings
jpeginterchangeformat JPEG Interchange Format
jpeginterchangeformatlength JPEG Interchange Format Length
lightsource Light Source
make Make
makernote Maker Note
maxaperturevalue Max Aperture Value
meteringmode Metering Mode
model Model
orientation Orientation
photometricinterpretation Photometric Interpretation
pixelxdimension Pixel X Dimension
pixelydimension Pixel Y Dimension
pixelydimension Pixel Y Dimension
planarconfiguration Planar Configuration
primarychromaticities Primary Chromaticities
printimagematching Print Image Matching
referenceblackwhite Reference Black White
relatedsoundfile Related SoundFile
resolutionunit Resolution Unit
rowsperstrip Rows Per Strip
samplesperpixel Samples Per Pixel
saturation Saturation
scenecapturetype Scene Capture Type
sharpness Sharpness
software Software
stripbytecounts Strip Byte Counts
stripoffsets Strip Offsets
subsectime Sub Sec Time
subsectimedigitized Sub Sec Time Digitized
subsectimeoriginal Sub Sec Time Original
tainted Tainted
transferfunction Transfer Function
usercomment User Comment
whitebalance White Balance
whitepoint White Point
winpx-author WinXP-Author
winxp-comments WinXP-Comments
winxp-keywords WinXP-Keywords
winxp-subject WinXP-Subject
winxp-title WinXP-Title
xresolution X Resolution
ycbcrcoefficients YCbCr Coefficients
ycbcrpositioning YCbCr Positioning
ycbcrsubsampling YCbCr SubSampling
yresolution Y Resolution

XMP metadata

Field Description
byline By-line
bytitle By-line title
caption Caption/Abstract
captionwriter Writer/Editor
category Category
city City
contact Contact
copyright Copyright notice
countrycode Country/Primary location
countryname County Name
creatoradrext Creator address
creatoradrpcode Creator postal code
creatorcity Creator City
creatorcountry Creator country
creatoremailwrk Creator email
creatorregion Creator state
creatortelwrk Creator phone
creatorurlwrk Creator website
credate Date created
credit Credit
cretime Time created
customfield1 Custom field 1
customfield2 Custom field 2
customfield3 Custom field 3
custom field4 Custom field 4
customfield5 Custom field 5
customfield6 Custom field 6
customfield7 Custom field 7
customfield8 Custom field 8
customfield9 Custom field 9
customfield10 Custom field 10
customfield11 Custom field 11
customfield12 Custom field 12
customfield13 Custom field 13
customfield14 Custom field 14
customfield15 Custom field 15
customfield16 Custom field 16
customfield17 Custom field 17
customfield18 Custom field 18
customfield19 Custom field 19
customfield20 Custom field 20
datesent Date sent
editstatus edit status
fixture Fixture identifier
headline Headline
imagetype Image type
intelgenre Intellectual genre
isocountrycode ISO country code
keywords Keywords
label label
language Language identifier
marked Marked
objectname Object name
orgprg Originating program
orgtransref Original transmission reference
orientation Image orientation
prgver Program version
rating Rating
reldate Release date
reltime release time
rightsusageterms Rights usage terms
scene Scene
source Source
specinst Special instructions
state Province/State
subcategory Supplemental category
subfile Subfile
subjectcode Subject code
sublocation Sublocation
timesent Time sent
urgency Urgency
usageterms Usage terms
webstatement Copyright info URL

Brand Connect

Getting Brand Portals

GET /brandconnect/brandportals

Curl

curl https://apiv2.webdamdb.com/brandconnect/brandportals

Example Response

Status: 200 OK

{
  "8765": {
      "id": "8765",
      "name": "Brand Playbook",
      "url": "account.webdamdb.com",
      "template_path": "/bp/resources/js/config.webdam.js",
      "skin_path": "/bp/resources/css/default.webdam.css",
      "status": "1",
      "defaultPortal": "1",
      "datecreated": "2017-06-29 22:05:16",
      "datemodified": "2017-07-11 15:06:13",
      "affiliateid": "99999",
      "date_created_unix": "1498799116",
      "date_modified_unix": "1499810773"
  },
  "8766": {
      "id": "8766",
      "name": "Asset Library",
      "url": "account.webdamdb.com",
      "template_path": "/bp/resources/js/config.webdam.js",
      "skin_path": "/bp/resources/css/default.webdam.css",
      "status": "1",
      "defaultPortal": "0",
      "datecreated": "2017-06-29 22:10:03",
      "datemodified": "2017-06-29 22:16:34",
      "affiliateid": "99999",
      "date_created_unix": "1498799403",
      "date_modified_unix": "1498799794"
  }
 }

Getting published assets by Brand Portal

GET /brandconnect/brandportals/:brandportal_id/assets

Curl

curl https://apiv2.webdamdb.com/brandconnect/brandportals/8765/assets?offset=0&limit=1000

Parameters

Parameter Data type Description
limit integer The number of items to return. (Default=1000, Maximum=1000)
offset integer The item number to start with. Default is 0.

Example Response

Status: 200 OK

{
 "brandportal": {
     "id": "8765",
     "name": "Brand Playbook",
     "url": "account.webdamdb.com",
     "template_path": "/bp/resources/js/config.webdam.js",
     "skin_path": "/bp/resources/css/default.webdam.css",
     "status": "1",
     "defaultPortal": "1",
     "datecreated": "2017-06-29 22:05:16",
     "datemodified": "2017-07-11 15:06:13",
     "affiliateid": "99999",
     "date_created_unix": "1498799116",
     "date_modified_unix": "1499810773",
     "items": [
         {
             "objectId": "37721163",
             "objectType": "asset",
             "folderId": "1366682",
             "userId": "145014",
             "firstName": "Joe",
             "lastName": "Smith",
             "userProfile": "https://cdn1.webdamdb.com/40d2a3cc37db1c4c52dd9ab9fc0ac70f/profile_images/0920d0944edab13847b55ca60893af78.jpg?cache=1505866007",
             "statusDate": "2017-07-24 09:29:09",
             "statusDateUnix": "1500938949",
             "status": "published"
         },
         {
             "objectId": "37721244",
             "objectType": "asset",
             "folderId": "1366711",
             "userId": "145014",
             "firstName": "Joe",
             "lastName": "Smith",
             "userProfile": "https://cdn1.webdamdb.com/40d2a3cc37db1c4c52dd9ab9fc0ac70f/profile_images/0920d0944edab13847b55ca60893af78.jpg?cache=1505866007",
             "statusDate": "2017-08-03 09:43:02",
             "statusDateUnix": "1501803782",
             "status": "published"
         },
         ...
     ]
 },
 "offset": 0,
 "limit": 1000
}

Getting published assets by Brand Portal, Folder

GET /brandconnect/brandportals/:brandportal_id/folders/:folder_id/assets

Curl

curl https://apiv2.webdamdb.com/brandconnect/brandportals/8765/folders/1366711/assets?offset=0&limit=1000

Parameters

Parameter Data type Description
limit integer The number of items to return. (Default=1000, Maximum=1000)
offset integer The item number to start with. Default is 0.

Example Response

Status: 200 OK

{
 "brandportal": {
     "id": "8765",
     "name": "Brand Playbook",
     "url": "account.webdamdb.com",
     "template_path": "/bp/resources/js/config.webdam.js",
     "skin_path": "/bp/resources/css/default.webdam.css",
     "status": "1",
     "defaultPortal": "1",
     "datecreated": "2017-06-29 22:05:16",
     "datemodified": "2017-07-11 15:06:13",
     "affiliateid": "99999",
     "date_created_unix": "1498799116",
     "date_modified_unix": "1499810773",
     "folder": {
         "id": "1366711",
         "name": "Images",
         "parent": "1366710",
         "status": "active",
         "datecreated": "2017-04-07 07:13:04",
         "items": [
             {
                 "objectId": "37721241",
                 "objectType": "asset",
                 "folderId": "1366711",
                 "userId": "145014",
                 "firstName": "Joe",
                 "lastName": "Smith",
                 "userProfile": "https://cdn1.webdamdb.com/40d2a3cc37db1c4c52dd9ab9fc0ac70f/profile_images/0920d0944edab13847b55ca60893af78.jpg?cache=1505866007",
                 "statusDate": "2017-08-03 09:43:02",
                 "statusDateUnix": "1501803782",
                 "status": "published"
             },
             {
                 "objectId": "37721244",
                 "objectType": "asset",
                 "folderId": "1366711",
                 "userId": "145014",
                 "firstName": "Joe",
                 "lastName": "Smith",
                 "userProfile": "https://cdn1.webdamdb.com/40d2a3cc37db1c4c52dd9ab9fc0ac70f/profile_images/0920d0944edab13847b55ca60893af78.jpg?cache=1505866007",
                 "statusDate": "2017-08-03 09:43:02",
                 "statusDateUnix": "1501803782",
                 "status": "published"
             },
             ...
         ]
     }
 },
 "offset": 0,
 "limit": 1000
}

Publishing an asset

PUT /brandconnect/brandportals/:brandportal_id/assets/:asset_id

Curl

curl https://apiv2.webdamdb.com/brandconnect/brandportals/8765/assets/37721161 -X PUT

To publish multiple assets at once:

curl https://apiv2.webdamdb.com/brandconnect/brandportals/8765/assets -d '{"asset_ids": ["37721161", "37721162", "37721163"]}' -X PUT

Example Responses:

Status: 200 OK

Asset was successfully published to the given brand portal. When multiple assets are included, 200 HTTP response code is returned if at least one of the assets was published.

Status: 400 Bad Request

400 HTTP response code is returned if the asset being published is inactive, or any of its parent folders is inactive.

[
 {
     "id": "8765",
     "name": "Brand Playbook",
     "url": "account.webdamdb.com",
     "template_path": "/bp/resources/js/config.webdam.js",
     "skin_path": "/bp/resources/css/default.webdam.css",
     "status": "1",
     "datecreated": "2016-08-16 08:08:56",
     "datemodified": "2017-07-10 08:17:18",
     "affiliateid": "99999",
     "date_created_unix": "1471385336",
     "date_modified_unix": "1499725038",
     "publishingStatus": {
         "objectId": "37721161",
         "objectType": "asset",
         "userId": "944922",
         "firstName": "First",
         "lastName": "Last",
         "userProfile": "https://cdn1.webdamdb.com/40d2a3cc37db1c4c52dd9ab9fc0ac70f/profile_images/d2a72db547b2c334848ea1109541336c.jpg?cache=1500925802",
         "statusDate": "2017-07-24 05:50:01",
         "statusDateUnix": "1500925801",
         "status": "published"
     }
 }
]

Unpublishing an asset

DELETE /brandconnect/brandportals/:brandportal_id/assets/:asset_id

Curl

curl https://apiv2.webdamdb.com/brandconnect/brandportals/8765/assets/37721161 -X DELETE

To un-publish multiple assets at once:

curl https://apiv2.webdamdb.com/brandconnect/brandportals/8765/assets -d '{"asset_ids": ["37721161", "37721162", "37721163"]}' -X DELETE

Example Responses:

Status: 200 OK

The asset was successfully unpublished from the given brand portal. When multiple assets are included, 200 HTTP response code is returned if at least one of the assets was unpublished.

Status: 400 Bad Request

A 400 HTTP response code is returned IF the asset being unpublished has not been previously published.

Embeddables