API Reference

Wishlists and interests

A member’s wishlist, and the interest a visitor registers in a product that is out of stock.

About wishlists and interests

A wishlist is a signed-in member’s list of saved products, kept against their person; the routes always act on the caller’s own list. A product interest asks to be told when a product is back in stock: a signed-in visitor registers as themselves, and a guest with an email address when the site allows guests. When the product’s stock rises past the threshold in the settings, the platform fires a BackInStock event that a job can turn into an email.

Add a product to the wishlist#

POST /cdna-api/products/wishlist

Adds a product to the signed-in member’s wishlist. Products only, not variants.

Access
A signed-in member, for their own records, and admin users.
Returns
The new wishlist row, in the fields properties asks for, and a message.

Parameters

productbodyrequired
integer
The product id.

Example

Add a product to the wishlist
POST /cdna-api/products/wishlist?properties={id,product{id,code}} HTTP/1.1
Host: hub.coredna.com
Authorization: Bearer YOUR_ACCESS_TOKEN
Accept: application/json
Content-Type: application/json

{
  "product": 1
}
Response 200 OK
{
  "result": "success",
  "data": {
    "id": 1,
    "product": {
      "id": 1,
      "code": "API-SANDBOX-MUG"
    }
  },
  "message": "The Wishlist has been added successfully."
}
Real response from this documentation site

Remove a product from the wishlist#

DELETE /cdna-api/products/wishlist/{product_id}

Removes a product from the signed-in member’s own wishlist. The path takes the product id.

Access
A signed-in member, for their own records, and admin users.
Returns
The removed row under data.wishlist, and a message.

Parameters

product_idpathrequired
integer
The product id.

Example

Remove a product from the wishlist
DELETE /cdna-api/products/wishlist/1 HTTP/1.1
Host: hub.coredna.com
Authorization: Bearer YOUR_ACCESS_TOKEN
Accept: application/json
Response 200 OK
{
  "result": "success",
  "data": {
    "wishlist": {
      "id": null,
      "person": 135,
      "product": 1,
      "name": "API sandbox mug",
      "code": "API-SANDBOX-MUG",
      "created": "2026-10-18T01:30:18+00:00"
    }
  },
  "message": "The Wishlist has been successfully deleted."
}
Real response from this documentation site

Register interest in a product#

POST /cdna-api/products/product-interest

Asks to be told when a product is back in stock. A signed-in caller registers as themselves; a guest sends email, and is accepted only when the site allows guests, with a captcha when one is set.

Access
Anyone. The route takes no credentials, by design.
Returns
The new interest, in the fields properties asks for, and a message. A second pending interest in the same product is refused.

Parameters

productbodyrequired
integer
The product id.
emailbody
string
A guest’s email address.
g-recaptcha-responsebody
string
The captcha answer, when the site asks for one.

Example

Register interest in a product
POST /cdna-api/products/product-interest?properties={id,completed,product{id,code}} HTTP/1.1
Host: hub.coredna.com
Accept: application/json
Content-Type: application/json

{
  "product": 1
}
Response 200 OK
{
  "result": "success",
  "data": {
    "id": 1,
    "completed": null,
    "product": {
      "id": 1,
      "code": "API-SANDBOX-MUG"
    }
  },
  "message": "The Product Interest has been added successfully."
}
Real response from this documentation site

List the interests in a product#

GET /cdna-api/products/product-interests/{product.id}

Lists the interests registered in one product. Admin users only: the rows hold people’s email addresses.

Access
Admin users and integrations, with an OAuth access token or an API key.

Parameters

product.idpathrequired
integer
The product id.
propertiesquery
selector
The fields to return, such as {id,completed,created}.

Example

List the interests in a product
GET /cdna-api/products/product-interests/1?properties={id,completed,created} HTTP/1.1
Host: hub.coredna.com
Authorization: Bearer YOUR_ACCESS_TOKEN
Accept: application/json
Response 200 OK
{
  "result": "success",
  "totalCount": 1,
  "data": [
    {
      "id": 1,
      "completed": null,
      "created": "2026-10-18T01:30:19+00:00"
    }
  ]
}
Real response from this documentation site

Delete an interest#

DELETE /cdna-api/products/product-interest/{id}

Withdraws an interest.

Access
A signed-in member, for their own records, and admin users.
Returns
The removed interest under data.productInterest, and a message.

Parameters

idpathrequired
integer
The interest id.

Example

Delete an interest
DELETE /cdna-api/products/product-interest/1 HTTP/1.1
Host: hub.coredna.com
Authorization: Bearer YOUR_ACCESS_TOKEN
Accept: application/json
Response 200 OK
{
  "result": "success",
  "data": {
    "productInterest": {
      "hateoasLinks": [],
      "deleteUrl": null,
      "manageUrl": null,
      "id": null,
      "created": "2026-10-18T01:30:19+00:00",
      "completed": null,
      "person": 135,
      "product": 1,
      "site": 66
    }
  },
  "message": "The Product Interest has been successfully deleted."
}
Real response from this documentation site