If the standard PUT, PATCH and DELETE methods cannot adequately describe an operation on a resource the operation may itself be treated as a resource and the endpoint URLs will reflect this accordingly.
For example making a POST to /asset-uploads returns an AssetUpload resource which describes the URL(s) the client should PUT the binary data to upload a file to an asset.
If an operation is unlikely to complete via a synchronous REST call, or asynchronous behaviour is simply preferable, job resource endpoints may provided for the operation.
Created job resources can then be periodically polled to Get the status of the operation.
Such endpoints can be expected to contain a job qualifier. e.g /asset-download-jobs and /asset-download-jobs/{id}
All job resources can be expected to conform to a polymorphic job structure with common properties such as id, progress and type specific properties such as dateCompleted for successfully completed jobs.
If an operation can be applied to multiple resources an endpoint may provided to create a batch resource for the operation.
Such endpoints can be expected to contain a batch qualifier.
As batch operations almost always need to be asynchronous you can expect to see both qualifiers in the endpoint URL e.g /asset-download-batch-jobs and /asset-download-batch-jobs/{id}.
You should read the OAuth2 section if you want to set up programmatic API access to Dash. However, if you just want to try out an API endpoint, or want to request your client ID and secret (required for OAuth2 below), you can get a short-lived bearer token:
This token can be used to try out an endpoint directly from these docs. Just click "Try it..." in the right-hand panel and enter your token in the "Auth" tab.
Dash uses OAuth 2.0 for authorisation. A good overview of OAuth 2.0 can be found here.
Endpoints:
Scopes to note:
subdomain:my-accountAudience:
An query parameter of audience=https://assetplatform.io must be provided to the https://login.dash.app/authorize endpoint
To obtain your client ID and secret, follow the steps above to get a temporary bearer token and use this to create custom integration settings. The response you receive from the custom integrations settings endpoint will include your client ID and secret.
To begin the flow, send your user in a browser to to
Once the user successfully authenticates, they will be redirected to your redirect_uri with the Authorization Code provided in a query parameter.
Now that you have an Authorization Code, you must exchange it for your tokens via the https://login.dash.app/oauth/token endpoint
curl --request POST \
--url 'https://login.dash.app/oauth/token' \
--header 'content-type: application/x-www-form-urlencoded' \
--data grant_type=authorization_code \
--data 'client_id={YOUR_CLIENT_ID}' \
--data 'client_secret={YOUR_CLIENT_SECRET}' \
--data 'code={CODE_FROM_PREVIOUS_STEP}' \
--data 'redirect_uri={YOUR_REDIRECT}'A more detailed description of the Authorization Code Flow can be found here
Due to security concerns, neither OAuth grant types Client Credentials or Password are supported by the Dash API.
If you require an automated script to call the Dash API, we recommend going through the Authorization Code Flow described above once, specifying the offline_access scope to get a refresh token along with your access token. Your script can store and use this refresh token to call https://login.dash.app/oauth/token and get a new access token when the current one expires.
The Bearer Token is a standard JWT token so can be useful to decode in some cases.
For example, the sub field of the Bearer Token can be used in cases where you need access to the User.id of the current user.
e.g. When making an AssetSearch with the STAGED_BY criterion to find all Asset resources staged by the current user.
Alternatively the GET Current User endpoint contains properties for the current user to avoid needing to decode the Bearer Token.
In most responses from the Dash API you will find a permittedActions property alongside a result property which contains the resource.
This is to provide context for operations the current user is permitted to perform on that resource.
If an expected permitted action is not included in the permittedActions property then the current user does not have permission to perform the action.
The GET Current User endpoint houses permitted actions which are not associated with a specific API resource instance.
e.g. If the current user has permission to create new Asset resources then the GET Current User permittedActions property will contain the permitted action ASSETS : CREATE_ASSETS.
Asset.metadata consists of a map of String to String[]
The keys for map are Field IDs. Full details, including the field name, can be got via the GET Field endpoint or the full list of fields for an account can be retrieved via the GET Fields endpoint.
The map values are a list of plain text values if Field.hasFixedOptions = false or a list of FieldOption IDs if Field.hasFixedOptions = true
Where Field.hasFixedOptions = true details, including the field option name, can be got via the GET Field Option endpoint.
Where Field.hierarchical = true the complete branch of the tree will be returned and can be constructed via the FieldOption.parent property.
The full list of fields for an account can be retrieved via the GET Fields endpoint.
Where Field.hasFixedOptions = true the POST Field Option Searches endpoint can be used to get the available options.
Where Field.hierarchical = true you should start with a PARENT_ID FIELD_IS_EMPTY query to get the top level options and then PARENT_ID FIELD_EQUALS queries to get each sub-level.
A Folder in Dash is simply a FieldOption, for the built-in Folders Field. To determine the ID of the Folders Field, use the Folder Settings endpoint. Once you have this ID, Folders behave the same as any other Field.
For getting the folder tree see Getting fields and field options for asset metadata and Getting the full schema of fields and field options
For getting assets in folders see AssetSearch
For getting assets in no folders see the Search for field is empty example in the POST Asset Searches endpoint.
Assets are the main resources in Dash. An asset consists of a file, some fixed properties (such as the date the asset was added to Dash) and custom metadata.
To create new assets and upload files:
AssetUpload resources in the job's result property. For each file you want to upload:AssetUploadPart.etag property from the response of each PUT request and use them to complete the upload via the (POST Asset Upload Completion)(#operation/postAssetUploadCompletion)STAGED. Use the POST Asset lifecycle transition batch job endpoint if you'd like to change the state of the assets (e.g. to PENDING_APPROVAL or LIVE).AssetUpload via the POST Asset Upload endpointAssetUploadPart.etag property from the response of each PUT request and use them to complete the upload via the (POST Asset Upload Completion)(#operation/postAssetUploadCompletion)The current AssetFile for an Asset is returned in the Asset resource via the Asset.currentFile property.
The GET Asset Files endpoint can be used to get all AssetFile resources for an Asset
Edit the contents of one or more Asset.metadata map properties via the POST Asset Metadata Edit Batch Job endpoint and check on the progress and status of the edit via the GET Asset Metadata Edit Batch Job endpoint.
ASSOCIATED_WITH_USER criterion of the POST Collection Search endpoint to get all collections a user has access to.Asset resources in each collection see the All assets in a collection and Search within assets in a collection examples in the POST Asset Searches endpoint for how to specify the Collection.id in a COLLECTIONS : FIELD_EQUALS criterion.See the Search by file extension and Search by multiple file extensions example in the POST Asset Searches endpoint
The following date properties exist on an asset and can be supplied as FIXED field criteria in the POST Asset Searches endpoint
Asset.lifecycleStatus.dateStaged : The datetime the Asset was created but not yet live. DATE_STAGED in search criteria.Asset.lifecycleStatus.datePendingApproval : The datetime the Asset was set for approval (if it was). DATE_PENDING_APPROVAL in search criteria.Asset.lifecycleStatus.dateLive : The datetime the Asset was put live. DATE_LIVE in search criteria.Asset.currentAssetFile.dateAdded : The datetime the latest AssetFile was added. DATE_LAST_ASSET_FILE_ADDED in search criteria.Asset.dateLastModified : The datetime the any change was made to an Asset. This includes all of the above and any change to custom metadata DATE_LAST_MODIFIED in search criteria.There is currently no way to determine if only custom metadata has changes.
Several breaking changes have been introduced in the switch from V1 to V2, which are all the result of three changes.
brightdash.app to dash.app. All URLs used to access the API, including for authorisation, should be updated to the new domain.Attribute has been renamed to Field throughout, to mirror the change of terminology within the Dash frontend.All these changes are described in more specific detail below.
asset-staging-workflow-transition-batch-jobs to asset-lifecycle-transition-batch-jobs.criterion in the POST body has become selector, and the criterion now needs to be wrapped in the following {"type": "BY_CRITERION", "criterion": {...}}.For both scroll and paged searches:
criterion.field.fieldName and sorts.field.fieldName values have been renamed:DATE_ADDED -> DATE_LIVEADDED_BY -> STAGED_BYstagingStatus, addedBy, and dateAdded fields have been removed from the response. This data can now be found in the lifecycleStatus field.criterion in the POST body has become selector, and the criterion now needs to be wrapped in the following {"type": "BY_CRITERION", "criterion": {...}}.criterion in the POST body has become selector, and the criterion now needs to be wrapped in the following {"type": "BY_CRITERION", "criterion": {...}}.searchField field of search filter results of type HARD_CODED_FREE_OPTION have changed from DATE_ADDED to DATE_LIVE. This isn't really a breaking change as the specification says this field could return any string, but it feels worth mentioning.criterion.field.fieldName and sorts.field.fieldName values have been renamed for both POSTing and GETting SavedSearches:DATE_ADDED -> DATE_LIVEADDED_BY -> STAGED_BYAttribute has been replaced with the string Field throughout. This includes e.g. AttributeOption being renamed to FieldOption. A simple find and replace should be enough to migrate.Coming soon; contact us if you need access to this API endpoint.
Create a new PubliclyAvailableAccountData.
This endpoint is unauthenticated. Do not send a Bearer Token in the Authorization Header
| from required | integer Default: 0 The item number to begin the result set from |
| pageSize required | integer Default: 100 The maximum number of items to return in the result set |
required | any (PubliclyAvailableAccountDataSearchCriterion) |
| sorts required | Array of objects This search does not accept any sorts, but has the sorts parameter anyway to fit in with other searches. You must always provide an empty list for this parameter. |
{- "from": 0,
- "pageSize": 100,
- "criterion": {
- "type": "FIELD_EQUALS",
- "value": "Folder",
- "field": "SUBDOMAIN"
}, - "sorts": [ ]
}{- "results": [
- {
- "result": {
- "id": "cfb665ca-ce35-4418-b9d5-70ee815db4bd",
- "subdomain": "planto",
- "accentColour": "#333666",
}, - "permittedActions": [
- {
- "resourceType": "ASSET",
- "resourceId": "7af90a8b-7ccd-430f-a85d-e8614015bc47",
- "action": "VIEW_ASSET"
}
]
}
], - "totalResults": 15
}Coming soon; contact us if you need access to this API endpoint.
Coming soon; contact us if you need access to this API endpoint.
Coming soon; contact us if you need access to this API endpoint.
For the most part Folders in Dash are just like any custom Field with Field.hasFixedOptions = true, Field.hierarchical = true and Field.multiValue = true.
The Folders Field also has the following behaviour.
Field.indestructable = trueAsset permissions for a UserGroup (currently only configurable via the Dash frontend, not via the API)Field appears on your Dash app homepage.Folder Settings specify the Field.id of the Folders Field in your Dash.
curl -i -X GET \ https://api-v2.dash.app/folder-settings \ -H 'Authorization: Bearer <YOUR_JWT_HERE>'
{- "result": {
- "accountId": "cfb665ca-ce35-4418-b9d5-70ee815db4bd",
- "fieldId": "7756d388-110c-4712-b350-0b2b48e156c1"
}, - "permittedActions": [
- {
- "resourceType": "ASSET",
- "resourceId": "7af90a8b-7ccd-430f-a85d-e8614015bc47",
- "action": "VIEW_ASSET"
}
]
}Coming soon; contact us if you need access to this API endpoint.
Create a new PresetTransformationSearch. This is most commonly used for finding presets that are applicable to a set of assets, so that one can be selected for use to create some AssetDownloads.
| from required | integer Default: 0 The item number to begin the result set from |
| pageSize required | integer Default: 100 The maximum number of items to return in the result set |
any (PresetTransformationSearchCriterion) | |
Array of objects (PresetTransformationSort) Sorts to be applied to the search in order of precedence |
{- "from": 0,
- "pageSize": 100,
- "criterion": {
- "type": "AND",
- "criteria": [
- {
- "type": "APPLICABLE_FOR_ANY_ASSETS",
- "assetIds": [
- "2b746f61-d36d-4627-a547-936f6f20594b"
]
}, - {
- "type": "NOT",
- "criterion": {
- "type": "HAS_TRANSFORMATION_OF_TYPE",
- "transformationType": "CROP"
}
}
]
}, - "sorts": [ ]
}{- "results": [
- {
- "result": {
- "id": "a060635d-5807-4115-a2ed-f0588d47e7ba",
- "accountId": "cfb665ca-ce35-4418-b9d5-70ee815db4bd",
- "name": "Medium",
- "position": 1,
- "candidatePresetTransformations": [
- {
- "criteria": [
- {
- "type": "MATCHES_MEDIA_TYPES",
- "mediaTypes": [
- {
- "type": "image",
- "subType": "*"
}, - {
- "type": "application",
- "subType": "psd"
}
]
}, - {
- "type": "IS_TRANSPARENT",
- "isTransparent": true
}
], - "transformationTemplate": [
- {
- "type": "RESIZE",
- "width": 1200,
- "height": 1200
}, - {
- "type": "CONVERT",
- "mediaType": {
- "type": "image",
- "subType": "png"
}
}
]
}, - {
- "criteria": [
- {
- "type": "MATCHES_MEDIA_TYPES",
- "mediaTypes": [
- {
- "type": "image",
- "subtype": "*"
}, - {
- "type": "application",
- "subtype": "psd"
}
]
}, - {
- "type": "IS_TRANSPARENT",
- "isTransparent": false
}
], - "transformationTemplate": [
- {
- "type": "RESIZE",
- "width": 1200,
- "height": 1200
}, - {
- "type": "CONVERT",
- "mediaType": {
- "type": "image",
- "subType": "jpeg"
}
}
]
}
]
}, - "permittedActions": [ ]
}, - {
- "result": {
- "id": "917087a6-8f76-4e77-be14-1ac637637c69",
- "accountId": "cfb665ca-ce35-4418-b9d5-70ee815db4bd",
- "name": "Large",
- "position": 2,
- "candidatePresetTransformations": [
- {
- "criteria": [
- {
- "type": "MATCHES_MEDIA_TYPES",
- "mediaTypes": [
- {
- "type": "image",
- "subType": "*"
}, - {
- "type": "application",
- "subType": "psd"
}
]
}, - {
- "type": "IS_TRANSPARENT",
- "isTransparent": true
}
], - "transformationTemplate": [
- {
- "type": "RESIZE",
- "width": 1200,
- "height": 1200
}, - {
- "type": "CONVERT",
- "mediaType": {
- "type": "image",
- "subType": "png"
}
}
]
}, - {
- "criteria": [
- {
- "type": "MATCHES_MEDIA_TYPES",
- "mediaTypes": [
- "image/*",
- "application/psd"
]
}, - {
- "type": "IS_TRANSPARENT",
- "isTransparent": false
}
], - "transformationTemplate": [
- {
- "type": "RESIZE",
- "width": 2500,
- "height": 2500
}, - {
- "type": "CONVERT",
- "mediaType": {
- "type": "image",
- "subType": "jpeg"
}
}
]
}
]
}, - "permittedActions": [ ]
}
], - "totalResults": 2
}The Search Filter View defines which filters appear, and the order in which they appear, in the left hand filter bar on the search page in the Dash frontend. These filters are used to build search criteria.
Filters either refer to a Field in your Dash or a one of a subset of the fixed search fields available in the search API (currently DATE_LIVE, FILE_TYPE or STAGED)
Get the SearchFilter resources that have been configured as in use
curl -i -X GET \ https://api-v2.dash.app/search-filter-view \ -H 'Authorization: Bearer <YOUR_JWT_HERE>'
{- "accountId": "cfb665ca-ce35-4418-b9d5-70ee815db4bd",
- "searchFilters": [
- {
- "type": "FIELD",
- "id": "502d1473-f047-4a2c-9885-16274e4407b9",
- "accountId": "cfb665ca-ce35-4418-b9d5-70ee815db4bd",
- "fieldId": "88eb1aca-cf98-4e87-9165-33e7be8b1ea1",
- "allowEmpty": true
}, - {
- "type": "HARD_CODED_FIXED_OPTION",
- "id": "cb8ad3d9-0c26-4f0e-9884-585d24a86d59",
- "accountId": "cfb665ca-ce35-4418-b9d5-70ee815db4bd",
- "searchField": "FILE_TYPE",
- "allowEmpty": false,
- "name": "File Type",
- "options": [
- "Image",
- "Video",
- "Audio",
- "Document",
- "Other"
]
}, - {
- "type": "HARD_CODED_FREE_OPTION",
- "id": "5c02e3a0-57f2-4576-b41c-a0a4e30688bd",
- "accountId": "cfb665ca-ce35-4418-b9d5-70ee815db4bd",
- "searchField": "DATE_LIVE",
- "name": "Date Added",
- "dataType": "DATE_TIME",
- "allowEmpty": false
}, - {
- "type": "HARD_CODED_USER",
- "id": "246b1496-61d3-4b23-ad8e-d6dc990e9ef6",
- "accountId": "cfb665ca-ce35-4418-b9d5-70ee815db4bd",
- "searchField": "STAGED_BY",
- "name": "Added by",
- "allowEmpty": false
}
]
}Configure a SearchFilter resource as in-use
| searchFilterId required | string Unique ID of the |
| position required | number The zero-based display position of this |
{- "searchFilterId": "4cb261ad-dffb-414e-89cf-6902e3031d44",
- "position": 0
}{- "accountId": "cfb665ca-ce35-4418-b9d5-70ee815db4bd",
- "searchFilters": [
- {
- "type": "FIELD",
- "id": "502d1473-f047-4a2c-9885-16274e4407b9",
- "accountId": "cfb665ca-ce35-4418-b9d5-70ee815db4bd",
- "fieldId": "88eb1aca-cf98-4e87-9165-33e7be8b1ea1",
- "allowEmpty": true
}, - {
- "type": "HARD_CODED_FIXED_OPTION",
- "id": "cb8ad3d9-0c26-4f0e-9884-585d24a86d59",
- "accountId": "cfb665ca-ce35-4418-b9d5-70ee815db4bd",
- "searchField": "FILE_TYPE",
- "allowEmpty": false,
- "name": "File Type",
- "options": [
- "Image",
- "Video",
- "Audio",
- "Document",
- "Other"
]
}, - {
- "type": "HARD_CODED_FREE_OPTION",
- "id": "5c02e3a0-57f2-4576-b41c-a0a4e30688bd",
- "accountId": "cfb665ca-ce35-4418-b9d5-70ee815db4bd",
- "searchField": "DATE_LIVE",
- "name": "Date Added",
- "dataType": "DATE_TIME",
- "allowEmpty": false
}, - {
- "type": "HARD_CODED_USER",
- "id": "246b1496-61d3-4b23-ad8e-d6dc990e9ef6",
- "accountId": "cfb665ca-ce35-4418-b9d5-70ee815db4bd",
- "searchField": "STAGED_BY",
- "name": "Added by",
- "allowEmpty": false
}
]
}Change the display position of a SearchFilter resource in the search filter view
| id required | string The unique ID of the |
| position | number Nullable The zero-based display position of this |
{- "position": 0
}{- "accountId": "cfb665ca-ce35-4418-b9d5-70ee815db4bd",
- "searchFilters": [
- {
- "type": "FIELD",
- "id": "502d1473-f047-4a2c-9885-16274e4407b9",
- "accountId": "cfb665ca-ce35-4418-b9d5-70ee815db4bd",
- "fieldId": "88eb1aca-cf98-4e87-9165-33e7be8b1ea1",
- "allowEmpty": true
}, - {
- "type": "HARD_CODED_FIXED_OPTION",
- "id": "cb8ad3d9-0c26-4f0e-9884-585d24a86d59",
- "accountId": "cfb665ca-ce35-4418-b9d5-70ee815db4bd",
- "searchField": "FILE_TYPE",
- "allowEmpty": false,
- "name": "File Type",
- "options": [
- "Image",
- "Video",
- "Audio",
- "Document",
- "Other"
]
}, - {
- "type": "HARD_CODED_FREE_OPTION",
- "id": "5c02e3a0-57f2-4576-b41c-a0a4e30688bd",
- "accountId": "cfb665ca-ce35-4418-b9d5-70ee815db4bd",
- "searchField": "DATE_LIVE",
- "name": "Date Added",
- "dataType": "DATE_TIME",
- "allowEmpty": false
}, - {
- "type": "HARD_CODED_USER",
- "id": "246b1496-61d3-4b23-ad8e-d6dc990e9ef6",
- "accountId": "cfb665ca-ce35-4418-b9d5-70ee815db4bd",
- "searchField": "STAGED_BY",
- "name": "Added by",
- "allowEmpty": false
}
]
}Configure a SearchFilter resource as not in-use
| id required | string The unique ID of the |
curl -i -X DELETE \ https://api-v2.dash.app/search-filter-view/search-filters/:id \ -H 'Authorization: Bearer <YOUR_JWT_HERE>'
{- "accountId": "cfb665ca-ce35-4418-b9d5-70ee815db4bd",
- "searchFilters": [
- {
- "type": "FIELD",
- "id": "502d1473-f047-4a2c-9885-16274e4407b9",
- "accountId": "cfb665ca-ce35-4418-b9d5-70ee815db4bd",
- "fieldId": "88eb1aca-cf98-4e87-9165-33e7be8b1ea1",
- "allowEmpty": true
}, - {
- "type": "HARD_CODED_FIXED_OPTION",
- "id": "cb8ad3d9-0c26-4f0e-9884-585d24a86d59",
- "accountId": "cfb665ca-ce35-4418-b9d5-70ee815db4bd",
- "searchField": "FILE_TYPE",
- "allowEmpty": false,
- "name": "File Type",
- "options": [
- "Image",
- "Video",
- "Audio",
- "Document",
- "Other"
]
}, - {
- "type": "HARD_CODED_FREE_OPTION",
- "id": "5c02e3a0-57f2-4576-b41c-a0a4e30688bd",
- "accountId": "cfb665ca-ce35-4418-b9d5-70ee815db4bd",
- "searchField": "DATE_LIVE",
- "name": "Date Added",
- "dataType": "DATE_TIME",
- "allowEmpty": false
}, - {
- "type": "HARD_CODED_USER",
- "id": "246b1496-61d3-4b23-ad8e-d6dc990e9ef6",
- "accountId": "cfb665ca-ce35-4418-b9d5-70ee815db4bd",
- "searchField": "STAGED_BY",
- "name": "Added by",
- "allowEmpty": false
}
]
}Coming soon; contact us if you need access to this API endpoint.
Coming soon; contact us if you need access to this API endpoint.
Coming soon; contact us if you need access to this API endpoint.
Create a new ThemeSearch. This can be used to search for a theme by subdomain.
This endpoint is unauthenticated. Do not send a Bearer Token in the Authorization Header
| from required | integer Default: 0 The item number to begin the result set from |
| pageSize required | integer Default: 100 The maximum number of items to return in the result set |
required | any (ThemeSearchCriterion) |
| sorts required | Array of objects This search does not accept any sorts, but has the sorts parameter anyway to fit in with other searches. You must always provide an empty list for this parameter. |
{- "from": 0,
- "pageSize": 100,
- "criterion": {
- "type": "string",
- "value": "Folder",
- "field": "SUBDOMAIN"
}, - "sorts": [ ]
}{- "results": [
- {
- "result": {
- "accentColour": "#333666",
- "showRecentlyAddedAssets": true,
- "contextType": "ACCOUNT",
- "contextId": "cfb665ca-ce35-4418-b9d5-70ee815db4bd"
}, - "permittedActions": [
- {
- "resourceType": "ASSET",
- "resourceId": "7af90a8b-7ccd-430f-a85d-e8614015bc47",
- "action": "VIEW_ASSET"
}
]
}
], - "totalResults": 15
}Coming soon; contact us if you need access to this API endpoint.
An Asset is the main resource in Dash. It consists of:
AssetFile resources, detailing the versions of a file for an Asset. Only the current AssetFile for an Asset is returned with the Asset resource. Use GET Asset Files to retrieve all AssetFile resources for an AssetAsset.metadata which defines the assigned values for this Asset for Field resourcesaddedBy the User.id of whoever added the AssetFor the sake of performance any Field and FieldOption resources referenced in the Asset.metadata.values will need to be retrieved separately, if required.
Searching allows you to find Asset resources in your Dash matching specific criteria.
Criteria can be constructed based on direct comparison or pattern matching of fields, where fields are either Asset.metadata.values or certain fixed Asset properties.
The fixed KEYWORDS field can be used for a general purpose search as it will search across all Asset.metadata.values and fixed Asset properties.
For searches involving Field resources where Field.hasFixedOptions = true a search using either the FieldOption.id or FieldOption.name will match.
Any Asset which is assigned an FieldOption.id value for a Field resource where Field.hierarchical = true implicitly has the values of any parent FieldOption resources too.
As such, any search using the parents FieldOption.id or FieldOption.name will match the Asset.
e.g. Given the hierarchical FieldOption structure Grandparent / Parent / Child, an Asset assigned the FieldOption.id of Child will also be returned in searches for Parent or Grandparent.
The logical operators AND, OR and NOT are provided to support complex queries based on multiple fields.
A list of sorts can also be provided to control the order in the which the results are returned.
The action property of a search, which defaults to SEARCH_FOR_VIEW, specifies the context in which the search is being run. For example if you only want to return Asset resources that the search User has permission to delete then set the action to be SEARCH_FOR_DELETE.
By default, searches will only returns results where
Asset.lifecycleStatus.state = 'LIVE'. If you require search results to contain results with other state values, this needs to be explicitly included in the criteria.
Two kinds of search are possible, a standard AssetSearch and a AssetScrollSearch.`
Dash provides a simple lifecycle for Asset resources to facilitate review and approval before they are accessible to other users, and also keep them BINNED after deletion so they can be retrieved.
The lifecycle has four states
Depending on the Asset.lifecycleStatus.state value an Asset resources will only be visible to certain users.
Asset resources begin in the STAGED state.
While in the STAGED state Asset resources are only visible to the user who created the Asset and users where User.isAdmin = true.
A User with permission to create new Asset resources may not have the permission to move it to the LIVE state.
While in the PENDING_APPROVAL state Asset resources are only visible to users where User.isAdmin = true.
Once in the LIVE state Asset resources visibility is defined by UserGroup permissions (currently only configurable via the Dash frontend, not via the API)
User can change the state of Assets to BINNED when the Asset is LIVE. A BINNED Asset can be restored to LIVE.
An AssetFile describes a version of a file for an Asset.
Properties describe details of the file such as mediaType and dimensions (for images and videos).
A previewUrl provides a means to access previews of the AssetFile
The current AssetFile for an Asset is returned with the Asset resource.
The AssetFile.id can be provided when creating an AssetDownload to download a specific AssetFile for an Asset.
An AssetUpload resource is created when you want to upload a file to an Asset.
Upon completion a new AssetFile is created and will subsequently be returned in Asset.currentAssetFile.
You can use GET Asset Files to retrieve the all AssetFile resources for an Asset.
The AssetUpload resource defines one or more URLs to which parts of the file should be PUT to.
Below is an example CURL PUT request that could be used to upload a local file part to an upload part URL taken from an AssetUpload:
curl --request PUT '<UPLOAD_PART_URL>' \
--header 'Content-Length: <SIZE_OF_PART>' \
--header 'Content-Type: <FILE_CONTENT_TYPE>' \
--data '@<PATH_TO_FILE_PART>'The upload is then completed by sending a list of the eTags returned from each of these PUTs to AssetUploadComplete
Get an Asset
| id required | string The unique ID of the |
curl -i -X GET \ https://api-v2.dash.app/assets/:id \ -H 'Authorization: Bearer <YOUR_JWT_HERE>'
{- "result": {
- "id": "7af90a8b-7ccd-430f-a85d-e8614015bc47",
- "accountId": "cfb665ca-ce35-4418-b9d5-70ee815db4bd",
- "lifecycleStatus": {
- "state": "STAGED",
- "dateStaged": "2021-02-15T09:24:01.417Z",
- "stagedBy": "google-oauth2|110457667287511486432",
- "stagedBatchPosition": 0
}, - "dateLastModified": "2021-02-17T09:24:01.417Z",
- "metadata": {
- "version": 11,
- "values": {
- "a52b5315-15b8-417f-b742-d6902108bac1": [
- "A view from a mountain"
], - "f992794c-85db-11eb-8dcd-0242ac130003": [
- "Outdoors",
- "Mountain",
- "Snow"
], - "219bc1fa-85dc-11eb-8dcd-0242ac130003": [
- "a32fe863-0a1d-4b54-990a-b094139cf81c",
- "0e1bddba-9339-4e6e-b5ae-3adc60ad927a"
]
}
}, - "currentAssetFile": {
- "id": "e2b03444-8c5d-44ed-bd9f-7eee882bdf81",
- "assetId": "7af90a8b-7ccd-430f-a85d-e8614015bc47",
- "size": 44040192,
- "filename": "a_file.jpg",
- "checksum": "120EA8A25E5D487BF68B5F7096440019",
- "dateAdded": "2021-02-15T09:26:01.417Z",
- "fileType": "IMAGE",
- "dimensions": {
- "width": 800,
- "height": 600
}, - "orientation": "PORTRAIT",
- "orientationTransformation": "HORIZONTAL",
- "duration": null,
- "usesTransparency": false,
- "mediaType": {
- "type": "image",
- "subType": "jpeg"
}, - "gpsLocation": {
- "latitude": 50.8256345,
- "longitude": -0.143761
},
}, - "stats": {
- "downloadCount": 42
}, - "contextComments": {
- "property1": {
- "count": 4
}, - "property2": {
- "count": 4
}
}, - "origin": {
- "type": "GUEST_UPLOAD",
- "guestUploadId": "55f9964c-095d-4b8b-bb5e-4118d2e76ad0",
- "temporarySessionId": "431263a2-a84a-4a35-86a1-c9a1ea435600"
}
}, - "permittedActions": [
- {
- "resourceType": "ASSET",
- "resourceId": "7af90a8b-7ccd-430f-a85d-e8614015bc47",
- "action": "VIEW_ASSET"
}
]
}| id required | string The unique ID of the |
curl -i -X DELETE \ https://api-v2.dash.app/assets/:id \ -H 'Authorization: Bearer <YOUR_JWT_HERE>'
{- "timestamp": "2021-02-16T16:21:58.640+00:00",
- "status": 401,
- "error": "Unauthorized",
- "message": null,
- "path": "/folder-settings"
}Patch an Asset
| id required | string The unique ID of the |
| currentAssetFileId | string Nullable The ID of the current |
{- "currentAssetFileId": "e2b03444-8c5d-44ed-bd9f-7eee882bdf81"
}{- "timestamp": "2021-02-16T16:21:58.640+00:00",
- "status": 401,
- "error": "Unauthorized",
- "message": null,
- "path": "/folder-settings"
}An AssetAndUploadBatchJob should be created when you want to create multiple Asset resources and also create an AssetUpload for each of them.
Each asset can be uploaded in a single part or in multiple parts. If the filesize is less than 5MiB then it must be uploaded in a single part. If the filesize is greater than 5GiB then it must be uploaded in multiple parts, each smaller than 5GiB.
The AssetUpload resources in the completed job should then be used to upload the files for each and asset and complete each upload.
After the Asset resources have been created and files uploaded to them they will still be in Asset.lifecycleStatus.state = 'STAGED'.
To send them for approval or put them live see Asset Lifecycle.
required | Array of objects (AssetAndUploadBatchRequestItem) |
{- "items": [
- {
- "batchItemId": "my-item-1",
- "path": "/Folder A/Folder D/a_file.jpg",
- "size": 15318362,
- "partSize": 7000000,
- "partUrlsRequest": {
- "uploadId": "5a2481e0-819f-4b46-a7e6-143f943345f2",
- "urlRequests": [
- {
- "partNumber": 2,
- "contentMd5": "86fb269d190d2c85f6e0468ceca42a20"
}
]
}
}
]
}{- "id": "be161977-d44e-4888-af3c-66522e223963",
- "accountId": "cfb665ca-ce35-4418-b9d5-70ee815db4bd",
- "creatorId": "google-oauth2|110955770826801837334",
- "type": "IN_PROGRESS",
- "progress": {
- "steps": [
- {
- "name": "STEP_NAME",
- "status": "STARTED",
- "completedItems": 0,
- "totalItems": 2
}
]
}, - "status": "PENDING"
}Get the status and eventual result of an AssetAndUploadBatchJob
| id required | string The unique ID of the |
curl -i -X GET \ https://api-v2.dash.app/asset-and-upload-batch-jobs/:id \ -H 'Authorization: Bearer <YOUR_JWT_HERE>'
{- "id": "be161977-d44e-4888-af3c-66522e223963",
- "accountId": "cfb665ca-ce35-4418-b9d5-70ee815db4bd",
- "creatorId": "google-oauth2|110955770826801837334",
- "type": "COMPLETED",
- "progress": {
- "steps": [
- {
- "id": "assetAndUploadGetJobItemsStep",
- "status": "COMPLETED",
- "completedItems": 2,
- "totalItems": 2
}, - {
- "id": "assetAndUploadProcessJobItemsStep",
- "status": "COMPLETED",
- "completedItems": 2,
- "totalItems": 2
}
]
}, - "dateCompleted": "2021-02-15T09:24:01.417Z",
- "result": {
- "successes": {
- "file-1": {
- "result": {
- "id": "5a2481e0-819f-4b46-a7e6-143f943345f2",
- "assetId": "7af90a8b-7ccd-430f-a85d-e8614015bc47",
- "uploadParts": [
- {
- "partNumber": 1,
- "startByte": 0,
- "endByte": 6999999,
}, - {
- "partNumber": "2,",
- "startByte": 7000000,
- "endByte": 13999999,
}, - {
- "partNumber": 3,
- "startByte": 14000000,
- "endByte": 15318361,
}
]
}, - "permittedActions": [ ]
}, - "file-2": {
- "result": {
- "id": "9f49416e-0813-4930-bf44-a3414ac57938",
- "assetId": "86739a63-a4f3-4655-bd45-7a567379356c",
- "uploadParts": [
- {
- "partNumber": 1,
- "startByte": 0,
- "endByte": 123456,
}
]
}, - "permittedActions": [ ]
}
}
}
}Create a new AssetUpload resource for an existing Asset.
| assetId required | string The ID of the |
| assetFileId | |
| path required | string The path of the file including filename and any folders. This path will to set the value of the |
| size required | integer The size of the file that is to be uploaded (in bytes) |
| partSize | integer <= 5368709120 Nullable Optionally specify the part size (in bytes) for multi-part uploading of the file. This must be less than 5368709120, and more than 5242880 unless it is the final part. If omitted or null a default part size will be used. |
object (AssetUploadPartUrlsRequest) |
{- "assetId": "7af90a8b-7ccd-430f-a85d-e8614015bc47",
- "assetFileId": "7af90a8b-7ccd-430f-a85d-e8614015bc47",
- "path": "/Folder A/Folder D/a_file.jpg",
- "size": 15318362,
- "partSize": 7000000,
- "partUrlsRequest": {
- "uploadId": "5a2481e0-819f-4b46-a7e6-143f943345f2",
- "urlRequests": [
- {
- "partNumber": 2,
- "contentMd5": "86fb269d190d2c85f6e0468ceca42a20"
}
]
}
}{- "result": {
- "id": "5a2481e0-819f-4b46-a7e6-143f943345f2",
- "assetId": "7af90a8b-7ccd-430f-a85d-e8614015bc47",
- "assetFileId": "7af90a8b-7ccd-430f-a85d-e8614015bc47",
- "uploadParts": [
]
}, - "permittedActions": [
- {
- "resourceType": "ASSET",
- "resourceId": "7af90a8b-7ccd-430f-a85d-e8614015bc47",
- "action": "VIEW_ASSET"
}
]
}After an AssetUpload has been created and each part of the file data has been PUT to the relavant URL the eTag from each PUT must be sent to indicate the upload is complete.
| assetId | string The ID of the |
| uploadId | string The unique identifier for the |
Array of objects (AssetUploadCompletedPart) |
{- "uploadId": "5a2481e0-819f-4b46-a7e6-143f943345f2",
- "assetId": "7af90a8b-7ccd-430f-a85d-e8614015bc47",
- "parts": [
- {
- "partNumber": 1,
- "eTag": "569726cc-2149-4167-abee-26a068fbda22"
}, - {
- "partNumber": 2,
- "eTag": "a9398831-2221-4c1f-90e7-b467b926aa16"
}, - {
- "partNumber": 3,
- "eTag": "820f3b61-3ac7-481c-a6e4-d6c5041683af"
}
]
}{- "result": {
- "type": "SUCCESS"
}, - "permittedActions": [ ]
}| id required | string The unique ID of the |
curl -i -X GET \ https://api-v2.dash.app/assets/:id/files \ -H 'Authorization: Bearer <YOUR_JWT_HERE>'
[- {
- "result": {
- "id": "e2b03444-8c5d-44ed-bd9f-7eee882bdf81",
- "assetId": "7af90a8b-7ccd-430f-a85d-e8614015bc47",
- "size": 44040192,
- "filename": "a_file.jpg",
- "checksum": "120EA8A25E5D487BF68B5F7096440019",
- "dateAdded": "2021-02-15T09:26:01.417Z",
- "fileType": "IMAGE",
- "dimensions": {
- "width": 800,
- "height": 600
}, - "orientation": "PORTRAIT",
- "orientationTransformation": "HORIZONTAL",
- "duration": null,
- "usesTransparency": false,
- "mediaType": {
- "type": "image",
- "subType": "jpeg"
}, - "gpsLocation": {
- "latitude": 50.8256345,
- "longitude": -0.143761
},
}, - "permittedActions": [
- {
- "resourceType": "ASSET",
- "resourceId": "7af90a8b-7ccd-430f-a85d-e8614015bc47",
- "action": "VIEW_ASSET"
}
]
}
]Delete an AssetFile resource.
The Asset's current AssetFile cannot be deleted and will return an error if tried. (Only older version AssetFiles can be deleted.)
| id required | string The unique ID of the |
curl -i -X DELETE \ https://api-v2.dash.app/asset-files/:id \ -H 'Authorization: Bearer <YOUR_JWT_HERE>'
{- "timestamp": "2021-02-16T16:21:58.640+00:00",
- "status": 401,
- "error": "Unauthorized",
- "message": null,
- "path": "/folder-settings"
}An AssetDownloadBatchJob should be created when you want to download and optionally transform multiple AssetFile resources.
You can optionally request that a zip is created of all the transformed files.
The transformationDescription in the request can be one of two types, CUSTOM or PRESET.
A CUSTOM transformationDescription is a list of candidateTransformations which are evaluated in turn against each AssetFile specified in the request.
If the AssetFile meets the candidateTransformation.criteria then the candidateTransformation.transformation is applied. Otherwise, the next candiate is considered.
The candidateTransformation.transformation is a series of operations to apply to the AssetFile in order (e.g. resize to 200 by 100 and then covert to JPG). An empty list of operations indicates the file should be left untransformed.
Putting this all together this allows you to describe a transformations such as:
A PRESET transformationDescription is similar to a CUSTOM transformation except the transformationDescription has been predefined.
These presets are currently only configurable via the Dash frontend, but can be found via a PresetTransformationSearch.
required | Array of objects (AssetDownloadBatchRequestItem) |
required | any (TransformationDescription) |
| zip required | boolean Whether to combine all the output files into a zip |
{- "items": [
- {
- "batchItemId": "download-1",
- "assetId": "2b746f61-d36d-4627-a547-936f6f20594b"
}, - {
- "batchItemId": "download-2",
- "assetId": "23cfaab7-c9f3-4b28-ac21-7b5b18f2519a"
}, - {
- "batchItemId": "download-3",
- "assetId": "1ef8108f-6c94-4112-9736-abd147a7a940"
}
], - "transformationDescription": {
- "type": "CUSTOM",
- "candidateTransformations": [
- {
- "criteria": [
- {
- "type": "MATCHES_MEDIA_TYPES",
- "mediaTypes": [
- {
- "type": "*",
- "subType": "*"
}
]
}
], - "transformation": [
- {
- "type": "RESIZE",
- "width": 100,
- "height": 200
}, - {
- "type": "CONVERT",
- "mediaType": {
- "type": "image",
- "subType": "jpeg"
}
}
]
}
]
}, - "zip": true
}{- "id": "be161977-d44e-4888-af3c-66522e223963",
- "accountId": "cfb665ca-ce35-4418-b9d5-70ee815db4bd",
- "creatorId": "google-oauth2|110955770826801837334",
- "type": "IN_PROGRESS",
- "status": "PENDING",
- "progress": {
- "steps": [
- {
- "id": "assetDownloadGetJobItemsStep",
- "status": "STARTED",
- "completedItems": 0,
- "totalItems": 0
}, - {
- "id": "assetDownloadProcessJobItemsStep",
- "status": "PENDING",
- "completedItems": 0,
- "totalItems": 0
}
]
}
}Get the status and eventual result of an AssetDownloadBatchJob
| id required | string |
curl -i -X GET \ https://api-v2.dash.app/asset-download-batch-jobs/:id \ -H 'Authorization: Bearer <YOUR_JWT_HERE>'
{- "id": "be161977-d44e-4888-af3c-66522e223963",
- "accountId": "cfb665ca-ce35-4418-b9d5-70ee815db4bd",
- "creatorId": "google-oauth2|110955770826801837334",
- "type": "COMPLETED",
- "progress": {
- "steps": [
- {
- "id": "assetDownloadGetJobItemsStep",
- "status": "COMPLETED",
- "completedItems": 3,
- "totalItems": 3
}, - {
- "id": "assetDownloadProcessJobItemsStep",
- "status": "COMPLETED",
- "completedItems": 3,
- "totalItems": 3
}
]
}, - "dateCompleted": "2021-02-15T09:24:01.417Z",
- "result": {
- "successes": {
- "download-1": {
- "permittedActions": [ ]
}, - "download-2": {
- "permittedActions": [ ]
}, - "download-3": {
- "permittedActions": [ ]
}
},
}
}A standard AssetSearch will only allow you to page to 10,000 results regardless of the value returned in the totalResults property.
If you need to be able to process more than 10,000 results consider an AssetScrollSearch instead.
| from required | integer Default: 0 The item number to begin the result set from |
| pageSize required | integer Default: 100 The maximum number of items to return in the result set |
required | any (AssetSearchCriterion) |
required | Array of objects (AssetSort) Sorts to be applied to the search in order of precedence |
| action | string Default: "SEARCH_FOR_VIEW" Enum: "SEARCH_FOR_CHANGE_LIFECYCLE_STATE_TO_PENDING_APPROVAL" "SEARCH_FOR_CHANGE_LIFECYCLE_STATE_TO_LIVE" "SEARCH_FOR_CHANGE_LIFECYCLE_STATE_TO_BINNED" "SEARCH_FOR_DELETE" "SEARCH_FOR_EDIT" "SEARCH_FOR_PROMOTE_TO_LIVE" "SEARCH_FOR_SEND_FOR_APPROVAL" "SEARCH_FOR_VIEW" |
object A map of requested aggregations. The results will be returned in a map with the same provided keys. |
{- "from": 0,
- "pageSize": 100,
- "criterion": {
- "type": "FIELD_EQUALS",
- "value": "a32fe863-0a1d-4b54-990a-b094139cf81c",
- "field": {
- "type": "FIELD",
- "fieldId": "a52b5315-15b8-417f-b742-d6902108bac1"
}
}, - "sorts": [ ]
}{- "results": [
- {
- "result": {
- "id": "7af90a8b-7ccd-430f-a85d-e8614015bc47",
- "accountId": "cfb665ca-ce35-4418-b9d5-70ee815db4bd",
- "lifecycleStatus": {
- "state": "STAGED",
- "dateStaged": "2021-02-15T09:24:01.417Z",
- "stagedBy": "google-oauth2|110457667287511486432",
- "stagedBatchPosition": 0
}, - "dateLastModified": "2021-02-17T09:24:01.417Z",
- "metadata": {
- "version": 11,
- "values": {
- "a52b5315-15b8-417f-b742-d6902108bac1": [
- "A view from a mountain"
], - "f992794c-85db-11eb-8dcd-0242ac130003": [
- "Outdoors",
- "Mountain",
- "Snow"
], - "219bc1fa-85dc-11eb-8dcd-0242ac130003": [
- "a32fe863-0a1d-4b54-990a-b094139cf81c",
- "0e1bddba-9339-4e6e-b5ae-3adc60ad927a"
]
}
}, - "currentAssetFile": {
- "id": "e2b03444-8c5d-44ed-bd9f-7eee882bdf81",
- "assetId": "7af90a8b-7ccd-430f-a85d-e8614015bc47",
- "size": 44040192,
- "filename": "a_file.jpg",
- "checksum": "120EA8A25E5D487BF68B5F7096440019",
- "dateAdded": "2021-02-15T09:26:01.417Z",
- "fileType": "IMAGE",
- "dimensions": {
- "width": 800,
- "height": 600
}, - "orientation": "PORTRAIT",
- "orientationTransformation": "HORIZONTAL",
- "duration": null,
- "usesTransparency": false,
- "mediaType": {
- "type": "image",
- "subType": "jpeg"
}, - "gpsLocation": {
- "latitude": 50.8256345,
- "longitude": -0.143761
},
}, - "stats": {
- "downloadCount": 42
}, - "contextComments": {
- "property1": {
- "count": 4
}, - "property2": {
- "count": 4
}
}, - "origin": {
- "type": "GUEST_UPLOAD",
- "guestUploadId": "55f9964c-095d-4b8b-bb5e-4118d2e76ad0",
- "temporarySessionId": "431263a2-a84a-4a35-86a1-c9a1ea435600"
}
}, - "permittedActions": [
- {
- "resourceType": "ASSET",
- "resourceId": "7af90a8b-7ccd-430f-a85d-e8614015bc47",
- "action": "VIEW_ASSET"
}
]
}
], - "totalResults": 1337,
- "aggregations": {
- "property1": {
- "type": "string",
- "buckets": [
- {
- "key": null,
- "count": 15
}
]
}, - "property2": {
- "type": "string",
- "buckets": [
- {
- "key": null,
- "count": 15
}
]
}
}
}Asset scroll searches provide a means of scrolling one way through search results of any number of Asset resources.
Page size can stil be specified, but a scroll search will always proceed sequentially once through each page.
The AssetScrollSearch.scrollId in the search the response is used to continue the scroll search.
| pageSize | integer Default: 100 The maximum number of items to return in the result set |
required | any (AssetSearchCriterion) |
required | Array of objects (AssetSort) Sorts to be applied to the search in order of precedence |
| action | string Default: "SEARCH_FOR_VIEW" Enum: "SEARCH_FOR_CHANGE_LIFECYCLE_STATE_TO_PENDING_APPROVAL" "SEARCH_FOR_CHANGE_LIFECYCLE_STATE_TO_LIVE" "SEARCH_FOR_CHANGE_LIFECYCLE_STATE_TO_BINNED" "SEARCH_FOR_DELETE" "SEARCH_FOR_EDIT" "SEARCH_FOR_PROMOTE_TO_LIVE" "SEARCH_FOR_SEND_FOR_APPROVAL" "SEARCH_FOR_VIEW" |
{- "pageSize": 100,
- "criterion": {
- "type": "MATCH_ALL"
}, - "sorts": [
- {
- "field": {
- "type": "FIXED",
- "fieldName": "DATE_LIVE"
}, - "order": "DESC"
}
]
}{- "results": [
- {
- "result": {
- "id": "7af90a8b-7ccd-430f-a85d-e8614015bc47",
- "accountId": "cfb665ca-ce35-4418-b9d5-70ee815db4bd",
- "lifecycleStatus": {
- "state": "STAGED",
- "dateStaged": "2021-02-15T09:24:01.417Z",
- "stagedBy": "google-oauth2|110457667287511486432",
- "stagedBatchPosition": 0
}, - "dateLastModified": "2021-02-17T09:24:01.417Z",
- "metadata": {
- "version": 11,
- "values": {
- "a52b5315-15b8-417f-b742-d6902108bac1": [
- "A view from a mountain"
], - "f992794c-85db-11eb-8dcd-0242ac130003": [
- "Outdoors",
- "Mountain",
- "Snow"
], - "219bc1fa-85dc-11eb-8dcd-0242ac130003": [
- "a32fe863-0a1d-4b54-990a-b094139cf81c",
- "0e1bddba-9339-4e6e-b5ae-3adc60ad927a"
]
}
}, - "currentAssetFile": {
- "id": "e2b03444-8c5d-44ed-bd9f-7eee882bdf81",
- "assetId": "7af90a8b-7ccd-430f-a85d-e8614015bc47",
- "size": 44040192,
- "filename": "a_file.jpg",
- "checksum": "120EA8A25E5D487BF68B5F7096440019",
- "dateAdded": "2021-02-15T09:26:01.417Z",
- "fileType": "IMAGE",
- "dimensions": {
- "width": 800,
- "height": 600
}, - "orientation": "PORTRAIT",
- "orientationTransformation": "HORIZONTAL",
- "duration": null,
- "usesTransparency": false,
- "mediaType": {
- "type": "image",
- "subType": "jpeg"
}, - "gpsLocation": {
- "latitude": 50.8256345,
- "longitude": -0.143761
},
}, - "stats": {
- "downloadCount": 42
}, - "contextComments": {
- "property1": {
- "count": 4
}, - "property2": {
- "count": 4
}
}, - "origin": {
- "type": "GUEST_UPLOAD",
- "guestUploadId": "55f9964c-095d-4b8b-bb5e-4118d2e76ad0",
- "temporarySessionId": "431263a2-a84a-4a35-86a1-c9a1ea435600"
}
}, - "permittedActions": [
- {
- "resourceType": "ASSET",
- "resourceId": "7af90a8b-7ccd-430f-a85d-e8614015bc47",
- "action": "VIEW_ASSET"
}
]
}
], - "totalResults": 1337,
- "scrollId": "58b0d88b-d0c9-47fc-9038-7195b234cc0b"
}Continue a previoulsy started AssetScrollSearch.
You must use the scrollId resturned in each new response as a scrollId is not guarenteed to remain fixed over the course of a scroll
| scrollId required | string The ID to continue the |
{- "scrollId": "58b0d88b-d0c9-47fc-9038-7195b234cc0b"
}{- "results": [
- {
- "result": {
- "id": "7af90a8b-7ccd-430f-a85d-e8614015bc47",
- "accountId": "cfb665ca-ce35-4418-b9d5-70ee815db4bd",
- "lifecycleStatus": {
- "state": "STAGED",
- "dateStaged": "2021-02-15T09:24:01.417Z",
- "stagedBy": "google-oauth2|110457667287511486432",
- "stagedBatchPosition": 0
}, - "dateLastModified": "2021-02-17T09:24:01.417Z",
- "metadata": {
- "version": 11,
- "values": {
- "a52b5315-15b8-417f-b742-d6902108bac1": [
- "A view from a mountain"
], - "f992794c-85db-11eb-8dcd-0242ac130003": [
- "Outdoors",
- "Mountain",
- "Snow"
], - "219bc1fa-85dc-11eb-8dcd-0242ac130003": [
- "a32fe863-0a1d-4b54-990a-b094139cf81c",
- "0e1bddba-9339-4e6e-b5ae-3adc60ad927a"
]
}
}, - "currentAssetFile": {
- "id": "e2b03444-8c5d-44ed-bd9f-7eee882bdf81",
- "assetId": "7af90a8b-7ccd-430f-a85d-e8614015bc47",
- "size": 44040192,
- "filename": "a_file.jpg",
- "checksum": "120EA8A25E5D487BF68B5F7096440019",
- "dateAdded": "2021-02-15T09:26:01.417Z",
- "fileType": "IMAGE",
- "dimensions": {
- "width": 800,
- "height": 600
}, - "orientation": "PORTRAIT",
- "orientationTransformation": "HORIZONTAL",
- "duration": null,
- "usesTransparency": false,
- "mediaType": {
- "type": "image",
- "subType": "jpeg"
}, - "gpsLocation": {
- "latitude": 50.8256345,
- "longitude": -0.143761
},
}, - "stats": {
- "downloadCount": 42
}, - "contextComments": {
- "property1": {
- "count": 4
}, - "property2": {
- "count": 4
}
}, - "origin": {
- "type": "GUEST_UPLOAD",
- "guestUploadId": "55f9964c-095d-4b8b-bb5e-4118d2e76ad0",
- "temporarySessionId": "431263a2-a84a-4a35-86a1-c9a1ea435600"
}
}, - "permittedActions": [
- {
- "resourceType": "ASSET",
- "resourceId": "7af90a8b-7ccd-430f-a85d-e8614015bc47",
- "action": "VIEW_ASSET"
}
]
}
], - "totalResults": 1337,
- "scrollId": "58b0d88b-d0c9-47fc-9038-7195b234cc0b"
}Edit the metadata of a set of Assets by the specified assets selector.
Use the BY_IDS selector to edit a specific list of Asset.ids, or the BY_CRITERION selector to edit a search criterion, e.g. all Assets in a specific folder. See AssetSearch for more detail on the available criterion.
metadataFieldValueUpdates also has two types of objects that can be used. For example, a FieldOption with a value of "My Option" and an id of "3ba2cb5b-dbe9-48ed-8e07-71f26929e617" can be set either BY_VALUES by using the value "My Option", or BY_IDS by using the id "3ba2cb5b-dbe9-48ed-8e07-71f26929e617". For Fields that do not have FieldOptions (e.g. text fields), either type can be used.
required | any (AssetsSelector) |
required | Array of any (MetadataFieldValueUpdate) |
{- "selector": {
- "type": "BY_CRITERION",
- "criterion": {
- "type": "FIELD_EQUALS",
- "value": "Folder",
- "field": {
- "type": "FIXED",
- "fieldName": "STAGED_BY"
}, - "includeDescendants": true,
- "boost": null
}
}, - "metadataFieldValueUpdates": [
- {
- "type": "BY_VALUES",
- "operation": "REMOVE",
- "fieldId": "a52b5315-15b8-417f-b742-d6902108bac1",
- "values": [
- "string"
]
}
]
}{- "id": "be161977-d44e-4888-af3c-66522e223963",
- "accountId": "cfb665ca-ce35-4418-b9d5-70ee815db4bd",
- "creatorId": "google-oauth2|110955770826801837334",
- "type": "IN_PROGRESS",
- "status": "PENDING",
- "progress": {
- "steps": [
- {
- "id": "GET_ITEMS",
- "status": "STARTED",
- "completedItems": 0,
- "totalItems": 0
}, - {
- "id": "PROCESS_ITEMS",
- "status": "PENDING",
- "completedItems": 0,
- "totalItems": 0
}
]
}
}Get the status of a Asset Metadata Edit Batch Job
| id required | string |
curl -i -X GET \ https://api-v2.dash.app/asset-metadata-edit-batch-jobs/:id \ -H 'Authorization: Bearer <YOUR_JWT_HERE>'
{- "id": "be161977-d44e-4888-af3c-66522e223963",
- "accountId": "cfb665ca-ce35-4418-b9d5-70ee815db4bd",
- "creatorId": "google-oauth2|110955770826801837334",
- "type": "IN_PROGRESS",
- "status": "PENDING",
- "progress": {
- "steps": [
- {
- "id": "GET_ITEMS",
- "status": "STARTED",
- "completedItems": 0,
- "totalItems": 0
}, - {
- "id": "PROCESS_ITEMS",
- "status": "PENDING",
- "completedItems": 0,
- "totalItems": 0
}
]
}
}Get metadata suggestions for a set of Assets by the specified assets selector.
Use the BY_IDS selector to get suggestions for a specific list of Asset.ids, or the BY_CRITERION selector to get suggestions for a search criterion, e.g. all Assets in a specific folder. See AssetSearch for more detail on the available criterion.
required | any (AssetsSelector) |
{- "selector": {
- "type": "BY_CRITERION",
- "criterion": {
- "type": "FIELD_EQUALS",
- "value": "Folder",
- "field": {
- "type": "FIXED",
- "fieldName": "STAGED_BY"
}, - "includeDescendants": true,
- "boost": null
}
}
}{- "id": "be161977-d44e-4888-af3c-66522e223963",
- "accountId": "cfb665ca-ce35-4418-b9d5-70ee815db4bd",
- "creatorId": "google-oauth2|110955770826801837334",
- "type": "IN_PROGRESS",
- "status": "PENDING",
- "progress": {
- "steps": [
- {
- "id": "GET_ITEMS",
- "status": "STARTED",
- "completedItems": 0,
- "totalItems": 0
}, - {
- "id": "PROCESS_ITEMS",
- "status": "PENDING",
- "completedItems": 0,
- "totalItems": 0
}
]
}
}Record the fact that some asset metadata suggestions have been rejected, and should therefore not be suggested again for the given asset.
required | Array of objects (RejectedMetadataSuggestionRequestItem) |
{- "items": [
- {
- "batchItemId": "my-item-1",
- "assetId": "7af90a8b-7ccd-430f-a85d-e8614015bc47",
- "fieldId": "a52b5315-15b8-417f-b742-d6902108bac1",
- "value": "1fc6d6c3-c42d-48ue2-b0db-5d680a58ca52"
}
]
}{- "successes": {
- "property1": {
- "result": {
- "id": "9ca10283-b2a5-44aa-93b5-376644746170",
- "assetId": "7af90a8b-7ccd-430f-a85d-e8614015bc47",
- "fieldId": "a52b5315-15b8-417f-b742-d6902108bac1",
- "value": "1fc6d6c3-c42d-48ue2-b0db-5d680a58ca52"
}, - "permittedActions": [
- {
- "resourceType": "ASSET",
- "resourceId": "7af90a8b-7ccd-430f-a85d-e8614015bc47",
- "action": "VIEW_ASSET"
}
]
}, - "property2": {
- "result": {
- "id": "9ca10283-b2a5-44aa-93b5-376644746170",
- "assetId": "7af90a8b-7ccd-430f-a85d-e8614015bc47",
- "fieldId": "a52b5315-15b8-417f-b742-d6902108bac1",
- "value": "1fc6d6c3-c42d-48ue2-b0db-5d680a58ca52"
}, - "permittedActions": [
- {
- "resourceType": "ASSET",
- "resourceId": "7af90a8b-7ccd-430f-a85d-e8614015bc47",
- "action": "VIEW_ASSET"
}
]
}
}
}Get the status of a Asset Suggestion Edit Batch Job
| id required | string |
curl -i -X GET \ https://api-v2.dash.app/asset-metadata-suggestion-batch-jobs/:id \ -H 'Authorization: Bearer <YOUR_JWT_HERE>'
{- "id": "be161977-d44e-4888-af3c-66522e223963",
- "accountId": "cfb665ca-ce35-4418-b9d5-70ee815db4bd",
- "creatorId": "google-oauth2|110955770826801837334",
- "type": "IN_PROGRESS",
- "status": "PENDING",
- "progress": {
- "steps": [
- {
- "id": "GET_ITEMS",
- "status": "STARTED",
- "completedItems": 0,
- "totalItems": 0
}, - {
- "id": "PROCESS_ITEMS",
- "status": "PENDING",
- "completedItems": 0,
- "totalItems": 0
}
]
}
}Move a set of Asset resources from one Asset.lifecycleStatus.state to another.
The Asset resources to be added to the batch job are specified using the AssetSearch criteria language or by a simple set of ids
If you are selecting by search criteria you must explicitly include criteria describing the state you are moving from in order to account for the fact that the Dash API will only return Assets in the 'LIVE' state by default. See the request examples for more.
any (AssetsSelector) | |
| transition | string (LifecycleTransition) The transition. Generally describe the state moving from and to. |
{- "transition": "STAGED_TO_PENDING_APPROVAL",
- "selector": {
- "type": "BY_CRITERION",
- "criterion": {
- "type": "AND",
- "criteria": [
- {
- "type": "FIELD_EQUALS",
- "value": "STAGED",
- "field": {
- "type": "FIXED",
- "fieldName": "LIFECYCLE_STATE"
}
}, - {
- "type": "FIELD_EQUALS",
- "value": "google-oauth2|110457667287511486432",
- "field": {
- "type": "FIXED",
- "fieldName": "STAGED_BY"
}
}
]
}
}
}{- "id": "be161977-d44e-4888-af3c-66522e223963",
- "accountId": "cfb665ca-ce35-4418-b9d5-70ee815db4bd",
- "creatorId": "google-oauth2|110955770826801837334",
- "type": "IN_PROGRESS",
- "status": "PENDING",
- "progress": {
- "steps": [
- {
- "id": "lifecycleTransitionGetJobItemsStep",
- "status": "STARTED",
- "completedItems": 0,
- "totalItems": 0
}, - {
- "id": "lifecycleTransitionProcessJobItemsStep",
- "status": "PENDING",
- "completedItems": 0,
- "totalItems": 0
}
]
}
}Get the status of an AssetLifecycleTransitionBatchJob
| id required | string |
curl -i -X GET \ https://api-v2.dash.app/asset-lifecycle-transition-batch-jobs/:id \ -H 'Authorization: Bearer <YOUR_JWT_HERE>'
{- "id": "be161977-d44e-4888-af3c-66522e223963",
- "accountId": "cfb665ca-ce35-4418-b9d5-70ee815db4bd",
- "creatorId": "google-oauth2|110955770826801837334",
- "type": "COMPLETED",
- "progress": {
- "steps": [
- {
- "id": "lifecycleTransitionGetJobItemsStep",
- "status": "COMPLETED",
- "completedItems": 3,
- "totalItems": 3
}, - {
- "id": "lifecycleTransitionProcessJobItemsStep",
- "status": "COMPLETED",
- "completedItems": 3,
- "totalItems": 3
}
]
}, - "dateCompleted": "2021-02-15T09:24:01.417Z"
}Coming soon; contact us if you need access to this API endpoint.
Coming soon; contact us if you need access to this API endpoint.
Update an AssetEmbeddableLink resource's status.
Currently only a patch to status: REVOKED is supported.
This will update the AssetEmbeddableLink resource's status to REVOKED and fileStatus to DELETED.
| id required | string The unique ID of the |
| status required | string The status of the AssetEmbeddableLink |
{- "status": "REVOKED"
}{- "result": {
- "id": "02e3b733-57c0-43f1-bee4-687569cf1bfa",
- "accountId": "cfb665ca-ce35-4418-b9d5-70ee815db4bd",
- "assetId": "7af90a8b-7ccd-430f-a85d-e8614015bc47",
- "assetFileId": "7af90a8b-7ccd-430f-a85d-e8614015bc47",
- "transformationDescription": {
- "type": "CUSTOM",
- "candidateTransformations": [
- {
- "criteria": [
- {
- "type": "MATCHES_MEDIA_TYPES",
- "mediaTypes": [
- null
]
}
], - "transformation": [ ]
}
]
}, - "determinedTransformation": {
- "transformations": [
- {
- "type": "CROP",
- "x": 200,
- "y": 100,
- "width": 400,
- "height": 300
}
]
}, - "status": "ACTIVE",
- "fileStatus": "COPIED",
}, - "permittedActions": [
- {
- "resourceType": "ASSET",
- "resourceId": "7af90a8b-7ccd-430f-a85d-e8614015bc47",
- "action": "VIEW_ASSET"
}
]
}An AssetEmbeddableLinkBatchJob should be created when you want to create embeddable links for multiple AssetFile resources.
There is a limit of 500 batch request items for this endpoint. If more than 500 items are requested, the endpoint will error with a bad request(400) response.
The transformationDescription can be one of two types, CUSTOM or PRESET.
This definition and usage matches the transformationDescription used in AssetDownloadBatchJob.
A CUSTOM transformationDescription is a list of candidateTransformations which are evaluated in turn against each AssetFile specified in the request.
If the AssetFile meets the candidateTransformation.criteria then the candidateTransformation.transformation is applied. Otherwise, the next candidate is considered.
The candidateTransformation.transformation is a series of operations to apply to the AssetFile in order (e.g. resize to 200 by 100 and then covert to JPG). An empty list of operations indicates the file should be left untransformed.
A PRESET transformationDescription is similar to a CUSTOM transformation except the transformationDescription has been predefined.
These presets are currently only configurable via the Dash frontend, but can be found via a PresetTransformationSearch.
required | Array of objects (EmbeddableLinkBatchRequestItem) |
required | any (TransformationDescription) |
{- "items": [
- {
- "batchItemId": "my-item-1",
- "assetId": "7af90a8b-7ccd-430f-a85d-e8614015bc47",
- "assetFileId": "7af90a8b-7ccd-430f-a85d-e8614015bc47",
- "presetParameters": [ ]
}
], - "transformationDescription": {
- "type": "CUSTOM",
- "candidateTransformations": [
- {
- "criteria": [
- {
- "type": "MATCHES_MEDIA_TYPES",
- "mediaTypes": [
- {
- "type": null,
- "subType": null
}
]
}
], - "transformation": [ ]
}
]
}
}{- "id": "be161977-d44e-4888-af3c-66522e223963",
- "accountId": "cfb665ca-ce35-4418-b9d5-70ee815db4bd",
- "creatorId": "google-oauth2|110955770826801837334",
- "type": "IN_PROGRESS",
- "status": "PENDING",
- "progress": {
- "steps": [
- {
- "id": "embeddableLinkGetJobItemsStep",
- "status": "STARTED",
- "completedItems": 0,
- "totalItems": 0
}, - {
- "id": "embeddableLinkProcessJobItemsStep",
- "status": "PENDING",
- "completedItems": 0,
- "totalItems": 0
}
]
}
}Get the status and eventual result of an AssetEmbeddableLinkBatchJob
| id required | string The unique ID of the |
curl -i -X GET \ https://api-v2.dash.app/embeddable-link-batch-jobs/:id \ -H 'Authorization: Bearer <YOUR_JWT_HERE>'
{- "id": "be161977-d44e-4888-af3c-66522e223963",
- "accountId": "cfb665ca-ce35-4418-b9d5-70ee815db4bd",
- "creatorId": "google-oauth2|110955770826801837334",
- "type": "IN_PROGRESS",
- "progress": {
- "steps": [
- {
- "name": "STEP_NAME",
- "status": "STARTED",
- "completedItems": 0,
- "totalItems": 2
}
]
}, - "status": "PENDING"
}Create a new AssetEmbeddableLinkSearch.
The criterion and sort currently support search by ASSET_ID field only.
| from required | integer Default: 0 The item number to begin the result set from |
| pageSize required | integer Default: 100 The maximum number of items to return in the result set |
any (EmbeddableLinkSearchCriterion) | |
Array of objects (EmbeddableLinkSort) Sorts to be applied to the search in order of precedence |
{- "from": 0,
- "pageSize": 100,
- "criterion": {
- "type": "FIELD_IN",
- "values": [
- "this",
- "that"
], - "field": "ASSET_ID"
}, - "sorts": [
- {
- "field": "ASSET_ID",
- "order": "ASC"
}
]
}{- "results": [
- {
- "result": {
- "id": "02e3b733-57c0-43f1-bee4-687569cf1bfa",
- "accountId": "cfb665ca-ce35-4418-b9d5-70ee815db4bd",
- "assetId": "7af90a8b-7ccd-430f-a85d-e8614015bc47",
- "assetFileId": "7af90a8b-7ccd-430f-a85d-e8614015bc47",
- "transformationDescription": {
- "type": "CUSTOM",
- "candidateTransformations": [
- {
- "criteria": [
- null
], - "transformation": [ ]
}
]
}, - "determinedTransformation": {
- "transformations": [
- {
- "type": "CROP",
- "x": 200,
- "y": 100,
- "width": 400,
- "height": 300
}
]
}, - "status": "ACTIVE",
- "fileStatus": "COPIED",
}, - "permittedActions": [
- {
- "resourceType": "ASSET",
- "resourceId": "7af90a8b-7ccd-430f-a85d-e8614015bc47",
- "action": "VIEW_ASSET"
}
]
}
], - "totalResults": 15
}Coming soon; contact us if you need access to this API endpoint.
An Asset Saved Crop Area Summary resource is a saved crop area summary for a given AssetFile of an Asset.
Get all of the SavedCropAreaSummaries resources for the specified Asset.
| id required | string The unique ID of the |
curl -i -X GET \ https://api-v2.dash.app/assets/:id/saved-crop-area-summaries \ -H 'Authorization: Bearer <YOUR_JWT_HERE>'
[- {
- "result": {
- "id": "string",
- "presetId": "string",
- "assetId": "string",
- "cropParameters": {
- "x": 200,
- "y": 100,
- "width": 400,
- "height": 300
}
}, - "permittedActions": [
- {
- "resourceType": "ASSET",
- "resourceId": "7af90a8b-7ccd-430f-a85d-e8614015bc47",
- "action": "VIEW_ASSET"
}
]
}
]An Asset Saved Crop Area resource is a saved crop area for a given AssetFile of an Asset.
Create a SavedCropArea for the specified Asset.
| id required | string The unique ID of the |
| presetId required | string The unique ID for a |
required | object (CropParameters) |
| previewUri required | string The preview of this crop area in Base64 |
{- "presetId": "string",
- "cropParameters": {
- "x": 200,
- "y": 100,
- "width": 400,
- "height": 300
}, - "previewUri": "string"
}{- "result": {
- "id": "string",
- "presetId": "string",
- "assetId": "string",
- "cropParameters": {
- "x": 200,
- "y": 100,
- "width": 400,
- "height": 300
}, - "previewUri": "string"
}, - "permittedActions": [
- {
- "resourceType": "ASSET",
- "resourceId": "7af90a8b-7ccd-430f-a85d-e8614015bc47",
- "action": "VIEW_ASSET"
}
]
}Get a SavedCropArea resource.
| id required | string The unique ID of the |
curl -i -X GET \ https://api-v2.dash.app/asset-saved-crop-areas/:id \ -H 'Authorization: Bearer <YOUR_JWT_HERE>'
{- "result": {
- "id": "string",
- "presetId": "string",
- "assetId": "string",
- "cropParameters": {
- "x": 200,
- "y": 100,
- "width": 400,
- "height": 300
}, - "previewUri": "string"
}, - "permittedActions": [
- {
- "resourceType": "ASSET",
- "resourceId": "7af90a8b-7ccd-430f-a85d-e8614015bc47",
- "action": "VIEW_ASSET"
}
]
}Update a SavedCropArea resource. Only the provided fields will be updated
| id required | string The unique ID of the |
object (CropParameters) | |
| previewUri | string The preview of this crop area in Base64 |
{- "cropParameters": {
- "x": 200,
- "y": 100,
- "width": 400,
- "height": 300
}, - "previewUri": "string"
}{- "result": {
- "id": "string",
- "presetId": "string",
- "assetId": "string",
- "cropParameters": {
- "x": 200,
- "y": 100,
- "width": 400,
- "height": 300
}, - "previewUri": "string"
}, - "permittedActions": [
- {
- "resourceType": "ASSET",
- "resourceId": "7af90a8b-7ccd-430f-a85d-e8614015bc47",
- "action": "VIEW_ASSET"
}
]
}Delete a SavedCropArea resource.
| id required | string The unique ID of the |
curl -i -X DELETE \ https://api-v2.dash.app/asset-saved-crop-areas/:id \ -H 'Authorization: Bearer <YOUR_JWT_HERE>'
{- "timestamp": "2021-02-16T16:21:58.640+00:00",
- "status": 401,
- "error": "Unauthorized",
- "message": null,
- "path": "/folder-settings"
}A Collection is a user defined set of Asset resources.
The Asset resources in a Collection are not returned with the Collection resource.
To get the Asset resources you must create an Asset Search and use the Collection.id as the value in a COLLECTIONS : FIELD_EQUALS criterion.
Searching allows you to find Collection resources in your Dash matching specific criteria.
A list of sorts can also be provided to control the order in the which the results are returned.
Create a new Collection.
| name required | string Name of the |
{- "name": "Folders"
}{- "result": {
- "id": "a52b5315-15b8-417f-b742-d6902108bac1",
- "accountId": "cfb665ca-ce35-4418-b9d5-70ee815db4bd",
- "name": "Folders",
- "creatorId": "google-oauth2|110955770826801837334",
- "dateCreated": "2021-02-17T09:24:01.417Z",
- "collaborators": [
- {
- "id": "76c5765e-4623-41c9-a521-23610343f019",
- "collectionId": "a52b5315-15b8-417f-b742-d6902108bac1",
- "userId": "google-oauth2|110955770826801837334"
}
], - "share": {
- "id": "4517a7ba-a482-4211-b97e-f4256f53fd32",
- "accountId": "cfb665ca-ce35-4418-b9d5-70ee815db4bd",
- "collectionId": "a52b5315-15b8-417f-b742-d6902108bac1",
- "collectionName": "Folders",
- "currentSlug": "EW7DT/folders",
- "slugs": [
- "EW7DT/folders",
- "B35FP/old-name"
], - "expiry": "2021-02-17T09:24:01.417Z",
- "assetPermittedActions": "VIEW"
}
}, - "permittedActions": [
- {
- "resourceType": "ASSET",
- "resourceId": "7af90a8b-7ccd-430f-a85d-e8614015bc47",
- "action": "VIEW_ASSET"
}
]
}Patch a Collection
| id required | string The unique ID of the |
| name | string Nullable Name of the |
{- "name": "Folders"
}{- "result": {
- "id": "a52b5315-15b8-417f-b742-d6902108bac1",
- "accountId": "cfb665ca-ce35-4418-b9d5-70ee815db4bd",
- "name": "Folders",
- "creatorId": "google-oauth2|110955770826801837334",
- "dateCreated": "2021-02-17T09:24:01.417Z",
- "collaborators": [
- {
- "id": "76c5765e-4623-41c9-a521-23610343f019",
- "collectionId": "a52b5315-15b8-417f-b742-d6902108bac1",
- "userId": "google-oauth2|110955770826801837334"
}
], - "share": {
- "id": "4517a7ba-a482-4211-b97e-f4256f53fd32",
- "accountId": "cfb665ca-ce35-4418-b9d5-70ee815db4bd",
- "collectionId": "a52b5315-15b8-417f-b742-d6902108bac1",
- "collectionName": "Folders",
- "currentSlug": "EW7DT/folders",
- "slugs": [
- "EW7DT/folders",
- "B35FP/old-name"
], - "expiry": "2021-02-17T09:24:01.417Z",
- "assetPermittedActions": "VIEW"
}
}, - "permittedActions": [
- {
- "resourceType": "ASSET",
- "resourceId": "7af90a8b-7ccd-430f-a85d-e8614015bc47",
- "action": "VIEW_ASSET"
}
]
}Create a new CollectionSearch
The most commmon use of an CollectionSearch is to retrieve all the Collection resources associated with a User
| from required | integer Default: 0 The item number to begin the result set from |
| pageSize required | integer Default: 100 The maximum number of items to return in the result set |
any (CollectionSearchCriterion) | |
Array of objects (CollectionSort) Sorts to be applied to the search in order of precedence |
{- "from": 0,
- "pageSize": 100,
- "criterion": {
- "type": "ASSOCIATED_WITH_USER",
- "userId": "google-oauth2|110955770826801837334"
}, - "sorts": [
- {
- "field": "NAME",
- "order": "ASC"
}
]
}{- "results": [
- {
- "result": {
- "id": "1ecabbb8-85d5-11eb-8dcd-0242ac130003",
- "accountId": "cfb665ca-ce35-4418-b9d5-70ee815db4bd",
- "name": "Collaboration Collection",
- "createdBy": "google-oauth2|340955570626871847637",
- "dateCreated": "2021-04-15T09:24:01.417Z",
- "permittedActions": [ ]
}
}, - {
- "result": {
- "id": "1fc6d6c3-c42d-48e2-b0db-5d680a58ca52",
- "accountId": "cfb665ca-ce35-4418-b9d5-70ee815db4bd",
- "name": "My Collection 1",
- "createdBy": "google-oauth2|110955770826801837334",
- "dateCreated": "2021-02-15T09:24:01.417Z"
}, - "permittedActions": [ ]
}, - {
- "result": {
- "id": "a52b5315-15b8-417f-b742-d6902108bac1",
- "accountId": "cfb665ca-ce35-4418-b9d5-70ee815db4bd",
- "name": "My Collection 2",
- "createdBy": "google-oauth2|110955770826801837334",
- "dateCreated": "2021-03-15T09:24:01.417Z"
}, - "permittedActions": [ ]
}
], - "totalResults": 3
}Coming soon; contact us if you need access to this API endpoint.
Coming soon; contact us if you need access to this API endpoint.
Coming soon; contact us if you need access to this API endpoint.
A SubdomainAvailabilityCheck is used to check whether a Dash subdomain is in use or not.
This endpoint is unauthenticated. Do not send a Bearer Token in the Authorization Header
| subdomain | string The subdomain to check for availability |
{- "subdomain": "my-company"
}{- "subdomain": "my-company",
- "isAvailable": true
}An Asset Download Event Search allows you to search and aggregate over Asset Download Events
Criteria can be constructed based on exact or ranged comparison of the queryable event fields listed in the request schema below.
Some fields like USER_TYPE and DOWNLOAD_TYPE have a fixed set of possible values which can be determined from the response scheme below.
The logical operators AND, OR and NOT are provided to support complex queries based on multiple fields.
A list of sorts can also be provided to control the order in the which the results are returned.
Only the ids of referenced resources such as Portal and Asset are provided in the response, which can then be used to GET the full resources.
Aggregations operations can also be performed on the events described by the criteria, in order to, for example
Note, an Asset Download Event Search will only allow you to page to 10,000 but values returned in any aggregations and the totalResults property will be correct.
Create a new Asset Download Event Search
| from required | integer Default: 0 The item number to begin the result set from |
| pageSize required | integer Default: 100 The maximum number of items to return in the result set |
required | any (AssetDownloadEventSearchCriterion) |
required | Array of objects (AssetDownloadEventSort) Default: [] Sorts to be applied to the search in order of precedence |
object A map of requested aggregations. The results will be returned in a map with the same provided keys. |
{- "from": 0,
- "pageSize": 100,
- "criterion": {
- "type": "FIELD_EQUALS",
- "field": "USER_ID",
- "value": "162c8739-b830-4d2f-b241-97951734a04e"
}, - "sorts": [
- {
- "field": "DATE_TIME",
- "order": "DESC"
}
], - "aggregations": { }
}{- "totalResults": 3,
- "results": [
- {
- "result": {
- "id": "7d240457-6232-4702-af61-7ce5e6ffc34e",
- "accountId": "a61a254c-4bbd-41e6-ba52-22a82ce9fca1",
- "assetId": "2441039a-fb70-4cf8-8070-b2ac6a70186f",
- "assetFileId": "2441239a-fb70-4cf8-8070-b2ac6a60186f",
- "dateTime": "2023-10-23T17:05:28.68Z",
- "downloadType": "PRESET",
- "downloadDescription": "Large",
- "downloadPresetId": "a2b1817f-ba85-47cf-87ec-3183df7a9bd0",
- "userData": {
- "type": "ACCOUNT_USER",
- "userId": "google-oauth2|101322069082130951052",
- "userEmail": "joe-blogs@test.com"
}
}, - "permittedActions": [ ]
}, - {
- "result": {
- "id": "9d240457-6232-4702-af61-7ce5e6ffc34e",
- "accountId": "a61a254c-4bbd-41e6-ba52-22a82ce9fca1",
- "assetId": "2441039a-fb70-4cf8-8070-b2ac6a70186f",
- "assetFileId": "3441239a-fb70-4cf8-8070-b2ac6a60186f",
- "dateTime": "2023-11-23T17:05:28.68Z",
- "downloadType": "PRESET",
- "downloadDescription": "Small",
- "downloadPresetId": "a2b1817f-ba85-47cf-87ec-3183df7a9bd0",
- "userData": {
- "type": "ACCOUNT_USER",
- "userId": "google-oauth2|201322069082130951052",
- "userEmail": "sue-blogs@test.com"
}
}, - "permittedActions": [ ]
}, - {
- "result": {
- "id": "9d240457-6232-4702-af61-7ce5e6ffc34e",
- "accountId": "a61a254c-4bbd-41e6-ba52-22a82ce9fca1",
- "assetId": "3441039a-fb70-4cf8-8070-b2ac6a70186f",
- "assetFileId": "3441239a-fb70-4cf8-8070-b2ac6a60186f",
- "dateTime": "2023-11-23T17:05:28.68Z",
- "downloadType": "PRESET",
- "downloadDescription": "Small",
- "downloadPresetId": "a2b1817f-ba85-47cf-87ec-3183df7a9bd0",
- "userData": {
- "type": "ACCOUNT_USER",
- "userId": "google-oauth2|201322069082130951052",
- "userEmail": "sue-blogs@test.com"
}
}, - "permittedActions": [ ]
}
], - "aggregations": [ ]
}Field resources define the custom metadata schema for Asset resources in your Dash account.
Every Asset in your Dash account can be assigned a value or values for each Field you define.
The type and structure of the data stored against the Asset for each Field is described by a series of properties specified on the Field.
curl -i -X GET \ https://api-v2.dash.app/fields \ -H 'Authorization: Bearer <YOUR_JWT_HERE>'
[- {
- "result": {
- "id": "a52b5315-15b8-417f-b742-d6902108bac1",
- "accountId": "cfb665ca-ce35-4418-b9d5-70ee815db4bd",
- "name": "Folders",
- "dataType": "STRING",
- "multiValue": true,
- "hasFixedOptions": true,
- "hierarchical": true,
- "editControl": "FOLDER_PICKER",
- "indestructible": true,
- "recommended": true,
- "defaultSortField": "FIELD_ID",
- "browsable": true
}, - "permittedActions": [
- {
- "resourceType": "ASSET",
- "resourceId": "7af90a8b-7ccd-430f-a85d-e8614015bc47",
- "action": "VIEW_ASSET"
}
]
}
]Create a Field resource.
| name required | string Human-readable name of the |
| dataType required | string (DataType) Defines the format the data can take
|
| multiValue required | |
| hasFixedOptions required | boolean If The set of fixed values for an If |
| hierarchical required | boolean Only applicable when If |
| editControl required | string An indication of the type of edit control would be sensible to use to edit the |
| recommended required | boolean If |
| defaultSortField | string (FieldOptionSearchField) The name of the |
| browsable required | boolean If |
{- "name": "Folders",
- "dataType": "STRING",
- "multiValue": true,
- "hasFixedOptions": true,
- "hierarchical": true,
- "editControl": "FOLDER_PICKER",
- "recommended": true,
- "defaultSortField": "FIELD_ID",
- "browsable": true
}{- "result": {
- "id": "a52b5315-15b8-417f-b742-d6902108bac1",
- "accountId": "cfb665ca-ce35-4418-b9d5-70ee815db4bd",
- "name": "Folders",
- "dataType": "STRING",
- "multiValue": true,
- "hasFixedOptions": true,
- "hierarchical": true,
- "editControl": "FOLDER_PICKER",
- "indestructible": true,
- "recommended": true,
- "defaultSortField": "FIELD_ID",
- "browsable": true
}, - "permittedActions": [
- {
- "resourceType": "ASSET",
- "resourceId": "7af90a8b-7ccd-430f-a85d-e8614015bc47",
- "action": "VIEW_ASSET"
}
]
}Get a Field resource.
When Field.hasFixedOptions = true the FieldOption resources for this Field can be retrieved via an FieldOptionSearch
| id required | string The unique ID of the field Example: cfb665ca-ce35-4418-b9d5-70ee815db4bd |
curl -i -X GET \ https://api-v2.dash.app/fields/:id \ -H 'Authorization: Bearer <YOUR_JWT_HERE>'
{- "result": {
- "id": "a52b5315-15b8-417f-b742-d6902108bac1",
- "accountId": "cfb665ca-ce35-4418-b9d5-70ee815db4bd",
- "name": "Folders",
- "dataType": "STRING",
- "multiValue": true,
- "hasFixedOptions": true,
- "hierarchical": true,
- "editControl": "FOLDER_PICKER",
- "indestructible": true,
- "recommended": true,
- "defaultSortField": "FIELD_ID",
- "browsable": true
}, - "permittedActions": [
- {
- "resourceType": "ASSET",
- "resourceId": "7af90a8b-7ccd-430f-a85d-e8614015bc47",
- "action": "VIEW_ASSET"
}
]
}Update a Field resource.
| id required | string The unique ID of the field Example: cfb665ca-ce35-4418-b9d5-70ee815db4bd |
| name | string Nullable Human-readable name of the |
| recommended | boolean Nullable If |
object (NullableFieldOptionSearchFieldPatch) | |
| browsable | boolean Nullable Whether assets with a value for this |
{- "name": "Folders",
- "recommended": true,
- "defaultSortField": {
- "value": "FIELD_ID"
}, - "browsable": false
}{- "result": {
- "id": "a52b5315-15b8-417f-b742-d6902108bac1",
- "accountId": "cfb665ca-ce35-4418-b9d5-70ee815db4bd",
- "name": "Folders",
- "dataType": "STRING",
- "multiValue": true,
- "hasFixedOptions": true,
- "hierarchical": true,
- "editControl": "FOLDER_PICKER",
- "indestructible": true,
- "recommended": true,
- "defaultSortField": "FIELD_ID",
- "browsable": true
}, - "permittedActions": [
- {
- "resourceType": "ASSET",
- "resourceId": "7af90a8b-7ccd-430f-a85d-e8614015bc47",
- "action": "VIEW_ASSET"
}
]
}Delete a Field resource.
| id required | string The unique ID of the field Example: cfb665ca-ce35-4418-b9d5-70ee815db4bd |
curl -i -X DELETE \ https://api-v2.dash.app/fields/:id \ -H 'Authorization: Bearer <YOUR_JWT_HERE>'
{- "timestamp": "2021-02-16T16:21:58.640+00:00",
- "status": 401,
- "error": "Unauthorized",
- "message": null,
- "path": "/folder-settings"
}FieldOption resources define the set of valid choices for a Field when Field.hasFixedOptions = true.
An FieldOption has human-readable FieldOption.value and an FieldOption.position which determines the order in which it appears in relation to the other FieldOption resources for a Field.
If Field.hierarchical = true then FieldOption.parent is the FieldOption which is the parent node of the FieldOption in the tree.
FieldOption.position then determines the order in which the option appears in relation to the other options with the same FieldOption.parent.
The FieldOption resource intentionally does not include the list of child FieldOption resources.
This is to prevent costly loading of large FieldOption tree structures.
FieldOption.leaf and FieldOption.numberOfChildren properties can be used to determine the number of children for a node, but it is recommended to implement a combination of lazy-loading strategies using the GET Field Option and POST Field Option Searches resources for retrieval.
e.g. Doing a GET Field Option with an FieldOption.id value found in Asset.metadata.values will give the complete branch of the tree necessary in the context of the viewing that Asset via the FieldOption.parent property.
For traversing down an FieldOption tree POST Field Option Searches can be used to first get all the top-level options and then each sub level as and when needed.
Searching allows you to find FieldOption resources in your Dash matching specific criteria
Criteria can be constructed based on direct comparison or pattern matching of a set of fixed FieldOption properties.
The logical operators AND, OR and NOT are provided to support complex queries based on multiple fields.
A list of sorts can also be provided to control the order in the which the results are returned.
Create a new FieldOption resource adding it to the set of valid choices for an Field where Field.hasFixedOptions = true.
| fieldId required | string The unique ID of the |
| value required | string The human-readable value of the |
| position required | integer The 0-based position the |
| parentId |
{- "fieldId": "a52b5315-15b8-417f-b742-d6902108bac1",
- "value": "My Top Level Folder",
- "position": 3,
- "parentId": null
}{- "result": {
- "id": "1fc6d6c3-c42d-48e2-b0db-5d680a58ca52",
- "fieldId": "a52b5315-15b8-417f-b742-d6902108bac1",
- "value": "My Top Level Folder",
- "position": 0,
- "leaf": false,
- "parent": null
}, - "permittedActions": [ ]
}Get an FieldOption resource for an Field where Field.hasFixedOptions = true.
| id required | string The unique ID of the |
curl -i -X GET \ https://api-v2.dash.app/field-options/:id \ -H 'Authorization: Bearer <YOUR_JWT_HERE>'
{- "result": {
- "id": "1fc6d6c3-c42d-48e2-b0db-5d680a58ca52",
- "fieldId": "a52b5315-15b8-417f-b742-d6902108bac1",
- "value": "My Top Level Folder",
- "position": 0,
- "leaf": false,
- "parent": null
}, - "permittedActions": [ ]
}Delete an FieldOption resource, removing it from the set of valid choices for an Field.
When deleting an option within a hierarchy of options all options in the hierarchy below the one being deleted will also be deleted.
| id required | string The unique ID of the |
curl -i -X DELETE \ https://api-v2.dash.app/field-options/:id \ -H 'Authorization: Bearer <YOUR_JWT_HERE>'
{- "timestamp": "2021-02-16T16:21:58.640+00:00",
- "status": 401,
- "error": "Unauthorized",
- "message": null,
- "path": "/folder-settings"
}Create new FieldOption resources adding them to the set of valid choices for an Field where Field.hasFixedOptions = true.
required | Array of objects (FieldOptionBatchRequestItem) |
{- "items": [
- {
- "batchItemId": "my-item-1",
- "fieldId": "a52b5315-15b8-417f-b742-d6902108bac1",
- "value": "Folder A",
- "position": 2,
- "parentId": null
}
]
}{- "successes": {
- "property1": {
- "result": {
- "id": "1fc6d6c3-c42d-48e2-b0db-5d680a58ca52",
- "value": "Folder A",
- "fieldId": "a52b5315-15b8-417f-b742-d6902108bac1",
- "position": 2,
- "leaf": true,
- "numberOfChildren": 0,
- "parent": { }
}, - "permittedActions": [
- {
- "resourceType": "ASSET",
- "resourceId": "7af90a8b-7ccd-430f-a85d-e8614015bc47",
- "action": "VIEW_ASSET"
}
]
}, - "property2": {
- "result": {
- "id": "1fc6d6c3-c42d-48e2-b0db-5d680a58ca52",
- "value": "Folder A",
- "fieldId": "a52b5315-15b8-417f-b742-d6902108bac1",
- "position": 2,
- "leaf": true,
- "numberOfChildren": 0,
- "parent": { }
}, - "permittedActions": [
- {
- "resourceType": "ASSET",
- "resourceId": "7af90a8b-7ccd-430f-a85d-e8614015bc47",
- "action": "VIEW_ASSET"
}
]
}
}, - "failures": {
- "property1": "OPTION_ALREADY_EXISTS_AT_THIS_LEVEL",
- "property2": "OPTION_ALREADY_EXISTS_AT_THIS_LEVEL"
}
}Create a new FieldOptionSearch
The most commmon uses of an FieldOptionSearch is to retrieve the FieldOption resources for an Field using the FIELD_ID field criterion.
When Field.hierarchical = true it is recommended to retrieve each level of the tree via a separate search using PARENT_ID field criteria.
| from required | integer Default: 0 The item number to begin the result set from |
| pageSize required | integer Default: 100 The maximum number of items to return in the result set |
required | any (FieldOptionSearchCriterion) |
required | Array of objects (FieldOptionSort) Sorts to be applied to the search in order of precedence |
{- "from": 0,
- "pageSize": 100,
- "criterion": {
- "type": "AND",
- "criteria": [
- {
- "type": "FIELD_EQUALS",
- "field": "FIELD_ID",
- "value": "a52b5315-15b8-417f-b742-d6902108bac1"
}, - {
- "type": "FIELD_IS_EMPTY",
- "field": "PARENT_ID"
}
]
}, - "sorts": [
- {
- "field": "POSITION",
- "order": "ASC"
}
]
}{- "results": [
- {
- "result": {
- "id": "1fc6d6c3-c42d-48e2-b0db-5d680a58ca52",
- "fieldId": "a52b5315-15b8-417f-b742-d6902108bac1",
- "value": "My Top Level Folder",
- "position": 0,
- "leaf": false,
- "parent": null
}, - "permittedActions": [ ]
}, - {
- "result": {
- "id": "1fc6d6c3-c42d-48e2-b0db-5d680a58ca52",
- "fieldId": "a52b5315-15b8-417f-b742-d6902108bac1",
- "value": "Another Top Level Folder",
- "position": 1,
- "leaf": false,
- "parent": null
}, - "permittedActions": [ ]
}
], - "totalResults": 2
}Coming soon; contact us if you need access to this API endpoint.
curl -i -X GET \ https://api-v2.dash.app/field-views \ -H 'Authorization: Bearer <YOUR_JWT_HERE>'
[- {
- "result": {
- "id": "e9a367e4-8216-497f-b6a9-59e3b945a7f3",
- "accountId": "cfb665ca-ce35-4418-b9d5-70ee815db4bd",
- "type": "INTERNAL_DETAILED",
- "fields": [
- {
- "id": "a52b5315-15b8-417f-b742-d6902108bac1",
- "accountId": "cfb665ca-ce35-4418-b9d5-70ee815db4bd",
- "name": "Folders",
- "dataType": "STRING",
- "multiValue": true,
- "hasFixedOptions": true,
- "hierarchical": true,
- "editControl": "FOLDER_PICKER",
- "indestructible": true,
- "recommended": true,
- "defaultSortField": "FIELD_ID",
- "browsable": true
}
]
}, - "permittedActions": [
- {
- "resourceType": "ASSET",
- "resourceId": "7af90a8b-7ccd-430f-a85d-e8614015bc47",
- "action": "VIEW_ASSET"
}
]
}
]At present the Corebook integration with Dash is configured entirely within Corebook. However, Dash allows admins to set their CorebookSettings.corebookUrl, which will then show up as a "Brand" link to all users.
curl -i -X GET \ https://api-v2.dash.app/corebook-settings \ -H 'Authorization: Bearer <YOUR_JWT_HERE>'
{- "result": {
- "accountId": "cfb665ca-ce35-4418-b9d5-70ee815db4bd",
- "enabled": true,
}, - "permittedActions": [
- {
- "resourceType": "ASSET",
- "resourceId": "7af90a8b-7ccd-430f-a85d-e8614015bc47",
- "action": "VIEW_ASSET"
}
]
}| enabled | boolean Whether Corebook integration is enable |
| corebookUrl | string The URL to Corebook that will be used to link users to the brand guidelines |
{- "enabled": true,
}{- "result": {
- "accountId": "cfb665ca-ce35-4418-b9d5-70ee815db4bd",
- "enabled": true,
}, - "permittedActions": [
- {
- "resourceType": "ASSET",
- "resourceId": "7af90a8b-7ccd-430f-a85d-e8614015bc47",
- "action": "VIEW_ASSET"
}
]
}curl -i -X GET \ https://api-v2.dash.app/custom-integration-settings \ -H 'Authorization: Bearer <YOUR_JWT_HERE>'
{- "result": {
- "accountId": "cfb665ca-ce35-4418-b9d5-70ee815db4bd",
- "clientId": "CFB665Cace354418B9D570EE815DB4bd",
- "clientSecret": "EE815DB4-CFB665Ca-fzHDlUibM9g6JwiOXf9Vxh6f_egJD",
}, - "permittedActions": [
- {
- "resourceType": "ASSET",
- "resourceId": "7af90a8b-7ccd-430f-a85d-e8614015bc47",
- "action": "VIEW_ASSET"
}
]
}| allowedWebOriginUrls required | Array of strings Allowed origins for use in the cross-origin authentication flow |
| allowedCallbackUrls required | Array of strings Allowed URLs for callback (i.e. with generated access token) during authentication flow |
| allowedLogoutUrls required | Array of strings Allowed URLs to redirect to after logout |
{
}{- "result": {
- "accountId": "cfb665ca-ce35-4418-b9d5-70ee815db4bd",
- "clientId": "CFB665Cace354418B9D570EE815DB4bd",
- "clientSecret": "EE815DB4-CFB665Ca-fzHDlUibM9g6JwiOXf9Vxh6f_egJD",
}, - "permittedActions": [
- {
- "resourceType": "ASSET",
- "resourceId": "7af90a8b-7ccd-430f-a85d-e8614015bc47",
- "action": "VIEW_ASSET"
}
]
}| allowedWebOriginUrls | Array of strings Nullable Allowed origins for use in the cross-origin authentication flow |
| allowedCallbackUrls | Array of strings Nullable Allowed URLs for callback (i.e. with generated access token) during authentication flow |
| allowedLogoutUrls | Array of strings Nullable Allowed URLs to redirect to after logout |
{
}{- "result": {
- "accountId": "cfb665ca-ce35-4418-b9d5-70ee815db4bd",
- "clientId": "CFB665Cace354418B9D570EE815DB4bd",
- "clientSecret": "EE815DB4-CFB665Ca-fzHDlUibM9g6JwiOXf9Vxh6f_egJD",
}, - "permittedActions": [
- {
- "resourceType": "ASSET",
- "resourceId": "7af90a8b-7ccd-430f-a85d-e8614015bc47",
- "action": "VIEW_ASSET"
}
]
}curl -i -X DELETE \ https://api-v2.dash.app/custom-integration-settings \ -H 'Authorization: Bearer <YOUR_JWT_HERE>'
{- "timestamp": "2021-02-16T16:21:58.640+00:00",
- "status": 401,
- "error": "Unauthorized",
- "message": null,
- "path": "/folder-settings"
}Coming soon; contact us if you need access to this API endpoint.
Portals allow a public (or passcode protected) view on Assets within a set of folders.
Create a new Portal, allowing public access to specified folders to anyone who has one of the Portal.slugs.
| name required | string Name of the |
| slug required | string A human readable unique identifier, used in the Dash portal URL |
| whitelistedFolderFieldOptionIds required | Array of strings The folder |
required | object (WelcomeMessage) |
| showRecentlyAddedAssets required | boolean Whether this portal should include a preview of recently added assets |
| passcode | string Nullable A passcode that must be provided when viewing a portal. Note that this is NOT a password and as such is stored in plain text |
| assetPermittedActions | string (AssetPermittedActionsWithDefault) Default: "VIEW_AND_DOWNLOAD" Permissions users have on assets they are viewing |
{- "name": "Reseller portal",
- "slug": "reseller-portal",
- "whitelistedFolderFieldOptionIds": [
- "4cb261ad-dffb-414e-89cf-6902e3031d44",
- "4e14dc90-eb7b-4fd2-87e5-e8968c236ec0"
], - "welcomeMessage": {
- "title": "Welcome to our reseller portal",
- "body": "Take a look around our reseller portal and quickly find all the assets you need. Happy browsing!"
}, - "showRecentlyAddedAssets": true,
- "passcode": "LetMeInPlease",
- "assetPermittedActions": "VIEW"
}{- "result": {
- "id": "55f9964c-095d-4b8b-bb5e-4118d2e76ad0",
- "accountId": "cfb665ca-ce35-4418-b9d5-70ee815db4bd",
- "name": "Reseller portal",
- "currentSlug": "reseller-portal",
- "slugs": [
- "reseller-portal",
- "old-slug-here"
], - "whitelistedFolderFieldOptionIds": [
- "4cb261ad-dffb-414e-89cf-6902e3031d44",
- "4e14dc90-eb7b-4fd2-87e5-e8968c236ec0"
], - "welcomeMessage": {
- "title": "Welcome to our reseller portal",
- "body": "Take a look around our reseller portal and quickly find all the assets you need. Happy browsing!"
}, - "showRecentlyAddedAssets": true,
- "passcode": "LetMeInPlease",
- "assetPermittedActions": "VIEW"
}, - "permittedActions": [
- {
- "resourceType": "ASSET",
- "resourceId": "7af90a8b-7ccd-430f-a85d-e8614015bc47",
- "action": "VIEW_ASSET"
}
]
}Get a Portal
| id required | string The unique ID of the |
curl -i -X GET \ https://api-v2.dash.app/portals/:id \ -H 'Authorization: Bearer <YOUR_JWT_HERE>'
{- "result": {
- "id": "55f9964c-095d-4b8b-bb5e-4118d2e76ad0",
- "accountId": "cfb665ca-ce35-4418-b9d5-70ee815db4bd",
- "name": "Reseller portal",
- "currentSlug": "reseller-portal",
- "slugs": [
- "reseller-portal",
- "old-slug-here"
], - "whitelistedFolderFieldOptionIds": [
- "4cb261ad-dffb-414e-89cf-6902e3031d44",
- "4e14dc90-eb7b-4fd2-87e5-e8968c236ec0"
], - "welcomeMessage": {
- "title": "Welcome to our reseller portal",
- "body": "Take a look around our reseller portal and quickly find all the assets you need. Happy browsing!"
}, - "showRecentlyAddedAssets": true,
- "passcode": "LetMeInPlease",
- "assetPermittedActions": "VIEW"
}, - "permittedActions": [
- {
- "resourceType": "ASSET",
- "resourceId": "7af90a8b-7ccd-430f-a85d-e8614015bc47",
- "action": "VIEW_ASSET"
}
]
}Patch a Portal
| id required | string The unique ID of the |
| name | string Nullable Name of the |
| slug | string Nullable A human readable unique identifier, used in the Dash portal URL |
| whitelistedFolderFieldOptionIds | Array of strings Nullable The folder |
object Nullable | |
| showRecentlyAddedAssets | boolean Nullable Whether this portal should include a preview of recently added assets |
object (NullableStringFieldPatch) | |
| assetPermittedActions | string (AssetPermittedActionsWithDefault) Default: "VIEW_AND_DOWNLOAD" Permissions users have on assets they are viewing |
{- "name": "Reseller portal",
- "slug": "reseller-portal",
- "whitelistedFolderFieldOptionIds": [
- "4cb261ad-dffb-414e-89cf-6902e3031d44",
- "4e14dc90-eb7b-4fd2-87e5-e8968c236ec0"
], - "welcomeMessage": {
- "title": "Welcome to our reseller portal",
- "body": "Take a look around our reseller portal and quickly find all the assets you need. Happy browsing!"
}, - "showRecentlyAddedAssets": true,
- "passcode": {
- "value": "example value"
}, - "assetPermittedActions": "VIEW"
}{- "result": {
- "id": "55f9964c-095d-4b8b-bb5e-4118d2e76ad0",
- "accountId": "cfb665ca-ce35-4418-b9d5-70ee815db4bd",
- "name": "Reseller portal",
- "currentSlug": "reseller-portal",
- "slugs": [
- "reseller-portal",
- "old-slug-here"
], - "whitelistedFolderFieldOptionIds": [
- "4cb261ad-dffb-414e-89cf-6902e3031d44",
- "4e14dc90-eb7b-4fd2-87e5-e8968c236ec0"
], - "welcomeMessage": {
- "title": "Welcome to our reseller portal",
- "body": "Take a look around our reseller portal and quickly find all the assets you need. Happy browsing!"
}, - "showRecentlyAddedAssets": true,
- "passcode": "LetMeInPlease",
- "assetPermittedActions": "VIEW"
}, - "permittedActions": [
- {
- "resourceType": "ASSET",
- "resourceId": "7af90a8b-7ccd-430f-a85d-e8614015bc47",
- "action": "VIEW_ASSET"
}
]
}Delete a Portal.
| id required | string The unique ID of the |
curl -i -X DELETE \ https://api-v2.dash.app/portals/:id \ -H 'Authorization: Bearer <YOUR_JWT_HERE>'
{- "timestamp": "2021-02-16T16:21:58.640+00:00",
- "status": 401,
- "error": "Unauthorized",
- "message": null,
- "path": "/folder-settings"
}Create a new PortalSearch
| from required | integer Default: 0 The item number to begin the result set from |
| pageSize required | integer Default: 100 The maximum number of items to return in the result set |
required | any (PortalSearchCriterion) |
required | Array of objects (PortalSort) Sorts to be applied to the search in order of precedence |
{- "from": 0,
- "pageSize": 100,
- "criterion": {
- "type": "MATCH_ALL"
}, - "sorts": [
- {
- "field": "NAME",
- "order": "ASC"
}
]
}{- "results": [
- {
- "result": {
- "id": "55f9964c-095d-4b8b-bb5e-4118d2e76ad0",
- "accountId": "cfb665ca-ce35-4418-b9d5-70ee815db4bd",
- "name": "Reseller portal",
- "currentSlug": "reseller-portal",
- "slugs": [
- "reseller-portal",
- "old-slug-here"
], - "whitelistedFolderFieldOptionIds": [
- "4cb261ad-dffb-414e-89cf-6902e3031d44",
- "4e14dc90-eb7b-4fd2-87e5-e8968c236ec0"
], - "welcomeMessage": {
- "title": "Welcome to our reseller portal",
- "body": "Take a look around our reseller portal and quickly find all the assets you need. Happy browsing!"
}, - "showRecentlyAddedAssets": true,
- "passcode": "LetMeInPlease",
- "assetPermittedActions": "VIEW"
}, - "permittedActions": [
- {
- "resourceType": "ASSET",
- "resourceId": "7af90a8b-7ccd-430f-a85d-e8614015bc47",
- "action": "VIEW_ASSET"
}
]
}
], - "totalResults": 15
}Get an access token for making requests as Portal user. Use this access token in the same way as the normal signed-in user token to make requests with the permissions of the share applied.
This endpoint is not authenticated with a Bearer token. Do not send a Bearer Token in the Authorization Header
If the portal has a passcode, select the portalPasscode Authorization header and prefix the passcode with "Passcode ".
| id required | string The unique ID of the |
curl -i -X GET \ https://api-v2.dash.app/portals/:id/access-token
{- "result": {
- "accessToken": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6Ik5UZzNPRFV4TkVKQk56UTVRemswTjBFNFFUTTJOVUV6TlRnNU9VVXpRakU0UmtKQlJrSXpOUSJ9.eyJodHRwczovL2Fzc2V0cGxhdGZvcm0uaW8vYWNjb3VudF9pZCI6IjE3ZmNhYzg5LWNjMmUtNGE0MC1hYTZmLWI4NWQ4MDEzMDRkMyIsImh0dHBzOi8vYXNzZXRwbGF0Zm9ybS5pby9leHRlcm5hbF9hY2Nlc3NfaWQiOiI4NjVjNjBiYi02NzA5LTQxZTAtOGI0ZS0yNTljYTk4MjkzNTEiLCJodHRwczovL2Fzc2V0cGxhdGZvcm0uaW8vZXh0ZXJuYWxfYWNjZXNzX3Jlc291cmNlX3R5cGUiOiJTSEFSRSIsImh0dHBzOi8vYXNzZXRwbGF0Zm9ybS5pby9zY29wZSI6ImFjY2VzczpleHRlcm5hbF9hY2Nlc3MiLCJodHRwczovL2Fzc2V0cGxhdGZvcm0uaW8vdGVtcG9yYXJ5X3VzZXJfaWQiOiJ0ZW1wb3JhcnktdXNlci1mb3ItZXh0ZXJuYWwtYWNjZXNzfDg2NWM2MGJiLTY3MDktNDFlMC04YjRlLTI1OWNhOTgyOTM1MXxTSEFSRXxmMDJmNTE2Mi03OTc4LTRhMzktYWZkMS0zZGU1MzY1ODlmNDkiLCJpc3MiOiJodHRwczovL2xvZ2luLmJyaWdodGRhc2hzdGFnaW5nLmFwcC8iLCJzdWIiOiJWNFhJdWN1eEx5UzFmNjVkd2RmaWRib1BLcnFFb3lkWUBjbGllbnRzIiwiYXVkIjoiaHR0cHM6Ly9hc3NldHBzdGFnaW5nLmlvIiwiaWF0IjoxNjIwMTIzMjgyLCJleHAiOjE2MjAyMDk2ODIsImF6cCI6IlY0WEl1Y3V4THlTMWY2NWR3ZGZpZGJvUEtycUVveWRZIiwiZ3R5IjoiY2xpZW50LWNyZWRlbnRpYWxzIn0.clGEEfy-8yQNQ_f4TDc0OqA8Zi5gHq_-9gKFRif69DNnhzIbgqduVnaweR6x1KJU8CgnZiDMBKEwsiZw3gs-U8XnBIzbb8ImpdhYjoKnGv520oUKAA5RiAThamj1a0jGphmnDd3cCS6uIqdkSvxziE9ktL-MLNqbNFfgvdQuCo66YDqjhaHN7bqvliqaleUSRYZOd016M_N_ya21lamSxZcVintaktyvOApuAVgTMyIrrO8VuyhWW-cmiRFYKeTWnl2_kv9s_xQyWQ_PHH92rVCgRJwbofQEko4Isj4ZhLkA2xrurCPrz6VCtD5GYUfJNUWN_HcEHFsSqSYCsGfBAg"
}, - "permittedActions": [
- {
- "resourceType": "ASSET",
- "resourceId": "7af90a8b-7ccd-430f-a85d-e8614015bc47",
- "action": "VIEW_ASSET"
}
]
}Send a Portal via email to a specified email address
| portalId | string The unique ID for the |
string The email address to send the |
{- "portalId": "55f9964c-095d-4b8b-bb5e-4118d2e76ad0",
- "email": "john.smith@gmail.com"
}{- "timestamp": "2021-02-16T16:21:58.640+00:00",
- "status": 401,
- "error": "Unauthorized",
- "message": null,
- "path": "/folder-settings"
}A SavedSearch is an AssetSearch(#operation/postAssetSearch).criterion and AssetSearch(#operation/postAssetSearch).sorts that have been saved by a user. The user may also chose to receive email updates every time a new asset matches the saved criterion.
Searching allows you to find SavedSearches resources in your Dash matching specific criteria.
Create a new SavedSearch resource.
| name required | string Name of the |
| emailUserOnNewUploads required | boolean Whether to email the creator when a new upload matches the saved search criterion |
required | any (AssetSearchCriterion) |
required | Array of objects (AssetSort) Sorts to be applied to the search in order of precedence |
{- "name": "My favourite search",
- "emailUserOnNewUploads": true,
- "criterion": {
- "type": "FIELD_EQUALS",
- "value": "Folder",
- "field": {
- "type": "FIXED",
- "fieldName": "STAGED_BY"
}, - "includeDescendants": true,
- "boost": null
}, - "sorts": [
- {
- "field": {
- "type": "FIXED",
- "fieldName": "STAGED_BY"
}, - "order": "ASC"
}
]
}{- "id": "1627573b-1273-441e-90d1-505d1f8ab47c",
- "accountId": "cfb665ca-ce35-4418-b9d5-70ee815db4bd",
- "creatorId": "google-oauth2|110955770826801837334",
- "name": "My favourite search",
- "emailUserOnNewUploads": true,
- "criterion": {
- "type": "FIELD_EQUALS",
- "value": "Folder",
- "field": {
- "type": "FIXED",
- "fieldName": "STAGED_BY"
}, - "includeDescendants": true,
- "boost": null
}, - "sorts": [
- {
- "field": {
- "type": "FIXED",
- "fieldName": "STAGED_BY"
}, - "order": "ASC"
}
]
}Get a SavedSearch resource.
| id required | string The unique ID of the |
curl -i -X GET \ https://api-v2.dash.app/saved-searches/:id \ -H 'Authorization: Bearer <YOUR_JWT_HERE>'
{- "result": {
- "id": "1627573b-1273-441e-90d1-505d1f8ab47c",
- "accountId": "cfb665ca-ce35-4418-b9d5-70ee815db4bd",
- "creatorId": "google-oauth2|110955770826801837334",
- "name": "My favourite search",
- "emailUserOnNewUploads": true,
- "criterion": {
- "type": "FIELD_EQUALS",
- "value": "Folder",
- "field": {
- "type": "FIXED",
- "fieldName": "STAGED_BY"
}, - "includeDescendants": true,
- "boost": null
}, - "sorts": [
- {
- "field": {
- "type": "FIXED",
- "fieldName": "STAGED_BY"
}, - "order": "ASC"
}
]
}, - "permittedActions": [
- {
- "resourceType": "ASSET",
- "resourceId": "7af90a8b-7ccd-430f-a85d-e8614015bc47",
- "action": "VIEW_ASSET"
}
]
}Update a SavedSearch resource. Only the provided fields will be updated
| id required | string The unique ID of the |
| name | string Nullable Name of the |
| emailUserOnNewUploads | boolean Nullable Whether to email the creator when a new upload matches the saved search criterion |
{- "name": "My favourite search",
- "emailUserOnNewUploads": true
}{- "result": {
- "id": "1627573b-1273-441e-90d1-505d1f8ab47c",
- "accountId": "cfb665ca-ce35-4418-b9d5-70ee815db4bd",
- "creatorId": "google-oauth2|110955770826801837334",
- "name": "My favourite search",
- "emailUserOnNewUploads": true,
- "criterion": {
- "type": "FIELD_EQUALS",
- "value": "Folder",
- "field": {
- "type": "FIXED",
- "fieldName": "STAGED_BY"
}, - "includeDescendants": true,
- "boost": null
}, - "sorts": [
- {
- "field": {
- "type": "FIXED",
- "fieldName": "STAGED_BY"
}, - "order": "ASC"
}
]
}, - "permittedActions": [
- {
- "resourceType": "ASSET",
- "resourceId": "7af90a8b-7ccd-430f-a85d-e8614015bc47",
- "action": "VIEW_ASSET"
}
]
}Create a new SavedSearchSearch
The only use of a SavedSearchSearch as of now is to retrieve all the SavedSearch resources created by a User
| from required | integer Default: 0 The item number to begin the result set from |
| pageSize required | integer Default: 100 The maximum number of items to return in the result set |
required | any (SavedSearchSearchCriterion) |
| sorts required | Array of objects This search does not accept any sorts, but has the sorts parameter anyway to fit in with other searches. You must always provide an empty list for this parameter. |
{- "from": 0,
- "pageSize": 100,
- "criterion": {
- "type": "FIELD_EQUALS",
- "field": "CREATOR_ID",
- "value": "google-oauth2|110955770826801837334"
}, - "sorts": [ ]
}{- "results": [
- {
- "result": {
- "id": "1ecabbb8-85d5-11eb-8dcd-0242ac130003",
- "accountId": "cfb665ca-ce35-4418-b9d5-70ee815db4bd",
- "creatorId": "google-oauth2|340955570626871847637",
- "name": "Favourite search",
- "emailUserOnNewUploads": true,
- "criterion": {
- "type": "FIELD_EQUALS",
- "value": "a32fe863-0a1d-4b54-990a-b094139cf81c",
- "field": {
- "type": "FIELD",
- "fieldId": "a52b5315-15b8-417f-b742-d6902108bac1"
}
}, - "sorts": [ ]
}, - "permittedActions": [ ]
}, - {
- "result": {
- "id": "1fc6d6c3-c42d-48e2-b0db-5d680a58ca52",
- "accountId": "cfb665ca-ce35-4418-b9d5-70ee815db4bd",
- "creatorId": "google-oauth2|340955570626871847637",
- "name": "Added in January",
- "emailUserOnNewUploads": false,
- "criterion": {
- "type": "FIELD_MATCHES",
- "value": "[2021-01-01 TO 2021-02-01]",
- "field": {
- "type": "FIXED",
- "fieldName": "DATE_LIVE"
}
}, - "sorts": [ ]
}, - "permittedActions": [ ]
}, - {
- "result": {
- "id": "a52b5315-15b8-417f-b742-d6902108bac1",
- "accountId": "cfb665ca-ce35-4418-b9d5-70ee815db4bd",
- "creatorId": "google-oauth2|340955570626871847637",
- "name": "My saved search",
- "emailUserOnNewUploads": true,
- "criterion": {
- "type": "MATCH_ALL"
}, - "sorts": [
- {
- "field": {
- "type": "FIXED",
- "fieldName": "DATE_LIVE"
}, - "order": "DESC"
}
]
}, - "permittedActions": [ ]
}
], - "totalResults": 3
}curl -i -X GET \ https://api-v2.dash.app/groups \ -H 'Authorization: Bearer <YOUR_JWT_HERE>'
[- {
- "result": {
- "id": "cfb665ca-ce35-4418-b9d5-70ee815db4bd",
- "accountId": "cfb665ca-ce35-4418-b9d5-70ee815db4bd",
- "name": "My Group Name",
- "role": "BASIC",
- "numberOfUsers": 56,
- "fieldWhitelist": {
- "fieldWhitelistType": "ALL_OPTIONS"
}
}, - "permittedActions": [
- {
- "resourceType": "ASSET",
- "resourceId": "7af90a8b-7ccd-430f-a85d-e8614015bc47",
- "action": "VIEW_ASSET"
}
]
}
]Create a Group
| name required | string The name of the group |
| role required | string (GroupRole) The role of users in this group |
required | any (FieldWhitelist) |
{- "name": "string",
- "role": "BASIC",
- "fieldWhitelist": {
- "fieldWhitelistType": "ALL_OPTIONS"
}
}{- "result": {
- "id": "cfb665ca-ce35-4418-b9d5-70ee815db4bd",
- "accountId": "cfb665ca-ce35-4418-b9d5-70ee815db4bd",
- "name": "My Group Name",
- "role": "BASIC",
- "numberOfUsers": 56,
- "fieldWhitelist": {
- "fieldWhitelistType": "ALL_OPTIONS"
}
}, - "permittedActions": [
- {
- "resourceType": "ASSET",
- "resourceId": "7af90a8b-7ccd-430f-a85d-e8614015bc47",
- "action": "VIEW_ASSET"
}
]
}Get a Group
| id required | string The unique ID of the group Example: cff665ca-ce35-5418-b9d5-70ee815db4bc |
curl -i -X GET \ https://api-v2.dash.app/groups/:id \ -H 'Authorization: Bearer <YOUR_JWT_HERE>'
{- "result": {
- "id": "cfb665ca-ce35-4418-b9d5-70ee815db4bd",
- "accountId": "cfb665ca-ce35-4418-b9d5-70ee815db4bd",
- "name": "My Group Name",
- "role": "BASIC",
- "numberOfUsers": 56,
- "fieldWhitelist": {
- "fieldWhitelistType": "ALL_OPTIONS"
}
}, - "permittedActions": [
- {
- "resourceType": "ASSET",
- "resourceId": "7af90a8b-7ccd-430f-a85d-e8614015bc47",
- "action": "VIEW_ASSET"
}
]
}Update a Group
| id required | string The unique ID of the group Example: cff665ca-ce35-5418-b9d5-70ee815db4bc |
| name | string Nullable The name of the group |
| role | string Nullable The role of users in this group |
object Nullable |
{- "name": "string",
- "role": "BASIC",
- "fieldWhitelist": {
- "fieldWhitelistType": "ALL_OPTIONS"
}
}{- "result": {
- "id": "cfb665ca-ce35-4418-b9d5-70ee815db4bd",
- "accountId": "cfb665ca-ce35-4418-b9d5-70ee815db4bd",
- "name": "My Group Name",
- "role": "BASIC",
- "numberOfUsers": 56,
- "fieldWhitelist": {
- "fieldWhitelistType": "ALL_OPTIONS"
}
}, - "permittedActions": [
- {
- "resourceType": "ASSET",
- "resourceId": "7af90a8b-7ccd-430f-a85d-e8614015bc47",
- "action": "VIEW_ASSET"
}
]
}Delete a Group
| id required | string The unique ID of the group Example: cff665ca-ce35-5418-b9d5-70ee815db4bc |
curl -i -X DELETE \ https://api-v2.dash.app/groups/:id \ -H 'Authorization: Bearer <YOUR_JWT_HERE>'
{- "timestamp": "2021-02-16T16:21:58.640+00:00",
- "status": 401,
- "error": "Unauthorized",
- "message": null,
- "path": "/folder-settings"
}Coming soon; contact us if you need access to this API endpoint.
The User resource contains information about a user in Dash such as their email address and their name (if provided).
Create a new User in the current account
| type required | string ADMIN IN_GROUPS ADMIN |
| email required | string The email address of the |
| welcomeMessage | string Default: "You have been invited to join Dash — a tool for managing images, videos and more." An optional welcome message included in the |
{- "type": "ADMIN",
- "email": "john.smith@gmail.com",
- "welcomeMessage": "You have been invited to join Dash — a tool for managing images, videos and more."
}{- "result": {
- "type": "ACTIVE_ACCOUNT_USER",
- "accountId": "cfb665ca-ce35-4418-b9d5-70ee815db4bd",
- "id": "google-oauth2|110955770826801837334",
- "email": "john.smith@gmail.com",
- "permissions": {
- "permissionsType": "ADMIN"
}, - "name": "Ken Hassleback",
- "firstName": "Ken",
- "lastName": "Hassleback",
- "lastLogin": "2021-02-16T16:21:58.640+00:00"
}, - "permittedActions": [
- {
- "resourceType": "ASSET",
- "resourceId": "7af90a8b-7ccd-430f-a85d-e8614015bc47",
- "action": "VIEW_ASSET"
}
]
}Get a User
| id required | string The unique ID of the |
curl -i -X GET \ https://api-v2.dash.app/users/:id \ -H 'Authorization: Bearer <YOUR_JWT_HERE>'
{- "result": {
- "type": "ACTIVE_ACCOUNT_USER",
- "accountId": "cfb665ca-ce35-4418-b9d5-70ee815db4bd",
- "id": "google-oauth2|110955770826801837334",
- "email": "john.smith@gmail.com",
- "permissions": {
- "permissionsType": "ADMIN"
}, - "name": "Ken Hassleback",
- "firstName": "Ken",
- "lastName": "Hassleback",
- "lastLogin": "2021-02-16T16:21:58.640+00:00"
}, - "permittedActions": [
- {
- "resourceType": "ASSET",
- "resourceId": "7af90a8b-7ccd-430f-a85d-e8614015bc47",
- "action": "VIEW_ASSET"
}
]
}Patch a User
| id required | string The unique ID of the |
| type required | string ADMIN IN_GROUPS ADMIN |
{- "type": "ADMIN"
}{- "result": {
- "type": "ACTIVE_ACCOUNT_USER",
- "accountId": "cfb665ca-ce35-4418-b9d5-70ee815db4bd",
- "id": "google-oauth2|110955770826801837334",
- "email": "john.smith@gmail.com",
- "permissions": {
- "permissionsType": "ADMIN"
}, - "name": "Ken Hassleback",
- "firstName": "Ken",
- "lastName": "Hassleback",
- "lastLogin": "2021-02-16T16:21:58.640+00:00"
}, - "permittedActions": [
- {
- "resourceType": "ASSET",
- "resourceId": "7af90a8b-7ccd-430f-a85d-e8614015bc47",
- "action": "VIEW_ASSET"
}
]
}Delete a User and delete all AssetShares belonging to that user
| id required | string The unique ID of the |
curl -i -X DELETE \ https://api-v2.dash.app/users/:id \ -H 'Authorization: Bearer <YOUR_JWT_HERE>'
{- "timestamp": "2021-02-16T16:21:58.640+00:00",
- "status": 401,
- "error": "Unauthorized",
- "message": null,
- "path": "/folder-settings"
}Create a new UserSearch
| from required | integer Default: 0 The item number to begin the result set from |
| pageSize required | integer Default: 100 The maximum number of items to return in the result set |
required | any (UserSearchCriterion) |
required | Array of objects (UserSort) Sorts to be applied to the search in order of precedence |
{- "from": 0,
- "pageSize": 100,
- "criterion": {
- "type": "MATCH_ALL"
}, - "sorts": [
- {
- "field": "EMAIL",
- "order": "ASC"
}
]
}{- "results": [
- {
- "result": {
- "type": "ACTIVE_ACCOUNT_USER",
- "accountId": "cfb665ca-ce35-4418-b9d5-70ee815db4bd",
- "id": "google-oauth2|110955770826801837334",
- "email": "john.smith@gmail.com",
- "permissions": {
- "permissionsType": "ADMIN"
}, - "name": "Ken Hassleback",
- "firstName": "Ken",
- "lastName": "Hassleback",
- "lastLogin": "2021-02-16T16:21:58.640+00:00"
}, - "permittedActions": [
- {
- "resourceType": "ASSET",
- "resourceId": "7af90a8b-7ccd-430f-a85d-e8614015bc47",
- "action": "VIEW_ASSET"
}
]
}
], - "totalResults": 10
}Delete a User with the option to delete all AssetShares belonging to that user
| id | string The unique ID of the |
| deleteAssetShares | boolean Whether to delete all |
{- "id": "cfb665ca-ce35-4418-b9d5-70ee815db4bd",
- "deleteAssetShares": true
}{- "timestamp": "2021-02-16T16:21:58.640+00:00",
- "status": 401,
- "error": "Unauthorized",
- "message": null,
- "path": "/folder-settings"
}curl -i -X GET \ https://api-v2.dash.app/current-user \ -H 'Authorization: Bearer <YOUR_JWT_HERE>'
{- "result": {
- "type": "ACTIVE_ACCOUNT_USER",
- "accountId": "cfb665ca-ce35-4418-b9d5-70ee815db4bd",
- "id": "google-oauth2|110955770826801837334",
- "email": "john.smith@gmail.com",
- "permissions": {
- "permissionsType": "ADMIN"
}, - "name": "Ken Hassleback",
- "firstName": "Ken",
- "lastName": "Hassleback",
- "lastLogin": "2021-02-16T16:21:58.640+00:00"
}, - "permittedActions": [
- {
- "resourceType": "ASSET",
- "resourceId": "7af90a8b-7ccd-430f-a85d-e8614015bc47",
- "action": "VIEW_ASSET"
}
], - "deniedActionsWithReasons": [
- {
- "resourceType": "ASSET",
- "resourceId": "7af90a8b-7ccd-430f-a85d-e8614015bc47",
- "action": "VIEW_ASSET",
- "denialReason": {
- "type": "UNVERIFIED_FREE_TRIAL"
}
}
]
}Coming soon; contact us if you need access to this API endpoint.
Coming soon; contact us if you need access to this API endpoint.