z_score.
Each match is a garment id and url you can pass into
Generation.
This endpoint needs only your tenant key — send
x-api-key and nothing else,
with no Authorization: Bearer token. BASE_URL is the Souldi API base URL, https://api.souldi.io.
See the authentication model.Search by attributes
Filters your catalog by exact garment attributes — no relevance ranking. Use it for faceted browsing (“show me red, hot-season dresses”) or to pre-scope a catalog before a try-on. Required headers
How filters combine
- Within a single attribute, values are OR-ed —
color: ["red", "blue"]matches garments that are red or blue. - Across attributes, filters are AND-ed — adding
season: ["hot"]keeps only the red-or-blue garments that are also hot-season.
{ "color": ["red", "blue"], "season": ["hot"] } reads as “(red OR blue) AND
hot-season.”
Body parameters
Every attribute is an optional array of allowed values. Each accepts a fixed set
of values — an unrecognized value is rejected with 422.
string[]
Garment type, e.g.
dress, t-shirt, jacket. See all values below.string[]
Dominant color, e.g.
red, black, multicolor.string[]
Where the garment sits on the body:
top-closed, top-open, bottom-long,
bottom-short, fullbody.string[]
male or female.string[]
Aesthetic, e.g.
casual, formal, streetwear.string[]
Fabric, e.g.
cotton, denim, silk.string[]
hot, cold, or all_season.string[]
Silhouette, e.g.
slim-fitted, oversized-loose.string[]
Surface pattern, e.g.
solid, striped, floral.string[]
Intended occasion, e.g.
casual_everyday, formal_event.integer
default:"20"
Maximum number of garments to return. Range
1–100.category
category
Tops —
t-shirt, tank top, blouse, shirt, sweater, knitwear,
corset, blazer, hoodie, sweatshirt, crop top, bodysuitBottoms — trouser, jean, short, skirt, legging, tightOne-pieces — dress, jumpsuit, romper, overall, dungaree, suit,
setOuterwear — coat, jacket, vest, gilet, cape, ponchoIntimates & swimwear — swimwear, lingerie, loungewear, sleepwearcolor
color
black, white, grey, red, blue, green, yellow, pink, purple,
brown, beige, multicolorplacement
placement
top-closed, top-open, bottom-long, bottom-short, fullbodygender
gender
male, femalestyle
style
streetwear, casual, formal, boho, minimalist, vintage, sporty,
preppymaterial
material
cotton, denim, leather, silk, wool, linen, synthetic, knit,
suedeseason
season
hot, cold, all_seasonfit
fit
oversized-loose, regular-standard, slim-fitted, cropped, maxi/longpattern
pattern
solid, striped, plaid/checkered, floral, animal-print, graphic,
tie-dye, abstractoccasion
occasion
casual_everyday, work_business, party_night_out, formal_event,
beach_vacation, active_sport, lounge_home, festival_concertobject[]
The garments matching every filter. May be empty if nothing matches.
string
The garment’s unique ID.
string
The garment image URL — ready to pass into
POST /try-on/generate.null
Always
null for attribute search — it’s an exact filter, not a ranked search.Next steps
Search by text
Use a natural-language query when you don’t have exact facets in mind.
Search by image
Match against a reference image instead of structured filters.
Try a garment on
Pass a result
url to POST /try-on/generate to render it on your user.