openapi: 3.2.0 info: title: ClickFunnels Products::Collection API termsOfService: https://www.clickfunnels.com/terms-of-service contact: name: ClickFunnels API Team url: https://developers.myclickfunnels.com x-logo: url: https://statics.myclickfunnels.com/image/1126065/file/31edf05760fafe41a82f16a668ab251f.png description: 'The ClickFunnels REST API that powers webhooks, native integrations, and Zapier lets you manage your ClickFunnels data, automate your workflows, and recreate ClickFunnels functionality in your own apps. ' license: name: MIT url: https://opensource.org/licenses/MIT version: 2.0.0 servers: - url: https://{subdomain}.myclickfunnels.com/api/v2 description: ClickFunnels API variables: subdomain: default: myworkspace security: - BearerAuth: [] tags: - name: Products::Collection description: Product Collections paths: /workspaces/{workspace_id}/products/collections: get: tags: - Products::Collection summary: List Collections description: List Collections operationId: listProductsCollections parameters: - name: workspace_id in: path required: true schema: type: string - $ref: '#/components/parameters/after' - $ref: '#/components/parameters/sort_order' - $ref: '#/components/parameters/sort_property' - name: filter in: query description: 'Filter by available properties in query params, like this: `api/v2/resources?filter[id]=value&filter[another_property]=value1,value2`. Check our Filtering guide for examples and all about filtering [here](https://developers.myclickfunnels.com/docs/filtering). ' required: false schema: type: object properties: id: type: string description: A comma-separated list of collection IDs to filter by. example: 1,2,3 visible_in_store: type: boolean description: Filter collections by visibility in the online store. example: true enum: - true - false archived: type: boolean description: Filter collections by archived state. example: true enum: - true - false style: deepObject explode: true responses: '200': description: OK headers: Pagination-Next: $ref: '#/components/headers/PaginationNext' Link: $ref: '#/components/headers/Link' content: application/json: schema: type: array items: $ref: '#/components/schemas/ProductsCollectionAttributes' example: - id: 2 public_id: gkIDBR workspace_id: 42000 name: Example Collection description: Example Description collection_type: manual product_ids: [] sort_method: manually archived: false image_id: null visible_in_store: true current_path: null seo_title: Example SEO Title seo_description: Example SEO Description seo_indexable: null social_image_id: null created_at: null updated_at: null - id: 3 public_id: zObwQt workspace_id: 42000 name: Example Collection description: Example Description collection_type: manual product_ids: [] sort_method: manually archived: false image_id: null visible_in_store: true current_path: null seo_title: Example SEO Title seo_description: Example SEO Description seo_indexable: null social_image_id: null created_at: null updated_at: null '401': description: Unauthorized content: application/json: schema: type: object properties: error: type: string example: error: API key missing or invalid '404': description: Not Found content: application/json: schema: type: object properties: error: type: string description: Not found - This usually happens when you try to access a record that does not exist in your account. It can also happen when the provided parent record is missing, e.g. you have put in a non-existent Workspaces parent ID. example: error: 'Not found: Record missing' post: tags: - Products::Collection summary: Create Collection description: Create Collection operationId: createProductsCollections parameters: - name: workspace_id in: path required: true schema: type: string requestBody: description: Information about a new Collection required: true content: application/json: schema: type: object properties: products_collection: type: object $ref: '#/components/schemas/ProductsCollectionParameters' example: products_collection: name: Example Collection description: Example Description collection_type: manual product_ids: [] sort_method: manually image_id: null visible_in_store: true seo_title: Example SEO Title seo_description: Example SEO Description social_image_id: null responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/ProductsCollectionAttributes' example: id: 5 public_id: RxuFTU workspace_id: 42000 name: Example Collection description: Example Description collection_type: manual product_ids: [] sort_method: manually archived: false image_id: null visible_in_store: true current_path: null seo_title: Example SEO Title seo_description: Example SEO Description seo_indexable: null social_image_id: null created_at: null updated_at: null '400': description: Bad Request content: application/json: schema: type: object properties: error: type: string example: error: 'Bad request: HTTP body must be valid JSON' '401': description: Unauthorized content: application/json: schema: type: object properties: error: type: string example: error: API key missing or invalid /products/collections/{id}: get: tags: - Products::Collection summary: Fetch Collection description: Fetch Collection operationId: getProductsCollections parameters: - $ref: '#/components/parameters/id' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ProductsCollectionAttributes' example: id: 4 public_id: UWvbNH workspace_id: 42000 name: Example Collection description: Example Description collection_type: manual product_ids: [] sort_method: manually archived: false image_id: null visible_in_store: true current_path: null seo_title: Example SEO Title seo_description: Example SEO Description seo_indexable: null social_image_id: null created_at: null updated_at: null '401': description: Unauthorized content: application/json: schema: type: object properties: error: type: string example: error: API key missing or invalid '404': description: Not Found content: application/json: schema: type: object properties: error: type: string example: error: 'Not found: Record missing' put: tags: - Products::Collection summary: Update Collection description: Update Collection operationId: updateProductsCollections parameters: - $ref: '#/components/parameters/id' requestBody: description: Information about updated fields in Collection required: true content: application/json: schema: type: object properties: products_collection: type: object $ref: '#/components/schemas/ProductsCollectionParametersUpdate' example: products_collection: name: Example Collection description: Example Description collection_type: manual product_ids: [] sort_method: manually image_id: null visible_in_store: true seo_title: Example SEO Title seo_description: Example SEO Description social_image_id: null responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ProductsCollectionAttributes' example: id: 7 public_id: PypQDE workspace_id: 42000 name: Example Collection description: Example Description collection_type: manual product_ids: [] sort_method: manually archived: false image_id: null visible_in_store: true current_path: null seo_title: Example SEO Title seo_description: Example SEO Description seo_indexable: null social_image_id: null created_at: null updated_at: null '400': description: Bad Request content: application/json: schema: type: object properties: error: type: string example: error: 'Bad request: HTTP body must be valid JSON' '401': description: Unauthorized content: application/json: schema: type: object properties: error: type: string example: error: API key missing or invalid '404': description: Not Found content: application/json: schema: type: object properties: error: type: string example: error: 'Not found: Record missing' components: parameters: id: name: id in: path required: true schema: type: string sort_property: name: sort_property in: query description: 'Sort property of a list response. The default is id and thus the created_at order. If you sort by other properties, we additionally sort by id implicitly as a secondary sort property, so that you can rely on the sort order to be deterministic even if the main sort property ends up with the same values. ' required: false schema: type: string enum: - id - updated_at sort_order: name: sort_order in: query description: Sort order of a list response. Use 'desc' to reverse the default 'asc' (ascending) sort order. Examples [in our guides](https://developers.myclickfunnels.com/docs/pagination). required: false schema: type: string enum: - asc - desc after: name: after in: query required: false schema: type: string description: ID of item after which the collection should be returned. More examples and info about pagination [in our guides](https://developers.myclickfunnels.com/docs/pagination). schemas: ProductsCollectionAttributes: type: object title: Collections description: Collections properties: id: type: integer description: Numeric ID of the collection public_id: type: - string - 'null' description: Public ID is a string version of the numeric ID workspace_id: type: integer description: ID reference to the workspace to which the collection belongs name: type: string description: Name of the products collection description: type: - string - 'null' description: Description of the collection collection_type: type: - string - 'null' description: Type of the collection (manual or automatic) product_ids: type: - array - 'null' description: Array of product IDs in the collection. Updating with invalid or non-workspace product IDs will result in an error. If IDs from existing products in the collection are left out, they will be removed from the collection. You can also remove all the products from a collection by providing an empty array. sort_method: type: - string - 'null' enum: - manually - name_asc - name_desc - price_desc - price_asc - added_at_desc - added_at_asc - created_at_desc - created_at_asc - null description: Method used to sort the products in the collection archived: type: - boolean - 'null' description: Whether the collection is archived image_id: type: - string - 'null' description: Collection image visible_in_store: type: - boolean - 'null' description: Whether the collection is visible in the online store current_path: type: - string - 'null' description: Current path of the collection seo_title: type: - string - 'null' description: Title of the collection for SEO purposes seo_description: type: - string - 'null' description: Description of the collection for SEO purposes seo_indexable: type: - string - 'null' description: Whether the collection is indexable by search engines social_image_id: type: - string - 'null' description: Image for social sharing created_at: type: - string - 'null' description: Date and time the collection was created updated_at: type: - string - 'null' description: Date and time the collection was last updated example: id: 1 public_id: bkDhwu workspace_id: 42000 name: Example Collection description: Example Description collection_type: manual product_ids: [] sort_method: manually archived: false image_id: null visible_in_store: true current_path: null seo_title: Example SEO Title seo_description: Example SEO Description seo_indexable: null social_image_id: null created_at: null updated_at: null required: - archived - collection_type - created_at - current_path - description - id - image_id - name - product_ids - public_id - seo_description - seo_indexable - seo_title - social_image_id - sort_method - updated_at - visible_in_store - workspace_id ProductsCollectionParametersUpdate: type: object title: Collections description: Collections required: [] properties: name: type: string description: Name of the products collection description: type: - string - 'null' description: Description of the collection collection_type: type: - string - 'null' description: Type of the collection (manual or automatic) product_ids: type: - array - 'null' description: Array of product IDs in the collection. Updating with invalid or non-workspace product IDs will result in an error. If IDs from existing products in the collection are left out, they will be removed from the collection. You can also remove all the products from a collection by providing an empty array. sort_method: type: - string - 'null' enum: - manually - name_asc - name_desc - price_desc - price_asc - added_at_desc - added_at_asc - created_at_desc - created_at_asc - null description: Method used to sort the products in the collection image_id: type: - string - 'null' description: Collection image visible_in_store: type: - boolean - 'null' description: Whether the collection is visible in the online store seo_title: type: - string - 'null' description: Title of the collection for SEO purposes seo_description: type: - string - 'null' description: Description of the collection for SEO purposes social_image_id: type: - string - 'null' description: Image for social sharing example: products_collection: name: Example Collection description: Example Description collection_type: manual product_ids: [] sort_method: manually image_id: null visible_in_store: true seo_title: Example SEO Title seo_description: Example SEO Description social_image_id: null ProductsCollectionParameters: type: object title: Collections description: Collections required: - name properties: name: type: string description: Name of the products collection description: type: - string - 'null' description: Description of the collection collection_type: type: - string - 'null' description: Type of the collection (manual or automatic) product_ids: type: - array - 'null' description: Array of product IDs in the collection. Updating with invalid or non-workspace product IDs will result in an error. If IDs from existing products in the collection are left out, they will be removed from the collection. You can also remove all the products from a collection by providing an empty array. sort_method: type: - string - 'null' enum: - manually - name_asc - name_desc - price_desc - price_asc - added_at_desc - added_at_asc - created_at_desc - created_at_asc - null description: Method used to sort the products in the collection image_id: type: - string - 'null' description: Collection image visible_in_store: type: - boolean - 'null' description: Whether the collection is visible in the online store seo_title: type: - string - 'null' description: Title of the collection for SEO purposes seo_description: type: - string - 'null' description: Description of the collection for SEO purposes social_image_id: type: - string - 'null' description: Image for social sharing example: products_collection: name: Example Collection description: Example Description collection_type: manual product_ids: [] sort_method: manually image_id: null visible_in_store: true seo_title: Example SEO Title seo_description: Example SEO Description social_image_id: null headers: Link: description: A direct link to the next page for the cursor-based pagination. It includes the `after` and the Pagination-Next ID value. schema: type: string PaginationNext: description: ID of the last item in the current response after which more records exist. You can use it in an `after` query parameter for cursor-based pagination to get to the next page. schema: type: string securitySchemes: BearerAuth: type: http scheme: bearer externalDocs: description: More in-depth guides and further resources url: https://developers.myclickfunnels.com