> For the complete documentation index, see [llms.txt](https://pixyleai.gitbook.io/pixyle.ai-documentation/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://pixyleai.gitbook.io/pixyle.ai-documentation/api-endpoints/collection-processing-api/routes/products-in-collection.md).

# Products In Collection

## Get processed products from a collection

> Returns a paginated list of processed products for the specified collection.\
> \- If no products match the filters, the endpoint returns an empty array.<br>

```json
{"openapi":"3.0.3","info":{"title":"Products in Collection API","version":"1.0.0"},"servers":[{"url":"https://api.pixyle.ai/main/v1"}],"security":[{"BearerAuth":[]}],"components":{"securitySchemes":{"BearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"JWT token for authentication"}},"schemas":{"ProductsListResponse":{"type":"object","properties":{"meta":{"$ref":"#/components/schemas/PaginationMeta"},"result":{"type":"array","items":{"$ref":"#/components/schemas/ProductListItemNonGrouped"}}},"required":["meta","result"]},"PaginationMeta":{"type":"object","properties":{"name":{"type":"string","description":"Name of the collection"},"page":{"type":"integer","description":"Current page number"},"size":{"type":"integer","description":"Number of items per page"},"total_pages":{"type":"integer","description":"Total number of pages"},"total":{"type":"integer","description":"Total number of items"}},"required":["name","page","size","total_pages","total"]},"ProductListItemNonGrouped":{"type":"object","properties":{"sku":{"type":"string"},"image_url_1":{"type":"string","format":"uri"},"verified":{"type":"boolean"},"verified_product_percentage":{"type":"number","format":"float"},"exported":{"type":"boolean"}},"required":["sku","image_url_1","verified","verified_product_percentage","exported"]},"ErrorResponse":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"integer"}},"required":["error","code"]}},"responses":{"Unauthorized":{"description":"Unauthorized - authentication required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"CollectionNotFound":{"description":"Collection not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimitExceeded":{"description":"Too Many Requests - rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"InternalServerError":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/collections/{id}/products":{"get":{"summary":"Get processed products from a collection","description":"Returns a paginated list of processed products for the specified collection.\n- If no products match the filters, the endpoint returns an empty array.\n","tags":["Products In Collection"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"The ID of the collection to retrieve products from."},{"name":"page","in":"query","required":false,"schema":{"type":"integer","default":1,"minimum":1},"description":"Number of current page."},{"name":"size","in":"query","required":false,"schema":{"type":"integer","default":10,"minimum":1,"maximum":50},"description":"Number of products per page."},{"name":"sort_by","in":"query","required":false,"schema":{"type":"string","default":"created_at","enum":["created_at","updated_at","sku"]},"description":"Sort field."},{"name":"order","in":"query","required":false,"schema":{"type":"string","default":"asc","enum":["asc","desc"]},"description":"Sort order."}],"responses":{"200":{"description":"Products retrieved successfully","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ProductsListResponse"},{"type":"array","description":"Returned when no products match the filters","items":{}}]}}}},"400":{"description":"Bad request - validation errors","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"404":{"$ref":"#/components/responses/CollectionNotFound"},"429":{"$ref":"#/components/responses/RateLimitExceeded"},"500":{"$ref":"#/components/responses/InternalServerError"}}}}}}
```

## Get a product from collection

> Retrieves a single product listing from a collection with complete feature results including automatic tagging, title/description generation and optimized site search tags.\
> \
> This endpoint returns detailed information about a specific product including:\
> \- Product verification status and percentage\
> \- Primary and extra images with signed URLs\
> \- Complete feature results for all enabled features:\
> &#x20; \- Automatic tagging with category, style, and attribute classifications\
> &#x20; \- Title and description generation in multiple languages\
> &#x20; \- Optimized site search tags for improved discoverability\
> &#x20;         \
> \*\*Rate limits:\*\*\
> \- 250 requests/minute<br>

```json
{"openapi":"3.0.3","info":{"title":"Products in Collection API","version":"1.0.0"},"servers":[{"url":"https://api.pixyle.ai/main/v1.1"}],"security":[{"BearerAuth":[]}],"components":{"securitySchemes":{"BearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"JWT token for authentication"}},"schemas":{"ErrorResponse":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"integer"}},"required":["error","code"]}},"responses":{"Unauthorized":{"description":"Unauthorized - authentication required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"InsufficientPermissions":{"description":"Forbidden - insufficient permissions","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimitExceeded":{"description":"Too Many Requests - rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"InternalServerError":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/collections/{id}/products/{sku}":{"get":{"summary":"Get a product from collection","description":"Retrieves a single product listing from a collection with complete feature results including automatic tagging, title/description generation and optimized site search tags.\n\nThis endpoint returns detailed information about a specific product including:\n- Product verification status and percentage\n- Primary and extra images with signed URLs\n- Complete feature results for all enabled features:\n  - Automatic tagging with category, style, and attribute classifications\n  - Title and description generation in multiple languages\n  - Optimized site search tags for improved discoverability\n          \n**Rate limits:**\n- 250 requests/minute\n","tags":["Products In Collection"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"The ID of the collection to retrieve the product from."},{"name":"sku","in":"path","required":true,"schema":{"type":"string"},"description":"The SKU of the product to retrieve."},{"name":"language_code","in":"query","required":false,"schema":{"type":"string"},"description":"Language code for filtering results (e.g., \"en-us\", \"fr\"). If not specified, results will be returned in all available languages."}],"responses":{"200":{"description":"Listing retrieved successfully","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"array","items":{"type":"object"}},"sku":{"type":"string"},"verified":{"type":"boolean"},"result":{"type":"array","items":{"type":"object","properties":{"verified_product_percentage":{"type":"number","format":"float"},"detection_id":{"type":"integer"},"primary_image":{"type":"string","format":"uri"},"extra_images":{"type":"array","items":{"type":"string","format":"uri"}},"primary_detection":{"type":"boolean"},"features":{"type":"array","description":"List of features detected for this listing. The schema of `feature_result` depends on the `feature_name`:\n  - For `automatic_tagging`, `feature_result` is an array of language-tagged tag groups.\n  - For `title_generation`, `feature_result` is an array of objects, each containing a generated title, language, config_id, and config_name.\n  - For `description_generation`, `feature_result` is an is an array of objects, each containing a generated description, language, config_id, and config_name.\n  - For `optimized_site_search_tags`, `feature_result` is an array of objects, each containing a generated value, language, and config_id.\n","items":{"type":"object","properties":{"feature_name":{"type":"string","description":"Name of the feature (e.g., \"automatic_tagging\", \"title_generation\", \"description_generation\")"},"verified":{"type":"boolean","description":"Whether the feature is verified"},"feature_result":{"description":"The result of the feature. The schema varies by feature_name:\n  - If feature_name is \"automatic_tagging\":\n      An array of objects, each with:\n        - language: string\n        - value: array of tag groups, each with:\n            - tags_type: string\n            - tags: array of { value: string, score: number }\n            - options: array of string\n  - If feature_name is \"title_generation\":\n      An array of objects, each with:\n        - title: string\n        - language: string\n        - config_id: integer\n        - config_name: string\n        - verified: boolean\n  - If feature_name is \"description_generation\":\n      An array of objects, each with:\n        - description: string\n        - language: string\n        - config_id: integer\n        - config_name: string\n        - verified: boolean\n  - If feature_name is \"optimized_site_search_tags\":\n      An array of objects, each with:\n        - language: string\n        - value: array of strings\n        - verified: boolean\n","oneOf":[{"description":"automatic_tagging","type":"array","items":{"type":"object","properties":{"language":{"type":"string"},"value":{"type":"array","items":{"type":"object","properties":{"tags_type":{"type":"string"},"tags":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"score":{"type":"number"}}}},"options":{"type":"array","items":{"type":"string"}}}}}}}},{"description":"title_generation","type":"array","items":{"type":"object","properties":{"title":{"type":"string"},"language":{"type":"string"},"config_id":{"type":"integer"},"config_name":{"type":"string"},"verified":{"type":"boolean"}}}},{"description":"description_generation","type":"array","items":{"type":"object","properties":{"description":{"type":"string"},"language":{"type":"string"},"config_id":{"type":"integer"},"config_name":{"type":"string"},"verified":{"type":"boolean"}}}},{"description":"optimized_site_search_tags","type":"array","items":{"type":"object","properties":{"language":{"type":"string"},"value":{"type":"array","items":{"type":"string"}},"verified":{"type":"boolean"}}}}]}}}}}}}}}}}},"400":{"description":"Bad request - validation errors","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/InsufficientPermissions"},"404":{"description":"Not found - collection or product not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"$ref":"#/components/responses/RateLimitExceeded"},"500":{"$ref":"#/components/responses/InternalServerError"}}}}}}
```

## Delete a product from collection

> Deletes a product from a collection.<br>

```json
{"openapi":"3.0.3","info":{"title":"Products in Collection API","version":"1.0.0"},"servers":[{"url":"https://api.pixyle.ai/main/v1"}],"security":[{"BearerAuth":[]}],"components":{"securitySchemes":{"BearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"JWT token for authentication"}},"schemas":{"ErrorResponse":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"integer"}},"required":["error","code"]}},"responses":{"Unauthorized":{"description":"Unauthorized - authentication required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"InsufficientPermissions":{"description":"Forbidden - insufficient permissions","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimitExceeded":{"description":"Too Many Requests - rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"InternalServerError":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/collections/{id}/products/{sku}":{"delete":{"summary":"Delete a product from collection","description":"Deletes a product from a collection.\n","tags":["Products In Collection"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"The ID of the collection containing the product to delete."},{"name":"sku","in":"path","required":true,"schema":{"type":"string"},"description":"The SKU of the product to delete."}],"responses":{"200":{"description":"Product successfully deleted","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}}},"400":{"description":"Bad request - validation errors","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/InsufficientPermissions"},"404":{"description":"Not found - collection or product not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"$ref":"#/components/responses/RateLimitExceeded"},"500":{"$ref":"#/components/responses/InternalServerError"}}}}}}
```

## Update product data and verification status

> Updates the generated data and verification status for a specific product in a collection.\
> This endpoint supports updating multiple features simultaneously and handles multilingual content.\
> \
> \*\*Supported Features:\*\*\
> \- \`automatic\_tagging\`: Product attributes and tags\
> \- \`title\_generation\`: Generated product titles\
> \- \`description\_generation\`: Generated product descriptions\
> \- \`optimized\_site\_search\_tags\`: SEO-optimized tags\
> \
> \*\*Multilingual Support:\*\*\
> \- When updating features with \`feature\_result\`, the \`language\_code\` query parameter is mandatory\
> \- The system supports multiple languages per client configuration<br>

```json
{"openapi":"3.0.3","info":{"title":"Update Collection Product API","version":"1.0.0"},"servers":[{"url":"https://api.pixyle.ai/main/v1"}],"security":[{"BearerAuth":[]}],"components":{"securitySchemes":{"BearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"JWT token for authentication"}},"schemas":{"UpdateProductRequest":{"type":"object","required":["features"],"properties":{"features":{"type":"array","items":{"$ref":"#/components/schemas/FeatureUpdate"},"minItems":1,"description":"List of features to update"}}},"FeatureUpdate":{"type":"object","required":["feature_name"],"properties":{"feature_name":{"type":"string","enum":["automatic_tagging","title_generation","description_generation","optimized_site_search_tags"],"description":"Name of the feature to update"},"verified":{"type":"boolean","description":"New verification status for the feature"},"feature_result":{"oneOf":[{"description":"automatic_tagging","type":"array","items":{"$ref":"#/components/schemas/TaggingData"}},{"description":"title_generation","type":"array","items":{"$ref":"#/components/schemas/TextGenerationData"}},{"description":"description_generation","type":"array","items":{"$ref":"#/components/schemas/TextGenerationData"}},{"description":"optimized_site_search_tags","type":"array","items":{"$ref":"#/components/schemas/OptimizedSiteSearchData"}}],"description":"Updated data for the feature (optional if only updating verification status)"}}},"TaggingData":{"type":"object","required":["tags_type","tags"],"properties":{"tags_type":{"type":"string","description":"Type of tags (e.g., category, brand, color, price)"},"tags":{"type":"array","items":{"$ref":"#/components/schemas/Tag"},"minItems":1}}},"Tag":{"type":"object","properties":{"old_value":{"type":"string","nullable":true,"description":"Current value to be replaced (null for new additions)"},"new_value":{"type":"string","nullable":true,"description":"New value to set (null for removals)"},"value":{"type":"string","nullable":true,"description":"Alternative value field"},"new_metadata":{"type":"array","items":{"$ref":"#/components/schemas/Metadata"},"description":"Additional metadata for the tag"}}},"Metadata":{"type":"object","required":["meta_key","meta_value"],"properties":{"meta_key":{"type":"string","description":"Metadata key"},"meta_value":{"type":"string","description":"Metadata value"}}},"TextGenerationData":{"type":"object","required":["config_id"],"properties":{"config_id":{"type":"integer","description":"Configuration ID for the text generation"},"new_value":{"type":"string","nullable":true,"maxLength":3000,"description":"New generated text content"}}},"OptimizedSiteSearchData":{"type":"object","properties":{"new_value":{"type":"array","items":{"type":"string"},"maxItems":100,"description":"List of optimized search tags"}}},"UpdateProductResponse":{"type":"object","required":["message","updated_products"],"properties":{"message":{"type":"string","description":"Success message"},"updated_products":{"type":"array","items":{"$ref":"#/components/schemas/UpdatedProduct"},"description":"List of updated products with their new state"}}},"UpdatedProduct":{"type":"object","required":["sku","verified","result"],"properties":{"sku":{"type":"string","description":"Product SKU"},"verified":{"type":"boolean","description":"Overall verification status"},"result":{"type":"array","items":{"$ref":"#/components/schemas/ProductResult"},"description":"Updated product data"}}},"ProductResult":{"type":"object","properties":{"verified_product_percentage":{"type":"number","format":"float","description":"Percentage of verified features"},"primary_image":{"type":"string","format":"uri","description":"URL of the primary product image"},"features":{"type":"array","items":{"$ref":"#/components/schemas/FeatureStatus"},"description":"Status of individual features"}}},"FeatureStatus":{"type":"object","required":["feature_name","verified"],"properties":{"feature_name":{"type":"string","description":"Name of the feature"},"verified":{"type":"boolean","description":"Verification status of the feature"}}},"ErrorResponse":{"type":"object","required":["error","code"],"properties":{"error":{"type":"string","description":"Error message"},"code":{"type":"integer","description":"Error code"}}}},"responses":{"Unauthorized":{"description":"Unauthorized - authentication required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"InsufficientPermissions":{"description":"Forbidden - insufficient permissions","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimitExceeded":{"description":"Too Many Requests - rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"InternalServerError":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/collections/{id}/products/{sku}":{"patch":{"summary":"Update product data and verification status","description":"Updates the generated data and verification status for a specific product in a collection.\nThis endpoint supports updating multiple features simultaneously and handles multilingual content.\n\n**Supported Features:**\n- `automatic_tagging`: Product attributes and tags\n- `title_generation`: Generated product titles\n- `description_generation`: Generated product descriptions\n- `optimized_site_search_tags`: SEO-optimized tags\n\n**Multilingual Support:**\n- When updating features with `feature_result`, the `language_code` query parameter is mandatory\n- The system supports multiple languages per client configuration\n","tags":["Product Updates"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1},"description":"The ID of the collection containing the product to update."},{"name":"sku","in":"path","required":true,"schema":{"type":"string","minLength":1},"description":"The SKU of the product to update."},{"name":"language_code","in":"query","required":false,"schema":{"type":"string"},"description":"Language code for multilingual content updates. \n**Mandatory when `feature_result` is present in the request body.**\nMust be a valid language abbreviation associated with the client.\n"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateProductRequest"}}}},"responses":{"200":{"description":"Product updated successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateProductResponse"}}}},"400":{"description":"Bad request - validation errors","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/InsufficientPermissions"},"404":{"description":"Collection not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"$ref":"#/components/responses/RateLimitExceeded"},"500":{"$ref":"#/components/responses/InternalServerError"}}}}}}
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://pixyleai.gitbook.io/pixyle.ai-documentation/api-endpoints/collection-processing-api/routes/products-in-collection.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
