API Documentation

Find any product instantly

7 search operators (equals, notEquals, contains, isEmpty, isNotEmpty, gt, lt), AND/OR logic, full-text search, and saved queries. Filter by schema, scope to dimensions, and save complex queries for reuse.

7 Operators

equals, notEquals, contains, isEmpty, isNotEmpty, gt, lt — cover every filtering need.

AND / OR Logic

Combine multiple criteria with criteriaOperator set to and or or for precise or broad results.

Full-Text Search

Search across all text attribute values with a single query string. Filter by schemaId to narrow scope.

Saved Queries

Save frequently used searches with a name, then re-execute them anytime without rebuilding the criteria.

Endpoints

Method Endpoint Description
POST /api/v1/search Structured search with criteria and operators
POST /api/v1/search/full-text Full-text search across all text values
GET /api/v1/search/text Full-text search via query parameters
GET /api/v1/saved-queries List all saved queries
POST /api/v1/saved-queries Save a new query
GET /api/v1/saved-queries/:id Get a saved query by ID
DELETE /api/v1/saved-queries/:id Delete a saved query (204 No Content)
POST /api/v1/saved-queries/:id/execute Execute a saved query

Operators Reference

Operator Description Example Value
equals Exact match on the attribute value "Coastal Windbreaker"
notEquals Excludes records matching the value "Discontinued"
contains Substring match (case-insensitive) "wind"
isEmpty Attribute has no value set No value needed
isNotEmpty Attribute has any value set No value needed
gt Greater than (numeric comparison) "100"
lt Less than (numeric comparison) "500"

Search for records using one or more criteria combined with AND or OR logic. Each criterion targets an attribute by its alias and applies an operator. Optionally scope criteria to specific dimensions and filter by schema.

// Find products with "Coastal" in the name AND price greater than 100 curl -X POST https://api.sigma-pim.com/api/v1/search \ -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIs..." \ -H "Content-Type: application/json" \ -d '{ "criteriaOperator": "and", "criteria": [ { "attributeAlias": "product-name", "operator": "contains", "value": "Coastal" }, { "attributeAlias": "price", "operator": "gt", "value": "100" } ], "schemaId": "schema-apparel" }'
// Response — matching records [ { "id": "ent-cw001", "schemaId": "schema-apparel", "lifecycleStateId": "state-published", "values": { "product-name": [ { "scope": {}, "value": "Coastal Windbreaker" }, { "scope": { "dim-language": "seg-da" }, "value": "Kyst Vindjakke" } ], "sku": [{ "scope": {}, "value": "CW-001" }], "price": [{ "scope": {}, "value": 129.99 }] } }, { "id": "ent-cw002", "schemaId": "schema-apparel", "lifecycleStateId": "state-draft", "values": { "product-name": [ { "scope": {}, "value": "Coastal Rain Jacket" } ], "sku": [{ "scope": {}, "value": "CW-002" }], "price": [{ "scope": {}, "value": 189.00 }] } } ]

You can also scope criteria to a specific dimension. For example, search within the Danish language scope:

// Search for Danish product names containing "Kyst" curl -X POST https://api.sigma-pim.com/api/v1/search \ -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIs..." \ -H "Content-Type: application/json" \ -d '{ "criteriaOperator": "and", "criteria": [ { "attributeAlias": "product-name", "operator": "contains", "value": "Kyst", "scope": { "dim-language": "seg-da" } } ] }'

Search Request Body

Field Type Description
criteria QueryCriterion[] Array of search criteria (see below)
criteriaOperator "and" | "or" How to combine multiple criteria
schemaId string? Optional schema filter — only search records of this type

QueryCriterion

Field Type Description
attributeAlias string The attribute alias to search on
operator string One of: equals, notEquals, contains, isEmpty, isNotEmpty, gt, lt
value string? The value to compare against (not needed for isEmpty/isNotEmpty)
scope object? Optional dimension scope, e.g. {"dim-language": "seg-da"}

