openapi: 3.1.0 info: title: Commerce Layer addresses bundles API version: 7.10.1 contact: name: API Support url: https://commercelayer.io email: support@commercelayer.io description: Headless Commerce for Global Brands. servers: - url: https://{your_organization_slug}.commercelayer.io/api description: API - url: https://core.commercelayer.io/users/sign_in description: Sign in - url: https://docs.commercelayer.io/api description: API reference security: - bearerAuth: [] tags: - name: bundles description: resource type paths: /bundles: get: operationId: GET/bundles summary: List all bundles description: List all bundles tags: - bundles responses: '200': description: A list of bundle objects content: application/vnd.api+json: schema: $ref: '#/components/schemas/bundleResponseList' post: operationId: POST/bundles summary: Create a bundle description: Create a bundle tags: - bundles requestBody: required: true content: application/vnd.api+json: schema: $ref: '#/components/schemas/bundleCreate' responses: '201': description: The created bundle object content: application/vnd.api+json: schema: $ref: '#/components/schemas/bundleResponse' /bundles/{bundleId}: get: operationId: GET/bundles/bundleId summary: Retrieve a bundle description: Retrieve a bundle tags: - bundles parameters: - name: bundleId in: path schema: type: string required: true description: The resource's id responses: '200': description: The bundle object content: application/vnd.api+json: schema: $ref: '#/components/schemas/bundleResponse' patch: operationId: PATCH/bundles/bundleId summary: Update a bundle description: Update a bundle tags: - bundles parameters: - name: bundleId in: path schema: type: string required: true description: The resource's id requestBody: required: true content: application/vnd.api+json: schema: $ref: '#/components/schemas/bundleUpdate' responses: '200': description: The updated bundle object content: application/vnd.api+json: schema: $ref: '#/components/schemas/bundleResponse' delete: operationId: DELETE/bundles/bundleId summary: Delete a bundle description: Delete a bundle tags: - bundles parameters: - name: bundleId in: path schema: type: string required: true description: The resource's id responses: '204': description: No content /orders/{orderId}/available_free_bundles: get: operationId: GET/orderId/available_free_bundles summary: Retrieve the available free bundles associated to the order description: Retrieve the available free bundles associated to the order tags: - bundles parameters: - name: orderId in: path schema: type: string required: true description: The resource's id responses: '200': description: The available_free_bundles associated to the order /sku_lists/{skuListId}/bundles: get: operationId: GET/skuListId/bundles summary: Retrieve the bundles associated to the SKU list description: Retrieve the bundles associated to the SKU list tags: - bundles parameters: - name: skuListId in: path schema: type: string required: true description: The resource's id responses: '200': description: The bundles associated to the SKU list components: schemas: bundleUpdate: required: - data type: object properties: data: type: object required: - type - id - attributes properties: type: type: string description: The resource's type enum: - bundles id: type: string description: Unique identifier for the resource (hash). example: XAyRWNUzyN attributes: type: object properties: code: type: string description: The bundle code, that uniquely identifies the bundle within the market. example: BUNDMM000000FFFFFFXLXX nullable: false name: type: string description: The internal name of the bundle. example: Men's Black T-shirt (XL) with Black Cap and Socks, all with White Logo nullable: false currency_code: type: string description: The international 3-letter currency code as defined by the ISO 4217 standard. example: EUR nullable: true description: type: string description: An internal description of the bundle. example: Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. nullable: true image_url: type: string description: The URL of an image that represents the bundle. example: https://img.yourdomain.com/bundles/xYZkjABcde.png nullable: true price_amount_cents: type: integer description: The bundle price amount for the associated market, in cents. example: 10000 nullable: true compare_at_amount_cents: type: integer description: The compared price amount, in cents. Useful to display a percentage discount. example: 13000 nullable: true _compute_price_amount: type: boolean description: Send this attribute if you want to compute the price_amount_cents as the sum of the prices of the bundle SKUs for the market. example: true nullable: false _compute_compare_at_amount: type: boolean description: Send this attribute if you want to compute the compare_at_amount_cents as the sum of the prices of the bundle SKUs for the market. example: true nullable: false _add_tags: type: string description: Comma separated list of tags to be added. Duplicates, invalid and non existing ones are discarded. Cannot be passed by sales channels. _remove_tags: type: string description: Comma separated list of tags to be removed. Duplicates, invalid and non existing ones are discarded. Cannot be passed by sales channels. reference: type: string description: A string that you can use to add any external identifier to the resource. This can be useful for integrating the resource to an external system, like an ERP, a marketing tool, a CRM, or whatever. example: ANY-EXTERNAL-REFEFERNCE nullable: true reference_origin: type: string description: Any identifier of the third party system that defines the reference code. example: ANY-EXTERNAL-REFEFERNCE-ORIGIN nullable: true metadata: type: object description: Set of key-value pairs that you can attach to the resource. This can be useful for storing additional information about the resource in a structured format. example: foo: bar nullable: true relationships: type: object properties: tags: required: - data type: object properties: data: type: object properties: type: type: string description: The resource's type enum: - tags id: type: string description: Unique identifier for the resource (hash). example: XAyRWNUzyN bundleResponseList: type: object properties: data: type: array items: $ref: '#/components/schemas/bundleResponse/properties/data' bundleCreate: required: - data type: object properties: data: type: object required: - type - attributes properties: type: type: string description: The resource's type enum: - bundles attributes: type: object properties: code: type: string description: The bundle code, that uniquely identifies the bundle within the market. example: BUNDMM000000FFFFFFXLXX name: type: string description: The internal name of the bundle. example: Men's Black T-shirt (XL) with Black Cap and Socks, all with White Logo currency_code: type: string description: The international 3-letter currency code as defined by the ISO 4217 standard. example: EUR description: type: string description: An internal description of the bundle. example: Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. image_url: type: string description: The URL of an image that represents the bundle. example: https://img.yourdomain.com/bundles/xYZkjABcde.png price_amount_cents: type: integer description: The bundle price amount for the associated market, in cents. example: 10000 compare_at_amount_cents: type: integer description: The compared price amount, in cents. Useful to display a percentage discount. example: 13000 _compute_price_amount: type: boolean description: Send this attribute if you want to compute the price_amount_cents as the sum of the prices of the bundle SKUs for the market. example: true _compute_compare_at_amount: type: boolean description: Send this attribute if you want to compute the compare_at_amount_cents as the sum of the prices of the bundle SKUs for the market. example: true reference: type: string description: A string that you can use to add any external identifier to the resource. This can be useful for integrating the resource to an external system, like an ERP, a marketing tool, a CRM, or whatever. example: ANY-EXTERNAL-REFEFERNCE reference_origin: type: string description: Any identifier of the third party system that defines the reference code. example: ANY-EXTERNAL-REFEFERNCE-ORIGIN metadata: type: object description: Set of key-value pairs that you can attach to the resource. This can be useful for storing additional information about the resource in a structured format. example: foo: bar required: - code - name relationships: type: object properties: market: required: - data type: object properties: data: type: object properties: type: type: string description: The resource's type enum: - markets id: type: string description: Unique identifier for the resource (hash). example: XAyRWNUzyN sku_list: required: - data type: object properties: data: type: object properties: type: type: string description: The resource's type enum: - sku_lists id: type: string description: Unique identifier for the resource (hash). example: XAyRWNUzyN tags: required: - data type: object properties: data: type: object properties: type: type: string description: The resource's type enum: - tags id: type: string description: Unique identifier for the resource (hash). example: XAyRWNUzyN required: - sku_list bundleResponse: type: object properties: data: type: object properties: id: type: string description: Unique identifier for the resource (hash). example: XAyRWNUzyN type: type: string description: The resource's type enum: - bundles links: type: object properties: self: type: string description: URL attributes: $ref: '#/components/schemas/bundle/properties/data/properties/attributes' relationships: type: object properties: market: type: object properties: links: type: object properties: self: type: string description: URL related: type: string description: URL data: type: object properties: type: type: string description: The resource's type enum: - market id: type: string description: The resource ID sku_list: type: object properties: links: type: object properties: self: type: string description: URL related: type: string description: URL data: type: object properties: type: type: string description: The resource's type enum: - sku_list id: type: string description: The resource ID skus: type: object properties: links: type: object properties: self: type: string description: URL related: type: string description: URL data: type: object properties: type: type: string description: The resource's type enum: - skus id: type: string description: The resource ID attachments: type: object properties: links: type: object properties: self: type: string description: URL related: type: string description: URL data: type: object properties: type: type: string description: The resource's type enum: - attachments id: type: string description: The resource ID events: type: object properties: links: type: object properties: self: type: string description: URL related: type: string description: URL data: type: object properties: type: type: string description: The resource's type enum: - events id: type: string description: The resource ID tags: type: object properties: links: type: object properties: self: type: string description: URL related: type: string description: URL data: type: object properties: type: type: string description: The resource's type enum: - tags id: type: string description: The resource ID event_stores: type: object properties: links: type: object properties: self: type: string description: URL related: type: string description: URL data: type: object properties: type: type: string description: The resource's type enum: - event_stores id: type: string description: The resource ID bundle: properties: data: properties: attributes: type: object properties: code: type: string description: The bundle code, that uniquely identifies the bundle within the market. example: BUNDMM000000FFFFFFXLXX nullable: false name: type: string description: The internal name of the bundle. example: Men's Black T-shirt (XL) with Black Cap and Socks, all with White Logo nullable: false currency_code: type: string description: The international 3-letter currency code as defined by the ISO 4217 standard. example: EUR nullable: true description: type: string description: An internal description of the bundle. example: Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. nullable: true image_url: type: string description: The URL of an image that represents the bundle. example: https://img.yourdomain.com/bundles/xYZkjABcde.png nullable: true do_not_ship: type: boolean description: Indicates if the bundle doesn't generate shipments (all sku_list's SKUs must be do_not_ship). example: false nullable: true do_not_track: type: boolean description: Indicates if the bundle doesn't track the stock inventory (all sku_list's SKUs must be do_not_track). example: false nullable: true price_amount_cents: type: integer description: The bundle price amount for the associated market, in cents. example: 10000 nullable: true price_amount_float: type: number description: The bundle price amount for the associated market, float. example: 100.0 nullable: true formatted_price_amount: type: string description: The bundle price amount for the associated market, formatted. example: €100,00 nullable: true compare_at_amount_cents: type: integer description: The compared price amount, in cents. Useful to display a percentage discount. example: 13000 nullable: true compare_at_amount_float: type: number description: The compared price amount, float. example: 130.0 nullable: true formatted_compare_at_amount: type: string description: The compared price amount, formatted. example: €130,00 nullable: true skus_count: type: integer description: The total number of SKUs in the bundle. example: 2 nullable: true created_at: type: string description: Time at which the resource was created. example: '2018-01-01T12:00:00.000Z' nullable: false updated_at: type: string description: Time at which the resource was last updated. example: '2018-01-01T12:00:00.000Z' nullable: false reference: type: string description: A string that you can use to add any external identifier to the resource. This can be useful for integrating the resource to an external system, like an ERP, a marketing tool, a CRM, or whatever. example: ANY-EXTERNAL-REFEFERNCE nullable: true reference_origin: type: string description: Any identifier of the third party system that defines the reference code. example: ANY-EXTERNAL-REFEFERNCE-ORIGIN nullable: true metadata: type: object description: Set of key-value pairs that you can attach to the resource. This can be useful for storing additional information about the resource in a structured format. example: foo: bar nullable: true securitySchemes: bearerAuth: type: http scheme: bearer bearerFormat: JWT