Widen Products API
Create, retrieve, update, and search products (Acquia Entries).
Create, retrieve, update, and search products (Acquia Entries).
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/widen-products-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Acquia DAM (Widen) Acquia-DAM-Webhooks Products API
description: 'Acquia Digital Asset Management (formerly Widen Collective) provides REST APIs for managing digital assets, metadata, collections, embed codes, and asset distribution workflows. The API supports asset search and discovery, metadata management, analytics, orders, products, webhooks, and workflow automation across both v1 and v2 endpoints.
'
version: '2.0'
contact:
name: Acquia Support
url: https://acquia.my.site.com/s/
x-api-id: acquia-dam
license:
name: Proprietary
servers:
- url: https://api.widencollective.com/v2
description: Acquia DAM API v2
- url: https://api.widencollective.com/v1
description: Acquia DAM API v1 (legacy)
security:
- bearerAuth: []
tags:
- name: Products
description: Create, retrieve, update, and search products (Acquia Entries).
paths:
/products:
post:
operationId: createProduct
summary: Create a new product
tags:
- Products
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- name
- sku
properties:
attributes:
type: object
additionalProperties:
type: array
items:
type: string
name:
type: string
parent_product_id:
type: string
product_categories:
type: array
items:
type: object
properties:
product_category_id:
type: string
product_type_id:
type: string
sku:
type: string
responses:
'201':
description: Product created
content:
application/json:
schema:
$ref: '#/components/schemas/CreateProductResult'
/products/search:
post:
operationId: listProductsBySearchQuery
summary: Search for products
tags:
- Products
requestBody:
content:
application/json:
schema:
type: object
properties:
expand:
type: array
items:
type: string
enum:
- attributes
filters:
type: array
items:
type: object
limit:
type: integer
minimum: 1
maximum: 100
default: 10
offset:
type: integer
minimum: 0
maximum: 9999
default: 0
query:
type: string
sort:
type: object
properties:
order:
type: string
enum:
- ascending
- descending
type:
type: string
enum:
- created
- last_updated
- name
- product_type_name
- sku
responses:
'200':
description: Matching products
content:
application/json:
schema:
$ref: '#/components/schemas/SearchProductsResult'
/products/{id}:
get:
operationId: retrieveProductById
summary: Retrieve a product by ID
tags:
- Products
parameters:
- name: id
in: path
required: true
schema:
type: string
responses:
'200':
description: Product details
content:
application/json:
schema:
$ref: '#/components/schemas/GetProductResult'
delete:
operationId: deleteProduct
summary: Delete a product
tags:
- Products
parameters:
- name: id
in: path
required: true
schema:
type: string
responses:
'204':
description: Product deleted
/products/{id}/rename:
put:
operationId: renameProduct
summary: Rename a product
tags:
- Products
parameters:
- name: id
in: path
required: true
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- new_name
properties:
new_name:
type: string
responses:
'204':
description: Product renamed
/products/{id}/attributes:
put:
operationId: updateAttributeValues
summary: Update product attribute values
tags:
- Products
parameters:
- name: id
in: path
required: true
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- attributes
properties:
attributes:
type: object
additionalProperties:
type: array
items:
type: string
responses:
'204':
description: Attributes updated
/products/{id}/product-category:
put:
operationId: updateProductCategory
summary: Update product categories
tags:
- Products
parameters:
- name: id
in: path
required: true
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- product_categories
properties:
product_categories:
type: array
items:
type: object
properties:
product_category_id:
type: string
responses:
'204':
description: Product category updated
/products/{id}/featured-image:
put:
operationId: updateFeaturedImage
summary: Update product featured image
tags:
- Products
parameters:
- name: id
in: path
required: true
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- asset_id
properties:
asset_id:
type: string
responses:
'204':
description: Featured image updated
/products/{id}/parent-product:
put:
operationId: updateParentProduct
summary: Update product parent
tags:
- Products
parameters:
- name: id
in: path
required: true
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- parent_product_id
properties:
parent_product_id:
type: string
responses:
'204':
description: Parent product updated
/products/{id}/product-type:
put:
operationId: updateProductType
summary: Update product type
tags:
- Products
parameters:
- name: id
in: path
required: true
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- product_type_id
properties:
product_type_id:
type: string
responses:
'204':
description: Product type updated
/products/channels/{channel_id}:
get:
operationId: listProductsForChannel
summary: List products for a channel
tags:
- Products
parameters:
- name: channel_id
in: path
required: true
schema:
type: string
- name: limit
in: query
schema:
type: integer
minimum: 1
maximum: 1000
default: 100
- name: offset
in: query
schema:
type: integer
minimum: 0
default: 0
responses:
'200':
description: Channel products
content:
application/json:
schema:
$ref: '#/components/schemas/ListProductsByChannelResult'
/product-categories:
get:
operationId: listProductCategories
summary: List product categories
tags:
- Products
parameters:
- name: limit
in: query
schema:
type: integer
minimum: 1
maximum: 50
default: 50
- name: offset
in: query
schema:
type: integer
minimum: 0
default: 0
- name: parent_product_category_id
in: query
schema:
type: string
responses:
'200':
description: List of product categories
content:
application/json:
schema:
$ref: '#/components/schemas/ListProductCategoriesResult'
/product-types:
get:
operationId: listProductTypes
summary: List product types
tags:
- Products
parameters:
- name: limit
in: query
schema:
type: integer
minimum: 1
maximum: 1000
default: 100
- name: offset
in: query
schema:
type: integer
default: 0
responses:
'200':
description: List of product types
content:
application/json:
schema:
$ref: '#/components/schemas/ListProductTypesResult'
components:
schemas:
ProductCategory:
type: object
properties:
name:
type: string
product_category_id:
type: string
sub_category:
$ref: '#/components/schemas/ProductCategory'
CreateProductResult:
type: object
properties:
product_id:
type: string
GetProductResult:
type: object
properties:
attributes:
type:
- object
- 'null'
additionalProperties:
$ref: '#/components/schemas/ProductAttribute'
created_date:
type: string
format: date-time
featured_image:
type:
- object
- 'null'
properties:
id:
type: string
url:
type:
- string
- 'null'
last_updated_timestamp:
type: string
format: date-time
name:
type: string
parent_product:
type:
- object
- 'null'
properties:
parent_product_id:
type: string
product_categories:
type: object
properties:
product_categories:
type: array
items:
$ref: '#/components/schemas/ProductCategory'
product_id:
type: string
product_type:
type:
- object
- 'null'
properties:
name:
type: string
product_type_id:
type: string
sku:
type: string
SearchProductsResult:
allOf:
- $ref: '#/components/schemas/PaginatedList'
- type: object
properties:
expanded:
type: object
filters:
type: array
items:
type: object
items:
type: array
items:
$ref: '#/components/schemas/GetProductResult'
query:
type:
- string
- 'null'
sort:
type: object
ListProductCategoriesResult:
allOf:
- $ref: '#/components/schemas/PaginatedList'
- type: object
properties:
items:
type: array
items:
type: object
properties:
name:
type: string
product_category_id:
type: string
ProductAttribute:
type: object
properties:
attribute_group:
type:
- object
- 'null'
properties:
attribute_group_id:
type: string
name:
type: string
attribute_id:
type: string
import_only:
type:
- boolean
- 'null'
name:
type: string
type:
type: string
values:
type: array
items:
type: string
ListProductsByChannelResult:
allOf:
- $ref: '#/components/schemas/PaginatedList'
- type: object
properties:
channel_id:
type: string
channel_name:
type: string
items:
type: array
items:
$ref: '#/components/schemas/GetProductResult'
ListProductTypesResult:
allOf:
- $ref: '#/components/schemas/PaginatedList'
- type: object
properties:
items:
type: array
items:
type: object
properties:
name:
type: string
product_type_id:
type: string
PaginatedList:
type: object
properties:
item_type:
type: string
total_count:
type: integer
limit:
type: integer
offset:
type: integer
securitySchemes:
bearerAuth:
type: http
scheme: bearer
bearerFormat: JWT
description: OAuth2 Bearer token obtained from Acquia DAM.
externalDocs:
description: Acquia DAM API v2 Documentation
url: https://docs.acquia.com/acquia-dam/api-v2