Full-Text Search (POST)

Search across all text attribute values with a single query string. Matches any text attribute that contains the query substring.

// Search for "windbreaker" across all products curl -X POST https://api.sigma-pim.com/api/v1/search/full-text \ -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIs..." \ -H "Content-Type: application/json" \ -d '{ "query": "windbreaker", "schemaId": "schema-apparel" }'
// Response — all records with "windbreaker" in any text value [ { "id": "ent-cw001", "schemaId": "schema-apparel", "values": { "product-name": [ { "scope": {}, "value": "Coastal Windbreaker" } ], "sku": [{ "scope": {}, "value": "CW-001" }], "price": [{ "scope": {}, "value": 129.99 }], "description": [ { "scope": {}, "value": "A lightweight windbreaker for coastal conditions" } ] } } ]

Full-Text Search (GET)

Same as the POST version, but using query parameters for simple integrations and browser testing.

curl "https://api.sigma-pim.com/api/v1/search/text?query=windbreaker&schemaId=schema-apparel" \ -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIs..."

List Saved Queries

curl https://api.sigma-pim.com/api/v1/saved-queries \ -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIs..."
// Response [ { "id": "sq-premium-coastal", "name": "Premium Coastal Products", "schemaId": "schema-apparel", "criteria": [ { "attributeAlias": "product-name", "operator": "contains", "value": "Coastal" }, { "attributeAlias": "price", "operator": "gt", "value": "100" } ], "criteriaOperator": "and", "createdBy": "user-admin" }, { "id": "sq-missing-desc", "name": "Products Missing Description", "schemaId": null, "criteria": [ { "attributeAlias": "description", "operator": "isEmpty" } ], "criteriaOperator": "and", "createdBy": "user-admin" } ]

Save a Query

Save a search for reuse. The saved query stores the criteria, operator, and optional schema filter. You can re-execute it later without rebuilding the search.

curl -X POST https://api.sigma-pim.com/api/v1/saved-queries \ -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIs..." \ -H "Content-Type: application/json" \ -d '{ "name": "Premium Coastal Products", "schemaId": "schema-apparel", "criteria": [ { "attributeAlias": "product-name", "operator": "contains", "value": "Coastal" }, { "attributeAlias": "price", "operator": "gt", "value": "100" } ], "criteriaOperator": "and" }'
// Response — the created saved query { "id": "sq-premium-coastal", "name": "Premium Coastal Products", "schemaId": "schema-apparel", "criteria": [ { "attributeAlias": "product-name", "operator": "contains", "value": "Coastal" }, { "attributeAlias": "price", "operator": "gt", "value": "100" } ], "criteriaOperator": "and", "createdBy": "user-admin" }

Get Saved Query by ID

curl https://api.sigma-pim.com/api/v1/saved-queries/sq-premium-coastal \ -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIs..."

Delete a Saved Query

curl -X DELETE https://api.sigma-pim.com/api/v1/saved-queries/sq-missing-desc \ -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIs..."
// Response: 204 No Content

Execute a Saved Query

Re-run a previously saved query. Returns the same results as a fresh search with the saved criteria.

curl -X POST https://api.sigma-pim.com/api/v1/saved-queries/sq-premium-coastal/execute \ -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIs..."
// Response — same as structured search results [ { "id": "ent-cw001", "schemaId": "schema-apparel", "lifecycleStateId": "state-published", "values": { "product-name": [ { "scope": {}, "value": "Coastal Windbreaker" } ], "sku": [{ "scope": {}, "value": "CW-001" }], "price": [{ "scope": {}, "value": 129.99 }] } }, { "id": "ent-cw002", "schemaId": "schema-apparel", "lifecycleStateId": "state-draft", "values": { "product-name": [ { "scope": {}, "value": "Coastal Rain Jacket" } ], "sku": [{ "scope": {}, "value": "CW-002" }], "price": [{ "scope": {}, "value": 189.00 }] } } ]