> 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/external-integrations.md).

# External Integrations

## Create collection through integration

> Creates a collection by pulling product data from integrated external platforms.\
> The endpoint supports four integration providers:\
> \
> \- Shopify: Pulls products from Shopify store using API credentials\
> \- Google Merchant: Retrieves products from Google Merchant Center\
> \- Algolia: Fetches products from Algolia search index\
> \- WooCommerce: Retrieves products from WooCommerce store using REST API\
> \
> The endpoint automatically validates product data, applies feature processing,\
> and creates a collection with the pulled products. Collection naming follows\
> the pattern: \`{provider}\_collection\_{date}\`.\
> \
> \*\*Rate Limits:\*\*\
> \- 1 request/second per client\
> \- Simultaneous processing limit: 10 collections per client (can be adjusted upon request)\
> \
> \*\*Required Permissions:\*\*\
> \- Owner, Admin, or DataEditor role<br>

```json
{"openapi":"3.0.3","info":{"title":"Integration Upload Dataset API","version":"1.0.0"},"tags":[{"name":"Integrations","description":"Integration-based collection creation from external platforms"}],"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":{"IntegrationCollectionResponse":{"type":"object","properties":{"message":{"type":"string","description":"Success message indicating the status of the collection creation"},"id":{"type":"integer","description":"The unique identifier of the created collection"},"name":{"type":"string","description":"The final name of the collection."},"product_count":{"type":"integer","description":"Number of products/listings in the collection"},"image_count":{"type":"integer","description":"Number of images in the collection"},"created_at":{"type":"string","format":"date-time","description":"Timestamp when the collection was created"}},"required":["message","id","name","product_count","image_count","created_at"]},"ErrorResponse":{"type":"object","properties":{"error":{"type":"string","description":"Error message describing what went wrong"},"code":{"type":"integer","description":"Error code"}},"required":["error","code"]}},"responses":{"Unauthorized":{"description":"Unauthorized - authentication required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"InsufficientPermissionsAndLimit":{"description":"Forbidden - insufficient permissions or limits exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"InternalServerError":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/collections/integrations/{provider}":{"post":{"summary":"Create collection through integration","description":"Creates a collection by pulling product data from integrated external platforms.\nThe endpoint supports four integration providers:\n\n- Shopify: Pulls products from Shopify store using API credentials\n- Google Merchant: Retrieves products from Google Merchant Center\n- Algolia: Fetches products from Algolia search index\n- WooCommerce: Retrieves products from WooCommerce store using REST API\n\nThe endpoint automatically validates product data, applies feature processing,\nand creates a collection with the pulled products. Collection naming follows\nthe pattern: `{provider}_collection_{date}`.\n\n**Rate Limits:**\n- 1 request/second per client\n- Simultaneous processing limit: 10 collections per client (can be adjusted upon request)\n\n**Required Permissions:**\n- Owner, Admin, or DataEditor role\n","tags":["Integrations"],"parameters":[{"name":"provider","in":"path","required":true,"schema":{"type":"string","enum":["shopify","google-merchant","algolia","woocommerce"]},"description":"The integration provider to use for data collection"}],"responses":{"200":{"description":"Collection created successfully through integration","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationCollectionResponse"}}}},"400":{"description":"Bad request - validation errors","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/InsufficientPermissionsAndLimit"},"500":{"$ref":"#/components/responses/InternalServerError"}}}}}}
```
