Skip to main content
DELETE
/
search
/
api
/
v1
/
search
/
session
/
{session_id}
/
constraints
/
{key}
Remove a constraint from the session
curl --request DELETE \
  --url https://www.closient.com/search/api/v1/search/session/{session_id}/constraints/{key}
{
  "session_id": "<string>",
  "base_query": "<string>",
  "active_constraints": {},
  "search_history": [
    "<string>"
  ],
  "is_expired": true,
  "latitude": 0,
  "longitude": 0
}

Path Parameters

session_id
string
required

The session identifier returned from POST /search/session.

key
enum<string>
required

Refinement constraint keys recognized by session-based search.

The conversational search refinement layer extracts these structured constraints from natural-language follow-up queries (e.g. "but under $50" emits price_max). Removing a constraint via DELETE /search/session/{session_id}/constraints/{key} accepts any of these values for key.

Mirror of apps.search.services.search_refinement.CONSTRAINT_*.

The trait-based keys (exclude_allergens, require_certifications, avoid_substances) carry list-of-slug values; the others are scalar. Trait-based constraints are unified by C-2385 — agents and end users can both express dietary/allergen/certification preferences through the same session surface as the existing color/price/distance constraints rather than per-app endpoints.

Available options:
color,
price_max,
price_min,
distance_km,
availability,
scope,
exclude_allergens,
require_certifications,
avoid_substances

Response

OK

Response schema for the current state of a search session.

Returned by POST /search/session and DELETE /search/session/{session_id}/constraints/{key}. Reflects the session's full filter state plus the geographic anchor.

session_id
string
required

URL-safe session identifier (~32 chars). Use this in the path of every follow-up call (/search/session/{session_id}/...).

base_query
string
required

The anchor query for this session. Set on session creation and replaced whenever a follow-up is classified as a new search.

active_constraints
Active Constraints · object
required

Current filter state. Keys are members of ConstraintKeyEnum:

Scalar constraints — set replaces:

  • color (string), price_max / price_min (float), distance_km (float), availability (string), scope (string).

Trait-based constraints — list-of-slug, set unions additively across successive refinements (C-2385):

  • exclude_allergens — allergen slugs to drop (peanuts, tree_nuts, dairy, eggs, soy, wheat, gluten, fish, shellfish, sesame, sulfites, mustard).
  • require_certifications — certification slugs that products must carry (vegan, vegetarian, kosher, halal, organic, non_gmo, gluten_free, fair_trade, cruelty_free, rainforest_alliance, usda_organic).
  • avoid_substances — substance slugs to drop (sucralose, aspartame, msg, high_fructose_corn_syrup, red_dye_40, carrageenan, bpa, parabens, phthalates).

Each constraint can be removed individually via DELETE /search/session/{session_id}/constraints/{key}.

search_history
string[]
required

Ordered list of every query submitted in this session, oldest first.

is_expired
boolean
required

true once the session has passed its 30-minute idle expiry. Expired sessions return 404 from query/constraint endpoints.

latitude
number
required

WGS84 latitude captured at session creation.

Required range: -90 <= x <= 90
longitude
number
required

WGS84 longitude captured at session creation.

Required range: -180 <= x <= 180