openapi: 3.1.0 info: title: Commerce Layer addresses buy_x_pay_y_promotions 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: buy_x_pay_y_promotions description: resource type paths: /buy_x_pay_y_promotions: get: operationId: GET/buy_x_pay_y_promotions summary: List all buy x pay y promotions description: List all buy x pay y promotions tags: - buy_x_pay_y_promotions responses: '200': description: A list of buy x pay y promotion objects content: application/vnd.api+json: schema: $ref: '#/components/schemas/buyXPayYPromotionResponseList' post: operationId: POST/buy_x_pay_y_promotions summary: Create a buy x pay y promotion description: Create a buy x pay y promotion tags: - buy_x_pay_y_promotions requestBody: required: true content: application/vnd.api+json: schema: $ref: '#/components/schemas/buyXPayYPromotionCreate' responses: '201': description: The created buy x pay y promotion object content: application/vnd.api+json: schema: $ref: '#/components/schemas/buyXPayYPromotionResponse' /buy_x_pay_y_promotions/{buyXPayYPromotionId}: get: operationId: GET/buy_x_pay_y_promotions/buyXPayYPromotionId summary: Retrieve a buy x pay y promotion description: Retrieve a buy x pay y promotion tags: - buy_x_pay_y_promotions parameters: - name: buyXPayYPromotionId in: path schema: type: string required: true description: The resource's id responses: '200': description: The buy x pay y promotion object content: application/vnd.api+json: schema: $ref: '#/components/schemas/buyXPayYPromotionResponse' patch: operationId: PATCH/buy_x_pay_y_promotions/buyXPayYPromotionId summary: Update a buy x pay y promotion description: Update a buy x pay y promotion tags: - buy_x_pay_y_promotions parameters: - name: buyXPayYPromotionId in: path schema: type: string required: true description: The resource's id requestBody: required: true content: application/vnd.api+json: schema: $ref: '#/components/schemas/buyXPayYPromotionUpdate' responses: '200': description: The updated buy x pay y promotion object content: application/vnd.api+json: schema: $ref: '#/components/schemas/buyXPayYPromotionResponse' delete: operationId: DELETE/buy_x_pay_y_promotions/buyXPayYPromotionId summary: Delete a buy x pay y promotion description: Delete a buy x pay y promotion tags: - buy_x_pay_y_promotions parameters: - name: buyXPayYPromotionId in: path schema: type: string required: true description: The resource's id responses: '204': description: No content components: schemas: buyXPayYPromotionCreate: required: - data type: object properties: data: type: object required: - type - attributes properties: type: type: string description: The resource's type enum: - buy_x_pay_y_promotions attributes: type: object properties: name: type: string description: The promotion's internal name. example: Personal promotion currency_code: type: string description: The international 3-letter currency code as defined by the ISO 4217 standard. example: EUR exclusive: type: boolean description: Indicates if the promotion will be applied exclusively, based on its priority score. example: true priority: type: integer description: The priority assigned to the promotion (lower means higher priority). example: 2 starts_at: type: string description: The activation date/time of this promotion. example: '2018-01-01T12:00:00.000Z' expires_at: type: string description: The expiration date/time of this promotion (must be after starts_at). example: '2018-01-02T12:00:00.000Z' total_usage_limit: type: integer description: The total number of times this promotion can be applied. When 'null' it means promotion can be applied infinite times. example: 5 _disable: type: boolean description: Send this attribute if you want to mark this resource as disabled. example: true _enable: type: boolean description: Send this attribute if you want to mark this resource as enabled. 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 x: type: integer description: The quantity which defines the threshold for free items (works by multiple of x). example: 3 y: type: integer description: The quantity which defines how many items you get for free, with the formula x-y. example: 2 cheapest_free: type: boolean description: Indicates if the cheapest items are discounted, allowing all of the SKUs in the associated list to be eligible for counting. example: true required: - name - starts_at - expires_at - x - y 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 order_amount_promotion_rule: required: - data type: object properties: data: type: object properties: type: type: string description: The resource's type enum: - order_amount_promotion_rules id: type: string description: Unique identifier for the resource (hash). example: XAyRWNUzyN sku_list_promotion_rule: required: - data type: object properties: data: type: object properties: type: type: string description: The resource's type enum: - sku_list_promotion_rules id: type: string description: Unique identifier for the resource (hash). example: XAyRWNUzyN coupon_codes_promotion_rule: required: - data type: object properties: data: type: object properties: type: type: string description: The resource's type enum: - coupon_codes_promotion_rules id: type: string description: Unique identifier for the resource (hash). example: XAyRWNUzyN custom_promotion_rule: required: - data type: object properties: data: type: object properties: type: type: string description: The resource's type enum: - custom_promotion_rules 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 buyXPayYPromotion: properties: data: properties: attributes: type: object properties: name: type: string description: The promotion's internal name. example: Personal promotion nullable: false type: type: string description: The promotion's type. example: percentage_discount_promotions nullable: false enum: - percentage_discount_promotions - free_shipping_promotions - buy_x_pay_y_promotions - free_gift_promotions - fixed_price_promotions - external_promotions - fixed_amount_promotions - flex_promotions currency_code: type: string description: The international 3-letter currency code as defined by the ISO 4217 standard. example: EUR nullable: true exclusive: type: boolean description: Indicates if the promotion will be applied exclusively, based on its priority score. example: true nullable: true priority: type: integer description: The priority assigned to the promotion (lower means higher priority). example: 2 nullable: true starts_at: type: string description: The activation date/time of this promotion. example: '2018-01-01T12:00:00.000Z' nullable: false expires_at: type: string description: The expiration date/time of this promotion (must be after starts_at). example: '2018-01-02T12:00:00.000Z' nullable: false total_usage_limit: type: integer description: The total number of times this promotion can be applied. When 'null' it means promotion can be applied infinite times. example: 5 nullable: true total_usage_count: type: integer description: The number of times this promotion has been applied. example: 2 nullable: true total_usage_reached: type: boolean description: Indicates if the promotion has been applied the total number of allowed times. example: false nullable: true active: type: boolean description: Indicates if the promotion is active (enabled and not expired). example: true nullable: true status: type: string description: The promotion status. One of 'disabled', 'expired', 'pending', 'active', or 'inactive'. example: pending nullable: true enum: - disabled - expired - pending - active - inactive weight: type: integer description: The weight of the promotion, computed by exclusivity, priority, type and start time. Determines the order of application, higher weight apply first. example: 112 nullable: true coupons_count: type: integer description: The total number of coupons created for this promotion. example: 2 nullable: true disabled_at: type: string description: Time at which this resource was disabled. example: '2018-01-01T12:00:00.000Z' 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 x: type: integer description: The quantity which defines the threshold for free items (works by multiple of x). example: 3 nullable: false y: type: integer description: The quantity which defines how many items you get for free, with the formula x-y. example: 2 nullable: false cheapest_free: type: boolean description: Indicates if the cheapest items are discounted, allowing all of the SKUs in the associated list to be eligible for counting. example: true nullable: true buyXPayYPromotionResponseList: type: object properties: data: type: array items: $ref: '#/components/schemas/buyXPayYPromotionResponse/properties/data' buyXPayYPromotionResponse: 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: - buy_x_pay_y_promotions links: type: object properties: self: type: string description: URL attributes: $ref: '#/components/schemas/buyXPayYPromotion/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 promotion_rules: 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: - promotion_rules id: type: string description: The resource ID order_amount_promotion_rule: 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: - order_amount_promotion_rule id: type: string description: The resource ID sku_list_promotion_rule: 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_promotion_rule id: type: string description: The resource ID coupon_codes_promotion_rule: 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: - coupon_codes_promotion_rule id: type: string description: The resource ID custom_promotion_rule: 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: - custom_promotion_rule 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 coupons: 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: - coupons 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 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 buyXPayYPromotionUpdate: required: - data type: object properties: data: type: object required: - type - id - attributes properties: type: type: string description: The resource's type enum: - buy_x_pay_y_promotions id: type: string description: Unique identifier for the resource (hash). example: XAyRWNUzyN attributes: type: object properties: name: type: string description: The promotion's internal name. example: Personal promotion nullable: false currency_code: type: string description: The international 3-letter currency code as defined by the ISO 4217 standard. example: EUR nullable: true exclusive: type: boolean description: Indicates if the promotion will be applied exclusively, based on its priority score. example: true nullable: false priority: type: integer description: The priority assigned to the promotion (lower means higher priority). example: 2 nullable: true starts_at: type: string description: The activation date/time of this promotion. example: '2018-01-01T12:00:00.000Z' nullable: false expires_at: type: string description: The expiration date/time of this promotion (must be after starts_at). example: '2018-01-02T12:00:00.000Z' nullable: false total_usage_limit: type: integer description: The total number of times this promotion can be applied. When 'null' it means promotion can be applied infinite times. example: 5 nullable: true _disable: type: boolean description: Send this attribute if you want to mark this resource as disabled. example: true nullable: false _enable: type: boolean description: Send this attribute if you want to mark this resource as enabled. 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 x: type: integer description: The quantity which defines the threshold for free items (works by multiple of x). example: 3 nullable: false y: type: integer description: The quantity which defines how many items you get for free, with the formula x-y. example: 2 nullable: false cheapest_free: type: boolean description: Indicates if the cheapest items are discounted, allowing all of the SKUs in the associated list to be eligible for counting. example: true nullable: false 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 order_amount_promotion_rule: required: - data type: object properties: data: type: object properties: type: type: string description: The resource's type enum: - order_amount_promotion_rules id: type: string description: Unique identifier for the resource (hash). example: XAyRWNUzyN sku_list_promotion_rule: required: - data type: object properties: data: type: object properties: type: type: string description: The resource's type enum: - sku_list_promotion_rules id: type: string description: Unique identifier for the resource (hash). example: XAyRWNUzyN coupon_codes_promotion_rule: required: - data type: object properties: data: type: object properties: type: type: string description: The resource's type enum: - coupon_codes_promotion_rules id: type: string description: Unique identifier for the resource (hash). example: XAyRWNUzyN custom_promotion_rule: required: - data type: object properties: data: type: object properties: type: type: string description: The resource's type enum: - custom_promotion_rules 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 securitySchemes: bearerAuth: type: http scheme: bearer bearerFormat: JWT