{
  "openapi" : "3.0.1",
  "info" : {
    "description" : "# Introduction\n\nAcquia DAM (Widen) is an image and media management application that focuses on the needs of marketing departments to distribute digital files.\n\nKeep up to date with API changes by checking out the [Acquia Developer Portal](https://dev.acquia.com/blog?f%5B0%5D=product%3A2796&page=1).\n\n## API v2.0\n\nAs we evolve the API we will add properties to existing responses, but will not remove or change properties of existing responses without communicating those changes ahead of time. Your program should not error if it detects an unexpected property.\n\n## API v1.0\n\n[Acquia DAM (Widen) API v1.0](https://docs.acquia.com/acquia-dam/api-v1) is still available.\n\n## Authentication\nThe API requires all requests to send an access token in the `Authorization` header.\n\nThe preferred format for the Authorization header is `Bearer`. Basic authorization is also supported by using the token as the username and a password of `x-oauth-basic`.\n- Example bearer header: `Authorization: Bearer wat_demo_2eca64f9d1f246a7f8de13e4f39cd9`\n- Example basic authentication header: `Authorization: Basic wat_demo_2eca64f9d1f246a7f8de13e4f39cd9:x-oauth-basic` (Note: username and password value must be Base64 encoded per the basic auth specification.)\n\nA personal access token can be generated by logging into the Acquia DAM application and accessing the API Setup page (Admin | Global Settings).\n\nThe Acquia DAM REST API also supports [OAuth 2](http://tools.ietf.org/html/rfc6749) for authentication. When submitting a request for an access token using OAuth 2, your OAuth client ID and secret must be provided in the in the request body for the OAuth grant type you use.  The OAuth client ID and secret can be provided by Widen Support.\n\n## OAuth Client Configuration\nThe v2.0 API now supports clients configured to provide access tokens in two ways:\n- **Non-expiring access tokens**: any access token obtained via a client configured in this way do not expire and only need to be obtained once.\n- **Refresh tokens**: access tokens obtained via a client configured to use refresh tokens will expire after 8 hours.\n  <p>A new access token can be obtained by exchanging the refresh token for an access token without needing to re-authorize the OAuth client. Refresh tokens are strictly single-use and will expire after 6 months. A new refresh token is issued when exchanging.\n  <p>An OAuth client can be configured to use refresh tokens by contacting Widen Support.\n\n## Grant Types\n<p>Two grant types are available for authenticating:</p>\n\n- `authorization_code`: [This grant type](http://tools.ietf.org/html/rfc6749#section-1.3.1) is used when you are exchanging an authorization code for an access token.\n- `refresh_token`: [This grant type](https://datatracker.ietf.org/doc/html/rfc6749#section-1.5) can be used to exchange a refresh token for an access token.  This grant type is only available if your OAuth client is configured to issue refresh tokens.\n\n## Obtaining an Authorization Code\n<p>Authorization codes are one-time use codes which can be exchanged for an access token.\nTo obtain an authorization code from Acquia DAM, your application should redirect the user to\nthe following page in Acquia DAM and include the required query parameters.</p>\n\n```\nhttps://mysite.widencollective.com/allowaccess\n?client_id=myclientid.app.widen.com\n&redirect_uri=http://myredirecturl.com\n&state=xyz123\n```\n\nAfter loading the Acquia DAM site with this url, the user will be requested to authenticate (if needed).  They will then be taken to the Allow Access page, where they user will be shown\nyour OAuth client's information.  At that point the user can choose whether to allow your OAuth client to access\nAcquia DAM on behalf of the user or they may choose to cancel and be redirected to the `redirect_uri`.\n\nThere are then 3 query parameters that can be added to the `allowaccess` URL.\n\n- `client_id`: **Required** This is the OAuth client id registered in the Acquia DAM database. Your OAuth client id must be obtained out-of-band.\n- `redirect_uri`: **Required** This is the url you must supply that Acquia DAM should redirect to after the user chooses to allow your application access.\n- `state`: **Optional** This is an extra security measure that can be taken.  If you specify a state, the state string will be returned to as a query parameter when redirecting to your `redirect_uri`.\n\nAfter choosing to allow your OAuth client access, the Acquia DAM server will respond with a redirect to the `redirect_uri` you supplied as a query parameter.  The redirect will have an authorization code and optionally a state parameter added to the query string.\n\n```\nhttps://myredirecturl.com\n?code=wac_demo_521daa97b78e27c483dd04119ca\n&state=xyz123\n```\n\nYour application can then read the authorization code and make a request to [exchange the code for an access token](#reference/oauth/access-token/obtain-access-token-using-an-authorization-code), which can be used to access protected resources.\n\n## General Statements\n- All dates are expressed in ISO-8601 formats. Date-only fields will not include time infomation.  Example: `2015-01-31T00:00:00Z`\n- All lists indices are 0-based (the index of the first item in a list will be 0).\n- All requests must use an HTTPS (SSL) connection.\n- XMLHTTP `Access-Control-Allow-Origin` header will be set to \"*\".\n- There is a rate limit of 50 calls per second per access token to the API. Exceeding this rate results in \"429 too many requests\" error responses.\n- There are no additional “per hour” or “per day” limits.  This “50 calls per second” rate is the only limitation to your API access.\n- This rate limit only applies to calls directly to the API (api.widencollective.com). Calls to \"download links\" that use our high availability CDN (embed.widencdn.net) are not subject to any limits, even if these links are served up through the API.\n- If your application is regularly hitting the limit of 50 calls per second, please contact your Customer Experience Manager or support@widen.com to discuss your use case.\n\n## Expands\n\nMany resources take an optional `expand` property to include additional response data. Multiple expands can be requested together by seperating them with a comma.  For example: `expand=metadata,metadata_info,metadata_vocabulary`.\n\n## asset_properties\n\n```json\n{\n  \"asset_properties\": {\n    \"popularity\": 0,\n    \"favorite\": false,\n    \"cutline_caption\": \"\"\n  }\n}\n```\n\n## attributes\n\nThe attributes expand can only be used with the List Products by Search Query endpoint\n\n```json\n{\n    \"attributes\": {\n        \"sjdSJ82NamLq\": {\n            \"type\": \"text\",\n            \"values\": [\"Blue steel off road bike with classic styling\"]\n            \"attribute_id\": \"sjdSJ82NamLq\",\n            \"name\": \"Description\",\n            \"import_only\": false,\n            \"attribute_group\": null\n        },\n        \"IBUZwMpZCKiJ\": {\n            \"type\": \"rich_text\",\n            \"values\": [\"<p><strong>The Explorer</strong> is a blue steel mountain bike with classic styling</p>\"],\n            \"attribute_id\": \"IBUZwMpZCKiJ\",\n            \"name\": \"Long Marketing Description\",\n            \"import_only\": false,\n            \"attribute_group\": null\n        },\n        \"XsmdL3N4Asmd\": {\n            \"type\": \"asset\",\n            \"values\": [\"b493fbb1-2d87-4db6-9323-12e615fc42f7\", \"8ea129da-55ef-49f5-b8a3-0b028f724597\"]\n            \"attribute_id\": \"XsmdL3N4Asmd\",\n            \"name\": \"Product Photography\",\n            \"import_only\": false,\n            \"attribute_group\": {\n                \"attribute_group_id\": \"SjSMI29SA01K\",\n                \"name\": \"Assets\"\n            }\n        },\n        \"smkdLA90Skw19\": {\n            \"type\": \"single_controlled_vocab\",\n            \"values\": [\"unisex\"]\n            \"attribute_id\": \"smkdLA90Skw1\",\n            \"name\": \"Gender\",\n            \"import_only\": false,\n            \"attribute_group\": null\n        },\n        \"129SkmAlSOWD\": {\n            \"type\": \"multi_controlled_vocab\",\n            \"values\": [\"NA\", \"EU\", \"APAC\"]\n            \"attribute_id\": \"smkdLA90Skw19\",\n            \"name\": \"Region\",\n            \"import_only\": false,\n            \"attribute_group\": null\n        }\n    }\n}\n```\n\n## embeds\n\nFor more information on embed links, see [Customizing Links and Embed Codes](https://community.widen.com/collective/s/article/How-do-I-customize-share-links-and-embed-codes-for-images).\n\nNote: \"templated\" embed URLs are deprecated and should not be used in new projects.  Instead, please use the above support article to create custom embed links by convention.\n\n```json\n{\n  \"embeds\": {\n    \"640px-portrait\": {\n      \"html\": \"<img height=\\\"640\\\" alt=\\\"popcorn\\\" src=\\\"https://s-embed.widencdn.net/img/uriah-trek-local/jq1ycsbone/x640px/popcorn.jpeg?u=edeh4k\\\">\",\n      \"url\": \"https://s-embed.widencdn.net/img/uriah-trek-local/jq1ycsbone/x640px/popcorn.jpeg?u=edeh4k\"\n    },\n    \"original\": {\n      \"html\": \"<a href=\\\"https://s-embed.widencdn.net/download/uriah-trek-local/jq1ycsbone/popcorn.jpg?u=edeh4k\\\" target=\\\"_blank\\\">popcorn.jpg</a>\",\n      \"url\": \"https://s-embed.widencdn.net/download/uriah-trek-local/jq1ycsbone/popcorn.jpg?u=edeh4k\"\n    },\n    \"templated\": {\n      \"html\": null,\n      \"url\": \"https://embed.widencdn.net/img/trek/jq1ycsbone/{size}px@{scale}x/popcorn.jpg?q={quality}\"\n    },\n    \"640px-landscape\": {\n      \"html\": \"<img width=\\\"640\\\" alt=\\\"popcorn\\\" src=\\\"https://s-embed.widencdn.net/img/uriah-trek-local/jq1ycsbone/640px/popcorn.jpeg?u=edeh4k\\\">\",\n      \"url\": \"https://s-embed.widencdn.net/img/uriah-trek-local/jq1ycsbone/640px/popcorn.jpeg?u=edeh4k\"\n    }\n  }\n}\n```\n\n\n## file_properties\n\nIn the context of asset search only, the aspect ratio value corresponds to the alternate preview if an asset has one.\n\nNote: `size_in_kbytes` is deprecated and may be removed at a future date.  Use `size_in_bytes` instead.\n\nNote: `size_in_bytes` may be null if file size is not yet known.\n\n```json\n{\n  \"file_properties\": {\n    \"format\": \"JPEG\"\n    \"format_type\": \"image\",\n    \"size_in_kbytes\": 140,\n    \"size_in_bytes\": 143420,\n    \"image_properties\": {\n      \"width\": 3024.0,\n      \"height\": 4032.0,\n      \"aspect_ratio\": 0.75\n    },\n    \"video_properties\": null,\n  }\n}\n```\n\n\n## metadata\n\n```json\n{\n  \"metadata\": {\n    \"fields\": {\n      \"date\": [],\n      \"keywords\": [\n        \"Butter, Hitchcock, Spielberg, Lucas\"\n      ],\n      \"description\": [\n        \"Description of file popcorn.jpg\"\n      ],\n      \"numeric\": [],\n      \"autocompleter\": [],\n      \"palette\": [],\n      \"widen_original_filepath\": []\n    }\n  }\n}\n```\n\n\n## metadata_info\n\n```json\n{\n  \"metadata_info\": {\n    \"field_set\": \"General Metadata Type\",\n    \"field_set_fields\": [\n      {\n        \"vocabulary\": null,\n        \"controlled_vocabulary\": true,\n        \"editable\": true,\n        \"label\": \"Catalog #\",\n        \"field_type\": \"selection_list\",\n        \"key\": \"autocompleter\",\n        \"required\": false\n      },\n      {\n        \"vocabulary\": null,\n        \"controlled_vocabulary\": false,\n        \"editable\": true,\n        \"label\": \"Original Date\",\n        \"field_type\": \"date\",\n        \"key\": \"date\",\n        \"required\": false\n      },\n      {\n        \"vocabulary\": null,\n        \"controlled_vocabulary\": false,\n        \"editable\": true,\n        \"label\": \"Description\",\n        \"field_type\": \"text_multi_line\",\n        \"key\": \"description\",\n        \"required\": false\n      },\n      {\n        \"vocabulary\": null,\n        \"controlled_vocabulary\": false,\n        \"editable\": true,\n        \"label\": \"Keywords\",\n        \"field_type\": \"text\",\n        \"key\": \"keywords\",\n        \"required\": false\n      },\n      {\n        \"vocabulary\": null,\n        \"controlled_vocabulary\": false,\n        \"editable\": true,\n        \"label\": \"Numeric\",\n        \"field_type\": \"numeric\",\n        \"key\": \"numeric\",\n        \"required\": false\n      },\n      {\n        \"vocabulary\": null,\n        \"controlled_vocabulary\": true,\n        \"editable\": true,\n        \"label\": \"Language\",\n        \"field_type\": \"selection_list_multi\",\n        \"key\": \"palette\",\n        \"required\": false\n      },\n      {\n        \"vocabulary\": null,\n        \"controlled_vocabulary\": false,\n        \"editable\": true,\n        \"label\": \"Original Filepath\",\n        \"field_type\": \"text\",\n        \"key\": \"widen_original_filepath\",\n        \"required\": false\n      }\n    ]\n  }\n}\n```\n\n## metadata_vocabulary\n\n```json\n{\n  \"field_set_fields\": {\n    \"vocabulary\": [\n      \"English\",\n      \"British-English\",\n      \"Spanish\",\n      \"French\",\n      \"German\",\n      \"Russian\"\n    ],\n    \"controlled_vocabulary\": true,\n    \"editable\": true,\n    \"label\": \"Language\",\n    \"field_type\": \"selection_list_multi\",\n    \"key\": \"palette\",\n    \"required\": false\n  }\n}\n```\n\n\n## request_fields\n\nThis expand is used by Workflow App Projects:\n\n```json\n{\n  \"request_fields\": {\n    \"Field name 1\": [\n        \"Field 1 value\"\n    ],\n    \"Field name 2\": [\n        \"Field 2 option a\",\n        \"Field 2 option b\"\n    ]\n  }\n}\n```\n\n## security\n\n```json\n{\n  \"security\": {\n    \"release_date\": null,\n    \"expiration_date\": \"2016-09-29T05:00:00Z\",\n    \"asset_groups\": [\n      \"WidenQA\",\n      \"public\"\n    ]\n  }\n}\n```\n\n## status\n\nCan only be used with the Assets `Retrieve by ID` query.\n\nPossible values for `upload_progress` are:\n- `pending`: Embed links and previews are not yet available.\n- `verifying`: Basic previews will now be available for image files. Other previews and pre-conversion are not yet available.\n- `complete`: Other previews and pre-conversions such as embeds will begin to be generated.\n\n```json\n\"status\": {\n    \"upload_progress\": \"complete\"\n}\n```\n\n## tags\n\nReturns the human-assigned tags associated with the asset as a list of display name strings. Valid for asset-by-id, asset-by-version, and asset search endpoints.\n\n```json\n{\n  \"tags\": [\n    \"Landscape\",\n    \"Marketing\",\n    \"Q4 Campaign\"\n  ]\n}\n```\n\n## ai_tags\n\nReturns AI-generated tags associated with the asset as a list of display name strings. These tags are automatically detected by machine learning and reflect the visual content of the asset. Valid for asset-by-id and asset-by-version endpoints.\n\n```json\n{\n  \"ai_tags\": [\n    \"Mountain\",\n    \"Sky\",\n    \"Nature\",\n    \"Outdoor\"\n  ]\n}\n```\n\n## thumbnails\n\nWe do not guarantee the syntax of the url property of this expand. Please consider that when choosing to use this expand.\n\n```json\n{\n  \"thumbnails\": {\n    \"600px\": {\n      \"valid_until\": \"2015-09-01T17:36:43Z\",\n      \"url\": \"https://widen.widencollective.com/thumbnail/cd89ae75-6671-4b41-a0a9-d881c2212f05/av/600px/popcorn.jpg?t=1441129003474&s=dbc73e79fe68bcaf7050cbb080f8fb76e1583511\"\n    },\n    \"2048px\": {\n      \"valid_until\": \"2015-09-01T17:36:43Z\",\n      \"url\": \"https://widen.widencollective.com/thumbnail/cd89ae75-6671-4b41-a0a9-d881c2212f05/av/2048px/popcorn.jpg?t=1441129003474&s=f8e53b48482d1808ed30f7f91ec422254bd15a2e\"\n    },\n    \"125px\": {\n      \"valid_until\": \"2015-09-01T17:36:43Z\",\n      \"url\": \"https://widen.widencollective.com/thumbnail/cd89ae75-6671-4b41-a0a9-d881c2212f05/av/125px/popcorn.jpg?t=1441129003474&s=e0847564d49d351da712669954b5ffa328004d50\"\n    },\n    \"160px\": {\n      \"valid_until\": \"2015-09-01T17:36:43Z\",\n      \"url\": \"https://widen.widencollective.com/thumbnail/cd89ae75-6671-4b41-a0a9-d881c2212f05/av/160px/popcorn.jpg?t=1441129003475&s=3302645ce050e87db9fc39e90b0f0e77958ef0d5\"\n    },\n    \"300px\": {\n      \"valid_until\": \"2015-09-01T17:36:43Z\",\n      \"url\": \"https://widen.widencollective.com/thumbnail/cd89ae75-6671-4b41-a0a9-d881c2212f05/av/300px/popcorn.jpg?t=1441129003475&s=d0fa01f366b82c66b28c720de86200902640a7b2\"\n    }\n  }\n}\n```\n\n## Early Access Toggles\n\nAs we continue to evolve and improve Acquia DAM, we may need to change some functionality of the API. We understand that our customers need to be able to test their integrations with the new behavior before it's enabled as the default API behavior to ensure that any consumers of the Widen API can be updated to handle the new functionality seamlessly.\n\nTo that end, we have added the ability for a customer to enable these new behaviors on a per-request basis.  This is done by adding custom `X-Widen-Api-Toggle` headers to any requests to the API.\n\nFor example, if you get an asset by ID but want to enable some new functionality for this request:\n```\ncurl --request GET \\\n     --url 'https://api.widencollective.com/v2/assets/id' \\\n     --header 'authorization: Bearer wat_demo_2eca64f9d1f246a7f8de13e4f39cd9' \\\n     --header 'x-widen-api-toggle: some-new-functionality'\n```\n\nIf needed, you can also enable multiple toggles at once using one of two methods.\n\nEither supply multiple `X-Widen-Api-Toggle` headers:\n```\ncurl --request GET \\\n     --url 'https://api.widencollective.com/v2/assets/id' \\\n     --header 'authorization: Bearer wat_demo_2eca64f9d1f246a7f8de13e4f39cd9' \\\n     --header 'x-widen-api-toggle: some-new-functionality' \\\n     --header 'x-widen-api-toggle: some-other-new-functionality'\n```\n\nOr, if your client does not support multiple headers with the same name, you can supply a comma-delimited list within a single header:\n```\ncurl --request GET \\\n     --url 'https://api.widencollective.com/v2/assets/id' \\\n     --header 'authorization: Bearer wat_demo_2eca64f9d1f246a7f8de13e4f39cd9' \\\n     --header 'x-widen-api-toggle: some-new-functionality,some-other-new-functionality'\n```\n\nTo support these new toggles, we've exposed a new endpoint that shows a list of toggles that are available for use.  <a href=\"#toggles\">Click here</a> for more details on our Toggles.\n",
    "title" : "Acquia DAM (Widen) API",
    "version" : "v2.0"
  },
  "servers" : [ {
    "url" : "https://api.widencollective.com"
  } ],
  "security" : [ {
    "access_token" : [ ]
  }, {
    "basic" : [ ]
  } ],
  "tags" : [ {
    "description" : "Create, list, read, ping, edit, and delete Acquia DAM webhook configurations.\n\n## Example Event Payloads\n\nThe following example payloads are what will be sent within the delivery request to configuration `delivery_url` endpoints. Note that payloads will change based on `event_type`.\n\n## asset_asset_groups_updated\n\n```json\n{\n  \"webhook_configuration_id\": \"976cf9b0-95d0-4dbd-acb0-57fbdaef7b6f\",\n  \"webhook_delivery_id\": \"caf875d3-16c2-46c5-bf66-a053165f37b8\",\n  \"event_context\": {\n    \"user\": {\n      \"id\": \"5f6f1f60-1b5e-4690-8ba0-a40c09b2cf0c\",\n      \"username\": \"john@acquia.com\"\n    }\n  },\n  \"asset_id\": \"88b74039-e4e0-448f-a421-825f2b2bd0bf\",\n  \"event_type\": \"asset_asset_groups_updated\",\n  \"change\": {\n    \"old_value\": [\n      {\n        \"id\": \"4fb53682-e1a3-45e0-ac6f-278eda947c00\"\n      },\n      {\n        \"id\": \"423d1fad-b591-42e4-ba54-70140a94f764\"\n      }\n    ],\n    \"new_value\": [\n      {\n        \"id\": \"4fb53682-e1a3-45e0-ac6f-278eda947c00\"\n      }\n    ]\n  }\n}\n```\n\n## asset_categories_updated\n\n```json\n{\n  \"webhook_configuration_id\": \"ca7f38f8-baf1-438d-b42b-9b27432d0ef2\",\n  \"webhook_delivery_id\": \"0f466b7e-0653-4075-b97a-4043731a1b87\",\n  \"event_context\": {\n    \"user\": {\n      \"id\": \"5f6f1f60-1b5e-4690-8ba0-a40c09b2cf0c\",\n      \"username\": \"john@acquia.com\"\n    }\n  },\n  \"asset_id\": \"f9384e27-d80d-43b7-bbff-58d82118daf0\",\n  \"event_type\": \"asset_categories_updated\",\n  \"change\": {\n    \"old_value\": [\n      {\n        \"id\": \"b9bae567-b062-4714-8b91-372d23a83682\",\n        \"name\": \"Shoes\",\n        \"path\": \"Shoes\",\n        \"parts\": [\n          \"Shoes\"\n        ]\n      }\n    ],\n    \"new_value\": [\n      {\n        \"id\": \"f949b1db-4285-49cb-a65d-e36a5cc69e56\",\n        \"name\": \"wide\",\n        \"path\": \"wide\",\n        \"parts\": [\n          \"wide\"\n        ]\n      },\n      {\n        \"id\": \"ec7bfa82-3444-4627-aef5-a4194778b9a6\",\n        \"name\": \"child category\",\n        \"path\": \"parent category/child category\",\n        \"parts\": [\n          \"parent category\",\n          \"child category\"\n        ]\n      },\n      {\n        \"id\": \"f8a8eeec-91cc-485f-9532-b7756c778efe\",\n        \"name\": \"category/forward/slash\",\n        \"path\": \"category\\\\/forward\\\\/slash\",\n        \"parts\": [\n          \"category/forward/slash\"\n        ]\n      }\n    ]\n  }\n}\n```\n\n## asset_created\n\n```json\n{\n  \"webhook_configuration_id\": \"8975e510-88df-4e80-8799-10a608f41ff3\",\n  \"webhook_delivery_id\": \"a2b622ea-2780-48a6-b591-8a1cc3a34f4d\",\n  \"event_context\": {\n    \"user\": {\n      \"id\": \"5f6f1f60-1b5e-4690-8ba0-a40c09b2cf0c\",\n      \"username\": \"john@acquia.com\"\n    }\n  },\n  \"asset_id\": \"3db58e3c-fe98-4437-9637-df299f9d1b06\",\n  \"event_type\": \"asset_created\",\n  \"date_created\": \"2021-02-10T22:18:47Z\"\n}\n```\n\n## asset_deleted\n\n```json\n{\n  \"webhook_configuration_id\": \"9ed66f11-71d5-45aa-aa8e-0143258f7516\",\n  \"webhook_delivery_id\": \"c3caa6a2-253f-4958-b599-fa9e52776b40\",\n  \"event_context\": {\n    \"user\": {\n      \"id\": \"5f6f1f60-1b5e-4690-8ba0-a40c09b2cf0c\",\n      \"username\": \"john@acquia.com\"\n    }\n  },\n  \"asset_id\": \"543356dd-8011-44d5-9b2c-7a8a1dcc1ee5\",\n  \"date_deleted\": \"2023-07-12T19:33:39Z\",\n  \"event_type\": \"asset_deleted\"\n}\n```\n\n## asset_expiration_date_updated\n\n```json\n{\n  \"webhook_configuration_id\": \"c9fc36fe-d6f3-46d2-8c24-a7581de71e55\",\n  \"webhook_delivery_id\": \"8bdacfde-8593-4442-aff6-6d919a302c72\",\n  \"event_context\": {\n    \"user\": {\n      \"id\": \"5f6f1f60-1b5e-4690-8ba0-a40c09b2cf0c\",\n      \"username\": \"john@acquia.com\"\n    }\n  },\n  \"asset_id\": \"88b74039-e4e0-448f-a421-825f2b2bd0bf\",\n  \"event_type\": \"asset_expiration_date_updated\",\n  \"change\": {\n    \"old_value\": \"2023-07-18T16:36:48Z\",\n    \"new_value\": \"2023-07-18T16:36:49Z\"\n  }\n}\n```\n\n## asset_release_date_updated\n\n```json\n{\n  \"webhook_configuration_id\": \"c9fc36fe-d6f3-46d2-8c24-a7581de71e55\",\n  \"webhook_delivery_id\": \"8bdacfde-8593-4442-aff6-6d919a302c72\",\n  \"event_context\": {\n    \"user\": {\n      \"id\": \"5f6f1f60-1b5e-4690-8ba0-a40c09b2cf0c\",\n      \"username\": \"john@acquia.com\"\n    }\n  },\n  \"asset_id\": \"88b74039-e4e0-448f-a421-825f2b2bd0bf\",\n  \"event_type\": \"asset_release_date_updated\",\n  \"change\": {\n    \"old_value\": \"2023-07-18T16:36:48Z\",\n    \"new_value\": \"2023-07-18T16:36:49Z\"\n  }\n}\n```\n\n## asset_tags_updated\n\n```json\n{\n  \"webhook_configuration_id\": \"9a6545c8-d99c-4679-adc8-aacdf261fca3\",\n  \"webhook_delivery_id\": \"d2b13319-8c1d-4e23-8e43-1b1f956f9b5c\",\n  \"event_context\": {\n    \"user\": {\n      \"id\": \"5f6f1f60-1b5e-4690-8ba0-a40c09b2cf0c\",\n      \"username\": \"qatesting\"\n    }\n  },\n  \"asset_id\": \"f9384e27-d80d-43b7-bbff-58d82118daf0\",\n  \"event_type\": \"asset_tags_updated\",\n  \"change\": {\n    \"old_value\": [\n      {\n        \"id\": \"0123456789\",\n        \"display_name\": \"Red\",\n        \"value\": \"red\"\n      }\n    ],\n    \"new_value\": [\n      {\n        \"id\": \"9876543210\",\n        \"display_name\": \"Blue\",\n        \"value\": \"blue\"\n      }\n    ]\n  }\n}\n```\n\n## asset_metadata_value_updated\n\n```json\n{\n  \"webhook_configuration_id\": \"f3e7a1b2-4c5d-6e7f-8a9b-0c1d2e3f4a5b\",\n  \"webhook_delivery_id\": \"a1b2c3d4-e5f6-7a8b-9c0d-1e2f3a4b5c6d\",\n  \"event_context\": {\n    \"user\": {\n      \"id\": \"5f6f1f60-1b5e-4690-8ba0-a40c09b2cf0c\",\n      \"username\": \"john@acquia.com\"\n    }\n  },\n  \"asset_id\": \"88b74039-e4e0-448f-a421-825f2b2bd0bf\",\n  \"event_type\": \"asset_metadata_value_updated\",\n  \"change\": {\n    \"field_display_key\": \"color\",\n    \"old_value\": \"Red\",\n    \"new_value\": \"Blue\"\n  }\n}\n```\n\nWhen creating or editing a webhook with `event_type` of `asset_metadata_value_updated`, you may optionally specify a `monitored_metadata_fields` array containing metadata field display keys. If provided, only changes to fields in this list will trigger a delivery. If omitted or empty, all metadata field changes will trigger the webhook.\n\nThe user must have permission to view each metadata field specified in `monitored_metadata_fields`. If any field in the list is not accessible to the user, the request will be rejected with a `403` error.\n\n## asset_version_added\n\n```json\n{\n  \"webhook_configuration_id\": \"8975e510-88df-4e80-8799-10a608f41ff3\",\n  \"webhook_delivery_id\": \"a2b622ea-2780-48a6-b591-8a1cc3a34f4d\",\n  \"event_context\": {\n    \"user\": {\n      \"id\": \"5f6f1f60-1b5e-4690-8ba0-a40c09b2cf0c\",\n      \"username\": \"john@acquia.com\"\n    }\n  },\n  \"asset_id\": \"3db58e3c-fe98-4437-9637-df299f9d1b06\",\n  \"asset_version_id\": \"3a064fe5-33ad-4745-81b6-d7e8a8264f64\",\n  \"version_number\": \"2\",\n  \"event_type\": \"asset_version_added\",\n  \"date_created\": \"2021-02-10T22:18:47Z\"\n}\n```\n\n## ping\n\n```json\n{\n  \"webhook_configuration_id\": \"c94d0fc3-64b3-4337-8f37-12c656bd7897\",\n  \"webhook_delivery_id\": \"88ee7845-7977-4d49-a699-06f678d05c72\",\n  \"event_context\": {\n    \"user\": {\n      \"id\": \"5f6f1f60-1b5e-4690-8ba0-a40c09b2cf0c\",\n      \"username\": \"john@acquia.com\"\n    }\n  },\n  \"event_type\": \"ping\"\n}\n```\n",
    "name" : "Acquia DAM Webhooks"
  }, {
    "description" : "The Analytics endpoints provide information about asset usage from the Insights application. The API will return download, view, and share details for a single asset. Events may take up to 24 hours before appearing in analytics API results.<br><br>Note: Three years of analytics data is available, starting from January 1, 2021 onward. The default `date_range` filter is from this date until today.",
    "name" : "Analytics"
  }, {
    "description" : "Asset objects represent stored files in the DAM system. The API allows you to create, update, and delete Assets. You can [search for assets](https://community.widen.com/collective/s/article/How-do-I-search-for-assets), matching specific search criteria or load an individual asset by unique ID. Asset searching currently supports both offset and scrolling pagination. For more details about when to use offset and scrolling pagination, see this [Acquia Developer Portal post](https://dev.acquia.com/blog/pagination-search). <br><br>Metadata and Security data can be included by using the `expand` property to add additional data to the returned JSON objects. (Request execution time may be longer when expanding some data.)",
    "name" : "Assets"
  }, {
    "description" : "The Attributes endpoint lists all product attributes that have been configured in Entries, and all controlled vocabulary values for any single-select or multi-select attribute.",
    "name" : "Attributes"
  }, {
    "name" : "Categories"
  }, {
    "description" : "The Channels endpoint lists all product channels that have been configured in Entries. Channels are returned in alphabetical order.",
    "name" : "Channels"
  }, {
    "name" : "Collections"
  }, {
    "description" : "These endpoints allow you to retrieve or modify information about existing metadata fields. If you want to retrieve or modify metadata applied to a specific asset, see [Asset Metadata](#reference/assets/asset-metadata).<br><br>The metadata controlled vocabulary endpoints allows you to query, add, update, re-order, or delete controlled vocabulary values to your drop-down, palette, and checkbox group metadata fields.",
    "name" : "Metadata"
  }, {
    "name" : "OAuth"
  }, {
    "description" : "The Products endpoint provides access to product information stored in Widen Entries. The API allows you to create, retrieve, delete, and update products.<br><br>Note that all ID fields are **case sensitive**. Such fields include:<br>- `product_id`<br>- `product_type_id`<br>- `parent_product_id`<br>- `product_category_id`<br>- `attribute_id`",
    "name" : "Products"
  }, {
    "description" : "The Product Types endpoint lists all product types that have been configured in Entries. Product types are returned in alphabetical order.",
    "name" : "Product Types"
  }, {
    "description" : "The Instant Search Connector allows external applications access to Acquia DAM Asset search, without having to implement a native search UI.\n\n- The Instant Search Connector UI is provided by Widen via a secure dynamic web url endpoint.\n- This Search Connector url is returned by an API call to /integrations/url (described below).\n- The Search Connector UI is intended to be displayed in an iframe within the parent application.\n- Searching, downloading, and sharing of multiple Assets is provided by the Search Connector UI.\n- Search permissions will match those of the API caller that made the query to /integrations/url for the search endpoint.\n- The Search Connector url is valid for 24 hours, and is signed via a one-way hash to prevent modification of its parameters.\n\nWhen a user selects one of the share link presets and hits \"Done\", information about the user's selection is passed back to the parent application with a javascript postMessage call:\n\n```json\n{\n    \"count\": 1,\n    \"action\": \"embed\",\n    \"items\": [\n        {\n            \"id\": \"190dfsaf-f82c-462m-bc5e-eab2b8ed3bf9\",\n            \"external_id\": \"fzsf3duqp0\",\n            \"filename\": \"beef_soup.psd\",\n            \"embed_name\": \"640px Landscape\",\n            \"embed_link\": \"https://embed.widencdn.net/img/demo/fzsf3duqp0/640px/beef_soup.jpeg?u=xkzj3k\",\n            \"embed_code\": \"<img width=\\\"640\\\" alt=\\\"beef_soup\\\" src=\\\"https://embed.widencdn.net/img/demo/fzsf3duqp0/640px/beef_soup.jpeg?u=xkzj3k\\\">\",\n            \"share_link\": \"https://p.widencdn.net/g6dnbl/Mimco4\",\n            \"thumbnail_link\": \"https://embed.widencdn.net/img/demo/fzsf3duqp0/2048px/beef_soup.jpeg\"\n        }\n    ]\n}\n```\n\nThe hosting application's javascript can receive this and process this message by listening for the \"message\" event:\n\n```js\nwindow.addEventListener('message', function(event)\n{\n    console.log(event.data);\n    var embedCode = event.data.items[0].embed_code;\n    console.log(embedCode);\n\n    // Insert embedCode into user’s html content\n    // Close iframe\n})\n```\n\nThe parent application can use the `embed_code` to insert into web page content, or the `share_link` for outbound email messages, or store the selected Asset IDs for future use.\n\nSee our [support article](https://community.widen.com/collective/s/article/Whats-the-Instant-Search-Connector) for more information about the Instant Search Connector.\n",
    "name" : "Search Connector"
  }, {
    "description" : "The List Toggles endpoint allows our API users to test upcoming changes by enabling these changes on a per-request basis.\n\nThe following is a definition of the fields in the response body:\n\n- \"available\": A list of toggles that can be used.\n- \"enabled\": A list of toggles for which you've set headers on your request to `/v2/toggles`. This helps ensure that you have your headers set properly.\n- \"header_name\": The name of the header that can be toggled on or off via the `x-widen-api-toggle` functionality.\n- \"description\": A description of what toggling this header does.\n- \"date_introduced\": The date and time when this toggle was made available.\n",
    "name" : "Toggles"
  }, {
    "description" : "Workflow objects represent projects and deliverables stored in the Acquia Workflow system. The API allows you to retrieve, create, delete, and close deliverables and projects.<br><br>Projects are the container object for all work that is to be reviewed. A project can have zero to many deliverables and is managed by a single person, the project manager.<br><br>Deliverables represent the individual components of a Workflow project. A deliverable contains a review workflow, dates, and acquires one to many versions of a proof throughout the review cycle.",
    "name" : "Workflow App Projects"
  }, {
    "description" : "Webhooks allow you to subscribe to changes within Widen Workflow and be updated of these changes as they happen.  This is a more convenient and efficient mechanism to receive notification of changes (Events) without using polling.\nThe API allows you to retrieve a list of all webhook subscriptions, create new subscriptions, and remove existing subscriptions.  Event updates are made via an HTTP POST and Workflow currently sends one Event object per POST.\n\n**Events supported (and example HTTP POST bodies):**\n\n* **`DELIVERABLE_STATUS_CHANGED` Event** - updated when a deliverable changes status such as moving from “In Review” to “Needs Proof”:\n\n    ```json\n    {\n      \"deliverable_key\": \"001\",\n      \"old_status\": \"NEEDS_SETUP\",\n      \"new_status\": \"NEEDS_PROOF\"\n    }\n    ```\n\n  Possible values (for `old_status` and `new_status`):\n    - `NEEDS_SETUP`\n    - `NEEDS_PROOF`\n    - `NEEDS_PROOF_WITH_EDITS`\n    - `IN_REVIEW`\n    - `REVIEW_COMPLETE`\n    - `CLOSED`\n\n* **`PROJECT_CREATED` Event** - updated when a new project has been created.  Returns the project ID and title:\n\n    ```json\n    {\n      \"project_id\": \"TLA-0002\",\n      \"title\": \"DAM Decisions\"\n    }\n    ```\n",
    "name" : "Workflow Webhooks"
  }, {
    "description" : "Note: Usage data is aggregated periodically and a delay of up to 24 hours may occur.",
    "name" : "Usage"
  }, {
    "name" : "Users"
  } ],
  "paths" : {
    "/v2/analytics/assets/downloads" : {
      "post" : {
        "operationId" : "listAssetDownloads",
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/AnalyticsRequest"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/AnalyticsAssetDownloadsResponse"
                }
              }
            },
            "description" : "Asset downloads returned."
          },
          "400" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description" : "Invalid request."
          },
          "403" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description" : "Invalid permission to access asset download analytics."
          },
          "404" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description" : "Asset not found."
          }
        },
        "summary" : "List Asset downloads",
        "tags" : [ "Analytics" ]
      }
    },
    "/v2/analytics/assets/shares" : {
      "post" : {
        "operationId" : "listAssetShares",
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/AnalyticsRequest"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/AnalyticsAssetSharesResponse"
                }
              }
            },
            "description" : "Asset shares returned."
          },
          "400" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description" : "Invalid request."
          },
          "403" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description" : "Invalid permission to access asset share analytics."
          },
          "404" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description" : "Asset not found."
          }
        },
        "summary" : "List Asset shares",
        "tags" : [ "Analytics" ]
      }
    },
    "/v2/analytics/assets/views" : {
      "post" : {
        "operationId" : "listAssetViews",
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/AnalyticsRequest"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/AnalyticsAssetViewsResponse"
                }
              }
            },
            "description" : "Asset views returned."
          },
          "400" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description" : "Invalid request."
          },
          "403" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description" : "Invalid permission to access asset view analytics."
          },
          "404" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description" : "Asset not found."
          }
        },
        "summary" : "List Asset views",
        "tags" : [ "Analytics" ]
      }
    },
    "/v2/analytics/events/query" : {
      "post" : {
        "description" : "Query analytics events for the specified event type.",
        "operationId" : "queryAnalyticsEvents",
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/EventsQueryRequest"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/EventsQueryResponse"
                }
              }
            },
            "description" : "Query results with a list of event records and pagination token."
          },
          "400" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description" : "Invalid request."
          },
          "401" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description" : "Unauthorized."
          },
          "403" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description" : "Forbidden. The authenticated user does not have permission to access analytics."
          },
          "404" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description" : "Not found."
          }
        },
        "summary" : "Query analytics events",
        "tags" : [ "Analytics" ]
      }
    },
    "/v2/assets/assetgroups" : {
      "get" : {
        "description" : "Get a list of Asset Groups that the calling User has permission to view.",
        "operationId" : "assetGroupsGet",
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/AssetGroupListResponse"
                }
              }
            },
            "description" : "Asset Groups are returned."
          }
        },
        "summary" : "Get Asset Groups",
        "tags" : [ "Assets" ]
      }
    },
    "/v2/assets/search" : {
      "get" : {
        "description" : "List assets by a search query using the Acquia DAM quick search syntax. <br><br>For searches of metadata fields, we recommend that you [don’t use search shortcuts](https://community.acquia.com/acquiadam/s/article/How-do-I-search-for-assets-via-the-API). Metadata field display names can change and break the shortcut and the search string. Instead, use the field display key, which will never change.",
        "operationId" : "assetListBySearchQuery",
        "parameters" : [ {
          "description" : "Numeric limit of the total number of results to retrieve.Default is 10. If a `scroll` parameter is supplied, default is 100.",
          "example" : 10,
          "in" : "query",
          "name" : "limit",
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "maximum" : 100,
            "minimum" : 0
          }
        }, {
          "description" : "Starting position of query result set. For more details on when to use an offset and when to use scrolling, see this [Acquia Developer Portal post](https://dev.acquia.com/blog/pagination-search).",
          "example" : 20,
          "in" : "query",
          "name" : "offset",
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "minimum" : 0
          }
        }, {
          "description" : "DAM quicksearch query. Uses the same quick search syntax used within the Acquia DAM web UI. For more information on the format of a query string, see [Quick Search Help](https://community.widen.com/collective/s/article/How-do-I-search-for-assets).",
          "example" : "filename:(yellow ducky)",
          "in" : "query",
          "name" : "query",
          "schema" : {
            "type" : "string",
            "default" : ""
          }
        }, {
          "description" : "This field orders the search result set. The value can be prefixed with a negative sign (-) to sort in descending order.",
          "example" : "filename",
          "in" : "query",
          "name" : "sort",
          "schema" : {
            "type" : "string",
            "default" : "-created_date"
          }
        }, {
          "description" : "Comma-seperated list of data items to expand on the result set.",
          "example" : "asset_properties,file_properties,embeds,thumbnails,metadata,metadata_info,metadata_vocabulary,security",
          "in" : "query",
          "name" : "expand",
          "schema" : {
            "type" : "string",
            "default" : ""
          }
        }, {
          "description" : "Comma-seperated list of data items to facet on the result set. For more details on faceting, see this [Acquia Developer Portal post](https://dev.acquia.com/blog/new-faceted-asset-search).",
          "example" : "file_types,categories,metadata",
          "in" : "query",
          "name" : "facet",
          "schema" : {
            "type" : "string",
            "default" : ""
          }
        }, {
          "description" : "If true, a `scroll_id` is included with the results to allow scrolling through large result sets.",
          "in" : "query",
          "name" : "scroll",
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        }, {
          "description" : "If true, deleted assets will be returned in the results, if the user associated with the access token has permission to view deleted assets.",
          "in" : "query",
          "name" : "include_archived",
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        }, {
          "description" : "If true, archived assets will be returned in the results, if the user associated with the access token has permission to view archived assets.",
          "in" : "query",
          "name" : "include_deleted",
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        }, {
          "description" : "If true, will include searching of document text in your search results.",
          "in" : "query",
          "name" : "search_document_text",
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        }, {
          "description" : "If true, will include natural language search in your search results.",
          "in" : "query",
          "name" : "include_natural_language_results",
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        } ],
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/AssetSearchResponse"
                }
              }
            },
            "description" : "Assets are returned."
          },
          "400" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description" : "Invalid request."
          }
        },
        "summary" : "List By Search Query",
        "tags" : [ "Assets" ]
      }
    },
    "/v2/assets/search/scroll" : {
      "get" : {
        "description" : "The scroll endpoint can be used to retrieve large numbers of results (or even all results) from a single search request.<br><br>Scrolling is not intended for real time user requests, but rather for processing large amounts of data, e.g. with a background batch application that syncs Acquia DAM data locally. For more details on when to use scrolling and when to use an offset, see this [Acquia DAM blog post](https://dev.acquia.com/blog/pagination-search).<br><br>In order to use the scroll endpoint, the initial List By Search Query request should specify a `scroll=true` parameter in the query.  The result set will contain a `scroll_id` field that can be passed into the scrolling search endpoint.<br><br>Each call to the scroll endpoint with the previous response's `scroll_id` returns the next batch of results until there are no more results left to return, ie the result list is empty. You must make the next call within the response's `scroll_timeout` value (in ms) before the `scroll_id` becomes invalid.",
        "operationId" : "assetListScrollingSearchResults",
        "parameters" : [ {
          "description" : "`scroll_id` as returned by the original List By Search Query request.",
          "example" : "cXVlcnlUaGVuRmV0Y2g7Mzs1MDQwMzYzMTprdWpudDVTZ1R2LWY4a1JFcnRNT0FROzU4NTMyNjAwOmhUMUkxcTlaVHZTVHljVGMwVzJKOFE7NTg1MzI2MDE6aFQxSTFxOVpUdlNUeWNUYzBXMko4UTswOw==.",
          "in" : "query",
          "name" : "scroll_id",
          "required" : true,
          "schema" : {
            "type" : "string",
            "default" : ""
          }
        }, {
          "description" : "Comma-seperated list of data items to expand on result set.",
          "example" : "asset_properties,file_properties,embeds,thumbnails,metadata,metadata_info,metadata_vocabulary,security",
          "in" : "query",
          "name" : "expand",
          "schema" : {
            "type" : "string",
            "default" : ""
          }
        } ],
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/AssetSearchResponse"
                }
              }
            },
            "description" : "Assets are returned."
          },
          "400" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description" : "Invalid request."
          }
        },
        "summary" : "Scrolling Search Results",
        "tags" : [ "Assets" ]
      }
    },
    "/v2/assets/{id}" : {
      "delete" : {
        "operationId" : "assetDelete",
        "parameters" : [ {
          "description" : "Asset ID",
          "example" : "00000000-1111-2222-3333-444444444abc",
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "204" : {
            "description" : "Asset deleted."
          },
          "404" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description" : "Asset not found or user does not have permission."
          }
        },
        "summary" : "Delete Asset",
        "tags" : [ "Assets" ]
      },
      "get" : {
        "operationId" : "assetRetrieveById",
        "parameters" : [ {
          "description" : "Asset ID",
          "example" : "00000000-1111-2222-3333-444444444abc",
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "description" : "Additional properties to be included in response (comma delimited list).",
          "example" : "asset_properties,embeds,file_properties,metadata,metadata_info,metadata_vocabulary,security,thumbnails",
          "in" : "query",
          "name" : "expand",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/AssetResponse"
                }
              }
            },
            "description" : "Asset data returned."
          },
          "400" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description" : "Invalid expand."
          },
          "404" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description" : "Asset not found."
          }
        },
        "summary" : "Retrieve by ID",
        "tags" : [ "Assets" ]
      }
    },
    "/v2/assets/{id}/alternatepreview" : {
      "delete" : {
        "operationId" : "alternatePreviewDelete",
        "parameters" : [ {
          "description" : "Asset ID",
          "example" : "00000000-1111-2222-3333-444444444abc",
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "204" : {
            "description" : "Alternate preview deleted."
          },
          "404" : {
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description" : "Asset not found."
          }
        },
        "summary" : "Delete Alternate Preview",
        "tags" : [ "Assets" ]
      },
      "post" : {
        "description" : "Upload a new file as an alternate preview to an Asset.",
        "operationId" : "alternatePreviewUpload",
        "parameters" : [ {
          "description" : "Asset ID",
          "example" : "00000000-1111-2222-3333-444444444abc",
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "content" : {
            "multipart/form-data" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "file" : {
                    "type" : "object",
                    "description" : "Binary file of the alternate preview file for this asset."
                  }
                },
                "required" : [ "file" ]
              }
            }
          }
        },
        "responses" : {
          "201" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/LinksResponse"
                }
              }
            },
            "description" : "Alternate preview uploaded."
          },
          "400" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description" : "Invalid request."
          },
          "404" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description" : "Asset not found."
          }
        },
        "summary" : "Upload Alternate Preview",
        "tags" : [ "Assets" ]
      }
    },
    "/v2/assets/{id}/filename" : {
      "put" : {
        "operationId" : "assetRename",
        "parameters" : [ {
          "description" : "Asset ID",
          "example" : "00000000-1111-2222-3333-444444444abc",
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/RenameAssetRequest"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/LinksResponse"
                }
              }
            },
            "description" : "Asset links returned."
          },
          "400" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description" : "Invalid request."
          },
          "403" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description" : "Invalid permission to rename asset."
          },
          "404" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description" : "Asset not found."
          }
        },
        "summary" : "Rename Asset",
        "tags" : [ "Assets" ]
      }
    },
    "/v2/assets/{id}/metadata" : {
      "get" : {
        "description" : "Metadata subresource simply returns the `metadata` property of the asset. The object structure returned by search endpoint and this method are identical. All assigned fields for the asset will be included. Empty fields are represented with an empty array.",
        "operationId" : "assetMetadataRetrieve",
        "parameters" : [ {
          "description" : "Asset ID",
          "example" : "00000000-1111-2222-3333-444444444abc",
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/MetadataModel"
                }
              }
            },
            "description" : "Metadata returned."
          },
          "404" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description" : "Asset not found."
          }
        },
        "summary" : "Retrieve Asset Metadata",
        "tags" : [ "Assets" ]
      },
      "put" : {
        "description" : "Only fields sent in the request will be updated. If the `patch` parameter is sent, only those fields will be updated.",
        "operationId" : "assetMetadataUpdate",
        "parameters" : [ {
          "description" : "Asset ID",
          "example" : "00000000-1111-2222-3333-444444444abc",
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "description" : "Comma seperated list of fields to update. (Other fields included in the body will be ignored.) If no patch parameter is sent, all fields included in request will be updated.",
          "example" : "keywords",
          "in" : "query",
          "name" : "patch",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/MetadataModel"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/LinksResponse"
                }
              }
            },
            "description" : "Metadata links returned."
          },
          "403" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description" : "Invalid permission to update metadata."
          },
          "404" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description" : "Asset or metadata not found."
          }
        },
        "summary" : "Update Asset Metadata",
        "tags" : [ "Assets" ]
      }
    },
    "/v2/assets/{id}/permanent" : {
      "delete" : {
        "description" : "This endpoints has dangerous side effects. PERMANENTLY delete an asset, bypassing the pending delete queue. THIS ACTION CANNOT BE UNDONE.",
        "operationId" : "assetDeletePermanent",
        "parameters" : [ {
          "description" : "Asset ID",
          "example" : "00000000-1111-2222-3333-444444444abc",
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "204" : {
            "description" : "Asset permanently deleted."
          },
          "404" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description" : "Asset not found or user does not have permission."
          }
        },
        "summary" : "Permanently Delete Asset",
        "tags" : [ "Assets" ]
      }
    },
    "/v2/assets/{id}/security" : {
      "get" : {
        "operationId" : "assetRetrieveSecurity",
        "parameters" : [ {
          "description" : "Asset ID",
          "example" : "00000000-1111-2222-3333-444444444abc",
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SecurityModel"
                }
              }
            },
            "description" : "Asset security returned."
          },
          "404" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description" : "Asset or metadata not found."
          }
        },
        "summary" : "Retrieve Asset Security",
        "tags" : [ "Assets" ]
      },
      "put" : {
        "description" : "This request requires at least one value (otherwise the asset becomes unavailable because it has no security assignments).<br><br>**IMPORTANT**: When using `patch=all` properties not sent in the request will be defaulted to `null`.",
        "operationId" : "assetUpdateSecurity",
        "parameters" : [ {
          "description" : "Asset ID",
          "example" : "00000000-1111-2222-3333-444444444abc",
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "string",
                "enum" : [ "all", "expiration_date", "release_date", "asset_groups" ]
              }
            }
          },
          "description" : "Comma seperated list of properties to update.",
          "in" : "query",
          "name" : "patch",
          "required" : true
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/SecurityModel"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/LinksResponse"
                }
              }
            },
            "description" : "Asset security links returned."
          },
          "400" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description" : "Invalid request."
          },
          "403" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description" : "Invalid permission to update security."
          },
          "404" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description" : "Asset not found."
          }
        },
        "summary" : "Update Asset Security",
        "tags" : [ "Assets" ]
      }
    },
    "/v2/assets/{id}/tags/add" : {
      "put" : {
        "description" : "Add one or more tags to an asset by value. If a specified tag does not exist in the account, it will be created. A maximum of 100 tag values may be supplied per request. If adding the requested tags would push the asset's total tag count above the per-asset limit, the entire request is rejected and no tags are added.",
        "operationId" : "assetAddTags",
        "parameters" : [ {
          "description" : "Asset ID",
          "example" : "00000000-1111-2222-3333-444444444abc",
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/AssetTagValuesRequest"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/LinksResponse"
                }
              }
            },
            "description" : "Tags added to asset."
          },
          "400" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description" : "tag_values is missing or exceeds the maximum of 100 values per request, or 'id' is not a valid UUID."
          },
          "403" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description" : "Invalid permission to tag asset."
          },
          "404" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description" : "Asset not found."
          },
          "422" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description" : "Adding the requested tags would exceed the per-asset tag limit."
          }
        },
        "summary" : "Add Tags",
        "tags" : [ "Assets" ]
      }
    },
    "/v2/assets/{id}/tags/remove" : {
      "post" : {
        "description" : "Remove one or more tags from an asset by value. Tags not currently assigned to the asset are silently ignored. A maximum of 100 tag values may be supplied per request.",
        "operationId" : "assetRemoveTags",
        "parameters" : [ {
          "description" : "Asset ID",
          "example" : "00000000-1111-2222-3333-444444444abc",
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/AssetTagValuesRequest"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/LinksResponse"
                }
              }
            },
            "description" : "Tags removed from asset, or tags were not assigned."
          },
          "400" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description" : "tag_values is missing or exceeds the maximum of 100 values per request, or 'id' is not a valid UUID."
          },
          "403" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description" : "Invalid permission to tag asset."
          },
          "404" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description" : "Asset not found."
          }
        },
        "summary" : "Remove Tags",
        "tags" : [ "Assets" ]
      }
    },
    "/v2/assets/{id}/versions" : {
      "get" : {
        "operationId" : "assetListVersions",
        "parameters" : [ {
          "description" : "Asset ID",
          "example" : "00000000-1111-2222-3333-444444444abc",
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/AssetVersionListResponse"
                }
              }
            },
            "description" : "Asset Version summaries returned."
          },
          "404" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description" : "Asset not found."
          }
        },
        "summary" : "List Asset Versions",
        "tags" : [ "Assets" ]
      }
    },
    "/v2/assets/{id}/versions/{version_id}" : {
      "get" : {
        "operationId" : "assetRetrieveByIdAndVersion",
        "parameters" : [ {
          "description" : "Asset ID",
          "example" : "00000000-1111-2222-3333-444444444abc",
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "description" : "Asset Version ID",
          "example" : "00000000-1111-2222-3333-444444444abc",
          "in" : "path",
          "name" : "version_id",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "description" : "Additional properties to be included in response (comma delimited list).",
          "example" : "asset_properties,file_properties,metadata,metadata_info,metadata_vocabulary,security,thumbnails",
          "in" : "query",
          "name" : "expand",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/AssetResponse"
                }
              }
            },
            "description" : "Asset data returned."
          },
          "400" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description" : "Invalid expand."
          },
          "404" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description" : "Asset not found."
          }
        },
        "summary" : "Retrieve by ID and Version",
        "tags" : [ "Assets" ]
      }
    },
    "/v2/attributes" : {
      "get" : {
        "operationId" : "listAttributes",
        "parameters" : [ {
          "description" : "Numeric limit of the total number of results to retrieve.",
          "in" : "query",
          "name" : "limit",
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 100,
            "example" : 10,
            "maximum" : 1000
          }
        }, {
          "description" : "Starting position of query result set.",
          "in" : "query",
          "name" : "offset",
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "example" : 20
          }
        } ],
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/AttributeListResponse"
                }
              }
            },
            "description" : "Attributes are returned."
          }
        },
        "summary" : "List Attributes",
        "tags" : [ "Attributes" ]
      }
    },
    "/v2/attributes/{id}/vocabulary" : {
      "get" : {
        "operationId" : "listVocabulary",
        "parameters" : [ {
          "description" : "Attribute ID",
          "example" : "4KpQDpb520YT",
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/AttributeVocabularyResponse"
                }
              }
            },
            "description" : "Vocabulary is returned."
          }
        },
        "summary" : "List Vocabulary",
        "tags" : [ "Attributes" ]
      }
    },
    "/v2/categories/{path}" : {
      "get" : {
        "description" : "To query for subcategories within a category, use the `categories` link from the response. To query for assets within a category, use the `assets` link from the response.",
        "operationId" : "listAssetCategories",
        "parameters" : [ {
          "description" : "Optional category path. If omitted, the top-level categories will be returned. Must be url-encoded. Slashes in category names must be escaped with a preceding backslash (%5C%2F).",
          "example" : "Logos/Graphic%5C%2FLayout",
          "in" : "path",
          "name" : "path",
          "required" : true,
          "schema" : {
            "type" : "string",
            "pattern" : ".*"
          }
        } ],
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/CategoryListResponse"
                }
              }
            },
            "description" : "Asset categories are returned."
          },
          "400" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description" : "Invalid request."
          }
        },
        "summary" : "List Asset Categories",
        "tags" : [ "Categories" ]
      }
    },
    "/v2/channels" : {
      "get" : {
        "description" : "Retrieves a list of channels with pagination support.",
        "operationId" : "listChannels",
        "parameters" : [ {
          "description" : "Numeric limit of the total number of results to retrieve.",
          "example" : 10,
          "in" : "query",
          "name" : "limit",
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 100,
            "maximum" : 1000,
            "minimum" : 0
          }
        }, {
          "description" : "Starting position of query result set.",
          "example" : 20,
          "in" : "query",
          "name" : "offset",
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0
          }
        } ],
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ChannelListResponse"
                }
              }
            },
            "description" : "A list of channels with pagination information."
          }
        },
        "summary" : "List Channels",
        "tags" : [ "Channels" ]
      }
    },
    "/v2/channels/{channelId}" : {
      "get" : {
        "description" : "Retrieves a channel by its ID.",
        "operationId" : "getChannel",
        "parameters" : [ {
          "in" : "path",
          "name" : "channelId",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ChannelResponse"
                }
              }
            },
            "description" : "Channel details."
          }
        },
        "summary" : "Get Channel",
        "tags" : [ "Channels" ]
      }
    },
    "/v2/collections" : {
      "get" : {
        "description" : "Get a list of Collections that the calling User has permission to view. The response includes pagination information and can be filtered by type.",
        "operationId" : "listCollections",
        "parameters" : [ {
          "in" : "query",
          "name" : "limit",
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 10,
            "maximum" : 100,
            "minimum" : 0
          }
        }, {
          "in" : "query",
          "name" : "offset",
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "maximum" : 9999,
            "minimum" : 0
          }
        }, {
          "description" : "Filter for type of collections.",
          "in" : "query",
          "name" : "type",
          "schema" : {
            "type" : "string",
            "enum" : [ "global", "private", "shared" ]
          }
        } ],
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/CollectionListResponse"
                }
              }
            },
            "description" : "Collection list is returned."
          }
        },
        "summary" : "List Collections",
        "tags" : [ "Collections" ]
      }
    },
    "/v2/integrations/url" : {
      "get" : {
        "description" : "Returns a url to the Search Connector UI. This UI intended to be displayed in an iframe within the parent application. The returned url is valid for **24 hours** and is signed via a one-way hash to prevent modification of its parameters.",
        "operationId" : "getSearchConnectorUrl",
        "parameters" : [ {
          "description" : "Optional URL-encoded search term to initially seed the Search Connector results page.",
          "example" : "my%20search%20term",
          "in" : "query",
          "name" : "query",
          "schema" : {
            "type" : "string"
          }
        }, {
          "description" : "Optional flag to remove the search bar from the user interface. Useful when used with the optional query parameter to simply present a set of search results.",
          "example" : true,
          "in" : "query",
          "name" : "hideSearchBar",
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        } ],
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SearchConnectorResponse"
                }
              }
            },
            "description" : "Returns the Search Connector URL."
          }
        },
        "summary" : "Instant Search Connector URL",
        "tags" : [ "Search Connector" ]
      }
    },
    "/v2/metadata/fields/viewable" : {
      "get" : {
        "description" : "The metadata fields endpoint allows you to query for a list of metadata fields that you have permission to view.",
        "operationId" : "listMetadataFields",
        "parameters" : [ {
          "description" : "A filter that only returns metadata fields with display names alphabetically greater than this value.",
          "example" : "Alternate",
          "in" : "query",
          "name" : "display_name_after",
          "schema" : {
            "type" : "string"
          }
        }, {
          "description" : "A filter that only returns metadata fields with display names that start with this value.",
          "example" : "Asset",
          "in" : "query",
          "name" : "display_name_starts_with",
          "schema" : {
            "type" : "string"
          }
        }, {
          "description" : "The max number of metadata fields returned by this query.",
          "in" : "query",
          "name" : "limit",
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 100,
            "maximum" : 100,
            "minimum" : 1
          }
        }, {
          "description" : "The field type that you want to query.",
          "in" : "query",
          "name" : "field_types",
          "schema" : {
            "type" : "string",
            "default" : "all",
            "enum" : [ "all", "all_controlled_vocabulary", "checkboxes", "date", "text_multi_line", "text", "selection_list", "limited_text_field", "text_short", "selection_list_multi", "numeric", "text_long" ]
          }
        } ],
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/MetadataFieldListResponse"
                }
              }
            },
            "description" : "A list of metadata fields that the user can view."
          }
        },
        "summary" : "List Metadata Fields",
        "tags" : [ "Metadata" ]
      }
    },
    "/v2/metadata/{displayKey}/vocabulary" : {
      "get" : {
        "description" : "List controlled vocabulary values for a metadata field.",
        "operationId" : "listControlledVocabularyValues",
        "parameters" : [ {
          "description" : "Display key of the controlled vocabulary metadata field.",
          "example" : "assetType",
          "in" : "path",
          "name" : "displayKey",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/MetadataVocabularyListResponse"
                }
              }
            },
            "description" : "A list of controlled vocabulary values for the specified metadata field."
          }
        },
        "summary" : "List Controlled Vocabulary Values",
        "tags" : [ "Metadata" ]
      },
      "post" : {
        "description" : "Add a new controlled vocabulary value to a metadata field.",
        "operationId" : "addControlledVocabularyValue",
        "parameters" : [ {
          "description" : "Display key of the controlled vocabulary metadata field.",
          "example" : "assetType",
          "in" : "path",
          "name" : "displayKey",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/MetadataVocabularyAddRequest"
              }
            }
          }
        },
        "responses" : {
          "201" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/LinksResponse"
                }
              }
            },
            "description" : "The controlled vocabulary value was successfully added."
          },
          "400" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description" : "Invalid request"
          }
        },
        "summary" : "Add Controlled Vocabulary Value",
        "tags" : [ "Metadata" ]
      }
    },
    "/v2/metadata/{displayKey}/vocabulary/{existingValue}" : {
      "delete" : {
        "description" : "Delete a controlled vocabulary value from a metadata field.",
        "operationId" : "deleteControlledVocabularyValue",
        "parameters" : [ {
          "description" : "Display key of the controlled vocabulary metadata field.",
          "example" : "assetType",
          "in" : "path",
          "name" : "displayKey",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "description" : "The controlled vocabulary value.",
          "example" : "spec%20sheet",
          "in" : "path",
          "name" : "existingValue",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/LinksResponse"
                }
              }
            },
            "description" : "The controlled vocabulary value was successfully deleted."
          },
          "404" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description" : "Not found."
          }
        },
        "summary" : "Delete Controlled Vocabulary Value",
        "tags" : [ "Metadata" ]
      },
      "get" : {
        "description" : "Get a single controlled vocabulary value for a metadata field.",
        "operationId" : "getControlledVocabularyValue",
        "parameters" : [ {
          "description" : "Display key of the controlled vocabulary metadata field.",
          "example" : "assetType",
          "in" : "path",
          "name" : "displayKey",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "description" : "The controlled vocabulary value.",
          "example" : "spec%20sheet",
          "in" : "path",
          "name" : "existingValue",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/MetadataVocabularyValueResponse"
                }
              }
            },
            "description" : "The controlled vocabulary value for the specified metadata field."
          },
          "404" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description" : "Not found."
          }
        },
        "summary" : "Get Controlled Vocabulary Value",
        "tags" : [ "Metadata" ]
      },
      "put" : {
        "description" : "Update an existing controlled vocabulary value for a metadata field.",
        "operationId" : "updateControlledVocabularyValue",
        "parameters" : [ {
          "description" : "Display key of the controlled vocabulary metadata field.",
          "example" : "assetType",
          "in" : "path",
          "name" : "displayKey",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "description" : "The controlled vocabulary value.",
          "example" : "spec%20sheet",
          "in" : "path",
          "name" : "existingValue",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "content" : {
            "*/*" : {
              "schema" : {
                "$ref" : "#/components/schemas/MetadataVocabularyUpdateRequest"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/LinksResponse"
                }
              }
            },
            "description" : "The controlled vocabulary value was successfully updated."
          },
          "400" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description" : "Invalid request."
          },
          "404" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description" : "Not found."
          }
        },
        "summary" : "Update Controlled Vocabulary Value",
        "tags" : [ "Metadata" ]
      }
    },
    "/v2/oauth/access-token" : {
      "delete" : {
        "description" : "Invalidates the current access token. This is useful if you want to revoke access to the API for a user or application.",
        "operationId" : "invalidateAccessToken",
        "responses" : {
          "204" : {
            "description" : "Access token invalidated successfully."
          },
          "401" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description" : "Unauthorized."
          }
        },
        "summary" : "Invalidate Access Token",
        "tags" : [ "OAuth" ]
      },
      "post" : {
        "description" : "Note that this endpoint does not require additional authentication, instead a valid exchange of a grant must be performed alongside a supplied client secret.<br><br>When obtaining an access token, a successful response will contain the following fields:<br><br>- `access_token`: This is your access token. It should be stored securely and included with any requests to access protected resources.<br>- `token_type`: This is the type of token you received. At this time, the token type will always be `Bearer`.<br><br>If the OAuth client used to obtain an access token is set up to use [refresh tokens](#introduction/authentication/oauth-client-configuration), the response will include two additional fields.<br><br>- `refresh_token`: This is a refresh token that can be [used to obtain a new access token](#reference/oauth/access-token/obtain-access-token-using-a-refresh-token).<br>- `expires_in`: Number of seconds until the access_token expires.",
        "operationId" : "obtainAccessToken",
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/OAuthTokenExchangeRequest"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OAuthTokenResponse"
                }
              }
            },
            "description" : "Successful response with access token."
          },
          "400" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description" : "Invalid request."
          },
          "404" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description" : "Not found."
          }
        },
        "summary" : "Obtain Access Token",
        "tags" : [ "OAuth" ]
      }
    },
    "/v2/product-categories" : {
      "get" : {
        "description" : "List of Product Categories. To query for subcategories within a category, provide a `parent_product_category_id` parameter.",
        "operationId" : "listProductCategories",
        "parameters" : [ {
          "description" : "Numeric limit of the total number of results to retrieve.",
          "example" : 10,
          "in" : "query",
          "name" : "limit",
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 50,
            "maximum" : 50,
            "minimum" : 0
          }
        }, {
          "description" : "Starting position of query result set.",
          "example" : 20,
          "in" : "query",
          "name" : "offset",
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0
          }
        }, {
          "description" : "Optional parent product category id. If omitted, the top level categories will be returned.",
          "example" : "23kSlw0dkSml",
          "in" : "query",
          "name" : "parent_product_category_id",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProductCategoryListResponse"
                }
              }
            },
            "description" : "Product categories are returned."
          }
        },
        "summary" : "List Product Categories",
        "tags" : [ "Categories" ]
      }
    },
    "/v2/product-types" : {
      "get" : {
        "operationId" : "listProductTypes",
        "parameters" : [ {
          "description" : "Numeric limit of the total number of results to retrieve.",
          "example" : 10,
          "in" : "query",
          "name" : "limit",
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 100,
            "maximum" : 1000,
            "minimum" : 0
          }
        }, {
          "description" : "Starting position of query result set.",
          "example" : 20,
          "in" : "query",
          "name" : "offset",
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0
          }
        } ],
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProductTypeListResponse"
                }
              }
            },
            "description" : "Returns a list of product types."
          }
        },
        "summary" : "List Product Types",
        "tags" : [ "Product Types" ]
      }
    },
    "/v2/products" : {
      "post" : {
        "description" : "The request body must include `sku` and `name` fields. All other fields are optional and can be used to populate the product's information immediately upon creation. Product Type ID, Parent Product ID, and Attribute IDs in the request are case sensitive.",
        "operationId" : "createProduct",
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ProductCreateRequest"
              }
            }
          }
        },
        "responses" : {
          "201" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProductCreateResponse"
                }
              }
            },
            "description" : "The product was successfully created."
          }
        },
        "summary" : "Create a New Product",
        "tags" : [ "Products" ]
      }
    },
    "/v2/products/channels/{channel_id}" : {
      "get" : {
        "description" : "The Channel Products endpoint returns a list of products associated with a given channel in Entries. Only the products and attributes that are configured for the channel will be included in the response.<br><br>Note that `channel_id` is case sensitive.",
        "operationId" : "listProductsForChannel",
        "parameters" : [ {
          "description" : "ID of the Channel (case sensitive).",
          "example" : "5KpQDp5iWYTL",
          "in" : "path",
          "name" : "channel_id",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "description" : "Numeric limit of the total number of results to retrieve.",
          "example" : 10,
          "in" : "query",
          "name" : "limit",
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 100,
            "maximum" : 100,
            "minimum" : 0
          }
        }, {
          "description" : "Starting position of query result set.",
          "example" : 20,
          "in" : "query",
          "name" : "offset",
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0
          }
        } ],
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ChannelProductsResponse"
                }
              }
            },
            "description" : "A list of products associated with the channel."
          }
        },
        "summary" : "List Products for Channel",
        "tags" : [ "Products" ]
      }
    },
    "/v2/products/search" : {
      "post" : {
        "description" : "The List Products by Search Query returns products that match the provided query term and filters. If no query or filters are provided, all products are returned.",
        "operationId" : "listProductsBySearchQuery",
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ProductSearchRequest"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProductSearchListResponse"
                }
              }
            },
            "description" : "A list of products matching the search criteria."
          }
        },
        "summary" : "List Products by Search Query",
        "tags" : [ "Products" ]
      }
    },
    "/v2/products/{product_id}" : {
      "delete" : {
        "operationId" : "deleteProduct",
        "parameters" : [ {
          "description" : "ID of the Product (case sensitive).",
          "example" : "hiAXBJdJOBSw",
          "in" : "path",
          "name" : "product_id",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "204" : {
            "description" : "The product was successfully deleted."
          }
        },
        "summary" : "Delete Product",
        "tags" : [ "Products" ]
      },
      "get" : {
        "operationId" : "retrieveProductById",
        "parameters" : [ {
          "description" : "ID of the Product (case sensitive).",
          "example" : "hiAXBJdJOBSw",
          "in" : "path",
          "name" : "product_id",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProductResponse"
                }
              }
            },
            "description" : "The product was successfully retrieved."
          }
        },
        "summary" : "Retrieve Product by ID",
        "tags" : [ "Products" ]
      }
    },
    "/v2/products/{product_id}/attributes" : {
      "put" : {
        "description" : "Any attribute value included in the request will be updated for the given product. Product attributes that are not part of the request body will not be modified. Attribute IDs in the request are case sensitive.",
        "operationId" : "updateAttributeValues",
        "parameters" : [ {
          "description" : "ID of the Product (case sensitive).",
          "example" : "hiAXBJdJOBSw",
          "in" : "path",
          "name" : "product_id",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/AttributeValuesUpdateRequest"
              }
            }
          }
        },
        "responses" : {
          "204" : {
            "description" : "The attribute values were successfully updated."
          }
        },
        "summary" : "Update Attribute Values",
        "tags" : [ "Products" ]
      }
    },
    "/v2/products/{product_id}/featured-image" : {
      "put" : {
        "operationId" : "updateFeaturedImage",
        "parameters" : [ {
          "description" : "ID of the Product (case sensitive).",
          "example" : "hiAXBJdJOBSw",
          "in" : "path",
          "name" : "product_id",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ProductFeaturedImageAssignRequest"
              }
            }
          }
        },
        "responses" : {
          "204" : {
            "description" : "The featured image was successfully updated."
          }
        },
        "summary" : "Update Featured Image",
        "tags" : [ "Products" ]
      }
    },
    "/v2/products/{product_id}/parent-product" : {
      "put" : {
        "description" : "Parent Product ID in the request is case sensitive.",
        "operationId" : "updateParentProduct",
        "parameters" : [ {
          "description" : "ID of the Product (case sensitive).",
          "example" : "hiAXBJdJOBSw",
          "in" : "path",
          "name" : "product_id",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ProductParentAssignRequest"
              }
            }
          }
        },
        "responses" : {
          "204" : {
            "description" : "The parent product was successfully updated."
          }
        },
        "summary" : "Update Parent Product",
        "tags" : [ "Products" ]
      }
    },
    "/v2/products/{product_id}/product-category" : {
      "put" : {
        "description" : "The request body is an array of one single product_category_id object, or null to unassign this product from its category. Product Category ID in the request is case sensitive.",
        "operationId" : "updateProductCategory",
        "parameters" : [ {
          "description" : "ID of the Product (case sensitive).",
          "example" : "hiAXBJdJOBSw",
          "in" : "path",
          "name" : "product_id",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ProductCategoryAssignRequest"
              }
            }
          }
        },
        "responses" : {
          "204" : {
            "description" : "The product category was successfully updated."
          }
        },
        "summary" : "Update Product Category",
        "tags" : [ "Products" ]
      }
    },
    "/v2/products/{product_id}/product-type" : {
      "put" : {
        "description" : "Product Type ID in the request is case sensitive.",
        "operationId" : "updateProductType",
        "parameters" : [ {
          "description" : "ID of the Product (case sensitive).",
          "example" : "hiAXBJdJOBSw",
          "in" : "path",
          "name" : "product_id",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ProductTypeAssignRequest"
              }
            }
          }
        },
        "responses" : {
          "204" : {
            "description" : "The product type was successfully updated."
          }
        },
        "summary" : "Update Product Type",
        "tags" : [ "Products" ]
      }
    },
    "/v2/products/{product_id}/rename" : {
      "put" : {
        "operationId" : "renameProduct",
        "parameters" : [ {
          "description" : "ID of the Product (case sensitive).",
          "example" : "hiAXBJdJOBSw",
          "in" : "path",
          "name" : "product_id",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ProductRenameRequest"
              }
            }
          }
        },
        "responses" : {
          "204" : {
            "description" : "The product was successfully renamed."
          }
        },
        "summary" : "Rename Product",
        "tags" : [ "Products" ]
      }
    },
    "/v2/toggles" : {
      "get" : {
        "operationId" : "listToggles",
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/TogglesResponse"
                }
              }
            },
            "description" : "Returns a list of early access toggles."
          }
        },
        "summary" : "List Toggles",
        "tags" : [ "Toggles" ]
      }
    },
    "/v2/uploads" : {
      "post" : {
        "description" : "All uploads require a profile. Profiles control a new asset's initial metadata and security defaults. Use the Acquia DAM administrative tools to configure profiles to accommodate your use case. The List All Upload Profiles endpoint can be used to retrieve available upload profiles.<br><br>The following `multipart/form-data` fields are expected in the request:<br><br>- `profile`: (string) - Upload Profile Name.<br>- `file`: (file) - Optional binary file for upload. Either `file`, `url`, or `file_id` must be provided.<br>- `url`: (string) - Optional public link to file for upload.<br>- `file_id`: (string) - Optional file id as returned by the Complete Chunked Upload endpoint.<br>- `filename`: (string) - Optional filename (overrides name of MIME file).<br>- `metadata`: (string) - Optional json metadata to apply to new Asset, in the same format as the Update Metadata request.<br><br>Example request:<br><br>------BOUNDARY<br>Content-Disposition: form-data; name=\"profile\"<br>REST Uploads<br>------BOUNDARY<br>Content-Disposition: form-data; name=\"filename\"<br>Yellow Ducky.png<br>------BOUNDARY<br>Content-Disposition: form-data; name=\"metadata\"<br>{ \"fields\": { \"description\": [\"Directors\"], \"keywords\": [\"Butter, Hitchcock, Spielberg, Lucas\"]}}<br>------BOUNDARY<br>Content-Disposition: form-data; name=\"file\"; filename=\"blob\"<br>Content-Type: application/octet-stream<br> // The bytes<br>------BOUNDARY--",
        "operationId" : "uploadAsset",
        "responses" : {
          "201" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/LinksResponse"
                }
              }
            },
            "description" : "Returns links for the new Asset."
          },
          "400" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description" : "Invalid request."
          }
        },
        "summary" : "Upload Asset",
        "tags" : [ "Assets" ]
      }
    },
    "/v2/uploads/chunks/complete" : {
      "post" : {
        "description" : "Once all file chunks have been uploaded, request `Complete Chunked Upload` with a list of all tags to complete the upload and put the file chunks back together into one file. The `file_id` in the response should be used in the `Upload Asset` request to create an Asset from this file.",
        "operationId" : "uploadChunk3",
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ChunkedUploadCompleteRequest"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ChunkedUploadCompleteResponse"
                }
              }
            },
            "description" : "Chunked upload completed successfully."
          }
        },
        "summary" : "Chunked Upload Complete",
        "tags" : [ "Assets" ]
      }
    },
    "/v2/uploads/chunks/start" : {
      "post" : {
        "description" : "Assets with large filesizes can be broken into pieces and uploaded as smaller chunks.<br><br>`Start Chunked Upload` begins a chunked uploading session. The session_id in the response must be used for subsequent upload chunk and complete chunk requests. This session_id is good for 7 days.<br><br>Use `Upload Chunk` to upload each piece of the file. Each request must include the session_id from the `Start Chunked Upload` request. The tag in each `Upload Chunk` response must be used in the `Complete Chunked Upload` request.<br><br>Once all file chunks have been uploaded, request `Complete Chunked Upload` with a list of all tags to complete the upload and put the file chunks back together into one file. The file_id in the response can be used in the `Create Asset` request to create an Asset from this file.<br><br>Note: Some Acquia DAM accounts do not support chunked uploading. If you receive a `Chunked uploads are not currently available for this account` error response, please contact support@widen.com to discuss your use case.",
        "operationId" : "uploadChunk0",
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ChunkedUploadStartResponse"
                }
              }
            },
            "description" : "Chunked upload session started."
          }
        },
        "summary" : "Chunked Upload Start",
        "tags" : [ "Assets" ]
      }
    },
    "/v2/uploads/chunks/status" : {
      "post" : {
        "description" : "Check the status of a chunked upload session. This can be used to verify that all chunks have been uploaded successfully.",
        "operationId" : "uploadChunk2",
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ChunkedUploadStatusRequest"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ChunkedUploadStatusResponse"
                }
              }
            },
            "description" : "Returns the status of the chunked upload session."
          }
        },
        "summary" : "Chunked Upload Status",
        "tags" : [ "Assets" ]
      }
    },
    "/v2/uploads/chunks/upload" : {
      "post" : {
        "description" : "The following `multipart/form-data` fields are expected in the request:<br><br>- `session_id`: (string) - Required Session ID for this chunked upload as returned by the `Start Chunked Upload` request.<br>- `chunk_number`: (integer) - Required chunk number. Must be between 1 and 10,000.<br>- `file`: (file) - Binary file chunk for upload. Cannot be greater than 100MB, and must be at least 5MB unless it's the last chunk.",
        "operationId" : "uploadChunk1",
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ChunkedUploadPartResponse"
                }
              }
            },
            "description" : "Chunk uploaded successfully."
          }
        },
        "summary" : "Upload Chunk",
        "tags" : [ "Assets" ]
      }
    },
    "/v2/uploads/profiles" : {
      "get" : {
        "operationId" : "uploadAssetProfilesList",
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UploadProfileResponse"
                }
              }
            },
            "description" : "Returns a list of all available upload profiles."
          }
        },
        "summary" : "List All Upload Profiles",
        "tags" : [ "Assets" ]
      }
    },
    "/v2/usage/api" : {
      "get" : {
        "description" : "The `Get API usage` endpoint reveals the total number of API requests made within the current month (The `request_count` field will reset to `0` at the beginning of every month).<br><br>There will be no API service disruption when contractual limits are exceeded, but overages may be charged. Please refer to your contract to determine if you have a limit.<br><br>Certain integrations and connectors are excluded from API usage (this list is subject to change).<br><br>**Note: Requests made to this endpoint will be excluded from API usage (ensuring that API usage reporting will not cause any overages).**",
        "operationId" : "getApiUsageSummary",
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UsageSummaryApiResponse"
                }
              }
            },
            "description" : "API usage is returned successfully."
          }
        },
        "summary" : "Get API Usage",
        "tags" : [ "Usage" ]
      }
    },
    "/v2/user" : {
      "get" : {
        "description" : "Returns information about the user associated with the given Access Token.",
        "operationId" : "getCurrentUser",
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UserResponse"
                }
              }
            },
            "description" : "Returns the current user."
          }
        },
        "summary" : "Get Current User",
        "tags" : [ "Users" ]
      }
    },
    "/v2/user/{id}" : {
      "get" : {
        "description" : "Returns information about the user with the given Id. The current user associated with the given Access Token must have an admin permission for at least one of the roles of which the target User ID is assigned.",
        "operationId" : "getUserById",
        "parameters" : [ {
          "description" : "User ID.",
          "example" : "79ceffc3-4042-490e-bad7-1a3c9626d5f6",
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UserResponse"
                }
              }
            },
            "description" : "Returns the user with the given ID."
          },
          "404" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description" : "User not found."
          }
        },
        "summary" : "Get User by Id",
        "tags" : [ "Users" ]
      }
    },
    "/v2/webhooks/configurations" : {
      "get" : {
        "operationId" : "listWebhooks",
        "parameters" : [ {
          "description" : "Numeric limit of the total number of results to retrieve.",
          "example" : 10,
          "in" : "query",
          "name" : "limit",
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 10
          }
        }, {
          "description" : "Starting position of query result set.",
          "example" : 20,
          "in" : "query",
          "name" : "offset",
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0
          }
        } ],
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/WebhookConfigurationsResponse"
                }
              }
            },
            "description" : "Webhook configurations are returned."
          },
          "400" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description" : "Invalid request."
          },
          "403" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description" : "User lacks administrate webhooks permissions."
          }
        },
        "summary" : "List Webhooks",
        "tags" : [ "Acquia DAM Webhooks" ]
      },
      "post" : {
        "operationId" : "createWebhook",
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/CreateWebhookConfigurationRequest"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/CreateWebhookConfigurationResponse"
                }
              }
            },
            "description" : "Webhook configuration is created."
          },
          "400" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description" : "Invalid request."
          },
          "403" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description" : "User lacks administrate webhooks permissions."
          }
        },
        "summary" : "Create Webhook",
        "tags" : [ "Acquia DAM Webhooks" ]
      }
    },
    "/v2/webhooks/configurations/{id}" : {
      "delete" : {
        "operationId" : "deleteWebhook",
        "parameters" : [ {
          "description" : "Webhook configuration ID.",
          "example" : "976cf9b0-95d0-4dbd-acb0-57fbdaef7b6f",
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "204" : {
            "description" : "Webhook Configuration deleted."
          },
          "404" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description" : "Webhook configuration not found."
          }
        },
        "summary" : "Delete Webhook",
        "tags" : [ "Acquia DAM Webhooks" ]
      },
      "get" : {
        "operationId" : "getWebhook",
        "parameters" : [ {
          "description" : "Webhook configuration ID.",
          "example" : "976cf9b0-95d0-4dbd-acb0-57fbdaef7b6f",
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/WebhookConfigurationResponse"
                }
              }
            },
            "description" : "Webhook configuration is returned."
          },
          "400" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description" : "Invalid request."
          },
          "403" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description" : "User lacks administrate webhooks permissions."
          },
          "404" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description" : "Webhook configuration not found."
          }
        },
        "summary" : "Get Webhook by ID",
        "tags" : [ "Acquia DAM Webhooks" ]
      },
      "put" : {
        "operationId" : "editWebhook",
        "parameters" : [ {
          "description" : "Webhook configuration ID.",
          "example" : "976cf9b0-95d0-4dbd-acb0-57fbdaef7b6f",
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "in" : "query",
          "name" : "patch",
          "schema" : {
            "type" : "string",
            "description" : "Comma separated list of fields to update. (Other fields included in the body will be ignored.) If no patch parameter is sent, no fields included in request will be updated.",
            "example" : "delivery_enabled,delivery_url,event_type,secret_key,monitored_metadata_fields"
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/EditWebhookConfigurationRequest"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/LinksResponse"
                }
              }
            },
            "description" : "API Link to updated webhook configuration is returned."
          },
          "400" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description" : "Invalid request."
          },
          "403" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description" : "User lacks administrate webhooks permissions."
          },
          "404" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description" : "Webhook configuration not found."
          }
        },
        "summary" : "Edit Webhook",
        "tags" : [ "Acquia DAM Webhooks" ]
      }
    },
    "/v2/webhooks/configurations/{id}/ping" : {
      "get" : {
        "description" : "Sends a ping request to the specified webhook configuration. This is useful for testing the delivery URL and ensuring that the webhook is set up correctly. The response contains a unique ID that will be included within the ping delivery payload.",
        "operationId" : "pingWebhook",
        "parameters" : [ {
          "description" : "Webhook configuration ID.",
          "example" : "976cf9b0-95d0-4dbd-acb0-57fbdaef7b6f",
          "in" : "path",
          "name" : "id",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PingWebhookResponse"
                }
              }
            },
            "description" : "Webhook ping request sent."
          },
          "400" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description" : "Invalid request."
          },
          "403" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description" : "User lacks administrate webhooks permissions."
          },
          "404" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description" : "Webhook configuration not found."
          }
        },
        "summary" : "Ping Webhook by ID",
        "tags" : [ "Acquia DAM Webhooks" ]
      }
    },
    "/v2/workflow/projects" : {
      "post" : {
        "operationId" : "createProject",
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/WorkflowCreateProject"
              }
            }
          }
        },
        "responses" : {
          "201" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/WorkflowProjectModel"
                }
              }
            },
            "description" : "Project created successfully."
          }
        },
        "summary" : "Create New project",
        "tags" : [ "Workflow App Projects" ]
      }
    },
    "/v2/workflow/projects/{project_id}" : {
      "delete" : {
        "operationId" : "deleteProject",
        "parameters" : [ {
          "description" : "Project ID.",
          "example" : "TLA-0002",
          "in" : "path",
          "name" : "project_id",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "204" : {
            "description" : "Project deleted successfully."
          }
        },
        "summary" : "Delete Project",
        "tags" : [ "Workflow App Projects" ]
      },
      "get" : {
        "operationId" : "retrieveProjectById",
        "parameters" : [ {
          "description" : "Project ID.",
          "example" : "TLA-0002",
          "in" : "path",
          "name" : "project_id",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "in" : "query",
          "name" : "expand",
          "schema" : {
            "type" : "string",
            "enum" : [ "request_fields" ]
          }
        } ],
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/WorkflowProjectModel"
                }
              }
            },
            "description" : "Returns the project with the given ID."
          }
        },
        "summary" : "Retrieve Project by ID",
        "tags" : [ "Workflow App Projects" ]
      }
    },
    "/v2/workflow/projects/{project_id}/deliverables" : {
      "get" : {
        "operationId" : "deliverablesRetrieveForProject",
        "parameters" : [ {
          "description" : "Project ID.",
          "example" : "TLA-0002",
          "in" : "path",
          "name" : "project_id",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "in" : "query",
          "name" : "expand",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/WorkflowDeliverableListModel"
                }
              }
            },
            "description" : "Returns all deliverables for the project."
          }
        },
        "summary" : "Retrieve All Project Deliverables",
        "tags" : [ "Workflow App Projects" ]
      },
      "post" : {
        "operationId" : "deliverablesAddToProject",
        "parameters" : [ {
          "description" : "Project ID.",
          "example" : "TLA-0002",
          "in" : "path",
          "name" : "project_id",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/WorkflowCreateDeliverableRequest"
              }
            }
          }
        },
        "responses" : {
          "201" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/WorkflowDeliverableModel"
                }
              }
            },
            "description" : "Deliverable added successfully."
          }
        },
        "summary" : "Add Deliverable to Project",
        "tags" : [ "Workflow App Projects" ]
      }
    },
    "/v2/workflow/projects/{project_id}/deliverables/{deliverable_id}" : {
      "delete" : {
        "operationId" : "deliverablesDeleteForProject",
        "parameters" : [ {
          "description" : "Project ID.",
          "example" : "TLA-0002",
          "in" : "path",
          "name" : "project_id",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "description" : "Deliverable ID.",
          "example" : "001",
          "in" : "path",
          "name" : "deliverable_id",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "204" : {
            "description" : "Deliverable deleted successfully."
          }
        },
        "summary" : "Delete Deliverable",
        "tags" : [ "Workflow App Projects" ]
      },
      "get" : {
        "operationId" : "deliverablesRetrieveForProjectById",
        "parameters" : [ {
          "description" : "Project ID.",
          "example" : "TLA-0002",
          "in" : "path",
          "name" : "project_id",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "description" : "Deliverable ID.",
          "example" : "001",
          "in" : "path",
          "name" : "deliverable_id",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "in" : "query",
          "name" : "expand",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/WorkflowDeliverableModel"
                }
              }
            },
            "description" : "Returns the deliverable with the given ID for the project."
          }
        },
        "summary" : "Retrieve Deliverable by ID",
        "tags" : [ "Workflow App Projects" ]
      }
    },
    "/v2/workflow/projects/{project_id}/deliverables/{deliverable_id}/close" : {
      "put" : {
        "description" : "Deliverables can be optionally moved to Assets when they are closed. To do this, the body must include a filename and the upload profile display name to be used when moving the file to Assets. If you wish to just close the deliverable simply leave the body of your call empty.",
        "operationId" : "deliverablesCloseForProject",
        "parameters" : [ {
          "description" : "Project ID.",
          "example" : "TLA-0002",
          "in" : "path",
          "name" : "project_id",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "description" : "Deliverable ID.",
          "example" : "001",
          "in" : "path",
          "name" : "deliverable_id",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/WorkflowCloseDeliverable"
              }
            }
          }
        },
        "responses" : {
          "204" : {
            "description" : "Deliverable closed successfully."
          }
        },
        "summary" : "Close Deliverable",
        "tags" : [ "Workflow App Projects" ]
      }
    },
    "/v2/workflow/projects/{project_id}/deliverables/{deliverable_id}/proofs" : {
      "post" : {
        "operationId" : "deliverablesUploadProof",
        "parameters" : [ {
          "description" : "Project ID.",
          "example" : "TLA-0002",
          "in" : "path",
          "name" : "project_id",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "description" : "Deliverable ID.",
          "example" : "001",
          "in" : "path",
          "name" : "deliverable_id",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/WorkflowUploadProof"
              }
            }
          }
        },
        "responses" : {
          "201" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/WorkflowDeliverableModel"
                }
              }
            },
            "description" : "Proof uploaded successfully."
          }
        },
        "summary" : "Upload Proof to Deliverable",
        "tags" : [ "Workflow App Projects" ]
      }
    },
    "/v2/workflow/projects/{project_id}/support-files" : {
      "get" : {
        "operationId" : "retrieveProjectSupportFiles",
        "parameters" : [ {
          "description" : "Project ID.",
          "example" : "TLA-0002",
          "in" : "path",
          "name" : "project_id",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/WorkflowSupportFileModel"
                }
              }
            },
            "description" : "Returns a list of support files for the specified project."
          }
        },
        "summary" : "Retrieve Supporting Files",
        "tags" : [ "Workflow App Projects" ]
      }
    },
    "/v2/workflow/webhooks" : {
      "delete" : {
        "operationId" : "workflowDeleteWebhook",
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/WorkflowWebhookModel"
              }
            }
          }
        },
        "responses" : {
          "204" : {
            "description" : "Webhook removed successfully."
          }
        },
        "summary" : "Delete Webhook",
        "tags" : [ "Workflow Webhooks" ]
      },
      "get" : {
        "operationId" : "workflowListWebhooks",
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/WorkflowWebhookListModel"
                }
              }
            },
            "description" : "List of webhooks returned."
          }
        },
        "summary" : "List All Webhooks",
        "tags" : [ "Workflow Webhooks" ]
      },
      "post" : {
        "operationId" : "workflowAddWebhook",
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/WorkflowWebhookModel"
              }
            }
          }
        },
        "responses" : {
          "201" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/WorkflowWebhookModel"
                }
              }
            },
            "description" : "Webhook added successfully."
          }
        },
        "summary" : "Add New Webhook",
        "tags" : [ "Workflow Webhooks" ]
      }
    }
  },
  "components" : {
    "schemas" : {
      "AnalyticsAssetDownload" : {
        "type" : "object",
        "properties" : {
          "asset_properties" : {
            "$ref" : "#/components/schemas/AnalyticsAssetProperties"
          },
          "conversion_properties" : {
            "$ref" : "#/components/schemas/AnalyticsConversionProperties"
          },
          "file_properties" : {
            "$ref" : "#/components/schemas/AnalyticsFileProperties"
          },
          "intended_use_properties" : {
            "$ref" : "#/components/schemas/AnalyticsIntendedUseProperties"
          },
          "referrer" : {
            "type" : "string",
            "description" : "The referrer URL from which the download was initiated.",
            "example" : "https://example.com/downloads/asset-12345"
          },
          "timestamp" : {
            "type" : "string",
            "format" : "date-time",
            "description" : "The date and time when the download occurred.",
            "example" : "2023-10-01T12:00:00Z"
          },
          "user_properties" : {
            "$ref" : "#/components/schemas/AnalyticsUserProperties"
          }
        }
      },
      "AnalyticsAssetDownloadsResponse" : {
        "type" : "object",
        "properties" : {
          "items" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/AnalyticsAssetDownload"
            }
          },
          "pagination_token" : {
            "type" : "string"
          },
          "total_count" : {
            "type" : "integer",
            "format" : "int64"
          }
        }
      },
      "AnalyticsAssetFilter" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "The unique identifier of the asset to filter by.",
            "example" : "f7bc9561-3913-4edd-89fd-24f6d920b1bd"
          },
          "type" : {
            "type" : "string",
            "enum" : [ "asset", "date_range" ],
            "example" : "asset"
          }
        }
      },
      "AnalyticsAssetProperties" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "example" : "f7bc9561-3913-4edd-89fd-24f6d920b1bd"
          }
        }
      },
      "AnalyticsAssetShare" : {
        "type" : "object",
        "properties" : {
          "asset_properties" : {
            "$ref" : "#/components/schemas/AnalyticsAssetProperties"
          },
          "referrer" : {
            "type" : "string"
          },
          "timestamp" : {
            "type" : "string",
            "format" : "date-time"
          },
          "user_properties" : {
            "$ref" : "#/components/schemas/AnalyticsUserProperties"
          }
        }
      },
      "AnalyticsAssetSharesResponse" : {
        "type" : "object",
        "properties" : {
          "items" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/AnalyticsAssetShare"
            }
          },
          "pagination_token" : {
            "type" : "string"
          },
          "total_count" : {
            "type" : "integer",
            "format" : "int64"
          }
        }
      },
      "AnalyticsAssetView" : {
        "type" : "object",
        "properties" : {
          "asset_properties" : {
            "$ref" : "#/components/schemas/AnalyticsAssetProperties"
          },
          "file_properties" : {
            "$ref" : "#/components/schemas/AnalyticsFileProperties"
          },
          "intended_use_properties" : {
            "$ref" : "#/components/schemas/AnalyticsIntendedUseProperties"
          },
          "referrer" : {
            "type" : "string"
          },
          "timestamp" : {
            "type" : "string",
            "format" : "date-time"
          },
          "user_properties" : {
            "$ref" : "#/components/schemas/AnalyticsUserProperties"
          }
        }
      },
      "AnalyticsAssetViewsResponse" : {
        "type" : "object",
        "properties" : {
          "items" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/AnalyticsAssetView"
            }
          },
          "pagination_token" : {
            "type" : "string"
          },
          "total_count" : {
            "type" : "integer",
            "format" : "int64"
          }
        }
      },
      "AnalyticsConversionProperties" : {
        "type" : "object",
        "properties" : {
          "output_file_format" : {
            "type" : "string",
            "description" : "The format of the output file after conversion.",
            "example" : "PNG"
          },
          "output_file_type" : {
            "type" : "string",
            "description" : "The type of the output file after conversion.",
            "example" : "IMAGE"
          }
        }
      },
      "AnalyticsDateRangeFilter" : {
        "type" : "object",
        "properties" : {
          "end" : {
            "type" : "string",
            "format" : "date-time",
            "example" : "2022-02-01T00:00:00Z"
          },
          "start" : {
            "type" : "string",
            "format" : "date-time",
            "example" : "2022-01-01T00:00:00Z"
          },
          "type" : {
            "type" : "string",
            "enum" : [ "asset", "date_range" ],
            "example" : "date_range"
          }
        }
      },
      "AnalyticsFileProperties" : {
        "type" : "object",
        "properties" : {
          "file_type" : {
            "type" : "string",
            "description" : "The file type of the asset which was downloaded.",
            "example" : "IMAGE"
          },
          "format" : {
            "type" : "string",
            "description" : "The format of the asset which was downloaded.",
            "example" : "JPEG"
          },
          "size_in_bytes" : {
            "type" : "integer",
            "format" : "int64",
            "example" : 2635715
          }
        }
      },
      "AnalyticsFilter" : {
        "type" : "object",
        "anyOf" : [ {
          "$ref" : "#/components/schemas/AnalyticsAssetFilter"
        }, {
          "$ref" : "#/components/schemas/AnalyticsDateRangeFilter"
        } ],
        "description" : "Used to filter the results. Currently types of `asset` (required) and `date_range` (optional) are supported.",
        "properties" : {
          "type" : {
            "type" : "string",
            "enum" : [ "asset", "date_range" ]
          }
        }
      },
      "AnalyticsIntendedUseProperties" : {
        "type" : "object",
        "properties" : {
          "value" : {
            "type" : "string",
            "description" : "The intended use of the download.",
            "example" : "Marketing"
          }
        }
      },
      "AnalyticsRequest" : {
        "type" : "object",
        "properties" : {
          "filters" : {
            "type" : "array",
            "description" : "Used to filter the results. Currently types of `asset` (required) and `date_range` (optional) are supported.",
            "items" : {
              "$ref" : "#/components/schemas/AnalyticsFilter"
            }
          },
          "limit" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Numeric limit of the total number of results to retrieve.",
            "example" : 10,
            "maximum" : 100
          },
          "pagination_token" : {
            "type" : "string",
            "description" : "Used to paginate results. The value supplied in the request is taken from an existing response to this endpoint."
          }
        }
      },
      "AnalyticsUserProperties" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "example" : "5f6f1f60-1b5e-4690-8ba0-a40c09b2cf0c",
            "nullable" : true
          }
        }
      },
      "AssetFacetResponse" : {
        "type" : "object",
        "properties" : {
          "categories" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/FacetCategoryResponse"
            }
          },
          "file_types" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/FacetFileTypeResponse"
            }
          },
          "metadata" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/FacetMetadataResponse"
            }
          }
        }
      },
      "AssetGroupListResponse" : {
        "type" : "object",
        "properties" : {
          "item_type" : {
            "type" : "string",
            "example" : "assetgroup"
          },
          "items" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/AssetGroupResponse"
            }
          },
          "total_count" : {
            "type" : "integer",
            "format" : "int32",
            "example" : 1
          }
        }
      },
      "AssetGroupResponse" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "example" : "Logos"
          },
          "uuid" : {
            "type" : "string",
            "example" : "9d0c502a-24f7-11eb-adc1-0242ac120002"
          }
        }
      },
      "AssetPropertiesResponse" : {
        "type" : "object",
        "nullable" : true,
        "properties" : {
          "cutline_caption" : {
            "type" : "string",
            "nullable" : true
          },
          "favorite" : {
            "type" : "boolean"
          },
          "popularity" : {
            "type" : "integer",
            "format" : "int64",
            "nullable" : true
          }
        }
      },
      "AssetResponse" : {
        "type" : "object",
        "properties" : {
          "_links" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            }
          },
          "ai_tags" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "nullable" : true
            },
            "nullable" : true
          },
          "asset_properties" : {
            "$ref" : "#/components/schemas/AssetPropertiesResponse"
          },
          "created_date" : {
            "type" : "string",
            "format" : "date-time",
            "example" : "2023-10-01T12:00:00Z"
          },
          "current_version" : {
            "type" : "boolean"
          },
          "deleted_date" : {
            "type" : "string",
            "format" : "date-time",
            "nullable" : true
          },
          "embeds" : {
            "type" : "object",
            "additionalProperties" : {
              "$ref" : "#/components/schemas/EmbedResponse"
            },
            "nullable" : true
          },
          "expanded" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "boolean"
            }
          },
          "external_id" : {
            "type" : "string",
            "example" : "qhvtfxvcdd"
          },
          "file_properties" : {
            "$ref" : "#/components/schemas/FilePropertiesResponse"
          },
          "file_upload_date" : {
            "type" : "string",
            "format" : "date-time",
            "example" : "2023-10-03T12:00:00Z"
          },
          "filename" : {
            "type" : "string",
            "example" : "IMG_1815"
          },
          "id" : {
            "type" : "string",
            "example" : "f53a19fe-3d44-485e-8d9f-7141e0665862"
          },
          "last_update_date" : {
            "type" : "string",
            "format" : "date-time",
            "example" : "2023-10-02T12:00:00Z"
          },
          "metadata" : {
            "$ref" : "#/components/schemas/MetadataModel"
          },
          "metadata_info" : {
            "$ref" : "#/components/schemas/MetadataInfoResponse"
          },
          "released_and_not_expired" : {
            "type" : "boolean"
          },
          "security" : {
            "$ref" : "#/components/schemas/SecurityModel"
          },
          "status" : {
            "$ref" : "#/components/schemas/StatusInfoResponse"
          },
          "tags" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "nullable" : true
            },
            "nullable" : true
          },
          "thumbnails" : {
            "type" : "object",
            "additionalProperties" : {
              "$ref" : "#/components/schemas/ThumbnailResponse"
            },
            "nullable" : true
          },
          "version_id" : {
            "type" : "string",
            "example" : "ab783eb8-7368-44ea-b2cd-1549ba8b2318"
          }
        }
      },
      "AssetSearchQueryFilter" : {
        "type" : "object",
        "description" : "Filters to apply.",
        "properties" : {
          "operator" : {
            "type" : "string",
            "description" : "Operators that can be applied to a query filter.\n\nOperator applicability:\n- `equals`: General-purpose operator, applicable to all filter types.\n- `greaterThan`: Applicable to numeric filters only (e.g. `search_results_count`).\n- `lessThan`: Applicable to numeric filters only (e.g. `search_results_count`).",
            "enum" : [ "equals", "greaterThan", "lessThan" ]
          },
          "type" : {
            "type" : "string",
            "description" : "Filter types allowed for the asset_search event type.\n\nMultiple values in the `values` array are matched with IN logic for `equals`-operator filters.\n\nExpected values per filter type:\n- `city`: City name, e.g. `[\"New York\", \"London\"]`\n- `state_or_region`: State or region name, e.g. `[\"New York\", \"California\"]`\n- `country`: Country name, e.g. `[\"United States\", \"Germany\"]`\n- `user_uuid`: User UUID, e.g. `[\"a1b2c3d4-e5f6-7890-abcd-ef1234567890\"]`\n- `user_external_id`: User external ID string, e.g. `[\"abc123yz\"]`\n- `user_role_uuid`: User role UUID, e.g. `[\"a1b2c3d4-e5f6-7890-abcd-ef1234567890\"]`\n- `search_type`: Search method: `[\"keyword\", \"suggested\"]`\n- `search_category_uuid`: Category UUID used in search, e.g. `[\"a1b2c3d4-e5f6-7890-abcd-ef1234567890\"]`\n- `search_location`: Search origin: `[\"api\", \"dam\", \"assets\"]`\n- `search_name`: Search query string, e.g. `[\"annual report\"]`\n- `search_results_count`: Numeric result count as string; supports `equals`, `greaterThan`, `lessThan` operators, e.g. `[\"10\"]`",
            "enum" : [ "city", "state_or_region", "country", "user_uuid", "user_external_id", "user_role_uuid", "search_type", "search_category_uuid", "search_location", "search_name", "search_results_count" ]
          },
          "values" : {
            "type" : "array",
            "description" : "The filter values.",
            "items" : {
              "type" : "string",
              "description" : "The filter values."
            }
          }
        },
        "required" : [ "operator", "type", "values" ]
      },
      "AssetSearchQueryRequest" : {
        "type" : "object",
        "description" : "Query request for the asset_search event type.",
        "properties" : {
          "end_date" : {
            "type" : "string",
            "format" : "date-time",
            "description" : "End of the date range (inclusive). ISO 8601, e.g. 2024-12-31T23:59:59Z."
          },
          "event_type" : {
            "type" : "string",
            "description" : "event type in this case asset_search"
          },
          "fields" : {
            "type" : "array",
            "description" : "Fields to include in each result row. Leave empty to receive all public fields.",
            "items" : {
              "type" : "string",
              "description" : "Fields to include in each result row. Leave empty to receive all public fields."
            }
          },
          "filters" : {
            "type" : "array",
            "description" : "Filters to apply.",
            "items" : {
              "$ref" : "#/components/schemas/AssetSearchQueryFilter"
            }
          },
          "limit" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Maximum number of results to return. Maximum allowed value is 10000.",
            "example" : 100,
            "maximum" : 10000
          },
          "pagination_token" : {
            "type" : "string",
            "description" : "Pagination token from a prior response."
          },
          "start_date" : {
            "type" : "string",
            "format" : "date-time",
            "description" : "Start of the date range (inclusive). ISO 8601, e.g. 2024-01-01T00:00:00Z."
          }
        },
        "required" : [ "end_date", "event_type", "start_date" ]
      },
      "AssetSearchResponse" : {
        "type" : "object",
        "properties" : {
          "facets" : {
            "$ref" : "#/components/schemas/AssetFacetResponse"
          },
          "include_archived" : {
            "type" : "boolean"
          },
          "include_deleted" : {
            "type" : "boolean"
          },
          "item_type" : {
            "type" : "string"
          },
          "items" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/AssetResponse"
            }
          },
          "limit" : {
            "type" : "integer",
            "format" : "int32"
          },
          "offset" : {
            "type" : "integer",
            "format" : "int32"
          },
          "query" : {
            "type" : "string",
            "example" : "fn:(yellow ducky)"
          },
          "query_explained" : {
            "type" : "string",
            "example" : "Filename: yellow ducky"
          },
          "query_syntax_ok" : {
            "type" : "boolean"
          },
          "scroll_id" : {
            "type" : "string",
            "example" : "cXVlcnlUaGVuRmV0Y2g7Mzs1MDQwMzYzMTprdWpudDVTZ1R2LWY4a1JFcnRNT0FROzU4NTMyNjAwOmhUMUkxcTlaVHZTVHljVGMwVzJKOFE7NTg1MzI2MDE6aFQxSTFxOVpUdlNUeWNUYzBXMko4UTswOw==",
            "nullable" : true
          },
          "scroll_timeout" : {
            "type" : "string",
            "example" : "30000",
            "nullable" : true
          },
          "sort" : {
            "type" : "string",
            "example" : "filename"
          },
          "sort_explained" : {
            "type" : "string",
            "example" : "Filename (ascending)"
          },
          "total_count" : {
            "type" : "integer",
            "format" : "int64"
          }
        }
      },
      "AssetSummaryLinks" : {
        "type" : "object",
        "properties" : {
          "version_details" : {
            "type" : "string"
          }
        }
      },
      "AssetTagValuesRequest" : {
        "type" : "object",
        "properties" : {
          "tag_values" : {
            "type" : "array",
            "description" : "Tag values to add or remove. Maximum 100 values per request.",
            "example" : [ "outdoor", "urban" ],
            "items" : {
              "type" : "string",
              "description" : "Tag values to add or remove. Maximum 100 values per request.",
              "example" : "[\"outdoor\",\"urban\"]"
            }
          }
        },
        "required" : [ "tag_values" ]
      },
      "AssetUploadQueryFilter" : {
        "type" : "object",
        "description" : "Filters to apply.",
        "properties" : {
          "operator" : {
            "type" : "string",
            "description" : "Operators that can be applied to a query filter.\n\nOperator applicability:\n- `equals`: General-purpose operator, applicable to all filter types.\n- `greaterThan`: Applicable to numeric filters only (e.g. `search_results_count`).\n- `lessThan`: Applicable to numeric filters only (e.g. `search_results_count`).",
            "enum" : [ "equals", "greaterThan", "lessThan" ]
          },
          "type" : {
            "type" : "string",
            "description" : "Filter types allowed for the asset_upload event type.\n\nMultiple values in the `values` array are matched with IN logic for `equals`-operator filters.\n\nExpected values per filter type:\n- `asset_uuid`: Asset UUID, e.g. `[\"a1b2c3d4-e5f6-7890-abcd-ef1234567890\"]`\n- `asset_external_id`: Asset external ID string, e.g. `[\"abc123yz\"]`\n- `asset_group_uuid`: Asset group UUID, e.g. `[\"a1b2c3d4-e5f6-7890-abcd-ef1234567890\"]`\n- `category_uuid`: Category UUID, e.g. `[\"a1b2c3d4-e5f6-7890-abcd-ef1234567890\"]`\n- `file_format`: File format identifier, e.g. `[\"JPEG\", \"PNG\", \"PdfDocument\"]`\n- `file_type`: File type category: `[\"IMAGE\", \"VIDEO\", \"PDF\", \"AUDIO\"]`\n- `metadata_type_uuid`: Metadata type UUID, e.g. `[\"a1b2c3d4-e5f6-7890-abcd-ef1234567890\"]`\n- `upload_source`: Upload origin: `[\"rest_api\", \"dam\", \"ftp\"]`\n- `upload_profile_uuid`: Upload profile UUID, e.g. `[\"a1b2c3d4-e5f6-7890-abcd-ef1234567890\"]`\n- `user_uuid`: User UUID, e.g. `[\"a1b2c3d4-e5f6-7890-abcd-ef1234567890\"]`\n- `user_external_id`: User external ID string, e.g. `[\"abc123yz\"]`\n- `user_role_uuid`: User role UUID, e.g. `[\"a1b2c3d4-e5f6-7890-abcd-ef1234567890\"]`\n- `city`: City name, e.g. `[\"New York\", \"London\"]`\n- `state_or_region`: State or region name, e.g. `[\"New York\", \"California\"]`\n- `country`: Country name, e.g. `[\"United States\", \"Germany\"]`",
            "enum" : [ "asset_uuid", "asset_external_id", "asset_group_uuid", "category_uuid", "file_format", "file_type", "metadata_type_uuid", "upload_source", "upload_profile_uuid", "user_uuid", "user_external_id", "user_role_uuid", "city", "state_or_region", "country" ]
          },
          "values" : {
            "type" : "array",
            "description" : "The filter values.",
            "items" : {
              "type" : "string",
              "description" : "The filter values."
            }
          }
        },
        "required" : [ "operator", "type", "values" ]
      },
      "AssetUploadQueryRequest" : {
        "type" : "object",
        "description" : "Query request for the asset_upload event type.",
        "properties" : {
          "end_date" : {
            "type" : "string",
            "format" : "date-time",
            "description" : "End of the date range (inclusive). ISO 8601, e.g. 2024-12-31T23:59:59Z."
          },
          "event_type" : {
            "type" : "string",
            "description" : "event type in this case asset_upload"
          },
          "fields" : {
            "type" : "array",
            "description" : "Fields to include in each result row. Leave empty to receive all public fields.",
            "items" : {
              "type" : "string",
              "description" : "Fields to include in each result row. Leave empty to receive all public fields."
            }
          },
          "filters" : {
            "type" : "array",
            "description" : "Filters to apply.",
            "items" : {
              "$ref" : "#/components/schemas/AssetUploadQueryFilter"
            }
          },
          "limit" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Maximum number of results to return. Maximum allowed value is 10000.",
            "example" : 100,
            "maximum" : 10000
          },
          "pagination_token" : {
            "type" : "string",
            "description" : "Pagination token from a prior response."
          },
          "start_date" : {
            "type" : "string",
            "format" : "date-time",
            "description" : "Start of the date range (inclusive). ISO 8601, e.g. 2024-01-01T00:00:00Z."
          }
        },
        "required" : [ "end_date", "event_type", "start_date" ]
      },
      "AssetVersionListResponse" : {
        "type" : "object",
        "properties" : {
          "asset_uuid" : {
            "type" : "string"
          },
          "item_type" : {
            "type" : "string"
          },
          "items" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/AssetVersionSummary"
            }
          },
          "total_count" : {
            "type" : "integer",
            "format" : "int32"
          }
        }
      },
      "AssetVersionSummary" : {
        "type" : "object",
        "properties" : {
          "_links" : {
            "$ref" : "#/components/schemas/AssetSummaryLinks"
          },
          "current_version" : {
            "type" : "boolean"
          },
          "filename" : {
            "type" : "string"
          },
          "id" : {
            "type" : "string"
          },
          "version_number" : {
            "type" : "integer",
            "format" : "int32"
          }
        }
      },
      "AssetViewQueryFilter" : {
        "type" : "object",
        "description" : "Filters to apply.",
        "properties" : {
          "operator" : {
            "type" : "string",
            "description" : "Operators that can be applied to a query filter.\n\nOperator applicability:\n- `equals`: General-purpose operator, applicable to all filter types.\n- `greaterThan`: Applicable to numeric filters only (e.g. `search_results_count`).\n- `lessThan`: Applicable to numeric filters only (e.g. `search_results_count`).",
            "enum" : [ "equals", "greaterThan", "lessThan" ]
          },
          "type" : {
            "type" : "string",
            "description" : "Filter types allowed for the asset_view event type.\n\nMultiple values in the `values` array are matched with IN logic for `equals`-operator filters.\n\nExpected values per filter type:\n- `asset_uuid`: Asset UUID, e.g. `[\"a1b2c3d4-e5f6-7890-abcd-ef1234567890\"]`\n- `asset_external_id`: Asset external ID string, e.g. `[\"abc123yz\"]`\n- `asset_group_uuid`: Asset group UUID, e.g. `[\"a1b2c3d4-e5f6-7890-abcd-ef1234567890\"]`\n- `city`: City name, e.g. `[\"New York\", \"London\"]`\n- `category_uuid`: Category UUID, e.g. `[\"a1b2c3d4-e5f6-7890-abcd-ef1234567890\"]`\n- `collection_uuid`: Collection UUID, e.g. `[\"a1b2c3d4-e5f6-7890-abcd-ef1234567890\"]`\n- `collection_external_id`: Collection external ID string, e.g. `[\"abc123yz\"]`\n- `country`: Country name, e.g. `[\"United States\", \"Germany\"]`\n- `file_format`: File format identifier, e.g. `[\"JPEG\", \"PNG\", \"PdfDocument\"]`\n- `file_type`: File type category: `[\"IMAGE\", \"VIDEO\", \"PDF\", \"AUDIO\"]`\n- `metadata_type_uuid`: Metadata type UUID, e.g. `[\"a1b2c3d4-e5f6-7890-abcd-ef1234567890\"]`\n- `state_or_region`: State or region name, e.g. `[\"New York\", \"California\"]`\n- `user_uuid`: User UUID, e.g. `[\"a1b2c3d4-e5f6-7890-abcd-ef1234567890\"]`\n- `user_external_id`: User external ID string, e.g. `[\"abc123yz\"]`\n- `user_role_uuid`: User role UUID, e.g. `[\"a1b2c3d4-e5f6-7890-abcd-ef1234567890\"]`\n- `view_location`: View origin: `[\"dam\", \"asset_digest\", \"portal\",\"quickview\"]`",
            "enum" : [ "asset_uuid", "asset_external_id", "asset_group_uuid", "city", "category_uuid", "collection_uuid", "collection_external_id", "country", "file_format", "file_type", "metadata_type_uuid", "state_or_region", "user_uuid", "user_external_id", "user_role_uuid", "view_location" ]
          },
          "values" : {
            "type" : "array",
            "description" : "The filter values.",
            "items" : {
              "type" : "string",
              "description" : "The filter values."
            }
          }
        },
        "required" : [ "operator", "type", "values" ]
      },
      "AssetViewQueryRequest" : {
        "type" : "object",
        "description" : "Query request for the asset_view event type.",
        "properties" : {
          "end_date" : {
            "type" : "string",
            "format" : "date-time",
            "description" : "End of the date range (inclusive). ISO 8601, e.g. 2024-12-31T23:59:59Z."
          },
          "event_type" : {
            "type" : "string",
            "description" : "event type in this case asset_view"
          },
          "fields" : {
            "type" : "array",
            "description" : "Fields to include in each result row. Leave empty to receive all public fields.",
            "items" : {
              "type" : "string",
              "description" : "Fields to include in each result row. Leave empty to receive all public fields."
            }
          },
          "filters" : {
            "type" : "array",
            "description" : "Filters to apply.",
            "items" : {
              "$ref" : "#/components/schemas/AssetViewQueryFilter"
            }
          },
          "limit" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Maximum number of results to return. Maximum allowed value is 10000.",
            "example" : 100,
            "maximum" : 10000
          },
          "pagination_token" : {
            "type" : "string",
            "description" : "Pagination token from a prior response."
          },
          "start_date" : {
            "type" : "string",
            "format" : "date-time",
            "description" : "Start of the date range (inclusive). ISO 8601, e.g. 2024-01-01T00:00:00Z."
          }
        },
        "required" : [ "end_date", "event_type", "start_date" ]
      },
      "AttributeGroupResponse" : {
        "type" : "object",
        "properties" : {
          "attribute_group_id" : {
            "type" : "string"
          },
          "name" : {
            "type" : "string"
          }
        }
      },
      "AttributeListResponse" : {
        "type" : "object",
        "properties" : {
          "item_type" : {
            "type" : "string"
          },
          "items" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/AttributeWithGroupResponse"
            }
          },
          "limit" : {
            "type" : "integer",
            "format" : "int32"
          },
          "offset" : {
            "type" : "integer",
            "format" : "int32"
          },
          "total_count" : {
            "type" : "integer",
            "format" : "int64"
          }
        }
      },
      "AttributeResponse" : {
        "type" : "object",
        "properties" : {
          "attribute_group" : {
            "$ref" : "#/components/schemas/AttributeGroupResponse"
          },
          "attribute_id" : {
            "type" : "string"
          },
          "import_only" : {
            "type" : "boolean"
          },
          "name" : {
            "type" : "string"
          },
          "type" : {
            "type" : "string",
            "enum" : [ "text", "rich_text", "asset", "single_controlled_vocab", "multi_controlled_vocab" ]
          },
          "values" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        }
      },
      "AttributeSummaryResponse" : {
        "type" : "object",
        "properties" : {
          "attribute_id" : {
            "type" : "string"
          },
          "name" : {
            "type" : "string"
          }
        }
      },
      "AttributeValuesUpdateRequest" : {
        "type" : "object",
        "properties" : {
          "attributes" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "array",
              "items" : {
                "type" : "string"
              }
            }
          }
        }
      },
      "AttributeVocabularyResponse" : {
        "type" : "object",
        "properties" : {
          "vocabulary" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        }
      },
      "AttributeWithGroupResponse" : {
        "type" : "object",
        "properties" : {
          "attribute_group" : {
            "$ref" : "#/components/schemas/AttributeGroupResponse"
          },
          "attribute_id" : {
            "type" : "string"
          },
          "import_only" : {
            "type" : "boolean"
          },
          "name" : {
            "type" : "string"
          },
          "type" : {
            "type" : "string",
            "enum" : [ "text", "rich_text", "asset", "single_controlled_vocab", "multi_controlled_vocab" ]
          }
        }
      },
      "CategoryLinks" : {
        "type" : "object",
        "properties" : {
          "assets" : {
            "type" : "string"
          },
          "categories" : {
            "type" : "string"
          }
        }
      },
      "CategoryListResponse" : {
        "type" : "object",
        "properties" : {
          "item_type" : {
            "type" : "string"
          },
          "items" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/CategoryResponse"
            }
          },
          "total_count" : {
            "type" : "integer",
            "format" : "int32"
          }
        }
      },
      "CategoryResponse" : {
        "type" : "object",
        "properties" : {
          "_links" : {
            "$ref" : "#/components/schemas/CategoryLinks"
          },
          "id" : {
            "type" : "string"
          },
          "name" : {
            "type" : "string"
          },
          "parts" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          },
          "path" : {
            "type" : "string"
          }
        }
      },
      "ChannelListResponse" : {
        "type" : "object",
        "properties" : {
          "item_type" : {
            "type" : "string"
          },
          "items" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ChannelSummaryResponse"
            }
          },
          "limit" : {
            "type" : "integer",
            "format" : "int32"
          },
          "offset" : {
            "type" : "integer",
            "format" : "int32"
          },
          "total_count" : {
            "type" : "integer",
            "format" : "int64"
          }
        }
      },
      "ChannelProductsResponse" : {
        "type" : "object",
        "properties" : {
          "channel_id" : {
            "type" : "string"
          },
          "channel_name" : {
            "type" : "string"
          },
          "item_type" : {
            "type" : "string"
          },
          "items" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ProductSearchResponse"
            }
          },
          "limit" : {
            "type" : "integer",
            "format" : "int32"
          },
          "offset" : {
            "type" : "integer",
            "format" : "int32"
          },
          "total_count" : {
            "type" : "integer",
            "format" : "int64"
          }
        }
      },
      "ChannelResponse" : {
        "type" : "object",
        "properties" : {
          "channel_id" : {
            "type" : "string"
          },
          "filters" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/GenericFilterModel"
            }
          },
          "included_attributes" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/AttributeSummaryResponse"
            }
          },
          "includes_all_attributes" : {
            "type" : "boolean"
          },
          "includes_featured_images" : {
            "type" : "boolean"
          },
          "includes_product_types" : {
            "type" : "boolean"
          },
          "name" : {
            "type" : "string"
          },
          "sftp_url" : {
            "type" : "string"
          },
          "sftp_user" : {
            "type" : "string"
          }
        }
      },
      "ChannelSummaryResponse" : {
        "type" : "object",
        "properties" : {
          "channel_id" : {
            "type" : "string"
          },
          "name" : {
            "type" : "string"
          }
        }
      },
      "ChunkedUploadCompleteRequest" : {
        "type" : "object",
        "properties" : {
          "session_id" : {
            "type" : "string"
          },
          "tags" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        }
      },
      "ChunkedUploadCompleteResponse" : {
        "type" : "object",
        "properties" : {
          "file_id" : {
            "type" : "string"
          }
        }
      },
      "ChunkedUploadPartResponse" : {
        "type" : "object",
        "properties" : {
          "tag" : {
            "type" : "string",
            "example" : "1:4f7a81b44c79b3eab3d00731ca5454ee"
          }
        }
      },
      "ChunkedUploadStartResponse" : {
        "type" : "object",
        "properties" : {
          "session_id" : {
            "type" : "string",
            "example" : "eyJhbGciOiJIUzUxMiJ9"
          }
        }
      },
      "ChunkedUploadStatusPartResponse" : {
        "type" : "object",
        "properties" : {
          "last_modified" : {
            "type" : "string",
            "format" : "date-time"
          },
          "number" : {
            "type" : "integer",
            "format" : "int32"
          },
          "size" : {
            "type" : "integer",
            "format" : "int64"
          }
        }
      },
      "ChunkedUploadStatusRequest" : {
        "type" : "object",
        "properties" : {
          "session_id" : {
            "type" : "string"
          }
        }
      },
      "ChunkedUploadStatusResponse" : {
        "type" : "object",
        "properties" : {
          "chunks" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ChunkedUploadStatusPartResponse"
            }
          }
        }
      },
      "CollectionLinksResponse" : {
        "type" : "object",
        "properties" : {
          "assets" : {
            "type" : "string",
            "description" : "Only populated on responses for Collections with a type of `global`."
          }
        }
      },
      "CollectionListResponse" : {
        "type" : "object",
        "properties" : {
          "item_type" : {
            "type" : "string"
          },
          "items" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/CollectionResponse"
            }
          },
          "limit" : {
            "type" : "integer",
            "format" : "int32"
          },
          "offset" : {
            "type" : "integer",
            "format" : "int32"
          },
          "total_count" : {
            "type" : "integer",
            "format" : "int64"
          }
        }
      },
      "CollectionResponse" : {
        "type" : "object",
        "properties" : {
          "_links" : {
            "$ref" : "#/components/schemas/CollectionLinksResponse"
          },
          "id" : {
            "type" : "string"
          },
          "title" : {
            "type" : "string"
          },
          "total_items" : {
            "type" : "integer",
            "format" : "int32"
          },
          "type" : {
            "type" : "string"
          }
        }
      },
      "CollectionShareQueryFilter" : {
        "type" : "object",
        "description" : "Filters to apply.",
        "properties" : {
          "operator" : {
            "type" : "string",
            "description" : "Operators that can be applied to a query filter.\n\nOperator applicability:\n- `equals`: General-purpose operator, applicable to all filter types.\n- `greaterThan`: Applicable to numeric filters only (e.g. `search_results_count`).\n- `lessThan`: Applicable to numeric filters only (e.g. `search_results_count`).",
            "enum" : [ "equals", "greaterThan", "lessThan" ]
          },
          "type" : {
            "type" : "string",
            "description" : "Filter types allowed for the collection_share event type.\n\nMultiple values in the `values` array are matched with IN logic for `equals`-operator filters.\n\nExpected values per filter type:\n- `collection_uuid`: Collection UUID, e.g. `[\"a1b2c3d4-e5f6-7890-abcd-ef1234567890\"]`\n- `collection_external_id`: Collection external ID string, e.g. `[\"abc123yz\"]`\n- `country`: Country name, e.g. `[\"United States\", \"Germany\"]`\n- `share_recipient`: Recipient email address, e.g. `[\"user@example.com\"]`\n- `share_by_user_uuid`: UUID of the user who performed the share, e.g. `[\"a1b2c3d4-e5f6-7890-abcd-ef1234567890\"]`\n- `share_by_user_external_id`: External ID of the user who performed the share, e.g. `[\"abc123yz\"]`\n- `state_or_region`: State or region name, e.g. `[\"New York\", \"California\"]`",
            "enum" : [ "collection_uuid", "collection_external_id", "country", "share_recipient", "share_by_user_uuid", "share_by_user_external_id", "state_or_region" ]
          },
          "values" : {
            "type" : "array",
            "description" : "The filter values.",
            "items" : {
              "type" : "string",
              "description" : "The filter values."
            }
          }
        },
        "required" : [ "operator", "type", "values" ]
      },
      "CollectionShareQueryRequest" : {
        "type" : "object",
        "description" : "Query request for the collection_share event type.",
        "properties" : {
          "end_date" : {
            "type" : "string",
            "format" : "date-time",
            "description" : "End of the date range (inclusive). ISO 8601, e.g. 2024-12-31T23:59:59Z."
          },
          "event_type" : {
            "type" : "string",
            "description" : "event type in this case collection_share"
          },
          "fields" : {
            "type" : "array",
            "description" : "Fields to include in each result row. Leave empty to receive all public fields.",
            "items" : {
              "type" : "string",
              "description" : "Fields to include in each result row. Leave empty to receive all public fields."
            }
          },
          "filters" : {
            "type" : "array",
            "description" : "Filters to apply.",
            "items" : {
              "$ref" : "#/components/schemas/CollectionShareQueryFilter"
            }
          },
          "limit" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Maximum number of results to return. Maximum allowed value is 10000.",
            "example" : 100,
            "maximum" : 10000
          },
          "pagination_token" : {
            "type" : "string",
            "description" : "Pagination token from a prior response."
          },
          "start_date" : {
            "type" : "string",
            "format" : "date-time",
            "description" : "Start of the date range (inclusive). ISO 8601, e.g. 2024-01-01T00:00:00Z."
          }
        },
        "required" : [ "end_date", "event_type", "start_date" ]
      },
      "CreateWebhookConfigurationRequest" : {
        "type" : "object",
        "properties" : {
          "delivery_url" : {
            "type" : "string",
            "description" : "The URL to deliver webhook payloads to.",
            "example" : "https://example.com/webhook"
          },
          "event_type" : {
            "type" : "string",
            "description" : "Event type which will trigger deliveries.",
            "enum" : [ "asset_asset_groups_updated", "asset_categories_updated", "asset_created", "asset_deleted", "asset_expiration_date_updated", "asset_release_date_updated", "asset_tags_updated", "asset_version_added", "asset_metadata_value_updated" ]
          },
          "monitored_metadata_fields" : {
            "type" : "array",
            "description" : "Optional list of metadata field display keys to monitor. Only applicable when event_type is 'asset_metadata_value_updated'. If null or empty, all metadata field changes will trigger the webhook. If specified, only changes to fields in this list will trigger a delivery. The user must have permission to view each field specified; if any field is not accessible, the request will be rejected with a 403 error.",
            "example" : [ "color", "brand" ],
            "items" : {
              "type" : "string",
              "description" : "Optional list of metadata field display keys to monitor. Only applicable when event_type is 'asset_metadata_value_updated'. If null or empty, all metadata field changes will trigger the webhook. If specified, only changes to fields in this list will trigger a delivery. The user must have permission to view each field specified; if any field is not accessible, the request will be rejected with a 403 error.",
              "example" : "[\"color\",\"brand\"]"
            }
          },
          "secret_key" : {
            "type" : "string",
            "description" : "HMAC signing key (will change `signing_enabled` GET response to `true`)",
            "example" : "SuperDuperSecretKey",
            "maxLength" : 256
          }
        },
        "required" : [ "delivery_url", "event_type" ]
      },
      "CreateWebhookConfigurationResponse" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "The ID of the created webhook configuration.",
            "example" : "976cf9b0-95d0-4dbd-acb0-57fbdaef7b6f"
          }
        }
      },
      "DownloadQueryFilter" : {
        "type" : "object",
        "description" : "Filters to apply.",
        "properties" : {
          "operator" : {
            "type" : "string",
            "description" : "Operators that can be applied to a query filter.\n\nOperator applicability:\n- `equals`: General-purpose operator, applicable to all filter types.\n- `greaterThan`: Applicable to numeric filters only (e.g. `search_results_count`).\n- `lessThan`: Applicable to numeric filters only (e.g. `search_results_count`).",
            "enum" : [ "equals", "greaterThan", "lessThan" ]
          },
          "type" : {
            "type" : "string",
            "description" : "Filter types allowed for the download event type.\n\nMultiple values in the `values` array are matched with IN logic for `equals`-operator filters.\n\nExpected values per filter type:\n- `asset_uuid`: Asset UUID, e.g. `[\"a1b2c3d4-e5f6-7890-abcd-ef1234567890\"]`\n- `asset_external_id`: Asset external ID string, e.g. `[\"abc123yz\"]`\n- `asset_group_uuid`: Asset group UUID, e.g. `[\"a1b2c3d4-e5f6-7890-abcd-ef1234567890\"]`\n- `city`: City name, e.g. `[\"New York\", \"London\"]`\n- `category_uuid`: Category UUID, e.g. `[\"a1b2c3d4-e5f6-7890-abcd-ef1234567890\"]`\n- `collection_uuid`: Collection UUID, e.g. `[\"a1b2c3d4-e5f6-7890-abcd-ef1234567890\"]`\n- `collection_external_id`: Collection external ID string, e.g. `[\"abc123yz\"]`\n- `country`: Country name, e.g. `[\"United States\", \"Germany\"]`\n- `file_format`: File format identifier, e.g. `[\"JPEG\", \"PNG\", \"PdfDocument\"]`\n- `file_type`: File type category: `[\"IMAGE\", \"VIDEO\", \"PDF\", \"AUDIO\"]`\n- `intended_use`: Intended use lookup key, e.g. `[\"ADVERTISEMENT\", \"BROCHURE_CATALOG\", \"DIGITAL_DISPLAY\", \"EMAIL\", \"ONLINE_AD\"]`\n- `metadata_type_uuid`: Metadata type UUID, e.g. `[\"a1b2c3d4-e5f6-7890-abcd-ef1234567890\"]`\n- `portal`: Portal external ID, e.g. `[\"a1b2c3d4\"]`\n- `state_or_region`: State or region name, e.g. `[\"New York\", \"California\"]`\n- `source`: Download origin: `[\"order\", \"portal\", \"api\"]`\n- `user_uuid`: User UUID, e.g. `[\"a1b2c3d4-e5f6-7890-abcd-ef1234567890\"]`\n- `user_external_id`: User external ID string, e.g. `[\"abc123yz\"]`\n- `user_role_uuid`: User role UUID, e.g. `[\"a1b2c3d4-e5f6-7890-abcd-ef1234567890\"]`",
            "enum" : [ "asset_uuid", "asset_external_id", "asset_group_uuid", "city", "category_uuid", "collection_uuid", "collection_external_id", "country", "file_format", "file_type", "intended_use", "metadata_type_uuid", "portal", "state_or_region", "source", "user_uuid", "user_external_id", "user_role_uuid" ]
          },
          "values" : {
            "type" : "array",
            "description" : "The filter values.",
            "items" : {
              "type" : "string",
              "description" : "The filter values."
            }
          }
        },
        "required" : [ "operator", "type", "values" ]
      },
      "DownloadQueryRequest" : {
        "type" : "object",
        "description" : "Query request for the download event type.",
        "properties" : {
          "end_date" : {
            "type" : "string",
            "format" : "date-time",
            "description" : "End of the date range (inclusive). ISO 8601, e.g. 2024-12-31T23:59:59Z."
          },
          "event_type" : {
            "type" : "string",
            "description" : "event type in this case download"
          },
          "fields" : {
            "type" : "array",
            "description" : "Fields to include in each result row. Leave empty to receive all public fields.",
            "items" : {
              "type" : "string",
              "description" : "Fields to include in each result row. Leave empty to receive all public fields."
            }
          },
          "filters" : {
            "type" : "array",
            "description" : "Filters to apply.",
            "items" : {
              "$ref" : "#/components/schemas/DownloadQueryFilter"
            }
          },
          "limit" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Maximum number of results to return. Maximum allowed value is 10000.",
            "example" : 100,
            "maximum" : 10000
          },
          "pagination_token" : {
            "type" : "string",
            "description" : "Pagination token from a prior response."
          },
          "start_date" : {
            "type" : "string",
            "format" : "date-time",
            "description" : "Start of the date range (inclusive). ISO 8601, e.g. 2024-01-01T00:00:00Z."
          }
        },
        "required" : [ "end_date", "event_type", "start_date" ]
      },
      "EditWebhookConfigurationRequest" : {
        "type" : "object",
        "properties" : {
          "delivery_enabled" : {
            "type" : "boolean",
            "description" : "Boolean determining whether or not delivery is enabled for this webhook."
          },
          "delivery_url" : {
            "type" : "string",
            "description" : "URL where the webhook payload will be delivered.",
            "example" : "https://example.com/webhook"
          },
          "event_type" : {
            "type" : "string",
            "description" : "Event type which will trigger deliveries."
          },
          "monitored_metadata_fields" : {
            "type" : "array",
            "description" : "Optional list of metadata field display keys to monitor. Only applicable when event_type is 'asset_metadata_value_updated'. If null or empty, all metadata field changes will trigger the webhook. If specified, only changes to fields in this list will trigger a delivery. The user must have permission to view each field specified; if any field is not accessible, the request will be rejected with a 403 error.",
            "example" : [ "color", "brand" ],
            "items" : {
              "type" : "string",
              "description" : "Optional list of metadata field display keys to monitor. Only applicable when event_type is 'asset_metadata_value_updated'. If null or empty, all metadata field changes will trigger the webhook. If specified, only changes to fields in this list will trigger a delivery. The user must have permission to view each field specified; if any field is not accessible, the request will be rejected with a 403 error.",
              "example" : "[\"color\",\"brand\"]"
            }
          },
          "secret_key" : {
            "type" : "string",
            "description" : "Secret key used to generate a HMAC hex digest signature.",
            "maxLength" : 256
          }
        }
      },
      "EmbedResponse" : {
        "type" : "object",
        "nullable" : true,
        "properties" : {
          "apps" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          },
          "html" : {
            "type" : "string"
          },
          "share" : {
            "type" : "string"
          },
          "url" : {
            "type" : "string"
          }
        }
      },
      "EmbedViewQueryFilter" : {
        "type" : "object",
        "description" : "Filters to apply.",
        "properties" : {
          "operator" : {
            "type" : "string",
            "description" : "Operators that can be applied to a query filter.\n\nOperator applicability:\n- `equals`: General-purpose operator, applicable to all filter types.\n- `greaterThan`: Applicable to numeric filters only (e.g. `search_results_count`).\n- `lessThan`: Applicable to numeric filters only (e.g. `search_results_count`).",
            "enum" : [ "equals", "greaterThan", "lessThan" ]
          },
          "type" : {
            "type" : "string",
            "description" : "Filter types allowed for the embed_view event type.\n\nMultiple values in the `values` array are matched with IN logic for `equals`-operator filters.\n\nExpected values per filter type:\n- `asset_uuid`: Asset UUID, e.g. `[\"a1b2c3d4-e5f6-7890-abcd-ef1234567890\"]`\n- `asset_external_id`: Asset external ID string, e.g. `[\"abc123yz\"]`\n- `asset_group_uuid`: Asset group UUID, e.g. `[\"a1b2c3d4-e5f6-7890-abcd-ef1234567890\"]`\n- `category_uuid`: Category UUID, e.g. `[\"a1b2c3d4-e5f6-7890-abcd-ef1234567890\"]`\n- `city`: City name, e.g. `[\"New York\", \"London\"]`\n- `collection_uuid`: Collection UUID, e.g. `[\"a1b2c3d4-e5f6-7890-abcd-ef1234567890\"]`\n- `collection_external_id`: Collection external ID string, e.g. `[\"abc123yz\"]`\n- `country`: Country name, e.g. `[\"United States\", \"Germany\"]`\n- `embed_link_creator_user_uuid`: UUID of the embed link creator, e.g. `[\"a1b2c3d4-e5f6-7890-abcd-ef1234567890\"]`\n- `embed_link_creator_user_external_id`: External ID of the embed link creator, e.g. `[\"abc123yz\"]`\n- `embed_link_creator_role_uuid`: Role UUID of the embed link creator, e.g. `[\"a1b2c3d4-e5f6-7890-abcd-ef1234567890\"]`\n- `file_format`: File format identifier, e.g. `[\"JPEG\", \"PNG\", \"PdfDocument\"]`\n- `file_type`: File type category: `[\"IMAGE\", \"VIDEO\", \"PDF\", \"AUDIO\"]`\n- `metadata_type_uuid`: Metadata type UUID, e.g. `[\"a1b2c3d4-e5f6-7890-abcd-ef1234567890\"]`\n- `state_or_region`: State or region name, e.g. `[\"New York\", \"California\"]`\n- `view_location`: View origin: `[\"embed\"]`",
            "enum" : [ "asset_uuid", "asset_external_id", "asset_group_uuid", "category_uuid", "city", "collection_uuid", "collection_external_id", "country", "embed_link_creator_user_uuid", "embed_link_creator_user_external_id", "embed_link_creator_role_uuid", "file_format", "file_type", "metadata_type_uuid", "state_or_region", "view_location" ]
          },
          "values" : {
            "type" : "array",
            "description" : "The filter values.",
            "items" : {
              "type" : "string",
              "description" : "The filter values."
            }
          }
        },
        "required" : [ "operator", "type", "values" ]
      },
      "EmbedViewQueryRequest" : {
        "type" : "object",
        "description" : "Query request for the embed_view event type.",
        "properties" : {
          "end_date" : {
            "type" : "string",
            "format" : "date-time",
            "description" : "End of the date range (inclusive). ISO 8601, e.g. 2024-12-31T23:59:59Z."
          },
          "event_type" : {
            "type" : "string",
            "description" : "event type in this case embed_view"
          },
          "fields" : {
            "type" : "array",
            "description" : "Fields to include in each result row. Leave empty to receive all public fields.",
            "items" : {
              "type" : "string",
              "description" : "Fields to include in each result row. Leave empty to receive all public fields."
            }
          },
          "filters" : {
            "type" : "array",
            "description" : "Filters to apply.",
            "items" : {
              "$ref" : "#/components/schemas/EmbedViewQueryFilter"
            }
          },
          "limit" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Maximum number of results to return. Maximum allowed value is 10000.",
            "example" : 100,
            "maximum" : 10000
          },
          "pagination_token" : {
            "type" : "string",
            "description" : "Pagination token from a prior response."
          },
          "start_date" : {
            "type" : "string",
            "format" : "date-time",
            "description" : "Start of the date range (inclusive). ISO 8601, e.g. 2024-01-01T00:00:00Z."
          }
        },
        "required" : [ "end_date", "event_type", "start_date" ]
      },
      "ErrorResponse" : {
        "type" : "object",
        "properties" : {
          "error" : {
            "type" : "boolean",
            "description" : "Indicates that an error occurred while processing the request."
          },
          "error_message" : {
            "type" : "string",
            "description" : "A message describing the error that occurred.",
            "example" : "Not Found"
          },
          "response_code" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "The HTTP response code returned by the API.",
            "example" : 404
          }
        }
      },
      "EventsQueryRequest" : {
        "type" : "object",
        "description" : "Request body for querying analytics events. The allowed filters depend on the event_type.",
        "discriminator" : {
          "mapping" : {
            "asset_search" : "#/components/schemas/AssetSearchQueryRequest",
            "asset_upload" : "#/components/schemas/AssetUploadQueryRequest",
            "asset_view" : "#/components/schemas/AssetViewQueryRequest",
            "collection_share" : "#/components/schemas/CollectionShareQueryRequest",
            "download" : "#/components/schemas/DownloadQueryRequest",
            "embed_view" : "#/components/schemas/EmbedViewQueryRequest",
            "login" : "#/components/schemas/LoginQueryRequest",
            "portal_view" : "#/components/schemas/PortalViewQueryRequest",
            "share" : "#/components/schemas/ShareQueryRequest"
          },
          "propertyName" : "event_type"
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/DownloadQueryRequest"
        }, {
          "$ref" : "#/components/schemas/AssetViewQueryRequest"
        }, {
          "$ref" : "#/components/schemas/EmbedViewQueryRequest"
        }, {
          "$ref" : "#/components/schemas/ShareQueryRequest"
        }, {
          "$ref" : "#/components/schemas/CollectionShareQueryRequest"
        }, {
          "$ref" : "#/components/schemas/AssetUploadQueryRequest"
        }, {
          "$ref" : "#/components/schemas/LoginQueryRequest"
        }, {
          "$ref" : "#/components/schemas/PortalViewQueryRequest"
        }, {
          "$ref" : "#/components/schemas/AssetSearchQueryRequest"
        } ],
        "properties" : {
          "end_date" : {
            "type" : "string",
            "format" : "date-time",
            "description" : "End of the date range to query (inclusive). ISO 8601 format with timezone, e.g. 2024-12-31T23:59:59Z. Must be within 3 years from the current date.",
            "example" : "2024-12-31T23:59:59Z"
          },
          "event_type" : {
            "type" : "string",
            "description" : "The type of analytics events to query.",
            "enum" : [ "download", "asset_view", "embed_view", "share", "collection_share", "asset_upload", "login", "portal_view", "asset_search" ]
          },
          "fields" : {
            "type" : "array",
            "description" : "Fields to include in each result row. Leave empty to receive all public fields. If omitted, all public-API fields for the event type are returned.",
            "items" : {
              "type" : "string",
              "description" : "Fields to include in each result row. Leave empty to receive all public fields. If omitted, all public-API fields for the event type are returned."
            }
          },
          "filters" : {
            "type" : "array",
            "description" : "Filters to apply.",
            "items" : {
              "$ref" : "#/components/schemas/QueryFilter"
            }
          },
          "limit" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Maximum number of results to return. Maximum allowed value is 10000.",
            "example" : 100,
            "maximum" : 10000
          },
          "pagination_token" : {
            "type" : "string",
            "description" : "Pagination token from a prior response. Pass this to retrieve the next page of results."
          },
          "start_date" : {
            "type" : "string",
            "format" : "date-time",
            "description" : "Start of the date range to query (inclusive). ISO 8601 format with timezone, e.g. 2024-01-01T00:00:00Z. Must be within 3 years from the current date.",
            "example" : "2024-01-01T00:00:00Z"
          }
        },
        "required" : [ "end_date", "event_type", "start_date" ]
      },
      "EventsQueryResponse" : {
        "type" : "object",
        "properties" : {
          "events" : {
            "type" : "array",
            "description" : "List of event records. Each entry is a map of field name to value.",
            "items" : {
              "type" : "object",
              "additionalProperties" : {
                "type" : "object",
                "description" : "List of event records. Each entry is a map of field name to value."
              },
              "description" : "List of event records. Each entry is a map of field name to value."
            }
          },
          "pagination_token" : {
            "type" : "string",
            "description" : "Token to retrieve the next page of results. Null when no further results exist."
          },
          "total_results" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "Total number of matching events across all pages.",
            "example" : 42
          }
        }
      },
      "FacetCategoryResponse" : {
        "type" : "object",
        "properties" : {
          "count" : {
            "type" : "integer",
            "format" : "int64"
          },
          "id" : {
            "type" : "string"
          },
          "name" : {
            "type" : "string"
          },
          "path" : {
            "type" : "string"
          },
          "search_query" : {
            "type" : "string"
          }
        }
      },
      "FacetFileTypeResponse" : {
        "type" : "object",
        "properties" : {
          "count" : {
            "type" : "integer",
            "format" : "int64"
          },
          "name" : {
            "type" : "string"
          },
          "search_query" : {
            "type" : "string"
          }
        }
      },
      "FacetMetadataResponse" : {
        "type" : "object",
        "properties" : {
          "display_key" : {
            "type" : "string"
          },
          "display_name" : {
            "type" : "string"
          },
          "values" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/FacetMetadataValuesResponse"
            }
          }
        }
      },
      "FacetMetadataValuesResponse" : {
        "type" : "object",
        "properties" : {
          "count" : {
            "type" : "integer",
            "format" : "int64"
          },
          "search_query" : {
            "type" : "string"
          },
          "value" : {
            "type" : "string"
          }
        }
      },
      "FilePropertiesResponse" : {
        "type" : "object",
        "nullable" : true,
        "properties" : {
          "format" : {
            "type" : "string",
            "example" : "JPEG"
          },
          "format_type" : {
            "type" : "string",
            "example" : "IMAGE"
          },
          "image_properties" : {
            "$ref" : "#/components/schemas/ImagePropertiesResponse"
          },
          "size_in_bytes" : {
            "type" : "integer",
            "format" : "int64",
            "example" : 143420
          },
          "size_in_kbytes" : {
            "type" : "integer",
            "format" : "int64",
            "deprecated" : true,
            "example" : 140
          },
          "video_properties" : {
            "$ref" : "#/components/schemas/VideoPropertiesResponse"
          }
        }
      },
      "GenericFilterModel" : {
        "type" : "object",
        "properties" : {
          "arguments" : {
            "type" : "array",
            "description" : "List of values of the filter",
            "items" : {
              "type" : "string",
              "description" : "List of values of the filter"
            }
          },
          "attribute_id" : {
            "type" : "string",
            "description" : "Attribute Wrn Id of the filter"
          },
          "name" : {
            "type" : "string",
            "description" : "Name of the filter. Can be either 'sku', 'name', or 'attribute' for the type. If 'attribute' is specified an attribute_wrn must also be provided."
          },
          "operator" : {
            "type" : "string",
            "description" : "Operator of the filter. Specifies how the field will be evaluated for matches. All operators are case insensitive. <p>Valid operators for name, sku, rich text, and text attributes:<ul><li>contains</li><li>has_value</li><li>is_empty</li></ul></p><p>Valid operators for asset attributes:<ul><li>has_value</li><li>is_empty</li></ul></p><p>Valid operators for product type:<ul><li>in</li><li>has_value</li><li>is_empty</li></ul></p>"
          },
          "type" : {
            "type" : "string",
            "description" : "Type of the filter",
            "enum" : [ "name", "sku", "product_type", "featured_image", "text_attribute", "rich_text_attribute", "asset_attribute", "asset", "single_controlled_vocab", "multi_controlled_vocab", "product_family", "exclude_variants", "exclude_parents", "search_parents_via_variants", "product_category", "last_updated_timestamp", "created_timestamp" ]
          }
        }
      },
      "ImagePropertiesResponse" : {
        "type" : "object",
        "nullable" : true,
        "properties" : {
          "aspect_ratio" : {
            "type" : "number",
            "format" : "double",
            "example" : 0.75
          },
          "height" : {
            "type" : "number",
            "format" : "double",
            "example" : 4032.0
          },
          "width" : {
            "type" : "number",
            "format" : "double",
            "example" : 3024.0
          }
        }
      },
      "LinksResponse" : {
        "type" : "object",
        "properties" : {
          "_links" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            }
          }
        }
      },
      "LoginQueryFilter" : {
        "type" : "object",
        "description" : "Filters to apply.",
        "properties" : {
          "operator" : {
            "type" : "string",
            "description" : "Operators that can be applied to a query filter.\n\nOperator applicability:\n- `equals`: General-purpose operator, applicable to all filter types.\n- `greaterThan`: Applicable to numeric filters only (e.g. `search_results_count`).\n- `lessThan`: Applicable to numeric filters only (e.g. `search_results_count`).",
            "enum" : [ "equals", "greaterThan", "lessThan" ]
          },
          "type" : {
            "type" : "string",
            "description" : "Filter types allowed for the login event type.\n\nMultiple values in the `values` array are matched with IN logic for `equals`-operator filters.\n\nExpected values per filter type:\n- `city`: City name, e.g. `[\"New York\", \"London\"]`\n- `state_or_region`: State or region name, e.g. `[\"New York\", \"California\"]`\n- `country`: Country name, e.g. `[\"United States\", \"Germany\"]`\n- `login_type`: Authentication method: `[\"SITE\"]`\n- `user_uuid`: User UUID, e.g. `[\"a1b2c3d4-e5f6-7890-abcd-ef1234567890\"]`\n- `user_external_id`: User external ID string, e.g. `[\"abc123yz\"]`\n- `user_role_uuid`: User role UUID, e.g. `[\"a1b2c3d4-e5f6-7890-abcd-ef1234567890\"]`",
            "enum" : [ "city", "state_or_region", "country", "login_type", "user_uuid", "user_external_id", "user_role_uuid" ]
          },
          "values" : {
            "type" : "array",
            "description" : "The filter values.",
            "items" : {
              "type" : "string",
              "description" : "The filter values."
            }
          }
        },
        "required" : [ "operator", "type", "values" ]
      },
      "LoginQueryRequest" : {
        "type" : "object",
        "description" : "Query request for the login event type.",
        "properties" : {
          "end_date" : {
            "type" : "string",
            "format" : "date-time",
            "description" : "End of the date range (inclusive). ISO 8601, e.g. 2024-12-31T23:59:59Z."
          },
          "event_type" : {
            "type" : "string",
            "description" : "event type in this case login"
          },
          "fields" : {
            "type" : "array",
            "description" : "Fields to include in each result row. Leave empty to receive all public fields.",
            "items" : {
              "type" : "string",
              "description" : "Fields to include in each result row. Leave empty to receive all public fields."
            }
          },
          "filters" : {
            "type" : "array",
            "description" : "Filters to apply.",
            "items" : {
              "$ref" : "#/components/schemas/LoginQueryFilter"
            }
          },
          "limit" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Maximum number of results to return. Maximum allowed value is 10000.",
            "example" : 100,
            "maximum" : 10000
          },
          "pagination_token" : {
            "type" : "string",
            "description" : "Pagination token from a prior response."
          },
          "start_date" : {
            "type" : "string",
            "format" : "date-time",
            "description" : "Start of the date range (inclusive). ISO 8601, e.g. 2024-01-01T00:00:00Z."
          }
        },
        "required" : [ "end_date", "event_type", "start_date" ]
      },
      "MetadataFieldListResponse" : {
        "type" : "object",
        "properties" : {
          "fields" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/MetadataFieldResponse"
            }
          }
        }
      },
      "MetadataFieldResponse" : {
        "type" : "object",
        "properties" : {
          "display_key" : {
            "type" : "string"
          },
          "display_name" : {
            "type" : "string"
          },
          "field_type" : {
            "type" : "string",
            "enum" : [ "checkboxes", "date", "text_multi_line", "text", "selection_list", "text_short", "selection_list_multi", "numeric", "text_long", "internal_object", "all", "all_controlled_vocabulary" ]
          },
          "metadata_types" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        }
      },
      "MetadataInfoFieldResponse" : {
        "type" : "object",
        "properties" : {
          "controlled_vocabulary" : {
            "type" : "boolean"
          },
          "editable" : {
            "type" : "boolean"
          },
          "field_type" : {
            "type" : "string"
          },
          "key" : {
            "type" : "string"
          },
          "label" : {
            "type" : "string"
          },
          "required" : {
            "type" : "boolean"
          },
          "type" : {
            "type" : "string"
          },
          "vocabulary" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        }
      },
      "MetadataInfoResponse" : {
        "type" : "object",
        "nullable" : true,
        "properties" : {
          "field_set" : {
            "type" : "string"
          },
          "field_set_fields" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/MetadataInfoFieldResponse"
            },
            "uniqueItems" : true
          }
        }
      },
      "MetadataModel" : {
        "type" : "object",
        "nullable" : true,
        "properties" : {
          "fields" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "array",
              "items" : {
                "type" : "string"
              }
            }
          }
        }
      },
      "MetadataVocabularyAddRequest" : {
        "type" : "object",
        "properties" : {
          "index" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Optional, 0-based index of where to insert the new controlled vocabulary value. If omitted, the new value will be added to the end of the list.",
            "example" : 0
          },
          "value" : {
            "type" : "string",
            "description" : "The new controlled vocabulary value you wish to add.",
            "example" : "flyer"
          }
        },
        "required" : [ "value" ]
      },
      "MetadataVocabularyListResponse" : {
        "type" : "object",
        "properties" : {
          "_links" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            }
          },
          "vocabulary" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        }
      },
      "MetadataVocabularyUpdateRequest" : {
        "type" : "object",
        "properties" : {
          "index" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Optional, 0-based index of where to re-order the updated controlled vocabulary value. Either value, index, or both must be provided.",
            "example" : 3
          },
          "value" : {
            "type" : "string",
            "description" : "Optional new display name for this controlled vocabulary value. Either value, index, or both must be provided.",
            "example" : "specs"
          }
        },
        "required" : [ "index", "value" ]
      },
      "MetadataVocabularyValueResponse" : {
        "type" : "object",
        "properties" : {
          "_links" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            }
          },
          "index" : {
            "type" : "integer",
            "format" : "int32"
          },
          "value" : {
            "type" : "string"
          }
        }
      },
      "OAuthTokenExchangeRequest" : {
        "type" : "object",
        "properties" : {
          "authorization_code" : {
            "type" : "string",
            "description" : "The authorization code to exchange for an access token.",
            "example" : "wac_demo_abc123def456"
          },
          "client_id" : {
            "type" : "string",
            "description" : "The client ID of the OAuth client.",
            "example" : "6ccea893ddb16e80eb2f3c942509b2adfcc24e5e.app.widen.com"
          },
          "client_secret" : {
            "type" : "string",
            "description" : "The client secret of the OAuth client.",
            "example" : "0feb4b54244fb6041e7b7502f22ee4c4f07a1b0a"
          },
          "grant_type" : {
            "type" : "string",
            "description" : "The type of grant being used for the token exchange.",
            "enum" : [ "authorization_code", "refresh_token" ],
            "example" : "authorization_code"
          },
          "refresh_token" : {
            "type" : "string",
            "description" : "The refresh token to exchange for an access token.",
            "example" : "wrt_demo_abc123def456"
          }
        },
        "required" : [ "client_id", "client_secret", "grant_type" ]
      },
      "OAuthTokenResponse" : {
        "type" : "object",
        "properties" : {
          "access_token" : {
            "type" : "string",
            "description" : "The access token issued by the OAuth server.",
            "example" : "wat_demo_abc123def456"
          },
          "expires_in" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "The number of seconds until the access token expires.",
            "example" : 3600,
            "nullable" : true
          },
          "refresh_token" : {
            "type" : "string",
            "description" : "The refresh token issued by the OAuth server, if applicable.",
            "example" : "wrt_demo_abc123def456",
            "nullable" : true
          },
          "token_type" : {
            "type" : "string",
            "description" : "The type of token issued.",
            "example" : "Bearer"
          }
        }
      },
      "PingWebhookResponse" : {
        "type" : "object",
        "properties" : {
          "webhook_delivery_id" : {
            "type" : "string"
          }
        }
      },
      "PortalViewQueryFilter" : {
        "type" : "object",
        "description" : "Filters to apply.",
        "properties" : {
          "operator" : {
            "type" : "string",
            "description" : "Operators that can be applied to a query filter.\n\nOperator applicability:\n- `equals`: General-purpose operator, applicable to all filter types.\n- `greaterThan`: Applicable to numeric filters only (e.g. `search_results_count`).\n- `lessThan`: Applicable to numeric filters only (e.g. `search_results_count`).",
            "enum" : [ "equals", "greaterThan", "lessThan" ]
          },
          "type" : {
            "type" : "string",
            "description" : "Filter types allowed for the portal_view event type.\n\nMultiple values in the `values` array are matched with IN logic for `equals`-operator filters.\n\nExpected values per filter type:\n- `city`: City name, e.g. `[\"New York\", \"London\"]`\n- `country`: Country name, e.g. `[\"United States\", \"Germany\"]`\n- `portal`: Portal external ID, e.g. `[\"a1b2c3d4\"]`\n- `portal_access_code_email`: Visitor email for access-code-protected portals, e.g. `[\"visitor@example.com\"]`\n- `state_or_region`: State or region name, e.g. `[\"New York\", \"California\"]`\n- `user_uuid`: User UUID, e.g. `[\"a1b2c3d4-e5f6-7890-abcd-ef1234567890\"]`\n- `user_external_id`: User external ID string, e.g. `[\"abc123yz\"]`\n- `user_role_uuid`: User role UUID, e.g. `[\"a1b2c3d4-e5f6-7890-abcd-ef1234567890\"]`",
            "enum" : [ "city", "country", "portal", "portal_access_code_email", "state_or_region", "user_uuid", "user_external_id", "user_role_uuid" ]
          },
          "values" : {
            "type" : "array",
            "description" : "The filter values.",
            "items" : {
              "type" : "string",
              "description" : "The filter values."
            }
          }
        },
        "required" : [ "operator", "type", "values" ]
      },
      "PortalViewQueryRequest" : {
        "type" : "object",
        "description" : "Query request for the portal_view event type.",
        "properties" : {
          "end_date" : {
            "type" : "string",
            "format" : "date-time",
            "description" : "End of the date range (inclusive). ISO 8601, e.g. 2024-12-31T23:59:59Z."
          },
          "event_type" : {
            "type" : "string",
            "description" : "event type in this case portal_view"
          },
          "fields" : {
            "type" : "array",
            "description" : "Fields to include in each result row. Leave empty to receive all public fields.",
            "items" : {
              "type" : "string",
              "description" : "Fields to include in each result row. Leave empty to receive all public fields."
            }
          },
          "filters" : {
            "type" : "array",
            "description" : "Filters to apply.",
            "items" : {
              "$ref" : "#/components/schemas/PortalViewQueryFilter"
            }
          },
          "limit" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Maximum number of results to return. Maximum allowed value is 10000.",
            "example" : 100,
            "maximum" : 10000
          },
          "pagination_token" : {
            "type" : "string",
            "description" : "Pagination token from a prior response."
          },
          "start_date" : {
            "type" : "string",
            "format" : "date-time",
            "description" : "Start of the date range (inclusive). ISO 8601, e.g. 2024-01-01T00:00:00Z."
          }
        },
        "required" : [ "end_date", "event_type", "start_date" ]
      },
      "ProductAttributeResponse" : {
        "type" : "object",
        "properties" : {
          "attribute_id" : {
            "type" : "string"
          },
          "import_only" : {
            "type" : "boolean"
          },
          "name" : {
            "type" : "string"
          },
          "type" : {
            "type" : "string",
            "enum" : [ "text", "rich_text", "asset", "single_controlled_vocab", "multi_controlled_vocab" ]
          },
          "values" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        }
      },
      "ProductCategoryAssignRequest" : {
        "type" : "object",
        "properties" : {
          "product_categories" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ProductCategoryRequest"
            }
          }
        }
      },
      "ProductCategoryHierarchies" : {
        "type" : "object",
        "properties" : {
          "product_categories" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ProductCategoryResponse"
            }
          }
        }
      },
      "ProductCategoryListResponse" : {
        "type" : "object",
        "properties" : {
          "item_type" : {
            "type" : "string"
          },
          "items" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ProductCategorySummaryResponse"
            }
          },
          "limit" : {
            "type" : "integer",
            "format" : "int32"
          },
          "offset" : {
            "type" : "integer",
            "format" : "int32"
          },
          "total_count" : {
            "type" : "integer",
            "format" : "int64"
          }
        }
      },
      "ProductCategoryRequest" : {
        "type" : "object",
        "properties" : {
          "product_category_id" : {
            "type" : "string"
          }
        }
      },
      "ProductCategoryResponse" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string"
          },
          "product_category_id" : {
            "type" : "string"
          },
          "sub_category" : {
            "$ref" : "#/components/schemas/ProductCategoryResponse"
          }
        }
      },
      "ProductCategorySummaryResponse" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string"
          },
          "product_category_id" : {
            "type" : "string"
          }
        }
      },
      "ProductCreateRequest" : {
        "type" : "object",
        "properties" : {
          "attributes" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "array",
              "items" : {
                "type" : "string"
              }
            }
          },
          "featured_image_uuid" : {
            "type" : "string"
          },
          "name" : {
            "type" : "string"
          },
          "parent_product_id" : {
            "type" : "string"
          },
          "product_categories" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ProductCategoryRequest"
            }
          },
          "product_type_id" : {
            "type" : "string"
          },
          "sku" : {
            "type" : "string"
          }
        }
      },
      "ProductCreateResponse" : {
        "type" : "object",
        "properties" : {
          "product_id" : {
            "type" : "string"
          }
        }
      },
      "ProductExpandModel" : {
        "type" : "object",
        "properties" : {
          "attributes" : {
            "type" : "boolean"
          }
        }
      },
      "ProductFeaturedImageAssignRequest" : {
        "type" : "object",
        "properties" : {
          "asset_id" : {
            "type" : "string"
          }
        }
      },
      "ProductFeaturedImageResponse" : {
        "type" : "object",
        "properties" : {
          "url" : {
            "type" : "string"
          },
          "uuid" : {
            "type" : "string"
          }
        }
      },
      "ProductFilterModel" : {
        "type" : "object",
        "description" : "Defaults to empty. Filters are AND-ed together. To mimic Entries channel export use the `exclude_variants` filter. To mimic Entries product search page use the `exclude_variant` and `search_parents_via_variants` filters.",
        "properties" : {
          "argument" : {
            "type" : "array",
            "description" : "Required array of one string for the 'contains' or 'after' operator. Required array of one or more strings for the 'in' operator. Not used for all other operators.",
            "items" : {
              "type" : "string",
              "description" : "Required array of one string for the 'contains' or 'after' operator. Required array of one or more strings for the 'in' operator. Not used for all other operators."
            }
          },
          "attribute_id" : {
            "type" : "string",
            "description" : "required when type is 'attribute' (case sensitive)",
            "example" : "hsj8SkOw9Js1"
          },
          "operator" : {
            "type" : "string",
            "description" : "Operator for applying the filter:<br><br>- `is_empty` is valid for all types except exclude_variant.<br>- `is_not_empty` is valid for all types except exclude_variant.<br>- `in` is valid for `product_type` filter types. Its also valid for attribute filter type when the `attribute_id` is for `single_controlled_vocab` and `multi_controlled_vocab` attributes.<br>- `contains` is valid for `name` and `sku` filter types. Its also valid for `attribute` filter type when the `attribute_id` is for `text_attribute` and `rich_text_attribute` attributes.<br>- `is` is valid for `attribute` filter type when the `attribute_id` is for `asset_attribute` attributes.<br>- `after` is valid for `last_updated_timestamp` and `created_timestamp` filter types.<br>",
            "enum" : [ "contains", "has_value", "in", "is", "is_empty", "after" ]
          },
          "type" : {
            "type" : "string",
            "description" : "Type of filter to apply.",
            "enum" : [ "name", "sku", "product_type", "featured_image", "attribute", "search_parents_via_variants", "exclude_parents", "exclude_variants", "created_timestamp", "last_updated_timestamp" ]
          }
        },
        "required" : [ "type" ]
      },
      "ProductParentAssignRequest" : {
        "type" : "object",
        "properties" : {
          "parent_product_id" : {
            "type" : "string"
          }
        }
      },
      "ProductParentResponse" : {
        "type" : "object",
        "properties" : {
          "parent_product_id" : {
            "type" : "string"
          }
        }
      },
      "ProductRenameRequest" : {
        "type" : "object",
        "properties" : {
          "new_name" : {
            "type" : "string"
          }
        }
      },
      "ProductResponse" : {
        "type" : "object",
        "properties" : {
          "attributes" : {
            "type" : "object",
            "additionalProperties" : {
              "$ref" : "#/components/schemas/AttributeResponse"
            }
          },
          "created_date" : {
            "type" : "string",
            "format" : "date-time"
          },
          "featured_image" : {
            "$ref" : "#/components/schemas/ProductFeaturedImageResponse"
          },
          "last_updated_timestamp" : {
            "type" : "string",
            "format" : "date-time"
          },
          "name" : {
            "type" : "string"
          },
          "parent_product" : {
            "$ref" : "#/components/schemas/ProductParentResponse"
          },
          "product_categories" : {
            "$ref" : "#/components/schemas/ProductCategoryHierarchies"
          },
          "product_id" : {
            "type" : "string"
          },
          "product_type" : {
            "$ref" : "#/components/schemas/ProductTypeSummaryResponse"
          },
          "sku" : {
            "type" : "string"
          }
        }
      },
      "ProductSearchListResponse" : {
        "type" : "object",
        "properties" : {
          "expanded" : {
            "$ref" : "#/components/schemas/ProductExpandModel"
          },
          "filters" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ProductFilterModel"
            }
          },
          "item_type" : {
            "type" : "string"
          },
          "items" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ProductSearchResponse"
            }
          },
          "limit" : {
            "type" : "integer",
            "format" : "int32"
          },
          "offset" : {
            "type" : "integer",
            "format" : "int32"
          },
          "query" : {
            "type" : "string"
          },
          "sort" : {
            "$ref" : "#/components/schemas/SortModel"
          },
          "total_count" : {
            "type" : "integer",
            "format" : "int64"
          }
        }
      },
      "ProductSearchRequest" : {
        "type" : "object",
        "properties" : {
          "expand" : {
            "type" : "array",
            "description" : "List of fields to expand in the response.",
            "enum" : [ "attributes" ],
            "items" : {
              "type" : "string",
              "description" : "List of fields to expand in the response.",
              "enum" : [ "attributes" ]
            }
          },
          "filters" : {
            "type" : "array",
            "description" : "Defaults to empty. Filters are AND-ed together. To mimic Entries channel export use the `exclude_variants` filter. To mimic Entries product search page use the `exclude_variant` and `search_parents_via_variants` filters.",
            "items" : {
              "$ref" : "#/components/schemas/ProductFilterModel"
            }
          },
          "limit" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 10,
            "description" : "Maximum number of products to return.",
            "example" : 20,
            "maximum" : 100,
            "minimum" : 0
          },
          "offset" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "Maximum number of products to return.",
            "example" : 0,
            "maximum" : 9999,
            "minimum" : 0
          },
          "query" : {
            "type" : "string",
            "description" : "Optional term that will search for this string in product name or sku.",
            "example" : "Off Road"
          },
          "sort" : {
            "$ref" : "#/components/schemas/SortModel"
          }
        }
      },
      "ProductSearchResponse" : {
        "type" : "object",
        "properties" : {
          "attributes" : {
            "type" : "object",
            "additionalProperties" : {
              "$ref" : "#/components/schemas/ProductAttributeResponse"
            }
          },
          "created_date" : {
            "type" : "string",
            "format" : "date-time"
          },
          "featured_image" : {
            "$ref" : "#/components/schemas/ProductFeaturedImageResponse"
          },
          "last_updated_timestamp" : {
            "type" : "string",
            "format" : "date-time"
          },
          "name" : {
            "type" : "string"
          },
          "parent_product" : {
            "$ref" : "#/components/schemas/ProductParentResponse"
          },
          "product_category_hierarchies" : {
            "$ref" : "#/components/schemas/ProductCategoryHierarchies"
          },
          "product_id" : {
            "type" : "string"
          },
          "product_type" : {
            "$ref" : "#/components/schemas/ProductTypeSummaryResponse"
          },
          "sku" : {
            "type" : "string"
          }
        }
      },
      "ProductTypeAssignRequest" : {
        "type" : "object",
        "properties" : {
          "product_type_id" : {
            "type" : "string"
          }
        }
      },
      "ProductTypeListResponse" : {
        "type" : "object",
        "properties" : {
          "item_type" : {
            "type" : "string"
          },
          "items" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ProductTypeSummaryResponse"
            }
          },
          "limit" : {
            "type" : "integer",
            "format" : "int32"
          },
          "offset" : {
            "type" : "integer",
            "format" : "int32"
          },
          "total_count" : {
            "type" : "integer",
            "format" : "int64"
          }
        }
      },
      "ProductTypeSummaryResponse" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string"
          },
          "product_type_id" : {
            "type" : "string"
          }
        }
      },
      "QueryFilter" : {
        "type" : "object",
        "description" : "Filters to apply.",
        "properties" : {
          "operator" : {
            "type" : "string",
            "description" : "The filter operator.",
            "enum" : [ "equals", "greaterThan", "lessThan" ]
          },
          "type" : {
            "type" : "string",
            "description" : "The filter type."
          },
          "values" : {
            "type" : "array",
            "description" : "The filter values.",
            "items" : {
              "type" : "string",
              "description" : "The filter values."
            }
          }
        },
        "required" : [ "operator", "type", "values" ]
      },
      "RenameAssetRequest" : {
        "type" : "object",
        "properties" : {
          "filename" : {
            "type" : "string",
            "description" : "The new filename for the asset.",
            "example" : "event kickoff.jpg"
          }
        },
        "required" : [ "filename" ]
      },
      "SearchConnectorResponse" : {
        "type" : "object",
        "properties" : {
          "url" : {
            "type" : "string",
            "example" : "https://demo.widencollective.com/portals/search?auth=demo%2F9cae6254ce44db679b7f75d037c7d73c&app=Sitecore&t=2016-04-29T21%3A19%3A36Z&s=920cfa1488580c65d94ee7875199383c31668ead"
          }
        }
      },
      "SecurityModel" : {
        "type" : "object",
        "nullable" : true,
        "properties" : {
          "asset_groups" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "uniqueItems" : true
          },
          "expiration_date" : {
            "type" : "string",
            "format" : "date-time",
            "example" : "2023-10-01T12:00:00Z",
            "nullable" : true
          },
          "release_date" : {
            "type" : "string",
            "format" : "date-time",
            "example" : "2023-10-01T12:00:00Z",
            "nullable" : true
          }
        }
      },
      "ShareQueryFilter" : {
        "type" : "object",
        "description" : "Filters to apply.",
        "properties" : {
          "operator" : {
            "type" : "string",
            "description" : "Operators that can be applied to a query filter.\n\nOperator applicability:\n- `equals`: General-purpose operator, applicable to all filter types.\n- `greaterThan`: Applicable to numeric filters only (e.g. `search_results_count`).\n- `lessThan`: Applicable to numeric filters only (e.g. `search_results_count`).",
            "enum" : [ "equals", "greaterThan", "lessThan" ]
          },
          "type" : {
            "type" : "string",
            "description" : "Filter types allowed for the share event type.\n\nMultiple values in the `values` array are matched with IN logic for `equals`-operator filters.\n\nExpected values per filter type:\n- `asset_uuid`: Asset UUID, e.g. `[\"a1b2c3d4-e5f6-7890-abcd-ef1234567890\"]`\n- `asset_external_id`: Asset external ID string, e.g. `[\"abc123yz\"]`\n- `city`: City name, e.g. `[\"New York\", \"London\"]`\n- `country`: Country name, e.g. `[\"United States\", \"Germany\"]`\n- `state_or_region`: State or region name, e.g. `[\"New York\", \"California\"]`\n- `share_by_user_uuid`: UUID of the user who performed the share, e.g. `[\"a1b2c3d4-e5f6-7890-abcd-ef1234567890\"]`\n- `share_by_user_external_id`: External ID of the user who performed the share, e.g. `[\"abc123yz\"]`\n- `share_recipient`: Recipient email address, e.g. `[\"user@example.com\"]`",
            "enum" : [ "asset_uuid", "asset_external_id", "city", "country", "state_or_region", "share_by_user_uuid", "share_by_user_external_id", "share_recipient" ]
          },
          "values" : {
            "type" : "array",
            "description" : "The filter values.",
            "items" : {
              "type" : "string",
              "description" : "The filter values."
            }
          }
        },
        "required" : [ "operator", "type", "values" ]
      },
      "ShareQueryRequest" : {
        "type" : "object",
        "description" : "Query request for the share event type.",
        "properties" : {
          "end_date" : {
            "type" : "string",
            "format" : "date-time",
            "description" : "End of the date range (inclusive). ISO 8601, e.g. 2024-12-31T23:59:59Z."
          },
          "event_type" : {
            "type" : "string",
            "description" : "event type in this case share"
          },
          "fields" : {
            "type" : "array",
            "description" : "Fields to include in each result row. Leave empty to receive all public fields.",
            "items" : {
              "type" : "string",
              "description" : "Fields to include in each result row. Leave empty to receive all public fields."
            }
          },
          "filters" : {
            "type" : "array",
            "description" : "Filters to apply.",
            "items" : {
              "$ref" : "#/components/schemas/ShareQueryFilter"
            }
          },
          "limit" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Maximum number of results to return. Maximum allowed value is 10000.",
            "example" : 100,
            "maximum" : 10000
          },
          "pagination_token" : {
            "type" : "string",
            "description" : "Pagination token from a prior response."
          },
          "start_date" : {
            "type" : "string",
            "format" : "date-time",
            "description" : "Start of the date range (inclusive). ISO 8601, e.g. 2024-01-01T00:00:00Z."
          }
        },
        "required" : [ "end_date", "event_type", "start_date" ]
      },
      "SortModel" : {
        "type" : "object",
        "description" : "Sort to apply to the search results.",
        "enum" : [ "sku", "name", "product_type_name", "created", "last_updated" ],
        "properties" : {
          "order" : {
            "type" : "string"
          },
          "type" : {
            "type" : "string"
          }
        }
      },
      "StatusInfoResponse" : {
        "type" : "object",
        "properties" : {
          "upload_progress" : {
            "type" : "string",
            "enum" : [ "pending", "verifying", "complete" ]
          }
        }
      },
      "ThumbnailResponse" : {
        "type" : "object",
        "nullable" : true,
        "properties" : {
          "url" : {
            "type" : "string"
          },
          "valid_until" : {
            "type" : "string",
            "format" : "date-time"
          }
        }
      },
      "ToggleModel" : {
        "type" : "object",
        "properties" : {
          "date_introduced" : {
            "type" : "string",
            "format" : "date-time"
          },
          "description" : {
            "type" : "string"
          },
          "header_name" : {
            "type" : "string"
          }
        }
      },
      "TogglesResponse" : {
        "type" : "object",
        "properties" : {
          "available" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ToggleModel"
            }
          },
          "enabled" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ToggleModel"
            }
          }
        }
      },
      "UploadProfileResponse" : {
        "type" : "object",
        "properties" : {
          "asset_groups" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          },
          "immediate_release" : {
            "type" : "boolean"
          },
          "metadata_type" : {
            "type" : "string"
          },
          "name" : {
            "type" : "string",
            "example" : "Mobile Upload Profile"
          },
          "release_date" : {
            "type" : "string",
            "format" : "date-time",
            "example" : "2024-10-01T12:00:00Z"
          }
        }
      },
      "UsageSummaryApiResponse" : {
        "type" : "object",
        "properties" : {
          "report_end_timestamp" : {
            "type" : "string",
            "format" : "date-time",
            "description" : "The timestamp in UTC indicating the end date range (which may be the end of the previous day, or the end of the current day if a request is made on the first day of a month)."
          },
          "report_start_timestamp" : {
            "type" : "string",
            "format" : "date-time",
            "description" : "The timestamp in UTC indicating the start date range (which will always be the beginning of the current month)."
          },
          "request_count" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "The total count of API requests made in the date range (across both V1 and V2 APIs), but excluding [certain integrations and connectors](https://community.widen.com/s/article/API-FAQs)."
          }
        }
      },
      "UserResponse" : {
        "type" : "object",
        "properties" : {
          "city" : {
            "type" : "string"
          },
          "company" : {
            "type" : "string"
          },
          "country" : {
            "type" : "string"
          },
          "email" : {
            "type" : "string"
          },
          "first_name" : {
            "type" : "string"
          },
          "id" : {
            "type" : "string"
          },
          "last_name" : {
            "type" : "string"
          },
          "phone" : {
            "type" : "string"
          },
          "postal_code" : {
            "type" : "string"
          },
          "state_or_province" : {
            "type" : "string"
          },
          "street_address" : {
            "type" : "string"
          },
          "title" : {
            "type" : "string"
          },
          "username" : {
            "type" : "string"
          },
          "uuid" : {
            "type" : "string"
          }
        }
      },
      "VideoPropertiesResponse" : {
        "type" : "object",
        "nullable" : true,
        "properties" : {
          "aspect_ratio" : {
            "type" : "number",
            "format" : "double"
          },
          "duration" : {
            "type" : "number",
            "format" : "double",
            "example" : 10000.0
          },
          "height" : {
            "type" : "number",
            "format" : "double"
          },
          "width" : {
            "type" : "number",
            "format" : "double"
          }
        }
      },
      "WebhookConfigurationResponse" : {
        "type" : "object",
        "properties" : {
          "created_by_user" : {
            "$ref" : "#/components/schemas/WebhookUser"
          },
          "created_date" : {
            "type" : "string",
            "format" : "date-time"
          },
          "delivery_enabled" : {
            "type" : "boolean"
          },
          "event_type" : {
            "type" : "string",
            "example" : "asset_created"
          },
          "last_delivered_date" : {
            "type" : "string",
            "format" : "date-time"
          },
          "last_pinged_date" : {
            "type" : "string",
            "format" : "date-time"
          },
          "monitored_metadata_fields" : {
            "type" : "array",
            "description" : "Optional list of metadata field display keys being monitored. Only applicable when event_type is 'asset_metadata_value_updated'. If null or empty, all metadata field changes will trigger the webhook.",
            "example" : [ "color", "brand" ],
            "items" : {
              "type" : "string",
              "description" : "Optional list of metadata field display keys being monitored. Only applicable when event_type is 'asset_metadata_value_updated'. If null or empty, all metadata field changes will trigger the webhook.",
              "example" : "[\"color\",\"brand\"]"
            }
          },
          "signing_enabled" : {
            "type" : "boolean"
          },
          "webhook_configuration_id" : {
            "type" : "string",
            "example" : "976cf9b0-95d0-4dbd-acb0-57fbdaef7b6f"
          }
        }
      },
      "WebhookConfigurationsResponse" : {
        "type" : "object",
        "properties" : {
          "item_type" : {
            "type" : "string",
            "example" : "webhook_configuration"
          },
          "items" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/WebhookConfigurationResponse"
            }
          },
          "limit" : {
            "type" : "integer",
            "format" : "int32",
            "example" : 10
          },
          "offset" : {
            "type" : "integer",
            "format" : "int32",
            "example" : 20
          },
          "total_count" : {
            "type" : "integer",
            "format" : "int32",
            "example" : 1
          }
        }
      },
      "WebhookUser" : {
        "type" : "object",
        "properties" : {
          "uuid" : {
            "type" : "string",
            "example" : "5f6f1f60-1b5e-4690-8ba0-a40c09b2cf0c"
          }
        }
      },
      "WorkflowCloseDeliverable" : {
        "type" : "object",
        "properties" : {
          "filename" : {
            "type" : "string"
          },
          "upload_profile" : {
            "type" : "string"
          }
        }
      },
      "WorkflowCreateDeliverableRequest" : {
        "type" : "object",
        "properties" : {
          "description" : {
            "type" : "string"
          },
          "due_date" : {
            "type" : "string",
            "format" : "date-time"
          },
          "name" : {
            "type" : "string"
          },
          "proof_provider" : {
            "type" : "string"
          },
          "stages" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/WorkflowStageModel"
            }
          },
          "start_date" : {
            "type" : "string",
            "format" : "date-time"
          }
        }
      },
      "WorkflowCreateProject" : {
        "type" : "object",
        "properties" : {
          "description" : {
            "type" : "string"
          },
          "end_date" : {
            "type" : "string",
            "format" : "date-time"
          },
          "name" : {
            "type" : "string"
          },
          "owner" : {
            "type" : "string",
            "description" : "Defaults to calling user (via the API access token). If supplied, the expected value is the email address of the user."
          },
          "project_manager" : {
            "type" : "string"
          },
          "start_date" : {
            "type" : "string",
            "format" : "date-time",
            "description" : "Must be greater than end date and end date cannot be in the past."
          },
          "workgroups" : {
            "type" : "array",
            "description" : "List of UUIDs OR Names of workgroups exclusively (one or the other identifier type must be supplied, a request cannot contain a mix of UUIDs and Names for this request field).",
            "items" : {
              "type" : "string",
              "description" : "List of UUIDs OR Names of workgroups exclusively (one or the other identifier type must be supplied, a request cannot contain a mix of UUIDs and Names for this request field)."
            }
          }
        }
      },
      "WorkflowDeliverableListModel" : {
        "type" : "object",
        "properties" : {
          "items" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/WorkflowDeliverableModel"
            }
          }
        }
      },
      "WorkflowDeliverableModel" : {
        "type" : "object",
        "properties" : {
          "asset_id" : {
            "type" : "string"
          },
          "deliverable_id" : {
            "type" : "string"
          },
          "description" : {
            "type" : "string"
          },
          "due_date" : {
            "type" : "string",
            "format" : "date-time"
          },
          "expanded" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "boolean"
            }
          },
          "file_properties" : {
            "$ref" : "#/components/schemas/WorkflowFileProperties"
          },
          "id" : {
            "type" : "string"
          },
          "links" : {
            "$ref" : "#/components/schemas/WorkflowNavigationLinks"
          },
          "manager" : {
            "$ref" : "#/components/schemas/WorkflowUserModel"
          },
          "name" : {
            "type" : "string"
          },
          "project_id" : {
            "type" : "string"
          },
          "proof_provider" : {
            "$ref" : "#/components/schemas/WorkflowUserModel"
          },
          "proof_url" : {
            "type" : "string"
          },
          "status" : {
            "type" : "string",
            "enum" : [ "NEEDS_SETUP", "NEEDS_PROOF", "NEEDS_PROOF_WITH_EDITS", "IN_REVIEW", "REVIEW_COMPLETE", "CLOSED", "PAST_DUE" ]
          },
          "thumbnails" : {
            "$ref" : "#/components/schemas/WorkflowThumbnailsModel"
          }
        }
      },
      "WorkflowFileProperties" : {
        "type" : "object",
        "properties" : {
          "file_type" : {
            "type" : "string"
          },
          "filename" : {
            "type" : "string"
          },
          "size_in_bytes" : {
            "type" : "integer",
            "format" : "int64"
          }
        }
      },
      "WorkflowNavigationLinks" : {
        "type" : "object",
        "properties" : {
          "download" : {
            "type" : "string"
          },
          "project" : {
            "type" : "string"
          },
          "self" : {
            "type" : "string"
          }
        }
      },
      "WorkflowProjectLinks" : {
        "type" : "object",
        "properties" : {
          "deliverables" : {
            "type" : "string"
          },
          "self" : {
            "type" : "string"
          },
          "support_files" : {
            "type" : "string"
          }
        }
      },
      "WorkflowProjectModel" : {
        "type" : "object",
        "properties" : {
          "deliverables" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/WorkflowDeliverableModel"
            }
          },
          "description" : {
            "type" : "string"
          },
          "due_date" : {
            "type" : "string",
            "format" : "date-time"
          },
          "expanded" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "boolean"
            }
          },
          "id" : {
            "type" : "string"
          },
          "links" : {
            "$ref" : "#/components/schemas/WorkflowProjectLinks"
          },
          "manager" : {
            "$ref" : "#/components/schemas/WorkflowUserModel"
          },
          "name" : {
            "type" : "string"
          },
          "project_id" : {
            "type" : "string"
          },
          "request_fields" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "object"
            }
          },
          "requester" : {
            "$ref" : "#/components/schemas/WorkflowUserModel"
          },
          "start_date" : {
            "type" : "string",
            "format" : "date-time"
          }
        }
      },
      "WorkflowStageModel" : {
        "type" : "object",
        "properties" : {
          "commenters" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          },
          "due_date" : {
            "type" : "string",
            "format" : "date-time"
          },
          "name" : {
            "type" : "string"
          },
          "reviewers" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        }
      },
      "WorkflowSupportFileModel" : {
        "type" : "object",
        "properties" : {
          "filename" : {
            "type" : "string"
          },
          "filesize" : {
            "type" : "integer",
            "format" : "int64"
          },
          "filetype" : {
            "type" : "string"
          },
          "id" : {
            "type" : "string"
          },
          "links" : {
            "$ref" : "#/components/schemas/WorkflowNavigationLinks"
          },
          "upload_date" : {
            "type" : "string",
            "format" : "date-time"
          },
          "uploader" : {
            "$ref" : "#/components/schemas/WorkflowUserModel"
          }
        }
      },
      "WorkflowThumbnailsModel" : {
        "type" : "object",
        "properties" : {
          "large" : {
            "type" : "string"
          },
          "medium" : {
            "type" : "string"
          },
          "small" : {
            "type" : "string"
          }
        }
      },
      "WorkflowUploadProof" : {
        "type" : "object",
        "properties" : {
          "content_length" : {
            "type" : "integer",
            "format" : "int64"
          },
          "filename" : {
            "type" : "string"
          },
          "url" : {
            "type" : "string"
          }
        }
      },
      "WorkflowUserModel" : {
        "type" : "object",
        "properties" : {
          "email" : {
            "type" : "string"
          },
          "first_name" : {
            "type" : "string"
          },
          "last_name" : {
            "type" : "string"
          }
        }
      },
      "WorkflowWebhookListModel" : {
        "type" : "object",
        "properties" : {
          "items" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/WorkflowWebhookModel"
            }
          }
        }
      },
      "WorkflowWebhookModel" : {
        "type" : "object",
        "properties" : {
          "event" : {
            "type" : "string",
            "enum" : [ "DELIVERABLE_STATUS_CHANGED", "PROJECT_CREATED" ]
          },
          "target" : {
            "type" : "string"
          }
        }
      }
    },
    "securitySchemes" : {
      "access_token" : {
        "description" : "Example bearer header: `Authorization: Bearer wac_demo_abc123def456`",
        "in" : "header",
        "name" : "Authorization",
        "type" : "apiKey"
      },
      "basic" : {
        "description" : "Example basic authentication header: `Authorization: Basic wac_demo_abc123def456:x-oauth-basic` (Note: username and password value must be Base64 encoded per the basic auth specification.)",
        "scheme" : "basic",
        "type" : "http"
      }
    }
  }
}