Method
PATCH /v1/collections/:id/rules
Path Parameters
string
required
Collection ID
Body Parameters
object
required
Rules definition
object
Hide properties
Hide properties
string[]
Tags that must be present
string[]
Tags that must be absent
string
Taxonomy node identifier
string[]
Destination place IDs
Array<Rule>
string[]
Explicit product IDs for manual collections
The definition is flexible and keys are optional. Avoid overlapping tags in
includeTags
and excludeTags. For manual collections, prefer manualProductIds; for smart
collections, use rules and related filter keys.Headers
string
required
Bearer token (e.g.
Authorization: Bearer YOUR_API_KEY)string
application/json
curl -X PATCH https://api.voyantcloud.com/v1/collections/col_123/rules \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "content-type: application/json" \
-d '{
"definition_json": {
"includeTags": ["summer"],
"excludeTags": ["archived"],
"destinationPlaceIds": ["paris"],
"price": { "min": 100, "max": 500, "currency": "EUR" },
"availability": { "from": "2025-06-01", "to": "2025-08-31" },
"rules": [ { "type": "tag", "condition": "equals", "value": "family" } ]
}
}'
await fetch("https://api.voyantcloud.com/v1/collections/col_123/rules", {
method: "PATCH",
headers: { Authorization: `Bearer ${process.env.VOYANT_API_KEY}`, "content-type": "application/json" },
body: JSON.stringify({ definition_json: { includeTags: ["summer"], price: { min: 100, max: 500, currency: "EUR" } } }),
})
import os, requests
requests.patch(
"https://api.voyantcloud.com/v1/collections/col_123/rules",
headers={"Authorization": f"Bearer {os.environ['VOYANT_API_KEY']}", "content-type": "application/json"},
json={"definition_json": {"includeTags": ["summer"], "availability": {"from":"2025-06-01","to":"2025-08-31"}}},
)
{ "ok": true }