Skip to main content

API Change Log - Cart

🧩 Service: Cart​

🔧 Operation: getCoupons​

🔹 Change 1​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: CouponsResponseObject --> CouponObj --> CouponDateMeta
  • Schema Action: PROPERTY_ADDED
  • Path: paths.getCoupons.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.items.items.properties.date_meta.properties.approved_on
  • New Schema:
{
"type": "string",
"default": null,
"nullable": true,
"format": "date-time"
}

🔹 Change 2​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: CouponsResponseObject --> CouponObj --> CouponDateMeta
  • Schema Action: PROPERTY_ADDED
  • Path: paths.getCoupons.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.items.items.properties.date_meta.properties.rejected_on
  • New Schema:
{
"type": "string",
"default": null,
"nullable": true,
"format": "date-time"
}

🔹 Change 3​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: CouponsResponseObject --> CouponObj --> CouponDateMeta
  • Schema Action: PROPERTY_ADDED
  • Path: paths.getCoupons.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.items.items.properties.date_meta.properties.reviewed_on
  • New Schema:
{
"type": "string",
"default": null,
"nullable": true,
"format": "date-time"
}

🔹 Change 4​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: CouponsResponseObject --> CouponObj --> CouponAuthor
  • Schema Action: PROPERTY_ADDED
  • Path: paths.getCoupons.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.items.items.properties.author.properties.approved_by
  • New Schema:
{
"type": "string",
"default": null,
"nullable": true
}

🔹 Change 5​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: CouponsResponseObject --> CouponObj --> CouponAuthor
  • Schema Action: PROPERTY_ADDED
  • Path: paths.getCoupons.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.items.items.properties.author.properties.reviewed_by
  • New Schema:
{
"type": "string",
"default": null,
"nullable": true
}

🔹 Change 6​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: CouponsResponseObject --> CouponObj --> CouponAuthor
  • Schema Action: PROPERTY_ADDED
  • Path: paths.getCoupons.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.items.items.properties.author.properties.rejected_by
  • New Schema:
{
"type": "string",
"default": null,
"nullable": true
}

🔹 Change 7​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: CouponsResponseObject --> CouponObj --> State
  • Schema Action: PROPERTY_ADDED
  • Path: paths.getCoupons.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.items.items.properties.state.properties.is_active
  • New Schema:
{
"type": "boolean",
"default": true
}

🔹 Change 8​

  • Action: remove
  • Type: breaking
  • xGroup: N/A
  • Schema Ref: CouponsResponse --> CouponAdd
  • Schema Action: PROPERTY_REMOVED
  • Path: paths.getCoupons.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.items.items.properties.restrictions

🔹 Change 9​

  • Action: remove
  • Type: breaking
  • xGroup: N/A
  • Schema Ref: CouponsResponse --> CouponAdd
  • Schema Action: PROPERTY_REMOVED
  • Path: paths.getCoupons.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.items.items.properties.validation

🔹 Change 10​

  • Action: remove
  • Type: breaking
  • xGroup: N/A
  • Schema Ref: CouponsResponse --> CouponAdd
  • Schema Action: PROPERTY_REMOVED
  • Path: paths.getCoupons.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.items.items.properties.action

🔹 Change 11​

  • Action: remove
  • Type: breaking
  • xGroup: N/A
  • Schema Ref: CouponsResponse --> CouponAdd
  • Schema Action: PROPERTY_REMOVED
  • Path: paths.getCoupons.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.items.items.properties.tags

🔹 Change 12​

  • Action: remove
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: N/A
  • Schema Action: N/A
  • Path: paths.getCoupons.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.items.items.properties._schedule.properties.end.format

🔹 Change 13​

  • Action: remove
  • Type: breaking
  • xGroup: N/A
  • Schema Ref: N/A
  • Schema Action: N/A
  • Path: paths.getCoupons.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.items.items.properties._schedule.properties.end.default

🔹 Change 14​

  • Action: remove
  • Type: breaking
  • xGroup: N/A
  • Schema Ref: CouponsResponse --> CouponAdd --> CouponSchedule
  • Schema Action: NULLABLE_REMOVED
  • Path: paths.getCoupons.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.items.items.properties._schedule.properties.end.nullable

🔹 Change 15​

  • Action: remove
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: N/A
  • Schema Action: N/A
  • Path: paths.getCoupons.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.items.items.properties._schedule.properties.start.format

🔹 Change 16​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: N/A
  • Schema Action: N/A
  • Path: paths.getCoupons.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.items.items.properties._schedule.properties.next_schedule.items.properties
  • New Schema:
{
"start": {
"type": "string"
},
"end": {
"type": "string"
}
}

🔹 Change 17​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: CouponsResponseObject --> CouponObj --> CouponSchedule
  • Schema Action: PROPERTY_ADDED
  • Path: paths.getCoupons.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.items.items.properties._schedule.properties.status
  • New Schema:
{
"type": "string",
"enum": [
"approved",
"rejected",
"draft",
"review"
]
}

🔹 Change 18​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: CouponsResponseObject --> CouponObj --> RuleDefinition
  • Schema Action: ENUM_VALUE_ADDED
  • Path: paths.getCoupons.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.items.items.properties.rule_definition.properties.scope.items.enum.7
  • New Schema:
"exclude_category_id"

🔹 Change 19​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: CouponsResponseObject --> CouponObj --> RuleDefinition
  • Schema Action: ENUM_VALUE_ADDED
  • Path: paths.getCoupons.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.items.items.properties.rule_definition.properties.scope.items.enum.8
  • New Schema:
"tags"

🔹 Change 20​

  • Action: remove
  • Type: breaking
  • xGroup: N/A
  • Schema Ref: CouponsResponse --> CouponAdd --> RuleDefinition
  • Schema Action: REQUIRED_FIELD_REMOVED
  • Path: paths.getCoupons.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.items.items.properties.rule_definition.required.1

🔹 Change 21​

  • Action: remove
  • Type: breaking
  • xGroup: N/A
  • Schema Ref: CouponsResponse --> CouponAdd --> RuleDefinition
  • Schema Action: REQUIRED_FIELD_REMOVED
  • Path: paths.getCoupons.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.items.items.properties.rule_definition.required.3

🔹 Change 22​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: CouponsResponseObject --> CouponObj
  • Schema Action: PROPERTY_ADDED
  • Path: paths.getCoupons.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.items.items.properties.draft
  • New Schema:
{
"type": "number",
"nullable": true
}

🔹 Change 23​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: CouponsResponseObject --> CouponObj
  • Schema Action: PROPERTY_ADDED
  • Path: paths.getCoupons.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.items.items.properties.review
  • New Schema:
{
"type": "number",
"nullable": true
}

🔹 Change 24​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: CouponsResponseObject --> CouponObj
  • Schema Action: PROPERTY_ADDED
  • Path: paths.getCoupons.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.items.items.properties.rejected
  • New Schema:
{
"type": "number",
"nullable": true
}

🔹 Change 25​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: CouponsResponseObject --> CouponObj
  • Schema Action: PROPERTY_ADDED
  • Path: paths.getCoupons.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.items.items.properties.approved
  • New Schema:
{
"type": "number",
"nullable": true
}

🔹 Change 26​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: CouponsResponseObject --> CouponObj
  • Schema Action: PROPERTY_ADDED
  • Path: paths.getCoupons.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.items.items.properties.medias
  • New Schema:
{
"type": "array",
"items": {
"$ref": "#/components/schemas/CouponMedias"
}
}

🔹 Change 27​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: CouponsResponseObject --> CouponObj
  • Schema Action: PROPERTY_ADDED
  • Path: paths.getCoupons.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.items.items.properties.is_archived
  • New Schema:
{
"type": "boolean"
}

🔹 Change 28​

  • Action: remove
  • Type: breaking
  • xGroup: N/A
  • Schema Ref: CouponsResponse --> CouponAdd
  • Schema Action: REQUIRED_FIELD_REMOVED
  • Path: paths.getCoupons.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.items.items.required.2

🔹 Change 29​

  • Action: remove
  • Type: breaking
  • xGroup: N/A
  • Schema Ref: CouponsResponse --> CouponAdd
  • Schema Action: REQUIRED_FIELD_REMOVED
  • Path: paths.getCoupons.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.items.items.required.4

🔹 Change 30​

  • Action: remove
  • Type: breaking
  • xGroup: N/A
  • Schema Ref: CouponsResponse --> CouponAdd
  • Schema Action: REQUIRED_FIELD_REMOVED
  • Path: paths.getCoupons.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.items.items.required.7

🔹 Change 31​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: CouponsResponseObject --> Page
  • Schema Action: PROPERTY_ADDED
  • Path: paths.getCoupons.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.page.properties.page
  • New Schema:
{
"type": "integer",
"format": "int32",
"description": "Page requested"
}

🔹 Change 32​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: CouponsResponseObject --> Page
  • Schema Action: PROPERTY_ADDED
  • Path: paths.getCoupons.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.page.properties.last_id
  • New Schema:
{
"nullable": true,
"type": "string",
"description": "Last objects id"
}

🔹 Change 33​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: CouponsResponseObject
  • Schema Action: PROPERTY_ADDED
  • Path: paths.getCoupons.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.draft
  • New Schema:
{
"type": "number",
"nullable": true
}

🔹 Change 34​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: CouponsResponseObject
  • Schema Action: PROPERTY_ADDED
  • Path: paths.getCoupons.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.review
  • New Schema:
{
"type": "number",
"nullable": true
}

🔹 Change 35​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: CouponsResponseObject
  • Schema Action: PROPERTY_ADDED
  • Path: paths.getCoupons.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.rejected
  • New Schema:
{
"type": "number",
"nullable": true
}

🔹 Change 36​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: CouponsResponseObject
  • Schema Action: PROPERTY_ADDED
  • Path: paths.getCoupons.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.approved
  • New Schema:
{
"type": "number",
"nullable": true
}

🔹 Change 37​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: CouponsResponseObject
  • Schema Action: PROPERTY_ADDED
  • Path: paths.getCoupons.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.success
  • New Schema:
{
"type": "boolean"
}

🔹 Change 38​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: N/A
  • Schema Action: N/A
  • Path: paths.getCoupons.methodTypePlaceHolder.security
  • New Schema:
[
{
"oauth2": [
"application/cart/read"
]
}
]

🔧 Operation: createCoupon​

🔹 Change 1​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: CouponsResponseObject --> CouponObj --> CouponDateMeta
  • Schema Action: PROPERTY_ADDED
  • Path: paths.createCoupon.methodTypePlaceHolder.requestBody.content.application/json.schema.properties.date_meta.properties.approved_on
  • New Schema:
{
"type": "string",
"default": null,
"nullable": true,
"format": "date-time"
}

🔹 Change 2​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: CouponsResponseObject --> CouponObj --> CouponDateMeta
  • Schema Action: PROPERTY_ADDED
  • Path: paths.createCoupon.methodTypePlaceHolder.requestBody.content.application/json.schema.properties.date_meta.properties.rejected_on
  • New Schema:
{
"type": "string",
"default": null,
"nullable": true,
"format": "date-time"
}

🔹 Change 3​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: CouponsResponseObject --> CouponObj --> CouponDateMeta
  • Schema Action: PROPERTY_ADDED
  • Path: paths.createCoupon.methodTypePlaceHolder.requestBody.content.application/json.schema.properties.date_meta.properties.reviewed_on
  • New Schema:
{
"type": "string",
"default": null,
"nullable": true,
"format": "date-time"
}

🔹 Change 4​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: CouponsResponseObject --> CouponObj --> CouponAuthor
  • Schema Action: PROPERTY_ADDED
  • Path: paths.createCoupon.methodTypePlaceHolder.requestBody.content.application/json.schema.properties.author.properties.approved_by
  • New Schema:
{
"type": "string",
"default": null,
"nullable": true
}

🔹 Change 5​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: CouponsResponseObject --> CouponObj --> CouponAuthor
  • Schema Action: PROPERTY_ADDED
  • Path: paths.createCoupon.methodTypePlaceHolder.requestBody.content.application/json.schema.properties.author.properties.reviewed_by
  • New Schema:
{
"type": "string",
"default": null,
"nullable": true
}

🔹 Change 6​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: CouponsResponseObject --> CouponObj --> CouponAuthor
  • Schema Action: PROPERTY_ADDED
  • Path: paths.createCoupon.methodTypePlaceHolder.requestBody.content.application/json.schema.properties.author.properties.rejected_by
  • New Schema:
{
"type": "string",
"default": null,
"nullable": true
}

🔹 Change 7​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: CouponsResponseObject --> CouponObj --> State
  • Schema Action: PROPERTY_ADDED
  • Path: paths.createCoupon.methodTypePlaceHolder.requestBody.content.application/json.schema.properties.state.properties.is_active
  • New Schema:
{
"type": "boolean",
"default": true
}

🔹 Change 8​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: CouponAdd --> Restrictions --> PaymentModes
  • Schema Action: PROPERTY_ADDED
  • Path: paths.createCoupon.methodTypePlaceHolder.requestBody.content.application/json.schema.properties.restrictions.properties.payments.additionalProperties.properties.meta
  • New Schema:
{
"$ref": "#/components/schemas/CouponPaymentMeta"
}

🔹 Change 9​

  • Action: remove
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: N/A
  • Schema Action: N/A
  • Path: paths.createCoupon.methodTypePlaceHolder.requestBody.content.application/json.schema.properties._schedule.properties.end.format

🔹 Change 10​

  • Action: remove
  • Type: breaking
  • xGroup: N/A
  • Schema Ref: N/A
  • Schema Action: N/A
  • Path: paths.createCoupon.methodTypePlaceHolder.requestBody.content.application/json.schema.properties._schedule.properties.end.default

🔹 Change 11​

  • Action: remove
  • Type: breaking
  • xGroup: N/A
  • Schema Ref: CouponsResponse --> CouponAdd --> CouponSchedule
  • Schema Action: NULLABLE_REMOVED
  • Path: paths.createCoupon.methodTypePlaceHolder.requestBody.content.application/json.schema.properties._schedule.properties.end.nullable

🔹 Change 12​

  • Action: remove
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: N/A
  • Schema Action: N/A
  • Path: paths.createCoupon.methodTypePlaceHolder.requestBody.content.application/json.schema.properties._schedule.properties.start.format

🔹 Change 13​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: N/A
  • Schema Action: N/A
  • Path: paths.createCoupon.methodTypePlaceHolder.requestBody.content.application/json.schema.properties._schedule.properties.next_schedule.items.properties
  • New Schema:
{
"start": {
"type": "string"
},
"end": {
"type": "string"
}
}

🔹 Change 14​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: CouponsResponseObject --> CouponObj --> CouponSchedule
  • Schema Action: PROPERTY_ADDED
  • Path: paths.createCoupon.methodTypePlaceHolder.requestBody.content.application/json.schema.properties._schedule.properties.status
  • New Schema:
{
"type": "string",
"enum": [
"approved",
"rejected",
"draft",
"review"
]
}

🔹 Change 15​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: CouponsResponseObject --> CouponObj --> RuleDefinition
  • Schema Action: ENUM_VALUE_ADDED
  • Path: paths.createCoupon.methodTypePlaceHolder.requestBody.content.application/json.schema.properties.rule_definition.properties.scope.items.enum.7
  • New Schema:
"exclude_category_id"

🔹 Change 16​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: CouponsResponseObject --> CouponObj --> RuleDefinition
  • Schema Action: ENUM_VALUE_ADDED
  • Path: paths.createCoupon.methodTypePlaceHolder.requestBody.content.application/json.schema.properties.rule_definition.properties.scope.items.enum.8
  • New Schema:
"tags"

🔹 Change 17​

  • Action: remove
  • Type: breaking
  • xGroup: N/A
  • Schema Ref: CouponsResponse --> CouponAdd --> RuleDefinition
  • Schema Action: REQUIRED_FIELD_REMOVED
  • Path: paths.createCoupon.methodTypePlaceHolder.requestBody.content.application/json.schema.properties.rule_definition.required.1

🔹 Change 18​

  • Action: remove
  • Type: breaking
  • xGroup: N/A
  • Schema Ref: CouponsResponse --> CouponAdd --> RuleDefinition
  • Schema Action: REQUIRED_FIELD_REMOVED
  • Path: paths.createCoupon.methodTypePlaceHolder.requestBody.content.application/json.schema.properties.rule_definition.required.3

🔹 Change 19​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: CouponDetailResponseObject
  • Schema Action: PROPERTY_ADDED
  • Path: paths.createCoupon.methodTypePlaceHolder.responses.201.content.application/json.schema.properties.data
  • New Schema:
{
"$ref": "#/components/schemas/CouponDetailObj"
}

🔹 Change 20​

  • Action: remove
  • Type: breaking
  • xGroup: N/A
  • Schema Ref: OperationErrorResponse
  • Schema Action: PROPERTY_REMOVED
  • Path: paths.createCoupon.methodTypePlaceHolder.responses.400.content.application/json.schema.properties.error

🔹 Change 21​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: OperationErrorResponseObject
  • Schema Action: PROPERTY_ADDED
  • Path: paths.createCoupon.methodTypePlaceHolder.responses.400.content.application/json.schema.properties.errors
  • New Schema:
{
"type": "object",
"additionalProperties": true,
"description": "Response error message in detail"
}

🔹 Change 22​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: OperationErrorResponseObject
  • Schema Action: PROPERTY_ADDED
  • Path: paths.createCoupon.methodTypePlaceHolder.responses.400.content.application/json.schema.properties.meta
  • New Schema:
{
"type": "object",
"additionalProperties": true,
"description": "Response meta in detail"
}

🔹 Change 23​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: N/A
  • Schema Action: N/A
  • Path: paths.createCoupon.methodTypePlaceHolder.security
  • New Schema:
[
{
"oauth2": [
"application/cart/write"
]
}
]

🔧 Operation: getCouponById​

🔹 Change 1​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: CouponsResponseObject --> CouponObj --> CouponDateMeta
  • Schema Action: PROPERTY_ADDED
  • Path: paths.getCouponById.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.date_meta.properties.approved_on
  • New Schema:
{
"type": "string",
"default": null,
"nullable": true,
"format": "date-time"
}

🔹 Change 2​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: CouponsResponseObject --> CouponObj --> CouponDateMeta
  • Schema Action: PROPERTY_ADDED
  • Path: paths.getCouponById.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.date_meta.properties.rejected_on
  • New Schema:
{
"type": "string",
"default": null,
"nullable": true,
"format": "date-time"
}

🔹 Change 3​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: CouponsResponseObject --> CouponObj --> CouponDateMeta
  • Schema Action: PROPERTY_ADDED
  • Path: paths.getCouponById.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.date_meta.properties.reviewed_on
  • New Schema:
{
"type": "string",
"default": null,
"nullable": true,
"format": "date-time"
}

🔹 Change 4​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: CouponsResponseObject --> CouponObj --> CouponAuthor
  • Schema Action: PROPERTY_ADDED
  • Path: paths.getCouponById.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.author.properties.approved_by
  • New Schema:
{
"type": "string",
"default": null,
"nullable": true
}

🔹 Change 5​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: CouponsResponseObject --> CouponObj --> CouponAuthor
  • Schema Action: PROPERTY_ADDED
  • Path: paths.getCouponById.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.author.properties.reviewed_by
  • New Schema:
{
"type": "string",
"default": null,
"nullable": true
}

🔹 Change 6​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: CouponsResponseObject --> CouponObj --> CouponAuthor
  • Schema Action: PROPERTY_ADDED
  • Path: paths.getCouponById.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.author.properties.rejected_by
  • New Schema:
{
"type": "string",
"default": null,
"nullable": true
}

🔹 Change 7​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: CouponsResponseObject --> CouponObj --> State
  • Schema Action: PROPERTY_ADDED
  • Path: paths.getCouponById.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.state.properties.is_active
  • New Schema:
{
"type": "boolean",
"default": true
}

🔹 Change 8​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: CouponAdd --> Restrictions --> PaymentModes
  • Schema Action: PROPERTY_ADDED
  • Path: paths.getCouponById.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.restrictions.properties.payments.additionalProperties.properties.meta
  • New Schema:
{
"$ref": "#/components/schemas/CouponPaymentMeta"
}

🔹 Change 9​

  • Action: remove
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: N/A
  • Schema Action: N/A
  • Path: paths.getCouponById.methodTypePlaceHolder.responses.200.content.application/json.schema.properties._schedule.properties.end.format

🔹 Change 10​

  • Action: remove
  • Type: breaking
  • xGroup: N/A
  • Schema Ref: N/A
  • Schema Action: N/A
  • Path: paths.getCouponById.methodTypePlaceHolder.responses.200.content.application/json.schema.properties._schedule.properties.end.default

🔹 Change 11​

  • Action: remove
  • Type: breaking
  • xGroup: N/A
  • Schema Ref: CouponsResponse --> CouponAdd --> CouponSchedule
  • Schema Action: NULLABLE_REMOVED
  • Path: paths.getCouponById.methodTypePlaceHolder.responses.200.content.application/json.schema.properties._schedule.properties.end.nullable

🔹 Change 12​

  • Action: remove
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: N/A
  • Schema Action: N/A
  • Path: paths.getCouponById.methodTypePlaceHolder.responses.200.content.application/json.schema.properties._schedule.properties.start.format

🔹 Change 13​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: N/A
  • Schema Action: N/A
  • Path: paths.getCouponById.methodTypePlaceHolder.responses.200.content.application/json.schema.properties._schedule.properties.next_schedule.items.properties
  • New Schema:
{
"start": {
"type": "string"
},
"end": {
"type": "string"
}
}

🔹 Change 14​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: CouponsResponseObject --> CouponObj --> CouponSchedule
  • Schema Action: PROPERTY_ADDED
  • Path: paths.getCouponById.methodTypePlaceHolder.responses.200.content.application/json.schema.properties._schedule.properties.status
  • New Schema:
{
"type": "string",
"enum": [
"approved",
"rejected",
"draft",
"review"
]
}

🔹 Change 15​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: CouponsResponseObject --> CouponObj --> RuleDefinition
  • Schema Action: ENUM_VALUE_ADDED
  • Path: paths.getCouponById.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.rule_definition.properties.scope.items.enum.7
  • New Schema:
"exclude_category_id"

🔹 Change 16​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: CouponsResponseObject --> CouponObj --> RuleDefinition
  • Schema Action: ENUM_VALUE_ADDED
  • Path: paths.getCouponById.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.rule_definition.properties.scope.items.enum.8
  • New Schema:
"tags"

🔹 Change 17​

  • Action: remove
  • Type: breaking
  • xGroup: N/A
  • Schema Ref: CouponsResponse --> CouponAdd --> RuleDefinition
  • Schema Action: REQUIRED_FIELD_REMOVED
  • Path: paths.getCouponById.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.rule_definition.required.1

🔹 Change 18​

  • Action: remove
  • Type: breaking
  • xGroup: N/A
  • Schema Ref: CouponsResponse --> CouponAdd --> RuleDefinition
  • Schema Action: REQUIRED_FIELD_REMOVED
  • Path: paths.getCouponById.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.rule_definition.required.3

🔹 Change 19​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: CouponUpdate
  • Schema Action: PROPERTY_ADDED
  • Path: paths.getCouponById.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.coupon_type
  • New Schema:
{
"type": "string",
"enum": [
"single",
"bulk"
]
}

🔹 Change 20​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: CouponUpdate
  • Schema Action: PROPERTY_ADDED
  • Path: paths.getCouponById.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.coupon_prefix
  • New Schema:
{
"type": "string"
}

🔹 Change 21​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: CouponUpdate
  • Schema Action: PROPERTY_ADDED
  • Path: paths.getCouponById.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.coupon_counts
  • New Schema:
{
"type": "number"
}

🔹 Change 22​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: CouponUpdate
  • Schema Action: PROPERTY_ADDED
  • Path: paths.getCouponById.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.medias
  • New Schema:
{
"type": "array",
"items": {
"$ref": "#/components/schemas/CouponMedias"
}
}

🔹 Change 23​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: CouponUpdate
  • Schema Action: PROPERTY_ADDED
  • Path: paths.getCouponById.methodTypePlaceHolder.responses.200.content.application/json.schema.properties._id
  • New Schema:
{
"type": "string",
"description": "Unique idenfier of coupon."
}

🔹 Change 24​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: CouponUpdate
  • Schema Action: PROPERTY_ADDED
  • Path: paths.getCouponById.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.is_archived
  • New Schema:
{
"type": "boolean",
"description": "Flag to verify if coupon is archived or not."
}

🔹 Change 25​

  • Action: remove
  • Type: breaking
  • xGroup: N/A
  • Schema Ref: OperationErrorResponse
  • Schema Action: PROPERTY_REMOVED
  • Path: paths.getCouponById.methodTypePlaceHolder.responses.404.content.application/json.schema.properties.error

🔹 Change 26​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: OperationErrorResponseObject
  • Schema Action: PROPERTY_ADDED
  • Path: paths.getCouponById.methodTypePlaceHolder.responses.404.content.application/json.schema.properties.errors
  • New Schema:
{
"type": "object",
"additionalProperties": true,
"description": "Response error message in detail"
}

🔹 Change 27​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: OperationErrorResponseObject
  • Schema Action: PROPERTY_ADDED
  • Path: paths.getCouponById.methodTypePlaceHolder.responses.404.content.application/json.schema.properties.meta
  • New Schema:
{
"type": "object",
"additionalProperties": true,
"description": "Response meta in detail"
}

🔹 Change 28​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: N/A
  • Schema Action: N/A
  • Path: paths.getCouponById.methodTypePlaceHolder.security
  • New Schema:
[
{
"oauth2": [
"application/cart/read"
]
}
]

🔧 Operation: updateCoupon​

🔹 Change 1​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: CouponsResponseObject --> CouponObj --> CouponDateMeta
  • Schema Action: PROPERTY_ADDED
  • Path: paths.updateCoupon.methodTypePlaceHolder.requestBody.content.application/json.schema.properties.date_meta.properties.approved_on
  • New Schema:
{
"type": "string",
"default": null,
"nullable": true,
"format": "date-time"
}

🔹 Change 2​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: CouponsResponseObject --> CouponObj --> CouponDateMeta
  • Schema Action: PROPERTY_ADDED
  • Path: paths.updateCoupon.methodTypePlaceHolder.requestBody.content.application/json.schema.properties.date_meta.properties.rejected_on
  • New Schema:
{
"type": "string",
"default": null,
"nullable": true,
"format": "date-time"
}

🔹 Change 3​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: CouponsResponseObject --> CouponObj --> CouponDateMeta
  • Schema Action: PROPERTY_ADDED
  • Path: paths.updateCoupon.methodTypePlaceHolder.requestBody.content.application/json.schema.properties.date_meta.properties.reviewed_on
  • New Schema:
{
"type": "string",
"default": null,
"nullable": true,
"format": "date-time"
}

🔹 Change 4​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: CouponsResponseObject --> CouponObj --> CouponAuthor
  • Schema Action: PROPERTY_ADDED
  • Path: paths.updateCoupon.methodTypePlaceHolder.requestBody.content.application/json.schema.properties.author.properties.approved_by
  • New Schema:
{
"type": "string",
"default": null,
"nullable": true
}

🔹 Change 5​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: CouponsResponseObject --> CouponObj --> CouponAuthor
  • Schema Action: PROPERTY_ADDED
  • Path: paths.updateCoupon.methodTypePlaceHolder.requestBody.content.application/json.schema.properties.author.properties.reviewed_by
  • New Schema:
{
"type": "string",
"default": null,
"nullable": true
}

🔹 Change 6​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: CouponsResponseObject --> CouponObj --> CouponAuthor
  • Schema Action: PROPERTY_ADDED
  • Path: paths.updateCoupon.methodTypePlaceHolder.requestBody.content.application/json.schema.properties.author.properties.rejected_by
  • New Schema:
{
"type": "string",
"default": null,
"nullable": true
}

🔹 Change 7​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: CouponsResponseObject --> CouponObj --> State
  • Schema Action: PROPERTY_ADDED
  • Path: paths.updateCoupon.methodTypePlaceHolder.requestBody.content.application/json.schema.properties.state.properties.is_active
  • New Schema:
{
"type": "boolean",
"default": true
}

🔹 Change 8​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: CouponAdd --> Restrictions --> PaymentModes
  • Schema Action: PROPERTY_ADDED
  • Path: paths.updateCoupon.methodTypePlaceHolder.requestBody.content.application/json.schema.properties.restrictions.properties.payments.additionalProperties.properties.meta
  • New Schema:
{
"$ref": "#/components/schemas/CouponPaymentMeta"
}

🔹 Change 9​

  • Action: remove
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: N/A
  • Schema Action: N/A
  • Path: paths.updateCoupon.methodTypePlaceHolder.requestBody.content.application/json.schema.properties._schedule.properties.end.format

🔹 Change 10​

  • Action: remove
  • Type: breaking
  • xGroup: N/A
  • Schema Ref: N/A
  • Schema Action: N/A
  • Path: paths.updateCoupon.methodTypePlaceHolder.requestBody.content.application/json.schema.properties._schedule.properties.end.default

🔹 Change 11​

  • Action: remove
  • Type: breaking
  • xGroup: N/A
  • Schema Ref: CouponsResponse --> CouponAdd --> CouponSchedule
  • Schema Action: NULLABLE_REMOVED
  • Path: paths.updateCoupon.methodTypePlaceHolder.requestBody.content.application/json.schema.properties._schedule.properties.end.nullable

🔹 Change 12​

  • Action: remove
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: N/A
  • Schema Action: N/A
  • Path: paths.updateCoupon.methodTypePlaceHolder.requestBody.content.application/json.schema.properties._schedule.properties.start.format

🔹 Change 13​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: N/A
  • Schema Action: N/A
  • Path: paths.updateCoupon.methodTypePlaceHolder.requestBody.content.application/json.schema.properties._schedule.properties.next_schedule.items.properties
  • New Schema:
{
"start": {
"type": "string"
},
"end": {
"type": "string"
}
}

🔹 Change 14​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: CouponsResponseObject --> CouponObj --> CouponSchedule
  • Schema Action: PROPERTY_ADDED
  • Path: paths.updateCoupon.methodTypePlaceHolder.requestBody.content.application/json.schema.properties._schedule.properties.status
  • New Schema:
{
"type": "string",
"enum": [
"approved",
"rejected",
"draft",
"review"
]
}

🔹 Change 15​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: CouponsResponseObject --> CouponObj --> RuleDefinition
  • Schema Action: ENUM_VALUE_ADDED
  • Path: paths.updateCoupon.methodTypePlaceHolder.requestBody.content.application/json.schema.properties.rule_definition.properties.scope.items.enum.7
  • New Schema:
"exclude_category_id"

🔹 Change 16​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: CouponsResponseObject --> CouponObj --> RuleDefinition
  • Schema Action: ENUM_VALUE_ADDED
  • Path: paths.updateCoupon.methodTypePlaceHolder.requestBody.content.application/json.schema.properties.rule_definition.properties.scope.items.enum.8
  • New Schema:
"tags"

🔹 Change 17​

  • Action: remove
  • Type: breaking
  • xGroup: N/A
  • Schema Ref: CouponsResponse --> CouponAdd --> RuleDefinition
  • Schema Action: REQUIRED_FIELD_REMOVED
  • Path: paths.updateCoupon.methodTypePlaceHolder.requestBody.content.application/json.schema.properties.rule_definition.required.1

🔹 Change 18​

  • Action: remove
  • Type: breaking
  • xGroup: N/A
  • Schema Ref: CouponsResponse --> CouponAdd --> RuleDefinition
  • Schema Action: REQUIRED_FIELD_REMOVED
  • Path: paths.updateCoupon.methodTypePlaceHolder.requestBody.content.application/json.schema.properties.rule_definition.required.3

🔹 Change 19​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: CouponUpdate
  • Schema Action: PROPERTY_ADDED
  • Path: paths.updateCoupon.methodTypePlaceHolder.requestBody.content.application/json.schema.properties.coupon_type
  • New Schema:
{
"type": "string",
"enum": [
"single",
"bulk"
]
}

🔹 Change 20​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: CouponUpdate
  • Schema Action: PROPERTY_ADDED
  • Path: paths.updateCoupon.methodTypePlaceHolder.requestBody.content.application/json.schema.properties.coupon_prefix
  • New Schema:
{
"type": "string"
}

🔹 Change 21​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: CouponUpdate
  • Schema Action: PROPERTY_ADDED
  • Path: paths.updateCoupon.methodTypePlaceHolder.requestBody.content.application/json.schema.properties.coupon_counts
  • New Schema:
{
"type": "number"
}

🔹 Change 22​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: CouponUpdate
  • Schema Action: PROPERTY_ADDED
  • Path: paths.updateCoupon.methodTypePlaceHolder.requestBody.content.application/json.schema.properties.medias
  • New Schema:
{
"type": "array",
"items": {
"$ref": "#/components/schemas/CouponMedias"
}
}

🔹 Change 23​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: CouponUpdate
  • Schema Action: PROPERTY_ADDED
  • Path: paths.updateCoupon.methodTypePlaceHolder.requestBody.content.application/json.schema.properties._id
  • New Schema:
{
"type": "string",
"description": "Unique idenfier of coupon."
}

🔹 Change 24​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: CouponUpdate
  • Schema Action: PROPERTY_ADDED
  • Path: paths.updateCoupon.methodTypePlaceHolder.requestBody.content.application/json.schema.properties.is_archived
  • New Schema:
{
"type": "boolean",
"description": "Flag to verify if coupon is archived or not."
}

🔹 Change 25​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: CouponDetailResponseObject
  • Schema Action: PROPERTY_ADDED
  • Path: paths.updateCoupon.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.data
  • New Schema:
{
"$ref": "#/components/schemas/CouponDetailObj"
}

🔹 Change 26​

  • Action: remove
  • Type: breaking
  • xGroup: N/A
  • Schema Ref: OperationErrorResponse
  • Schema Action: PROPERTY_REMOVED
  • Path: paths.updateCoupon.methodTypePlaceHolder.responses.404.content.application/json.schema.properties.error

🔹 Change 27​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: OperationErrorResponseObject
  • Schema Action: PROPERTY_ADDED
  • Path: paths.updateCoupon.methodTypePlaceHolder.responses.404.content.application/json.schema.properties.errors
  • New Schema:
{
"type": "object",
"additionalProperties": true,
"description": "Response error message in detail"
}

🔹 Change 28​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: OperationErrorResponseObject
  • Schema Action: PROPERTY_ADDED
  • Path: paths.updateCoupon.methodTypePlaceHolder.responses.404.content.application/json.schema.properties.meta
  • New Schema:
{
"type": "object",
"additionalProperties": true,
"description": "Response meta in detail"
}

🔹 Change 29​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: N/A
  • Schema Action: N/A
  • Path: paths.updateCoupon.methodTypePlaceHolder.security
  • New Schema:
[
{
"oauth2": [
"application/cart/write"
]
}
]

🔧 Operation: updateCouponPartially​

🔹 Change 1​

  • Action: remove
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: N/A
  • Schema Action: N/A
  • Path: paths.updateCouponPartially.methodTypePlaceHolder.requestBody.content.application/json.schema.properties.schedule.properties.end.format

🔹 Change 2​

  • Action: remove
  • Type: breaking
  • xGroup: N/A
  • Schema Ref: N/A
  • Schema Action: N/A
  • Path: paths.updateCouponPartially.methodTypePlaceHolder.requestBody.content.application/json.schema.properties.schedule.properties.end.default

🔹 Change 3​

  • Action: remove
  • Type: breaking
  • xGroup: N/A
  • Schema Ref: CouponsResponse --> CouponAdd --> CouponSchedule
  • Schema Action: NULLABLE_REMOVED
  • Path: paths.updateCouponPartially.methodTypePlaceHolder.requestBody.content.application/json.schema.properties.schedule.properties.end.nullable

🔹 Change 4​

  • Action: remove
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: N/A
  • Schema Action: N/A
  • Path: paths.updateCouponPartially.methodTypePlaceHolder.requestBody.content.application/json.schema.properties.schedule.properties.start.format

🔹 Change 5​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: N/A
  • Schema Action: N/A
  • Path: paths.updateCouponPartially.methodTypePlaceHolder.requestBody.content.application/json.schema.properties.schedule.properties.next_schedule.items.properties
  • New Schema:
{
"start": {
"type": "string"
},
"end": {
"type": "string"
}
}

🔹 Change 6​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: CouponsResponseObject --> CouponObj --> CouponSchedule
  • Schema Action: PROPERTY_ADDED
  • Path: paths.updateCouponPartially.methodTypePlaceHolder.requestBody.content.application/json.schema.properties.schedule.properties.status
  • New Schema:
{
"type": "string",
"enum": [
"approved",
"rejected",
"draft",
"review"
]
}

🔹 Change 7​

  • Action: remove
  • Type: breaking
  • xGroup: N/A
  • Schema Ref: OperationErrorResponse
  • Schema Action: PROPERTY_REMOVED
  • Path: paths.updateCouponPartially.methodTypePlaceHolder.responses.404.content.application/json.schema.properties.error

🔹 Change 8​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: OperationErrorResponseObject
  • Schema Action: PROPERTY_ADDED
  • Path: paths.updateCouponPartially.methodTypePlaceHolder.responses.404.content.application/json.schema.properties.errors
  • New Schema:
{
"type": "object",
"additionalProperties": true,
"description": "Response error message in detail"
}

🔹 Change 9​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: OperationErrorResponseObject
  • Schema Action: PROPERTY_ADDED
  • Path: paths.updateCouponPartially.methodTypePlaceHolder.responses.404.content.application/json.schema.properties.meta
  • New Schema:
{
"type": "object",
"additionalProperties": true,
"description": "Response meta in detail"
}

🔹 Change 10​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: N/A
  • Schema Action: N/A
  • Path: paths.updateCouponPartially.methodTypePlaceHolder.security
  • New Schema:
[
{
"oauth2": [
"application/cart/write"
]
}
]

🔧 Operation: getPromotions​

🔹 Change 1​

  • Action: add
  • Type: breaking
  • xGroup: N/A
  • Schema Ref: N/A
  • Schema Action: ENUM_ADDED
  • Path: paths.getPromotions.methodTypePlaceHolder.parameters.7.schema.enum
  • New Schema:
[
"percentage",
"amount",
"fixed_price",
"bogo",
"contract_price",
"shipping_price",
"ladder_price",
"bundle_price_percentage",
"bundle_price_amount",
"bundle_amount_percentage",
"custom",
"free_gift_items",
"free_non_sellable_items",
"external_price_adjustment_discount"
]

🔹 Change 2​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: N/A
  • Schema Action: N/A
  • Path: paths.getPromotions.methodTypePlaceHolder.parameters.10
  • New Schema:
{
"name": "created_by",
"in": "query",
"schema": {
"type": "string"
},
"description": "Filter by promotion creater user id",
"examples": {
"200_OKAY": {
"value": "23206328"
}
}
}

🔹 Change 3​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: N/A
  • Schema Action: N/A
  • Path: paths.getPromotions.methodTypePlaceHolder.parameters.11
  • New Schema:
{
"name": "reviewed_by",
"in": "query",
"schema": {
"type": "string"
},
"description": "Filter by promotion reviewer user id",
"examples": {
"200_OKAY": {
"value": "23206328"
}
}
}

🔹 Change 4​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: N/A
  • Schema Action: N/A
  • Path: paths.getPromotions.methodTypePlaceHolder.parameters.12
  • New Schema:
{
"name": "approved_start_time",
"in": "query",
"schema": {
"type": "string"
},
"description": "Filter promotion by start time date range when status is in approved state",
"examples": {
"200_OKAY": {
"value": "2022-01-11T05:47:11.503Z"
}
}
}

🔹 Change 5​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: N/A
  • Schema Action: N/A
  • Path: paths.getPromotions.methodTypePlaceHolder.parameters.13
  • New Schema:
{
"name": "approved_end_time",
"in": "query",
"schema": {
"type": "string"
},
"description": "Filter promotion by end time date range when status is in approved state",
"examples": {
"200_OKAY": {
"value": "2022-01-11T05:47:11.503Z"
}
}
}

🔹 Change 6​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: N/A
  • Schema Action: N/A
  • Path: paths.getPromotions.methodTypePlaceHolder.parameters.14
  • New Schema:
{
"name": "review_start_time",
"in": "query",
"schema": {
"type": "string"
},
"description": "Filter promotion by start time date range when status is in review state",
"examples": {
"200_OKAY": {
"value": "2022-01-11T05:47:11.503Z"
}
}
}

🔹 Change 7​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: N/A
  • Schema Action: N/A
  • Path: paths.getPromotions.methodTypePlaceHolder.parameters.15
  • New Schema:
{
"name": "review_end_time",
"in": "query",
"schema": {
"type": "string"
},
"description": "Filter promotion by end time date range when status is in review state",
"examples": {
"200_OKAY": {
"value": "2022-01-11T05:47:11.503Z"
}
}
}

🔹 Change 8​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: N/A
  • Schema Action: N/A
  • Path: paths.getPromotions.methodTypePlaceHolder.parameters.16
  • New Schema:
{
"name": "status",
"in": "query",
"schema": {
"type": "string",
"enum": [
"draft",
"review",
"rejected",
"live",
"published",
"archived"
]
},
"description": "Filter your promotions effortlessly by status, such as draft, review and more"
}

🔹 Change 9​

  • Action: remove
  • Type: breaking
  • xGroup: N/A
  • Schema Ref: PromotionsResponse --> PromotionListItem
  • Schema Action: PROPERTY_REMOVED
  • Path: paths.getPromotions.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.items.items.properties.apply_all_discount

🔹 Change 10​

  • Action: remove
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: PromotionsResponse --> PromotionListItem
  • Schema Action: ENUM_REMOVED
  • Path: paths.getPromotions.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.items.items.properties.promotion_type.enum

🔹 Change 11​

  • Action: remove
  • Type: breaking
  • xGroup: N/A
  • Schema Ref: PromotionsResponse --> PromotionListItem
  • Schema Action: PROPERTY_REMOVED
  • Path: paths.getPromotions.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.items.items.properties.discount_rules

🔹 Change 12​

  • Action: remove
  • Type: breaking
  • xGroup: N/A
  • Schema Ref: PromotionsResponse --> PromotionListItem
  • Schema Action: PROPERTY_REMOVED
  • Path: paths.getPromotions.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.items.items.properties.restrictions

🔹 Change 13​

  • Action: remove
  • Type: breaking
  • xGroup: N/A
  • Schema Ref: PromotionsResponse --> PromotionListItem
  • Schema Action: PROPERTY_REMOVED
  • Path: paths.getPromotions.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.items.items.properties.currency

🔹 Change 14​

  • Action: remove
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: N/A
  • Schema Action: N/A
  • Path: paths.getPromotions.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.items.items.properties._schedule.properties.end.format

🔹 Change 15​

  • Action: remove
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: N/A
  • Schema Action: N/A
  • Path: paths.getPromotions.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.items.items.properties._schedule.properties.start.format

🔹 Change 16​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: N/A
  • Schema Action: N/A
  • Path: paths.getPromotions.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.items.items.properties._schedule.properties.next_schedule.items.properties
  • New Schema:
{
"start": {
"type": "string"
},
"end": {
"type": "string"
}
}

🔹 Change 17​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: PromotionsResponseObject --> PromotionListItem --> PromotionSchedule
  • Schema Action: PROPERTY_ADDED
  • Path: paths.getPromotions.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.items.items.properties._schedule.properties.status
  • New Schema:
{
"type": "string",
"description": "Promotion status like draft, review",
"enum": [
"approved",
"rejected",
"draft",
"review"
]
}

🔹 Change 18​

  • Action: remove
  • Type: breaking
  • xGroup: N/A
  • Schema Ref: PromotionsResponse --> PromotionListItem
  • Schema Action: PROPERTY_REMOVED
  • Path: paths.getPromotions.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.items.items.properties.post_order_action

🔹 Change 19​

  • Action: remove
  • Type: breaking
  • xGroup: N/A
  • Schema Ref: PromotionsResponse --> PromotionListItem
  • Schema Action: PROPERTY_REMOVED
  • Path: paths.getPromotions.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.items.items.properties.apply_priority

🔹 Change 20​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: PromotionsResponseObject --> PromotionListItem --> PromotionAuthor
  • Schema Action: PROPERTY_ADDED
  • Path: paths.getPromotions.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.items.items.properties.author.properties.rejected_by
  • New Schema:
{
"type": "string",
"default": null,
"nullable": true
}

🔹 Change 21​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: PromotionsResponseObject --> PromotionListItem --> PromotionAuthor
  • Schema Action: PROPERTY_ADDED
  • Path: paths.getPromotions.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.items.items.properties.author.properties.approved_by
  • New Schema:
{
"type": "string",
"default": null,
"nullable": true
}

🔹 Change 22​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: PromotionsResponseObject --> PromotionListItem --> PromotionAuthor
  • Schema Action: PROPERTY_ADDED
  • Path: paths.getPromotions.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.items.items.properties.author.properties.reviewed_by
  • New Schema:
{
"type": "string",
"default": null,
"nullable": true
}

🔹 Change 23​

  • Action: remove
  • Type: breaking
  • xGroup: N/A
  • Schema Ref: PromotionsResponse --> PromotionListItem
  • Schema Action: PROPERTY_REMOVED
  • Path: paths.getPromotions.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.items.items.properties.visiblility

🔹 Change 24​

  • Action: remove
  • Type: breaking
  • xGroup: N/A
  • Schema Ref: PromotionsResponse --> PromotionListItem
  • Schema Action: PROPERTY_REMOVED
  • Path: paths.getPromotions.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.items.items.properties.application_id

🔹 Change 25​

  • Action: remove
  • Type: breaking
  • xGroup: N/A
  • Schema Ref: PromotionsResponse --> PromotionListItem
  • Schema Action: PROPERTY_REMOVED
  • Path: paths.getPromotions.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.items.items.properties.buy_rules

🔹 Change 26​

  • Action: remove
  • Type: breaking
  • xGroup: N/A
  • Schema Ref: PromotionsResponse --> PromotionListItem
  • Schema Action: PROPERTY_REMOVED
  • Path: paths.getPromotions.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.items.items.properties._custom_json

🔹 Change 27​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: PromotionsResponseObject --> PromotionListItem --> PromotionDateMeta
  • Schema Action: PROPERTY_ADDED
  • Path: paths.getPromotions.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.items.items.properties.date_meta.properties.approved_on
  • New Schema:
{
"type": "string",
"default": null,
"nullable": true,
"format": "date-time"
}

🔹 Change 28​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: PromotionsResponseObject --> PromotionListItem --> PromotionDateMeta
  • Schema Action: PROPERTY_ADDED
  • Path: paths.getPromotions.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.items.items.properties.date_meta.properties.rejected_on
  • New Schema:
{
"type": "string",
"default": null,
"nullable": true,
"format": "date-time"
}

🔹 Change 29​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: PromotionsResponseObject --> PromotionListItem --> PromotionDateMeta
  • Schema Action: PROPERTY_ADDED
  • Path: paths.getPromotions.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.items.items.properties.date_meta.properties.reviewed_on
  • New Schema:
{
"type": "string",
"default": null,
"nullable": true,
"format": "date-time"
}

🔹 Change 30​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: PromotionsResponseObject --> PromotionListItem
  • Schema Action: PROPERTY_ADDED
  • Path: paths.getPromotions.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.items.items.properties.draft
  • New Schema:
{
"type": "number",
"nullable": true,
"description": "Number of promotion in draft."
}

🔹 Change 31​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: PromotionsResponseObject --> PromotionListItem
  • Schema Action: PROPERTY_ADDED
  • Path: paths.getPromotions.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.items.items.properties.review
  • New Schema:
{
"type": "number",
"nullable": true,
"description": "Number of promotion in review."
}

🔹 Change 32​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: PromotionsResponseObject --> PromotionListItem
  • Schema Action: PROPERTY_ADDED
  • Path: paths.getPromotions.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.items.items.properties.rejected
  • New Schema:
{
"type": "number",
"nullable": true,
"description": "Number of promotion in rejected."
}

🔹 Change 33​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: PromotionsResponseObject --> PromotionListItem
  • Schema Action: PROPERTY_ADDED
  • Path: paths.getPromotions.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.items.items.properties.approved
  • New Schema:
{
"type": "number",
"nullable": true,
"description": "Number of promotion in approved."
}

🔹 Change 34​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: PromotionsResponseObject --> PromotionListItem
  • Schema Action: PROPERTY_ADDED
  • Path: paths.getPromotions.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.items.items.properties.is_processed
  • New Schema:
{
"type": "boolean",
"description": "Flag to verify if promotion is ready to be applied on cart and ready to update promotion"
}

🔹 Change 35​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: PromotionsResponseObject --> PromotionListItem
  • Schema Action: PROPERTY_ADDED
  • Path: paths.getPromotions.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.items.items.properties.is_archived
  • New Schema:
{
"type": "boolean",
"description": "Flag to verify if promotion is archived"
}

🔹 Change 36​

  • Action: replace
  • Type: breaking
  • xGroup: N/A
  • Schema Ref: PromotionsResponseObject --> PromotionListItem
  • Schema Action: REQUIRED_FIELD_UPDATED
  • Path: paths.getPromotions.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.items.items.required.0
  • New Schema:
"date_meta"

🔹 Change 37​

  • Action: remove
  • Type: breaking
  • xGroup: N/A
  • Schema Ref: PromotionsResponse --> PromotionListItem
  • Schema Action: REQUIRED_FIELD_REMOVED
  • Path: paths.getPromotions.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.items.items.required.1

🔹 Change 38​

  • Action: remove
  • Type: breaking
  • xGroup: N/A
  • Schema Ref: PromotionsResponse --> PromotionListItem
  • Schema Action: REQUIRED_FIELD_REMOVED
  • Path: paths.getPromotions.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.items.items.required.2

🔹 Change 39​

  • Action: remove
  • Type: breaking
  • xGroup: N/A
  • Schema Ref: PromotionsResponse --> PromotionListItem
  • Schema Action: REQUIRED_FIELD_REMOVED
  • Path: paths.getPromotions.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.items.items.required.4

🔹 Change 40​

  • Action: remove
  • Type: breaking
  • xGroup: N/A
  • Schema Ref: PromotionsResponse --> PromotionListItem
  • Schema Action: REQUIRED_FIELD_REMOVED
  • Path: paths.getPromotions.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.items.items.required.5

🔹 Change 41​

  • Action: remove
  • Type: breaking
  • xGroup: N/A
  • Schema Ref: PromotionsResponse --> PromotionListItem
  • Schema Action: REQUIRED_FIELD_REMOVED
  • Path: paths.getPromotions.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.items.items.required.7

🔹 Change 42​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: CouponsResponseObject --> Page
  • Schema Action: PROPERTY_ADDED
  • Path: paths.getPromotions.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.page.properties.page
  • New Schema:
{
"type": "integer",
"format": "int32",
"description": "Page requested"
}

🔹 Change 43​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: CouponsResponseObject --> Page
  • Schema Action: PROPERTY_ADDED
  • Path: paths.getPromotions.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.page.properties.last_id
  • New Schema:
{
"nullable": true,
"type": "string",
"description": "Last objects id"
}

🔹 Change 44​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: PromotionsResponseObject
  • Schema Action: PROPERTY_ADDED
  • Path: paths.getPromotions.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.draft
  • New Schema:
{
"type": "number",
"nullable": true,
"description": "Number of promotion in draft."
}

🔹 Change 45​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: PromotionsResponseObject
  • Schema Action: PROPERTY_ADDED
  • Path: paths.getPromotions.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.review
  • New Schema:
{
"type": "number",
"nullable": true,
"description": "Number of promotion in review."
}

🔹 Change 46​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: PromotionsResponseObject
  • Schema Action: PROPERTY_ADDED
  • Path: paths.getPromotions.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.rejected
  • New Schema:
{
"type": "number",
"nullable": true,
"description": "Number of promotion in rejected."
}

🔹 Change 47​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: PromotionsResponseObject
  • Schema Action: PROPERTY_ADDED
  • Path: paths.getPromotions.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.approved
  • New Schema:
{
"type": "number",
"nullable": true,
"description": "Number of promotion in approved."
}

🔹 Change 48​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: N/A
  • Schema Action: N/A
  • Path: paths.getPromotions.methodTypePlaceHolder.security
  • New Schema:
[
{
"oauth2": [
"application/cart/read"
]
}
]

🔧 Operation: createPromotion​

🔹 Change 1​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: CouponAdd --> Restrictions --> PaymentModes
  • Schema Action: PROPERTY_ADDED
  • Path: paths.createPromotion.methodTypePlaceHolder.requestBody.content.application/json.schema.properties.restrictions.properties.payments.additionalProperties.properties.meta
  • New Schema:
{
"$ref": "#/components/schemas/CouponPaymentMeta"
}

🔹 Change 2​

  • Action: remove
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: PromotionAdd --> Restrictions1
  • Schema Action: ENUM_REMOVED
  • Path: paths.createPromotion.methodTypePlaceHolder.requestBody.content.application/json.schema.properties.restrictions.properties.user_type.enum

🔹 Change 3​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: PromotionAdd --> Restrictions1
  • Schema Action: PROPERTY_ADDED
  • Path: paths.createPromotion.methodTypePlaceHolder.requestBody.content.application/json.schema.properties.restrictions.properties.price_range
  • New Schema:
{
"$ref": "#/components/schemas/PriceRange"
}

🔹 Change 4​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: PromotionAdd --> Restrictions1
  • Schema Action: PROPERTY_ADDED
  • Path: paths.createPromotion.methodTypePlaceHolder.requestBody.content.application/json.schema.properties.restrictions.properties.cart_min_retention
  • New Schema:
{
"$ref": "#/components/schemas/CartRetention"
}

🔹 Change 5​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: PromotionAdd --> Restrictions1
  • Schema Action: PROPERTY_ADDED
  • Path: paths.createPromotion.methodTypePlaceHolder.requestBody.content.application/json.schema.properties.restrictions.properties.email_domain
  • New Schema:
{
"type": "array",
"description": "List of email domain on which promotion is applicable",
"items": {
"type": "string"
}
}

🔹 Change 6​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: PromotionAdd --> Restrictions1
  • Schema Action: PROPERTY_ADDED
  • Path: paths.createPromotion.methodTypePlaceHolder.requestBody.content.application/json.schema.properties.restrictions.properties.is_plt_bypass
  • New Schema:
{
"type": "boolean",
"nullable": true,
"description": "Declare to true if the coupon should bypass the PLT rules"
}

🔹 Change 7​

  • Action: remove
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: N/A
  • Schema Action: N/A
  • Path: paths.createPromotion.methodTypePlaceHolder.requestBody.content.application/json.schema.properties._schedule.properties.end.format

🔹 Change 8​

  • Action: remove
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: N/A
  • Schema Action: N/A
  • Path: paths.createPromotion.methodTypePlaceHolder.requestBody.content.application/json.schema.properties._schedule.properties.start.format

🔹 Change 9​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: N/A
  • Schema Action: N/A
  • Path: paths.createPromotion.methodTypePlaceHolder.requestBody.content.application/json.schema.properties._schedule.properties.next_schedule.items.properties
  • New Schema:
{
"start": {
"type": "string"
},
"end": {
"type": "string"
}
}

🔹 Change 10​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: PromotionsResponseObject --> PromotionListItem --> PromotionSchedule
  • Schema Action: PROPERTY_ADDED
  • Path: paths.createPromotion.methodTypePlaceHolder.requestBody.content.application/json.schema.properties._schedule.properties.status
  • New Schema:
{
"type": "string",
"description": "Promotion status like draft, review",
"enum": [
"approved",
"rejected",
"draft",
"review"
]
}

🔹 Change 11​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: PromotionAdd --> PromotionAction
  • Schema Action: NULLABLE_ADDED
  • Path: paths.createPromotion.methodTypePlaceHolder.requestBody.content.application/json.schema.properties.post_order_action.properties.action_type.nullable
  • New Schema:
true

🔹 Change 12​

  • Action: remove
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: PromotionAdd --> PromotionAction
  • Schema Action: REQUIRED_REMOVED
  • Path: paths.createPromotion.methodTypePlaceHolder.requestBody.content.application/json.schema.properties.post_order_action.required

🔹 Change 13​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: PromotionsResponseObject --> PromotionListItem --> PromotionAuthor
  • Schema Action: PROPERTY_ADDED
  • Path: paths.createPromotion.methodTypePlaceHolder.requestBody.content.application/json.schema.properties.author.properties.rejected_by
  • New Schema:
{
"type": "string",
"default": null,
"nullable": true
}

🔹 Change 14​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: PromotionsResponseObject --> PromotionListItem --> PromotionAuthor
  • Schema Action: PROPERTY_ADDED
  • Path: paths.createPromotion.methodTypePlaceHolder.requestBody.content.application/json.schema.properties.author.properties.approved_by
  • New Schema:
{
"type": "string",
"default": null,
"nullable": true
}

🔹 Change 15​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: PromotionsResponseObject --> PromotionListItem --> PromotionAuthor
  • Schema Action: PROPERTY_ADDED
  • Path: paths.createPromotion.methodTypePlaceHolder.requestBody.content.application/json.schema.properties.author.properties.reviewed_by
  • New Schema:
{
"type": "string",
"default": null,
"nullable": true
}

🔹 Change 16​

  • Action: remove
  • Type: breaking
  • xGroup: N/A
  • Schema Ref: PromotionAdd
  • Schema Action: PROPERTY_REMOVED
  • Path: paths.createPromotion.methodTypePlaceHolder.requestBody.content.application/json.schema.properties.visiblility

🔹 Change 17​

  • Action: add
  • Type: breaking
  • xGroup: N/A
  • Schema Ref: PromotionAdd
  • Schema Action: ADDITIONAL_PROPERTIES_ADDED
  • Path: paths.createPromotion.methodTypePlaceHolder.requestBody.content.application/json.schema.properties._custom_json.additionalProperties
  • New Schema:
true

🔹 Change 18​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: PromotionsResponseObject --> PromotionListItem --> PromotionDateMeta
  • Schema Action: PROPERTY_ADDED
  • Path: paths.createPromotion.methodTypePlaceHolder.requestBody.content.application/json.schema.properties.date_meta.properties.approved_on
  • New Schema:
{
"type": "string",
"default": null,
"nullable": true,
"format": "date-time"
}

🔹 Change 19​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: PromotionsResponseObject --> PromotionListItem --> PromotionDateMeta
  • Schema Action: PROPERTY_ADDED
  • Path: paths.createPromotion.methodTypePlaceHolder.requestBody.content.application/json.schema.properties.date_meta.properties.rejected_on
  • New Schema:
{
"type": "string",
"default": null,
"nullable": true,
"format": "date-time"
}

🔹 Change 20​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: PromotionsResponseObject --> PromotionListItem --> PromotionDateMeta
  • Schema Action: PROPERTY_ADDED
  • Path: paths.createPromotion.methodTypePlaceHolder.requestBody.content.application/json.schema.properties.date_meta.properties.reviewed_on
  • New Schema:
{
"type": "string",
"default": null,
"nullable": true,
"format": "date-time"
}

🔹 Change 21​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: PromotionAdd
  • Schema Action: PROPERTY_ADDED
  • Path: paths.createPromotion.methodTypePlaceHolder.requestBody.content.application/json.schema.properties.visibility
  • New Schema:
{
"$ref": "#/components/schemas/Visibility"
}

🔹 Change 22​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: PromotionAdd
  • Schema Action: PROPERTY_ADDED
  • Path: paths.createPromotion.methodTypePlaceHolder.requestBody.content.application/json.schema.properties.indexed_criteria
  • New Schema:
{
"type": "array",
"description": "stores all rules data into one for queying purpose",
"items": {
"$ref": "#/components/schemas/PromoIndexedCriteria"
}
}

🔹 Change 23​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: CouponAdd --> Restrictions --> PaymentModes
  • Schema Action: PROPERTY_ADDED
  • Path: paths.createPromotion.methodTypePlaceHolder.responses.201.content.application/json.schema.properties.restrictions.properties.payments.additionalProperties.properties.meta
  • New Schema:
{
"$ref": "#/components/schemas/CouponPaymentMeta"
}

🔹 Change 24​

  • Action: remove
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: PromotionAdd --> Restrictions1
  • Schema Action: ENUM_REMOVED
  • Path: paths.createPromotion.methodTypePlaceHolder.responses.201.content.application/json.schema.properties.restrictions.properties.user_type.enum

🔹 Change 25​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: PromotionAdd --> Restrictions1
  • Schema Action: PROPERTY_ADDED
  • Path: paths.createPromotion.methodTypePlaceHolder.responses.201.content.application/json.schema.properties.restrictions.properties.price_range
  • New Schema:
{
"$ref": "#/components/schemas/PriceRange"
}

🔹 Change 26​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: PromotionAdd --> Restrictions1
  • Schema Action: PROPERTY_ADDED
  • Path: paths.createPromotion.methodTypePlaceHolder.responses.201.content.application/json.schema.properties.restrictions.properties.cart_min_retention
  • New Schema:
{
"$ref": "#/components/schemas/CartRetention"
}

🔹 Change 27​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: PromotionAdd --> Restrictions1
  • Schema Action: PROPERTY_ADDED
  • Path: paths.createPromotion.methodTypePlaceHolder.responses.201.content.application/json.schema.properties.restrictions.properties.email_domain
  • New Schema:
{
"type": "array",
"description": "List of email domain on which promotion is applicable",
"items": {
"type": "string"
}
}

🔹 Change 28​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: PromotionAdd --> Restrictions1
  • Schema Action: PROPERTY_ADDED
  • Path: paths.createPromotion.methodTypePlaceHolder.responses.201.content.application/json.schema.properties.restrictions.properties.is_plt_bypass
  • New Schema:
{
"type": "boolean",
"nullable": true,
"description": "Declare to true if the coupon should bypass the PLT rules"
}

🔹 Change 29​

  • Action: remove
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: N/A
  • Schema Action: N/A
  • Path: paths.createPromotion.methodTypePlaceHolder.responses.201.content.application/json.schema.properties._schedule.properties.end.format

🔹 Change 30​

  • Action: remove
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: N/A
  • Schema Action: N/A
  • Path: paths.createPromotion.methodTypePlaceHolder.responses.201.content.application/json.schema.properties._schedule.properties.start.format

🔹 Change 31​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: N/A
  • Schema Action: N/A
  • Path: paths.createPromotion.methodTypePlaceHolder.responses.201.content.application/json.schema.properties._schedule.properties.next_schedule.items.properties
  • New Schema:
{
"start": {
"type": "string"
},
"end": {
"type": "string"
}
}

🔹 Change 32​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: PromotionsResponseObject --> PromotionListItem --> PromotionSchedule
  • Schema Action: PROPERTY_ADDED
  • Path: paths.createPromotion.methodTypePlaceHolder.responses.201.content.application/json.schema.properties._schedule.properties.status
  • New Schema:
{
"type": "string",
"description": "Promotion status like draft, review",
"enum": [
"approved",
"rejected",
"draft",
"review"
]
}

🔹 Change 33​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: PromotionAdd --> PromotionAction
  • Schema Action: NULLABLE_ADDED
  • Path: paths.createPromotion.methodTypePlaceHolder.responses.201.content.application/json.schema.properties.post_order_action.properties.action_type.nullable
  • New Schema:
true

🔹 Change 34​

  • Action: remove
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: PromotionAdd --> PromotionAction
  • Schema Action: REQUIRED_REMOVED
  • Path: paths.createPromotion.methodTypePlaceHolder.responses.201.content.application/json.schema.properties.post_order_action.required

🔹 Change 35​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: PromotionsResponseObject --> PromotionListItem --> PromotionAuthor
  • Schema Action: PROPERTY_ADDED
  • Path: paths.createPromotion.methodTypePlaceHolder.responses.201.content.application/json.schema.properties.author.properties.rejected_by
  • New Schema:
{
"type": "string",
"default": null,
"nullable": true
}

🔹 Change 36​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: PromotionsResponseObject --> PromotionListItem --> PromotionAuthor
  • Schema Action: PROPERTY_ADDED
  • Path: paths.createPromotion.methodTypePlaceHolder.responses.201.content.application/json.schema.properties.author.properties.approved_by
  • New Schema:
{
"type": "string",
"default": null,
"nullable": true
}

🔹 Change 37​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: PromotionsResponseObject --> PromotionListItem --> PromotionAuthor
  • Schema Action: PROPERTY_ADDED
  • Path: paths.createPromotion.methodTypePlaceHolder.responses.201.content.application/json.schema.properties.author.properties.reviewed_by
  • New Schema:
{
"type": "string",
"default": null,
"nullable": true
}

🔹 Change 38​

  • Action: remove
  • Type: breaking
  • xGroup: N/A
  • Schema Ref: PromotionAdd
  • Schema Action: PROPERTY_REMOVED
  • Path: paths.createPromotion.methodTypePlaceHolder.responses.201.content.application/json.schema.properties.visiblility

🔹 Change 39​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: PromotionsResponseObject --> PromotionListItem --> PromotionDateMeta
  • Schema Action: PROPERTY_ADDED
  • Path: paths.createPromotion.methodTypePlaceHolder.responses.201.content.application/json.schema.properties.date_meta.properties.approved_on
  • New Schema:
{
"type": "string",
"default": null,
"nullable": true,
"format": "date-time"
}

🔹 Change 40​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: PromotionsResponseObject --> PromotionListItem --> PromotionDateMeta
  • Schema Action: PROPERTY_ADDED
  • Path: paths.createPromotion.methodTypePlaceHolder.responses.201.content.application/json.schema.properties.date_meta.properties.rejected_on
  • New Schema:
{
"type": "string",
"default": null,
"nullable": true,
"format": "date-time"
}

🔹 Change 41​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: PromotionsResponseObject --> PromotionListItem --> PromotionDateMeta
  • Schema Action: PROPERTY_ADDED
  • Path: paths.createPromotion.methodTypePlaceHolder.responses.201.content.application/json.schema.properties.date_meta.properties.reviewed_on
  • New Schema:
{
"type": "string",
"default": null,
"nullable": true,
"format": "date-time"
}

🔹 Change 42​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: PromotionAddResult
  • Schema Action: PROPERTY_ADDED
  • Path: paths.createPromotion.methodTypePlaceHolder.responses.201.content.application/json.schema.properties.draft
  • New Schema:
{
"type": "number",
"description": "Number of promotion in draft."
}

🔹 Change 43​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: PromotionAddResult
  • Schema Action: PROPERTY_ADDED
  • Path: paths.createPromotion.methodTypePlaceHolder.responses.201.content.application/json.schema.properties.review
  • New Schema:
{
"type": "number",
"description": "Number of promotion in review."
}

🔹 Change 44​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: PromotionAddResult
  • Schema Action: PROPERTY_ADDED
  • Path: paths.createPromotion.methodTypePlaceHolder.responses.201.content.application/json.schema.properties.rejected
  • New Schema:
{
"type": "number",
"description": "Number of promotion in rejected."
}

🔹 Change 45​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: PromotionAddResult
  • Schema Action: PROPERTY_ADDED
  • Path: paths.createPromotion.methodTypePlaceHolder.responses.201.content.application/json.schema.properties.approved
  • New Schema:
{
"type": "number",
"description": "Number of promotion in approved."
}

🔹 Change 46​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: PromotionAddResult
  • Schema Action: PROPERTY_ADDED
  • Path: paths.createPromotion.methodTypePlaceHolder.responses.201.content.application/json.schema.properties.offer_counts
  • New Schema:
{
"type": "number",
"description": "Number of offers created"
}

🔹 Change 47​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: PromotionAddResult
  • Schema Action: PROPERTY_ADDED
  • Path: paths.createPromotion.methodTypePlaceHolder.responses.201.content.application/json.schema.properties.offer_prefix
  • New Schema:
{
"type": "string",
"description": "Offer prefix"
}

🔹 Change 48​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: PromotionAddResult
  • Schema Action: PROPERTY_ADDED
  • Path: paths.createPromotion.methodTypePlaceHolder.responses.201.content.application/json.schema.properties.is_bank_offer
  • New Schema:
{
"type": "boolean",
"description": "Is bank offer"
}

🔹 Change 49​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: PromotionAddResult
  • Schema Action: PROPERTY_ADDED
  • Path: paths.createPromotion.methodTypePlaceHolder.responses.201.content.application/json.schema.properties.custom_content
  • New Schema:
{
"$ref": "#/components/schemas/CustomContentObject"
}

🔹 Change 50​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: PromotionAddResult
  • Schema Action: PROPERTY_ADDED
  • Path: paths.createPromotion.methodTypePlaceHolder.responses.201.content.application/json.schema.properties.medias
  • New Schema:
{
"type": "array",
"items": {
"$ref": "#/components/schemas/Media"
}
}

🔹 Change 51​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: PromotionAddResult
  • Schema Action: PROPERTY_ADDED
  • Path: paths.createPromotion.methodTypePlaceHolder.responses.201.content.application/json.schema.properties.offer_type
  • New Schema:
{
"type": "string",
"x-not-enum": true,
"description": "Offer type for promotion"
}

🔹 Change 52​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: PromotionAddResult
  • Schema Action: PROPERTY_ADDED
  • Path: paths.createPromotion.methodTypePlaceHolder.responses.201.content.application/json.schema.properties.visibility
  • New Schema:
{
"$ref": "#/components/schemas/Visibility"
}

🔹 Change 53​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: PromotionAddResult
  • Schema Action: PROPERTY_ADDED
  • Path: paths.createPromotion.methodTypePlaceHolder.responses.201.content.application/json.schema.properties.is_archived
  • New Schema:
{
"type": "boolean",
"description": "Flag to indicate cart is archived or not"
}

🔹 Change 54​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: PromotionAddResult
  • Schema Action: PROPERTY_ADDED
  • Path: paths.createPromotion.methodTypePlaceHolder.responses.201.content.application/json.schema.properties.is_processed
  • New Schema:
{
"type": "boolean",
"description": "Flag to verify if promotion is ready to be applied on cart and ready to update promotion"
}

🔹 Change 55​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: PromotionAddResult
  • Schema Action: PROPERTY_ADDED
  • Path: paths.createPromotion.methodTypePlaceHolder.responses.201.content.application/json.schema.properties.indexed_criteria
  • New Schema:
{
"type": "array",
"description": "stores all rules data into one for queying purpose",
"items": {
"$ref": "#/components/schemas/PromoIndexedCriteria"
}
}

🔹 Change 56​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: PromotionAddResult
  • Schema Action: PROPERTY_ADDED
  • Path: paths.createPromotion.methodTypePlaceHolder.responses.201.content.application/json.schema.properties._id
  • New Schema:
{
"type": "string",
"description": "Unique idenfier of promotion."
}

🔹 Change 57​

  • Action: remove
  • Type: breaking
  • xGroup: N/A
  • Schema Ref: PromotionAdd
  • Schema Action: OPERATION_ID_REMOVED
  • Path: paths.createPromotion.methodTypePlaceHolder.responses.201.content.application/json.schema.required.1

🔹 Change 58​

  • Action: remove
  • Type: breaking
  • xGroup: N/A
  • Schema Ref: PromotionAdd
  • Schema Action: OPERATION_ID_REMOVED
  • Path: paths.createPromotion.methodTypePlaceHolder.responses.201.content.application/json.schema.required.2

🔹 Change 59​

  • Action: remove
  • Type: breaking
  • xGroup: N/A
  • Schema Ref: PromotionAdd
  • Schema Action: OPERATION_ID_REMOVED
  • Path: paths.createPromotion.methodTypePlaceHolder.responses.201.content.application/json.schema.required.3

🔹 Change 60​

  • Action: remove
  • Type: breaking
  • xGroup: N/A
  • Schema Ref: PromotionAdd
  • Schema Action: OPERATION_ID_REMOVED
  • Path: paths.createPromotion.methodTypePlaceHolder.responses.201.content.application/json.schema.required.5

🔹 Change 61​

  • Action: remove
  • Type: breaking
  • xGroup: N/A
  • Schema Ref: OperationErrorResponse
  • Schema Action: PROPERTY_REMOVED
  • Path: paths.createPromotion.methodTypePlaceHolder.responses.400.content.application/json.schema.properties.error

🔹 Change 62​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: OperationErrorResponseObject
  • Schema Action: PROPERTY_ADDED
  • Path: paths.createPromotion.methodTypePlaceHolder.responses.400.content.application/json.schema.properties.errors
  • New Schema:
{
"type": "object",
"additionalProperties": true,
"description": "Response error message in detail"
}

🔹 Change 63​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: OperationErrorResponseObject
  • Schema Action: PROPERTY_ADDED
  • Path: paths.createPromotion.methodTypePlaceHolder.responses.400.content.application/json.schema.properties.meta
  • New Schema:
{
"type": "object",
"additionalProperties": true,
"description": "Response meta in detail"
}

🔹 Change 64​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: N/A
  • Schema Action: N/A
  • Path: paths.createPromotion.methodTypePlaceHolder.security
  • New Schema:
[
{
"oauth2": [
"application/cart/write"
]
}
]

🔧 Operation: getPromotionById​

🔹 Change 1​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: CouponAdd --> Restrictions --> PaymentModes
  • Schema Action: PROPERTY_ADDED
  • Path: paths.getPromotionById.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.restrictions.properties.payments.additionalProperties.properties.meta
  • New Schema:
{
"$ref": "#/components/schemas/CouponPaymentMeta"
}

🔹 Change 2​

  • Action: remove
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: PromotionAdd --> Restrictions1
  • Schema Action: ENUM_REMOVED
  • Path: paths.getPromotionById.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.restrictions.properties.user_type.enum

🔹 Change 3​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: PromotionAdd --> Restrictions1
  • Schema Action: PROPERTY_ADDED
  • Path: paths.getPromotionById.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.restrictions.properties.price_range
  • New Schema:
{
"$ref": "#/components/schemas/PriceRange"
}

🔹 Change 4​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: PromotionAdd --> Restrictions1
  • Schema Action: PROPERTY_ADDED
  • Path: paths.getPromotionById.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.restrictions.properties.cart_min_retention
  • New Schema:
{
"$ref": "#/components/schemas/CartRetention"
}

🔹 Change 5​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: PromotionAdd --> Restrictions1
  • Schema Action: PROPERTY_ADDED
  • Path: paths.getPromotionById.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.restrictions.properties.email_domain
  • New Schema:
{
"type": "array",
"description": "List of email domain on which promotion is applicable",
"items": {
"type": "string"
}
}

🔹 Change 6​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: PromotionAdd --> Restrictions1
  • Schema Action: PROPERTY_ADDED
  • Path: paths.getPromotionById.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.restrictions.properties.is_plt_bypass
  • New Schema:
{
"type": "boolean",
"nullable": true,
"description": "Declare to true if the coupon should bypass the PLT rules"
}

🔹 Change 7​

  • Action: remove
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: N/A
  • Schema Action: N/A
  • Path: paths.getPromotionById.methodTypePlaceHolder.responses.200.content.application/json.schema.properties._schedule.properties.end.format

🔹 Change 8​

  • Action: remove
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: N/A
  • Schema Action: N/A
  • Path: paths.getPromotionById.methodTypePlaceHolder.responses.200.content.application/json.schema.properties._schedule.properties.start.format

🔹 Change 9​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: N/A
  • Schema Action: N/A
  • Path: paths.getPromotionById.methodTypePlaceHolder.responses.200.content.application/json.schema.properties._schedule.properties.next_schedule.items.properties
  • New Schema:
{
"start": {
"type": "string"
},
"end": {
"type": "string"
}
}

🔹 Change 10​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: PromotionsResponseObject --> PromotionListItem --> PromotionSchedule
  • Schema Action: PROPERTY_ADDED
  • Path: paths.getPromotionById.methodTypePlaceHolder.responses.200.content.application/json.schema.properties._schedule.properties.status
  • New Schema:
{
"type": "string",
"description": "Promotion status like draft, review",
"enum": [
"approved",
"rejected",
"draft",
"review"
]
}

🔹 Change 11​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: PromotionAdd --> PromotionAction
  • Schema Action: NULLABLE_ADDED
  • Path: paths.getPromotionById.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.post_order_action.properties.action_type.nullable
  • New Schema:
true

🔹 Change 12​

  • Action: remove
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: PromotionAdd --> PromotionAction
  • Schema Action: REQUIRED_REMOVED
  • Path: paths.getPromotionById.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.post_order_action.required

🔹 Change 13​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: PromotionsResponseObject --> PromotionListItem --> PromotionAuthor
  • Schema Action: PROPERTY_ADDED
  • Path: paths.getPromotionById.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.author.properties.rejected_by
  • New Schema:
{
"type": "string",
"default": null,
"nullable": true
}

🔹 Change 14​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: PromotionsResponseObject --> PromotionListItem --> PromotionAuthor
  • Schema Action: PROPERTY_ADDED
  • Path: paths.getPromotionById.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.author.properties.approved_by
  • New Schema:
{
"type": "string",
"default": null,
"nullable": true
}

🔹 Change 15​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: PromotionsResponseObject --> PromotionListItem --> PromotionAuthor
  • Schema Action: PROPERTY_ADDED
  • Path: paths.getPromotionById.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.author.properties.reviewed_by
  • New Schema:
{
"type": "string",
"default": null,
"nullable": true
}

🔹 Change 16​

  • Action: remove
  • Type: breaking
  • xGroup: N/A
  • Schema Ref: PromotionUpdate
  • Schema Action: PROPERTY_REMOVED
  • Path: paths.getPromotionById.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.visiblility

🔹 Change 17​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: PromotionsResponseObject --> PromotionListItem --> PromotionDateMeta
  • Schema Action: PROPERTY_ADDED
  • Path: paths.getPromotionById.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.date_meta.properties.approved_on
  • New Schema:
{
"type": "string",
"default": null,
"nullable": true,
"format": "date-time"
}

🔹 Change 18​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: PromotionsResponseObject --> PromotionListItem --> PromotionDateMeta
  • Schema Action: PROPERTY_ADDED
  • Path: paths.getPromotionById.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.date_meta.properties.rejected_on
  • New Schema:
{
"type": "string",
"default": null,
"nullable": true,
"format": "date-time"
}

🔹 Change 19​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: PromotionsResponseObject --> PromotionListItem --> PromotionDateMeta
  • Schema Action: PROPERTY_ADDED
  • Path: paths.getPromotionById.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.date_meta.properties.reviewed_on
  • New Schema:
{
"type": "string",
"default": null,
"nullable": true,
"format": "date-time"
}

🔹 Change 20​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: PromotionUpdateResult
  • Schema Action: PROPERTY_ADDED
  • Path: paths.getPromotionById.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.medias
  • New Schema:
{
"type": "array",
"items": {
"$ref": "#/components/schemas/Media"
}
}

🔹 Change 21​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: PromotionUpdateResult
  • Schema Action: PROPERTY_ADDED
  • Path: paths.getPromotionById.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.is_archived
  • New Schema:
{
"type": "boolean",
"nullable": true,
"description": "Denotes if promotion is archived"
}

🔹 Change 22​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: PromotionUpdateResult
  • Schema Action: PROPERTY_ADDED
  • Path: paths.getPromotionById.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.reason
  • New Schema:
{
"type": "string",
"nullable": true,
"description": "Promotion rejection reason added by reviewer"
}

🔹 Change 23​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: PromotionUpdateResult
  • Schema Action: PROPERTY_ADDED
  • Path: paths.getPromotionById.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.is_processed
  • New Schema:
{
"type": "boolean",
"description": "Flag to verify if promotion is ready to be applied on cart and ready to update promotion"
}

🔹 Change 24​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: PromotionUpdateResult
  • Schema Action: PROPERTY_ADDED
  • Path: paths.getPromotionById.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.visibility
  • New Schema:
{
"$ref": "#/components/schemas/Visibility"
}

🔹 Change 25​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: PromotionUpdateResult
  • Schema Action: PROPERTY_ADDED
  • Path: paths.getPromotionById.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.offer_prefix
  • New Schema:
{
"type": "string",
"description": "Offer prefix"
}

🔹 Change 26​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: PromotionUpdateResult
  • Schema Action: PROPERTY_ADDED
  • Path: paths.getPromotionById.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.custom_content
  • New Schema:
{
"$ref": "#/components/schemas/CustomContentObject"
}

🔹 Change 27​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: PromotionUpdateResult
  • Schema Action: PROPERTY_ADDED
  • Path: paths.getPromotionById.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.offer_counts
  • New Schema:
{
"type": "number",
"description": "Number of offers created"
}

🔹 Change 28​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: PromotionUpdateResult
  • Schema Action: PROPERTY_ADDED
  • Path: paths.getPromotionById.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.offer_type
  • New Schema:
{
"type": "string",
"x-not-enum": true,
"description": "Offer type for promotion"
}

🔹 Change 29​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: PromotionUpdateResult
  • Schema Action: PROPERTY_ADDED
  • Path: paths.getPromotionById.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.is_bank_offer
  • New Schema:
{
"type": "boolean",
"description": "Promotion is for bank offer"
}

🔹 Change 30​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: PromotionUpdateResult
  • Schema Action: PROPERTY_ADDED
  • Path: paths.getPromotionById.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.indexed_criteria
  • New Schema:
{
"type": "array",
"description": "stores all rules data into one for queying purpose",
"items": {
"$ref": "#/components/schemas/PromoIndexedCriteria"
}
}

🔹 Change 31​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: PromotionUpdateResult
  • Schema Action: PROPERTY_ADDED
  • Path: paths.getPromotionById.methodTypePlaceHolder.responses.200.content.application/json.schema.properties._id
  • New Schema:
{
"type": "string",
"description": "Auto generated id of specific promotion"
}

🔹 Change 32​

  • Action: remove
  • Type: breaking
  • xGroup: N/A
  • Schema Ref: PromotionUpdate
  • Schema Action: OPERATION_ID_REMOVED
  • Path: paths.getPromotionById.methodTypePlaceHolder.responses.200.content.application/json.schema.required.1

🔹 Change 33​

  • Action: remove
  • Type: breaking
  • xGroup: N/A
  • Schema Ref: PromotionUpdate
  • Schema Action: OPERATION_ID_REMOVED
  • Path: paths.getPromotionById.methodTypePlaceHolder.responses.200.content.application/json.schema.required.2

🔹 Change 34​

  • Action: remove
  • Type: breaking
  • xGroup: N/A
  • Schema Ref: PromotionUpdate
  • Schema Action: OPERATION_ID_REMOVED
  • Path: paths.getPromotionById.methodTypePlaceHolder.responses.200.content.application/json.schema.required.3

🔹 Change 35​

  • Action: remove
  • Type: breaking
  • xGroup: N/A
  • Schema Ref: PromotionUpdate
  • Schema Action: OPERATION_ID_REMOVED
  • Path: paths.getPromotionById.methodTypePlaceHolder.responses.200.content.application/json.schema.required.5

🔹 Change 36​

  • Action: remove
  • Type: breaking
  • xGroup: N/A
  • Schema Ref: OperationErrorResponse
  • Schema Action: PROPERTY_REMOVED
  • Path: paths.getPromotionById.methodTypePlaceHolder.responses.404.content.application/json.schema.properties.error

🔹 Change 37​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: OperationErrorResponseObject
  • Schema Action: PROPERTY_ADDED
  • Path: paths.getPromotionById.methodTypePlaceHolder.responses.404.content.application/json.schema.properties.errors
  • New Schema:
{
"type": "object",
"additionalProperties": true,
"description": "Response error message in detail"
}

🔹 Change 38​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: OperationErrorResponseObject
  • Schema Action: PROPERTY_ADDED
  • Path: paths.getPromotionById.methodTypePlaceHolder.responses.404.content.application/json.schema.properties.meta
  • New Schema:
{
"type": "object",
"additionalProperties": true,
"description": "Response meta in detail"
}

🔹 Change 39​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: N/A
  • Schema Action: N/A
  • Path: paths.getPromotionById.methodTypePlaceHolder.security
  • New Schema:
[
{
"oauth2": [
"application/cart/read"
]
}
]

🔧 Operation: updatePromotion​

🔹 Change 1​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: CouponAdd --> Restrictions --> PaymentModes
  • Schema Action: PROPERTY_ADDED
  • Path: paths.updatePromotion.methodTypePlaceHolder.requestBody.content.application/json.schema.properties.restrictions.properties.payments.additionalProperties.properties.meta
  • New Schema:
{
"$ref": "#/components/schemas/CouponPaymentMeta"
}

🔹 Change 2​

  • Action: remove
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: PromotionAdd --> Restrictions1
  • Schema Action: ENUM_REMOVED
  • Path: paths.updatePromotion.methodTypePlaceHolder.requestBody.content.application/json.schema.properties.restrictions.properties.user_type.enum

🔹 Change 3​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: PromotionAdd --> Restrictions1
  • Schema Action: PROPERTY_ADDED
  • Path: paths.updatePromotion.methodTypePlaceHolder.requestBody.content.application/json.schema.properties.restrictions.properties.price_range
  • New Schema:
{
"$ref": "#/components/schemas/PriceRange"
}

🔹 Change 4​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: PromotionAdd --> Restrictions1
  • Schema Action: PROPERTY_ADDED
  • Path: paths.updatePromotion.methodTypePlaceHolder.requestBody.content.application/json.schema.properties.restrictions.properties.cart_min_retention
  • New Schema:
{
"$ref": "#/components/schemas/CartRetention"
}

🔹 Change 5​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: PromotionAdd --> Restrictions1
  • Schema Action: PROPERTY_ADDED
  • Path: paths.updatePromotion.methodTypePlaceHolder.requestBody.content.application/json.schema.properties.restrictions.properties.email_domain
  • New Schema:
{
"type": "array",
"description": "List of email domain on which promotion is applicable",
"items": {
"type": "string"
}
}

🔹 Change 6​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: PromotionAdd --> Restrictions1
  • Schema Action: PROPERTY_ADDED
  • Path: paths.updatePromotion.methodTypePlaceHolder.requestBody.content.application/json.schema.properties.restrictions.properties.is_plt_bypass
  • New Schema:
{
"type": "boolean",
"nullable": true,
"description": "Declare to true if the coupon should bypass the PLT rules"
}

🔹 Change 7​

  • Action: remove
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: N/A
  • Schema Action: N/A
  • Path: paths.updatePromotion.methodTypePlaceHolder.requestBody.content.application/json.schema.properties._schedule.properties.end.format

🔹 Change 8​

  • Action: remove
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: N/A
  • Schema Action: N/A
  • Path: paths.updatePromotion.methodTypePlaceHolder.requestBody.content.application/json.schema.properties._schedule.properties.start.format

🔹 Change 9​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: N/A
  • Schema Action: N/A
  • Path: paths.updatePromotion.methodTypePlaceHolder.requestBody.content.application/json.schema.properties._schedule.properties.next_schedule.items.properties
  • New Schema:
{
"start": {
"type": "string"
},
"end": {
"type": "string"
}
}

🔹 Change 10​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: PromotionsResponseObject --> PromotionListItem --> PromotionSchedule
  • Schema Action: PROPERTY_ADDED
  • Path: paths.updatePromotion.methodTypePlaceHolder.requestBody.content.application/json.schema.properties._schedule.properties.status
  • New Schema:
{
"type": "string",
"description": "Promotion status like draft, review",
"enum": [
"approved",
"rejected",
"draft",
"review"
]
}

🔹 Change 11​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: PromotionAdd --> PromotionAction
  • Schema Action: NULLABLE_ADDED
  • Path: paths.updatePromotion.methodTypePlaceHolder.requestBody.content.application/json.schema.properties.post_order_action.properties.action_type.nullable
  • New Schema:
true

🔹 Change 12​

  • Action: remove
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: PromotionAdd --> PromotionAction
  • Schema Action: REQUIRED_REMOVED
  • Path: paths.updatePromotion.methodTypePlaceHolder.requestBody.content.application/json.schema.properties.post_order_action.required

🔹 Change 13​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: PromotionsResponseObject --> PromotionListItem --> PromotionAuthor
  • Schema Action: PROPERTY_ADDED
  • Path: paths.updatePromotion.methodTypePlaceHolder.requestBody.content.application/json.schema.properties.author.properties.rejected_by
  • New Schema:
{
"type": "string",
"default": null,
"nullable": true
}

🔹 Change 14​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: PromotionsResponseObject --> PromotionListItem --> PromotionAuthor
  • Schema Action: PROPERTY_ADDED
  • Path: paths.updatePromotion.methodTypePlaceHolder.requestBody.content.application/json.schema.properties.author.properties.approved_by
  • New Schema:
{
"type": "string",
"default": null,
"nullable": true
}

🔹 Change 15​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: PromotionsResponseObject --> PromotionListItem --> PromotionAuthor
  • Schema Action: PROPERTY_ADDED
  • Path: paths.updatePromotion.methodTypePlaceHolder.requestBody.content.application/json.schema.properties.author.properties.reviewed_by
  • New Schema:
{
"type": "string",
"default": null,
"nullable": true
}

🔹 Change 16​

  • Action: remove
  • Type: breaking
  • xGroup: N/A
  • Schema Ref: PromotionUpdate
  • Schema Action: PROPERTY_REMOVED
  • Path: paths.updatePromotion.methodTypePlaceHolder.requestBody.content.application/json.schema.properties.visiblility

🔹 Change 17​

  • Action: add
  • Type: breaking
  • xGroup: N/A
  • Schema Ref: PromotionUpdate
  • Schema Action: ADDITIONAL_PROPERTIES_ADDED
  • Path: paths.updatePromotion.methodTypePlaceHolder.requestBody.content.application/json.schema.properties._custom_json.additionalProperties
  • New Schema:
true

🔹 Change 18​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: PromotionsResponseObject --> PromotionListItem --> PromotionDateMeta
  • Schema Action: PROPERTY_ADDED
  • Path: paths.updatePromotion.methodTypePlaceHolder.requestBody.content.application/json.schema.properties.date_meta.properties.approved_on
  • New Schema:
{
"type": "string",
"default": null,
"nullable": true,
"format": "date-time"
}

🔹 Change 19​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: PromotionsResponseObject --> PromotionListItem --> PromotionDateMeta
  • Schema Action: PROPERTY_ADDED
  • Path: paths.updatePromotion.methodTypePlaceHolder.requestBody.content.application/json.schema.properties.date_meta.properties.rejected_on
  • New Schema:
{
"type": "string",
"default": null,
"nullable": true,
"format": "date-time"
}

🔹 Change 20​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: PromotionsResponseObject --> PromotionListItem --> PromotionDateMeta
  • Schema Action: PROPERTY_ADDED
  • Path: paths.updatePromotion.methodTypePlaceHolder.requestBody.content.application/json.schema.properties.date_meta.properties.reviewed_on
  • New Schema:
{
"type": "string",
"default": null,
"nullable": true,
"format": "date-time"
}

🔹 Change 21​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: PromotionUpdate
  • Schema Action: PROPERTY_ADDED
  • Path: paths.updatePromotion.methodTypePlaceHolder.requestBody.content.application/json.schema.properties.reason
  • New Schema:
{
"type": "string",
"nullable": true,
"description": "Promotion rejection reason added by reviewer"
}

🔹 Change 22​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: PromotionUpdate
  • Schema Action: PROPERTY_ADDED
  • Path: paths.updatePromotion.methodTypePlaceHolder.requestBody.content.application/json.schema.properties.visibility
  • New Schema:
{
"$ref": "#/components/schemas/Visibility"
}

🔹 Change 23​

  • Action: remove
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: PromotionUpdate
  • Schema Action: OPERATION_ID_REMOVED
  • Path: paths.updatePromotion.methodTypePlaceHolder.requestBody.content.application/json.schema.required.1

🔹 Change 24​

  • Action: remove
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: PromotionUpdate
  • Schema Action: OPERATION_ID_REMOVED
  • Path: paths.updatePromotion.methodTypePlaceHolder.requestBody.content.application/json.schema.required.2

🔹 Change 25​

  • Action: remove
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: PromotionUpdate
  • Schema Action: OPERATION_ID_REMOVED
  • Path: paths.updatePromotion.methodTypePlaceHolder.requestBody.content.application/json.schema.required.3

🔹 Change 26​

  • Action: remove
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: PromotionUpdate
  • Schema Action: OPERATION_ID_REMOVED
  • Path: paths.updatePromotion.methodTypePlaceHolder.requestBody.content.application/json.schema.required.5

🔹 Change 27​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: CouponAdd --> Restrictions --> PaymentModes
  • Schema Action: PROPERTY_ADDED
  • Path: paths.updatePromotion.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.restrictions.properties.payments.additionalProperties.properties.meta
  • New Schema:
{
"$ref": "#/components/schemas/CouponPaymentMeta"
}

🔹 Change 28​

  • Action: remove
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: PromotionAdd --> Restrictions1
  • Schema Action: ENUM_REMOVED
  • Path: paths.updatePromotion.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.restrictions.properties.user_type.enum

🔹 Change 29​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: PromotionAdd --> Restrictions1
  • Schema Action: PROPERTY_ADDED
  • Path: paths.updatePromotion.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.restrictions.properties.price_range
  • New Schema:
{
"$ref": "#/components/schemas/PriceRange"
}

🔹 Change 30​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: PromotionAdd --> Restrictions1
  • Schema Action: PROPERTY_ADDED
  • Path: paths.updatePromotion.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.restrictions.properties.cart_min_retention
  • New Schema:
{
"$ref": "#/components/schemas/CartRetention"
}

🔹 Change 31​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: PromotionAdd --> Restrictions1
  • Schema Action: PROPERTY_ADDED
  • Path: paths.updatePromotion.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.restrictions.properties.email_domain
  • New Schema:
{
"type": "array",
"description": "List of email domain on which promotion is applicable",
"items": {
"type": "string"
}
}

🔹 Change 32​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: PromotionAdd --> Restrictions1
  • Schema Action: PROPERTY_ADDED
  • Path: paths.updatePromotion.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.restrictions.properties.is_plt_bypass
  • New Schema:
{
"type": "boolean",
"nullable": true,
"description": "Declare to true if the coupon should bypass the PLT rules"
}

🔹 Change 33​

  • Action: remove
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: N/A
  • Schema Action: N/A
  • Path: paths.updatePromotion.methodTypePlaceHolder.responses.200.content.application/json.schema.properties._schedule.properties.end.format

🔹 Change 34​

  • Action: remove
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: N/A
  • Schema Action: N/A
  • Path: paths.updatePromotion.methodTypePlaceHolder.responses.200.content.application/json.schema.properties._schedule.properties.start.format

🔹 Change 35​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: N/A
  • Schema Action: N/A
  • Path: paths.updatePromotion.methodTypePlaceHolder.responses.200.content.application/json.schema.properties._schedule.properties.next_schedule.items.properties
  • New Schema:
{
"start": {
"type": "string"
},
"end": {
"type": "string"
}
}

🔹 Change 36​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: PromotionsResponseObject --> PromotionListItem --> PromotionSchedule
  • Schema Action: PROPERTY_ADDED
  • Path: paths.updatePromotion.methodTypePlaceHolder.responses.200.content.application/json.schema.properties._schedule.properties.status
  • New Schema:
{
"type": "string",
"description": "Promotion status like draft, review",
"enum": [
"approved",
"rejected",
"draft",
"review"
]
}

🔹 Change 37​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: PromotionAdd --> PromotionAction
  • Schema Action: NULLABLE_ADDED
  • Path: paths.updatePromotion.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.post_order_action.properties.action_type.nullable
  • New Schema:
true

🔹 Change 38​

  • Action: remove
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: PromotionAdd --> PromotionAction
  • Schema Action: REQUIRED_REMOVED
  • Path: paths.updatePromotion.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.post_order_action.required

🔹 Change 39​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: PromotionsResponseObject --> PromotionListItem --> PromotionAuthor
  • Schema Action: PROPERTY_ADDED
  • Path: paths.updatePromotion.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.author.properties.rejected_by
  • New Schema:
{
"type": "string",
"default": null,
"nullable": true
}

🔹 Change 40​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: PromotionsResponseObject --> PromotionListItem --> PromotionAuthor
  • Schema Action: PROPERTY_ADDED
  • Path: paths.updatePromotion.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.author.properties.approved_by
  • New Schema:
{
"type": "string",
"default": null,
"nullable": true
}

🔹 Change 41​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: PromotionsResponseObject --> PromotionListItem --> PromotionAuthor
  • Schema Action: PROPERTY_ADDED
  • Path: paths.updatePromotion.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.author.properties.reviewed_by
  • New Schema:
{
"type": "string",
"default": null,
"nullable": true
}

🔹 Change 42​

  • Action: remove
  • Type: breaking
  • xGroup: N/A
  • Schema Ref: PromotionUpdate
  • Schema Action: PROPERTY_REMOVED
  • Path: paths.updatePromotion.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.visiblility

🔹 Change 43​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: PromotionsResponseObject --> PromotionListItem --> PromotionDateMeta
  • Schema Action: PROPERTY_ADDED
  • Path: paths.updatePromotion.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.date_meta.properties.approved_on
  • New Schema:
{
"type": "string",
"default": null,
"nullable": true,
"format": "date-time"
}

🔹 Change 44​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: PromotionsResponseObject --> PromotionListItem --> PromotionDateMeta
  • Schema Action: PROPERTY_ADDED
  • Path: paths.updatePromotion.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.date_meta.properties.rejected_on
  • New Schema:
{
"type": "string",
"default": null,
"nullable": true,
"format": "date-time"
}

🔹 Change 45​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: PromotionsResponseObject --> PromotionListItem --> PromotionDateMeta
  • Schema Action: PROPERTY_ADDED
  • Path: paths.updatePromotion.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.date_meta.properties.reviewed_on
  • New Schema:
{
"type": "string",
"default": null,
"nullable": true,
"format": "date-time"
}

🔹 Change 46​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: PromotionUpdateResult
  • Schema Action: PROPERTY_ADDED
  • Path: paths.updatePromotion.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.medias
  • New Schema:
{
"type": "array",
"items": {
"$ref": "#/components/schemas/Media"
}
}

🔹 Change 47​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: PromotionUpdateResult
  • Schema Action: PROPERTY_ADDED
  • Path: paths.updatePromotion.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.is_archived
  • New Schema:
{
"type": "boolean",
"nullable": true,
"description": "Denotes if promotion is archived"
}

🔹 Change 48​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: PromotionUpdateResult
  • Schema Action: PROPERTY_ADDED
  • Path: paths.updatePromotion.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.reason
  • New Schema:
{
"type": "string",
"nullable": true,
"description": "Promotion rejection reason added by reviewer"
}

🔹 Change 49​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: PromotionUpdateResult
  • Schema Action: PROPERTY_ADDED
  • Path: paths.updatePromotion.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.is_processed
  • New Schema:
{
"type": "boolean",
"description": "Flag to verify if promotion is ready to be applied on cart and ready to update promotion"
}

🔹 Change 50​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: PromotionUpdateResult
  • Schema Action: PROPERTY_ADDED
  • Path: paths.updatePromotion.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.visibility
  • New Schema:
{
"$ref": "#/components/schemas/Visibility"
}

🔹 Change 51​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: PromotionUpdateResult
  • Schema Action: PROPERTY_ADDED
  • Path: paths.updatePromotion.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.offer_prefix
  • New Schema:
{
"type": "string",
"description": "Offer prefix"
}

🔹 Change 52​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: PromotionUpdateResult
  • Schema Action: PROPERTY_ADDED
  • Path: paths.updatePromotion.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.custom_content
  • New Schema:
{
"$ref": "#/components/schemas/CustomContentObject"
}

🔹 Change 53​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: PromotionUpdateResult
  • Schema Action: PROPERTY_ADDED
  • Path: paths.updatePromotion.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.offer_counts
  • New Schema:
{
"type": "number",
"description": "Number of offers created"
}

🔹 Change 54​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: PromotionUpdateResult
  • Schema Action: PROPERTY_ADDED
  • Path: paths.updatePromotion.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.offer_type
  • New Schema:
{
"type": "string",
"x-not-enum": true,
"description": "Offer type for promotion"
}

🔹 Change 55​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: PromotionUpdateResult
  • Schema Action: PROPERTY_ADDED
  • Path: paths.updatePromotion.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.is_bank_offer
  • New Schema:
{
"type": "boolean",
"description": "Promotion is for bank offer"
}

🔹 Change 56​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: PromotionUpdateResult
  • Schema Action: PROPERTY_ADDED
  • Path: paths.updatePromotion.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.indexed_criteria
  • New Schema:
{
"type": "array",
"description": "stores all rules data into one for queying purpose",
"items": {
"$ref": "#/components/schemas/PromoIndexedCriteria"
}
}

🔹 Change 57​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: PromotionUpdateResult
  • Schema Action: PROPERTY_ADDED
  • Path: paths.updatePromotion.methodTypePlaceHolder.responses.200.content.application/json.schema.properties._id
  • New Schema:
{
"type": "string",
"description": "Auto generated id of specific promotion"
}

🔹 Change 58​

  • Action: remove
  • Type: breaking
  • xGroup: N/A
  • Schema Ref: PromotionUpdate
  • Schema Action: OPERATION_ID_REMOVED
  • Path: paths.updatePromotion.methodTypePlaceHolder.responses.200.content.application/json.schema.required.1

🔹 Change 59​

  • Action: remove
  • Type: breaking
  • xGroup: N/A
  • Schema Ref: PromotionUpdate
  • Schema Action: OPERATION_ID_REMOVED
  • Path: paths.updatePromotion.methodTypePlaceHolder.responses.200.content.application/json.schema.required.2

🔹 Change 60​

  • Action: remove
  • Type: breaking
  • xGroup: N/A
  • Schema Ref: PromotionUpdate
  • Schema Action: OPERATION_ID_REMOVED
  • Path: paths.updatePromotion.methodTypePlaceHolder.responses.200.content.application/json.schema.required.3

🔹 Change 61​

  • Action: remove
  • Type: breaking
  • xGroup: N/A
  • Schema Ref: PromotionUpdate
  • Schema Action: OPERATION_ID_REMOVED
  • Path: paths.updatePromotion.methodTypePlaceHolder.responses.200.content.application/json.schema.required.5

🔹 Change 62​

  • Action: remove
  • Type: breaking
  • xGroup: N/A
  • Schema Ref: OperationErrorResponse
  • Schema Action: PROPERTY_REMOVED
  • Path: paths.updatePromotion.methodTypePlaceHolder.responses.404.content.application/json.schema.properties.error

🔹 Change 63​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: OperationErrorResponseObject
  • Schema Action: PROPERTY_ADDED
  • Path: paths.updatePromotion.methodTypePlaceHolder.responses.404.content.application/json.schema.properties.errors
  • New Schema:
{
"type": "object",
"additionalProperties": true,
"description": "Response error message in detail"
}

🔹 Change 64​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: OperationErrorResponseObject
  • Schema Action: PROPERTY_ADDED
  • Path: paths.updatePromotion.methodTypePlaceHolder.responses.404.content.application/json.schema.properties.meta
  • New Schema:
{
"type": "object",
"additionalProperties": true,
"description": "Response meta in detail"
}

🔹 Change 65​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: N/A
  • Schema Action: N/A
  • Path: paths.updatePromotion.methodTypePlaceHolder.security
  • New Schema:
[
{
"oauth2": [
"application/cart/write"
]
}
]

🔧 Operation: updatePromotionPartially​

🔹 Change 1​

  • Action: remove
  • Type: breaking
  • xGroup: N/A
  • Schema Ref: PromotionPartialUpdate
  • Schema Action: PROPERTY_REMOVED
  • Path: paths.updatePromotionPartially.methodTypePlaceHolder.requestBody.content.application/json.schema.properties.archive

🔹 Change 2​

  • Action: remove
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: N/A
  • Schema Action: N/A
  • Path: paths.updatePromotionPartially.methodTypePlaceHolder.requestBody.content.application/json.schema.properties.schedule.properties.end.format

🔹 Change 3​

  • Action: remove
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: N/A
  • Schema Action: N/A
  • Path: paths.updatePromotionPartially.methodTypePlaceHolder.requestBody.content.application/json.schema.properties.schedule.properties.start.format

🔹 Change 4​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: N/A
  • Schema Action: N/A
  • Path: paths.updatePromotionPartially.methodTypePlaceHolder.requestBody.content.application/json.schema.properties.schedule.properties.next_schedule.items.properties
  • New Schema:
{
"start": {
"type": "string"
},
"end": {
"type": "string"
}
}

🔹 Change 5​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: PromotionsResponseObject --> PromotionListItem --> PromotionSchedule
  • Schema Action: PROPERTY_ADDED
  • Path: paths.updatePromotionPartially.methodTypePlaceHolder.requestBody.content.application/json.schema.properties.schedule.properties.status
  • New Schema:
{
"type": "string",
"description": "Promotion status like draft, review",
"enum": [
"approved",
"rejected",
"draft",
"review"
]
}

🔹 Change 6​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: PromotionPartialUpdate
  • Schema Action: PROPERTY_ADDED
  • Path: paths.updatePromotionPartially.methodTypePlaceHolder.requestBody.content.application/json.schema.properties.publish
  • New Schema:
{
"type": "boolean",
"description": "Send true to publish promotion"
}

🔹 Change 7​

  • Action: remove
  • Type: breaking
  • xGroup: N/A
  • Schema Ref: OperationErrorResponse
  • Schema Action: PROPERTY_REMOVED
  • Path: paths.updatePromotionPartially.methodTypePlaceHolder.responses.404.content.application/json.schema.properties.error

🔹 Change 8​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: OperationErrorResponseObject
  • Schema Action: PROPERTY_ADDED
  • Path: paths.updatePromotionPartially.methodTypePlaceHolder.responses.404.content.application/json.schema.properties.errors
  • New Schema:
{
"type": "object",
"additionalProperties": true,
"description": "Response error message in detail"
}

🔹 Change 9​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: OperationErrorResponseObject
  • Schema Action: PROPERTY_ADDED
  • Path: paths.updatePromotionPartially.methodTypePlaceHolder.responses.404.content.application/json.schema.properties.meta
  • New Schema:
{
"type": "object",
"additionalProperties": true,
"description": "Response meta in detail"
}

🔹 Change 10​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: N/A
  • Schema Action: N/A
  • Path: paths.updatePromotionPartially.methodTypePlaceHolder.security
  • New Schema:
[
{
"oauth2": [
"application/cart/write"
]
}
]

🔧 Operation: getPromosCouponConfig​

🔹 Change 1​

  • Action: remove
  • Type: breaking
  • xGroup: N/A
  • Schema Ref: ActivePromosResponse
  • Schema Action: PROPERTY_REMOVED
  • Path: paths.getPromosCouponConfig.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.entity_slug

🔹 Change 2​

  • Action: remove
  • Type: breaking
  • xGroup: N/A
  • Schema Ref: ActivePromosResponse
  • Schema Action: PROPERTY_REMOVED
  • Path: paths.getPromosCouponConfig.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.title

🔹 Change 3​

  • Action: remove
  • Type: breaking
  • xGroup: N/A
  • Schema Ref: ActivePromosResponse
  • Schema Action: PROPERTY_REMOVED
  • Path: paths.getPromosCouponConfig.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.modified_on

🔹 Change 4​

  • Action: remove
  • Type: breaking
  • xGroup: N/A
  • Schema Ref: ActivePromosResponse
  • Schema Action: PROPERTY_REMOVED
  • Path: paths.getPromosCouponConfig.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.example

🔹 Change 5​

  • Action: remove
  • Type: breaking
  • xGroup: N/A
  • Schema Ref: ActivePromosResponse
  • Schema Action: PROPERTY_REMOVED
  • Path: paths.getPromosCouponConfig.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.entity_type

🔹 Change 6​

  • Action: remove
  • Type: breaking
  • xGroup: N/A
  • Schema Ref: ActivePromosResponse
  • Schema Action: PROPERTY_REMOVED
  • Path: paths.getPromosCouponConfig.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.created_on

🔹 Change 7​

  • Action: remove
  • Type: breaking
  • xGroup: N/A
  • Schema Ref: ActivePromosResponse
  • Schema Action: PROPERTY_REMOVED
  • Path: paths.getPromosCouponConfig.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.is_hidden

🔹 Change 8​

  • Action: remove
  • Type: breaking
  • xGroup: N/A
  • Schema Ref: ActivePromosResponse
  • Schema Action: PROPERTY_REMOVED
  • Path: paths.getPromosCouponConfig.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.type

🔹 Change 9​

  • Action: remove
  • Type: breaking
  • xGroup: N/A
  • Schema Ref: ActivePromosResponse
  • Schema Action: PROPERTY_REMOVED
  • Path: paths.getPromosCouponConfig.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.subtitle

🔹 Change 10​

  • Action: remove
  • Type: breaking
  • xGroup: N/A
  • Schema Ref: ActivePromosResponse
  • Schema Action: PROPERTY_REMOVED
  • Path: paths.getPromosCouponConfig.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.description

🔹 Change 11​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: ActivePromosResponseObject
  • Schema Action: PROPERTY_ADDED
  • Path: paths.getPromosCouponConfig.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.status
  • New Schema:
{
"type": "string"
}

🔹 Change 12​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: ActivePromosResponseObject
  • Schema Action: PROPERTY_ADDED
  • Path: paths.getPromosCouponConfig.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.items
  • New Schema:
{
"type": "array",
"items": {
"$ref": "#/components/schemas/ActivePromos"
}
}

🔹 Change 13​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: N/A
  • Schema Action: N/A
  • Path: paths.getPromosCouponConfig.methodTypePlaceHolder.security
  • New Schema:
[
{
"oauth2": [
"application/cart/read"
]
}
]

🔧 Operation: getPromotionOffers​

🔹 Change 1​

  • Action: remove
  • Type: breaking
  • xGroup: N/A
  • Schema Ref: N/A
  • Schema Action: OPERATION_ID_REMOVED
  • Path: paths.getPromotionOffers

🔧 Operation: getPromotionPaymentOffers​

🔹 Change 1​

  • Action: remove
  • Type: breaking
  • xGroup: N/A
  • Schema Ref: N/A
  • Schema Action: OPERATION_ID_REMOVED
  • Path: paths.getPromotionPaymentOffers

🔧 Operation: updateCartMetaConfig​

🔹 Change 1​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: CartMetaConfigUpdate
  • Schema Action: PROPERTY_ADDED
  • Path: paths.updateCartMetaConfig.methodTypePlaceHolder.requestBody.content.application/json.schema.properties.international_delivery_charges
  • New Schema:
{
"$ref": "#/components/schemas/DeliveryCharges"
}

🔹 Change 2​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: CartMetaConfigUpdate
  • Schema Action: PROPERTY_ADDED
  • Path: paths.updateCartMetaConfig.methodTypePlaceHolder.requestBody.content.application/json.schema.properties.app_id
  • New Schema:
{
"type": "string"
}

🔹 Change 3​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: CartMetaConfigUpdate
  • Schema Action: PROPERTY_ADDED
  • Path: paths.updateCartMetaConfig.methodTypePlaceHolder.requestBody.content.application/json.schema.properties.is_active
  • New Schema:
{
"type": "boolean"
}

🔹 Change 4​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: CartMetaConfigUpdate
  • Schema Action: PROPERTY_ADDED
  • Path: paths.updateCartMetaConfig.methodTypePlaceHolder.requestBody.content.application/json.schema.properties.slug
  • New Schema:
{
"type": "string"
}

🔹 Change 5​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: CartMetaConfigUpdate
  • Schema Action: PROPERTY_ADDED
  • Path: paths.updateCartMetaConfig.methodTypePlaceHolder.requestBody.content.application/json.schema.properties.is_universal
  • New Schema:
{
"type": "boolean"
}

🔹 Change 6​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: CartMetaConfigUpdate
  • Schema Action: PROPERTY_ADDED
  • Path: paths.updateCartMetaConfig.methodTypePlaceHolder.requestBody.content.application/json.schema.properties.company_id
  • New Schema:
{
"type": "number"
}

🔹 Change 7​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: CartMetaConfigUpdate
  • Schema Action: PROPERTY_ADDED
  • Path: paths.updateCartMetaConfig.methodTypePlaceHolder.requestBody.content.application/json.schema.properties.updated_on
  • New Schema:
{
"type": "string",
"format": "date-time"
}

🔹 Change 8​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: CartMetaConfigUpdate
  • Schema Action: PROPERTY_ADDED
  • Path: paths.updateCartMetaConfig.methodTypePlaceHolder.requestBody.content.application/json.schema.properties.last_modified_by
  • New Schema:
{
"type": "string"
}

🔹 Change 9​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: CartMetaConfigUpdate
  • Schema Action: PROPERTY_ADDED
  • Path: paths.updateCartMetaConfig.methodTypePlaceHolder.requestBody.content.application/json.schema.properties.order_placing
  • New Schema:
{
"$ref": "#/components/schemas/OrderPlacing"
}

🔹 Change 10​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: CartMetaConfigUpdate
  • Schema Action: PROPERTY_ADDED
  • Path: paths.updateCartMetaConfig.methodTypePlaceHolder.requestBody.content.application/json.schema.properties.name
  • New Schema:
{
"type": "string"
}

🔹 Change 11​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: CartMetaConfigUpdate
  • Schema Action: PROPERTY_ADDED
  • Path: paths.updateCartMetaConfig.methodTypePlaceHolder.requestBody.content.application/json.schema.properties.article_tags
  • New Schema:
{
"type": "array",
"items": {
"type": "string"
}
}

🔹 Change 12​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: CartMetaConfigUpdate
  • Schema Action: PROPERTY_ADDED
  • Path: paths.updateCartMetaConfig.methodTypePlaceHolder.requestBody.content.application/json.schema.properties.allow_coupon_with_rewards
  • New Schema:
{
"type": "boolean"
}

🔹 Change 13​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: CartMetaConfigUpdate
  • Schema Action: PROPERTY_ADDED
  • Path: paths.updateCartMetaConfig.methodTypePlaceHolder.requestBody.content.application/json.schema.properties.gst_input
  • New Schema:
{
"type": "boolean"
}

🔹 Change 14​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: CartMetaConfigUpdate
  • Schema Action: PROPERTY_ADDED
  • Path: paths.updateCartMetaConfig.methodTypePlaceHolder.requestBody.content.application/json.schema.properties.staff_selection
  • New Schema:
{
"type": "boolean"
}

🔹 Change 15​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: CartMetaConfigUpdate
  • Schema Action: PROPERTY_ADDED
  • Path: paths.updateCartMetaConfig.methodTypePlaceHolder.requestBody.content.application/json.schema.properties.placing_for_customer
  • New Schema:
{
"type": "boolean"
}

🔹 Change 16​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: CartMetaConfigUpdate
  • Schema Action: PROPERTY_ADDED
  • Path: paths.updateCartMetaConfig.methodTypePlaceHolder.requestBody.content.application/json.schema.properties.pan_card
  • New Schema:
{
"$ref": "#/components/schemas/PanCard"
}

🔹 Change 17​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: CartMetaConfigUpdate
  • Schema Action: PROPERTY_ADDED
  • Path: paths.updateCartMetaConfig.methodTypePlaceHolder.requestBody.content.application/json.schema.properties.empty_cart
  • New Schema:
{
"type": "boolean"
}

🔹 Change 18​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: CartMetaConfigUpdate
  • Schema Action: PROPERTY_ADDED
  • Path: paths.updateCartMetaConfig.methodTypePlaceHolder.requestBody.content.application/json.schema.properties.id
  • New Schema:
{
"type": "string"
}

🔹 Change 19​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: CartMetaConfigUpdate
  • Schema Action: PROPERTY_ADDED
  • Path: paths.updateCartMetaConfig.methodTypePlaceHolder.requestBody.content.application/json.schema.properties.hide_on_storefront
  • New Schema:
{
"type": "boolean"
}

🔹 Change 20​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: CartMetaConfigUpdate
  • Schema Action: PROPERTY_ADDED
  • Path: paths.updateCartMetaConfig.methodTypePlaceHolder.requestBody.content.application/json.schema.properties.created_on
  • New Schema:
{
"type": "string",
"format": "date-time"
}

🔹 Change 21​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: CartMetaConfigUpdate
  • Schema Action: PROPERTY_ADDED
  • Path: paths.updateCartMetaConfig.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.international_delivery_charges
  • New Schema:
{
"$ref": "#/components/schemas/DeliveryCharges"
}

🔹 Change 22​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: CartMetaConfigUpdate
  • Schema Action: PROPERTY_ADDED
  • Path: paths.updateCartMetaConfig.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.app_id
  • New Schema:
{
"type": "string"
}

🔹 Change 23​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: CartMetaConfigUpdate
  • Schema Action: PROPERTY_ADDED
  • Path: paths.updateCartMetaConfig.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.is_active
  • New Schema:
{
"type": "boolean"
}

🔹 Change 24​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: CartMetaConfigUpdate
  • Schema Action: PROPERTY_ADDED
  • Path: paths.updateCartMetaConfig.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.slug
  • New Schema:
{
"type": "string"
}

🔹 Change 25​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: CartMetaConfigUpdate
  • Schema Action: PROPERTY_ADDED
  • Path: paths.updateCartMetaConfig.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.is_universal
  • New Schema:
{
"type": "boolean"
}

🔹 Change 26​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: CartMetaConfigUpdate
  • Schema Action: PROPERTY_ADDED
  • Path: paths.updateCartMetaConfig.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.company_id
  • New Schema:
{
"type": "number"
}

🔹 Change 27​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: CartMetaConfigUpdate
  • Schema Action: PROPERTY_ADDED
  • Path: paths.updateCartMetaConfig.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.updated_on
  • New Schema:
{
"type": "string",
"format": "date-time"
}

🔹 Change 28​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: CartMetaConfigUpdate
  • Schema Action: PROPERTY_ADDED
  • Path: paths.updateCartMetaConfig.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.last_modified_by
  • New Schema:
{
"type": "string"
}

🔹 Change 29​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: CartMetaConfigUpdate
  • Schema Action: PROPERTY_ADDED
  • Path: paths.updateCartMetaConfig.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.order_placing
  • New Schema:
{
"$ref": "#/components/schemas/OrderPlacing"
}

🔹 Change 30​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: CartMetaConfigUpdate
  • Schema Action: PROPERTY_ADDED
  • Path: paths.updateCartMetaConfig.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.name
  • New Schema:
{
"type": "string"
}

🔹 Change 31​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: CartMetaConfigUpdate
  • Schema Action: PROPERTY_ADDED
  • Path: paths.updateCartMetaConfig.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.article_tags
  • New Schema:
{
"type": "array",
"items": {
"type": "string"
}
}

🔹 Change 32​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: CartMetaConfigUpdate
  • Schema Action: PROPERTY_ADDED
  • Path: paths.updateCartMetaConfig.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.allow_coupon_with_rewards
  • New Schema:
{
"type": "boolean"
}

🔹 Change 33​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: CartMetaConfigUpdate
  • Schema Action: PROPERTY_ADDED
  • Path: paths.updateCartMetaConfig.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.gst_input
  • New Schema:
{
"type": "boolean"
}

🔹 Change 34​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: CartMetaConfigUpdate
  • Schema Action: PROPERTY_ADDED
  • Path: paths.updateCartMetaConfig.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.staff_selection
  • New Schema:
{
"type": "boolean"
}

🔹 Change 35​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: CartMetaConfigUpdate
  • Schema Action: PROPERTY_ADDED
  • Path: paths.updateCartMetaConfig.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.placing_for_customer
  • New Schema:
{
"type": "boolean"
}

🔹 Change 36​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: CartMetaConfigUpdate
  • Schema Action: PROPERTY_ADDED
  • Path: paths.updateCartMetaConfig.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.pan_card
  • New Schema:
{
"$ref": "#/components/schemas/PanCard"
}

🔹 Change 37​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: CartMetaConfigUpdate
  • Schema Action: PROPERTY_ADDED
  • Path: paths.updateCartMetaConfig.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.empty_cart
  • New Schema:
{
"type": "boolean"
}

🔹 Change 38​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: CartMetaConfigUpdate
  • Schema Action: PROPERTY_ADDED
  • Path: paths.updateCartMetaConfig.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.id
  • New Schema:
{
"type": "string"
}

🔹 Change 39​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: CartMetaConfigUpdate
  • Schema Action: PROPERTY_ADDED
  • Path: paths.updateCartMetaConfig.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.hide_on_storefront
  • New Schema:
{
"type": "boolean"
}

🔹 Change 40​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: CartMetaConfigUpdate
  • Schema Action: PROPERTY_ADDED
  • Path: paths.updateCartMetaConfig.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.created_on
  • New Schema:
{
"type": "string",
"format": "date-time"
}

🔹 Change 41​

  • Action: remove
  • Type: breaking
  • xGroup: N/A
  • Schema Ref: N/A
  • Schema Action: N/A
  • Path: paths.updateCartMetaConfig.methodTypePlaceHolder.responses.400

🔹 Change 42​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: N/A
  • Schema Action: N/A
  • Path: paths.updateCartMetaConfig.methodTypePlaceHolder.responses.404
  • New Schema:
{
"description": "Invalid cart meta data",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OperationErrorResponseObject"
},
"examples": {
"Cart Meta Id not Found": {
"value": {
"success": false,
"message": "cart meta already code exist"
}
}
}
}
}
}

🔹 Change 43​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: N/A
  • Schema Action: N/A
  • Path: paths.updateCartMetaConfig.methodTypePlaceHolder.security
  • New Schema:
[
{
"oauth2": [
"application/cart/write"
]
}
]

🔧 Operation: ::action:-:OPERATION_ID_UPDATED::​

🔹 Change 1​

  • Action: remove
  • Type: breaking
  • xGroup: N/A
  • Schema Ref: OperationErrorResponse
  • Schema Action: PROPERTY_REMOVED
  • Path: paths.::action:-:OPERATION_ID_UPDATED::.updatePriceAdjustment.methodTypePlaceHolder.responses.400.content.application/json.schema.properties.error

🔹 Change 2​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: OperationErrorResponseObject
  • Schema Action: PROPERTY_ADDED
  • Path: paths.::action:-:OPERATION_ID_UPDATED::.updatePriceAdjustment.methodTypePlaceHolder.responses.400.content.application/json.schema.properties.errors
  • New Schema:
{
"type": "object",
"additionalProperties": true,
"description": "Response error message in detail"
}

🔹 Change 3​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: OperationErrorResponseObject
  • Schema Action: PROPERTY_ADDED
  • Path: paths.::action:-:OPERATION_ID_UPDATED::.updatePriceAdjustment.methodTypePlaceHolder.responses.400.content.application/json.schema.properties.meta
  • New Schema:
{
"type": "object",
"additionalProperties": true,
"description": "Response meta in detail"
}

🔹 Change 4​

  • Action: remove
  • Type: breaking
  • xGroup: N/A
  • Schema Ref: OperationErrorResponse
  • Schema Action: PROPERTY_REMOVED
  • Path: paths.::action:-:OPERATION_ID_UPDATED::.removePriceAdjustment.methodTypePlaceHolder.responses.400.content.application/json.schema.properties.error

🔹 Change 5​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: OperationErrorResponseObject
  • Schema Action: PROPERTY_ADDED
  • Path: paths.::action:-:OPERATION_ID_UPDATED::.removePriceAdjustment.methodTypePlaceHolder.responses.400.content.application/json.schema.properties.errors
  • New Schema:
{
"type": "object",
"additionalProperties": true,
"description": "Response error message in detail"
}

🔹 Change 6​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: OperationErrorResponseObject
  • Schema Action: PROPERTY_ADDED
  • Path: paths.::action:-:OPERATION_ID_UPDATED::.removePriceAdjustment.methodTypePlaceHolder.responses.400.content.application/json.schema.properties.meta
  • New Schema:
{
"type": "object",
"additionalProperties": true,
"description": "Response meta in detail"
}

🔹 Change 7​

  • Action: remove
  • Type: breaking
  • xGroup: N/A
  • Schema Ref: OperationErrorResponse
  • Schema Action: PROPERTY_REMOVED
  • Path: paths.::action:-:OPERATION_ID_UPDATED::.addPriceAdjustment.methodTypePlaceHolder.responses.400.content.application/json.schema.properties.error

🔹 Change 8​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: OperationErrorResponseObject
  • Schema Action: PROPERTY_ADDED
  • Path: paths.::action:-:OPERATION_ID_UPDATED::.addPriceAdjustment.methodTypePlaceHolder.responses.400.content.application/json.schema.properties.errors
  • New Schema:
{
"type": "object",
"additionalProperties": true,
"description": "Response error message in detail"
}

🔹 Change 9​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: OperationErrorResponseObject
  • Schema Action: PROPERTY_ADDED
  • Path: paths.::action:-:OPERATION_ID_UPDATED::.addPriceAdjustment.methodTypePlaceHolder.responses.400.content.application/json.schema.properties.meta
  • New Schema:
{
"type": "object",
"additionalProperties": true,
"description": "Response meta in detail"
}

🔹 Change 10​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: CouponsResponseObject --> Page
  • Schema Action: PROPERTY_ADDED
  • Path: paths.::action:-:OPERATION_ID_UPDATED::.getAbandonedCart.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.page.properties.page
  • New Schema:
{
"type": "integer",
"format": "int32",
"description": "Page requested"
}

🔹 Change 11​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: CouponsResponseObject --> Page
  • Schema Action: PROPERTY_ADDED
  • Path: paths.::action:-:OPERATION_ID_UPDATED::.getAbandonedCart.methodTypePlaceHolder.responses.200.content.application/json.schema.properties.page.properties.last_id
  • New Schema:
{
"nullable": true,
"type": "string",
"description": "Last objects id"
}

🔹 Change 12​

  • Action: remove
  • Type: breaking
  • xGroup: N/A
  • Schema Ref: N/A
  • Schema Action: N/A
  • Path: paths.::action:-:OPERATION_ID_UPDATED::.addBulkPriceAdjustment

🔹 Change 13​

  • Action: remove
  • Type: breaking
  • xGroup: N/A
  • Schema Ref: N/A
  • Schema Action: N/A
  • Path: paths.::action:-:OPERATION_ID_UPDATED::.updateBulkPriceAdjustment

🔹 Change 14​

  • Action: remove
  • Type: breaking
  • xGroup: N/A
  • Schema Ref: N/A
  • Schema Action: N/A
  • Path: paths.::action:-:OPERATION_ID_UPDATED::.removeBulkPriceAdjustment

🔹 Change 15​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: N/A
  • Schema Action: N/A
  • Path: paths.::action:-:OPERATION_ID_UPDATED::.getCouponTags
  • New Schema:
{
"methodTypePlaceHolder": {
"summary": "Get a list of all coupon tags associated with a application.",
"description": "This API helps to get coupon tags data associated to a particular application.",
"tags": [
"Coupon"
],
"x-groups": [
"Coupon"
],
"operationId": "getCouponTags",
"parameters": [
{
"schema": {
"type": "string"
},
"description": "Current company id",
"in": "path",
"required": true,
"name": "company_id"
},
{
"schema": {
"type": "integer"
},
"description": "ID of the application for which tags are to be fetched.",
"in": "path",
"required": true,
"name": "application_id"
}
],
"responses": {
"200": {
"description": "Tag List. See example below for details",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TagsViewResponseObject"
},
"examples": {
"Tags list for sent": {
"value": {
"items": [
"platform",
"custom"
]
}
}
}
}
}
}
},
"security": [
{
"oauth2": [
"application/cart/read"
]
}
],
"path": "/service/platform/cart/v1.0/company/{company_id}/application/{application_id}/coupon-tags",
"methodType": "get"
}
}

🔹 Change 16​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: N/A
  • Schema Action: N/A
  • Path: paths.::action:-:OPERATION_ID_UPDATED::.getPromotionTags
  • New Schema:
{
"methodTypePlaceHolder": {
"summary": "Get a list of all Promotion tags associated with a application.",
"description": "This API helps to get Promotion tags data associated to a particular application.",
"tags": [
"Promotion"
],
"x-groups": [
"Promotion"
],
"operationId": "getPromotionTags",
"parameters": [
{
"schema": {
"type": "string"
},
"description": "Current company id",
"in": "path",
"required": true,
"name": "company_id"
},
{
"schema": {
"type": "integer"
},
"description": "ID of the application for which tags are to be fetched.",
"in": "path",
"required": true,
"name": "application_id"
}
],
"responses": {
"200": {
"description": "Tag List. See example below for details",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TagsViewResponseObject"
},
"examples": {
"Tags list for sent": {
"value": {
"items": [
"platform",
"custom"
]
}
}
}
}
}
}
},
"security": [
{
"oauth2": [
"application/cart/read"
]
}
],
"path": "/service/platform/cart/v1.0/company/{company_id}/application/{application_id}/promo-tags",
"methodType": "get"
}
}

🔹 Change 17​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: N/A
  • Schema Action: N/A
  • Path: paths.::action:-:OPERATION_ID_UPDATED::.getCartMetaConfig
  • New Schema:
{
"methodTypePlaceHolder": {
"summary": "Get cart meta configuration by id",
"description": "Get cart meta configuration by id",
"tags": [
"Cart meta configuration"
],
"operationId": "getCartMetaConfig",
"parameters": [
{
"schema": {
"type": "string"
},
"description": "Current company id",
"in": "path",
"required": true,
"name": "company_id"
},
{
"schema": {
"type": "string"
},
"description": "Current Application id",
"in": "path",
"required": true,
"name": "application_id"
},
{
"name": "cart_meta_id",
"in": "path",
"schema": {
"type": "string"
},
"description": "CartMeta mongo _id for fetching single cart meta data for editing",
"required": true,
"examples": {
"200_OKAY": {
"value": "61d1db23f5b315cf265126c0"
},
"Invalid cart meta data": {
"value": "61d1db23f5b315cf26512345"
}
}
}
],
"responses": {
"200": {
"description": "Cart Meta Config Fetched successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CartMetaConfigDetailObject"
},
"examples": {
"200_OKAY": {
"value": {
"success": true,
"data": {
"id": "645ba594d414eb0669e6ee14",
"app_id": "60792ded7826bd09330ed90d",
"company_id": 884,
"bulk_coupons": false,
"delivery_charges": {
"charges": [],
"enabled": false
},
"international_delivery_charges": {
"charges": [],
"enabled": false
},
"empty_cart": false,
"enabled": true,
"max_cart_items": 50,
"min_cart_value": 0,
"revenue_engine_coupon": false,
"gift_pricing": 50,
"gift_display_text": "",
"is_universal": false,
"is_active": true,
"order_placing": {
"enabled": true,
"message": ""
},
"name": "Universal",
"slug": "universal",
"article_tags": [
"sale",
"offer"
],
"allow_coupon_with_rewards": false,
"gst_input": true,
"staff_selection": true,
"placing_for_customer": false,
"hide_on_storefront": false,
"pan_card": {
"enabled": false,
"cod_threshold_amount": 0,
"online_threshold_amount": 0
},
"created_on": "2023-12-21T12:17:12",
"updated_on": "2023-12-21T12:17:12",
"last_modified_by": "5b84e9ffb02426353608c380"
}
}
}
}
}
}
},
"404": {
"description": "Invalid cart meta data",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OperationErrorResponseObject"
},
"examples": {
"Invalid cart meta data": {
"value": {
"success": false,
"message": "Something went wrong. Try again later"
}
}
}
}
}
}
},
"x-groups": [
"Cart"
],
"security": [
{
"oauth2": [
"application/cart/read"
]
}
],
"path": "/service/platform/cart/v1.0/company/{company_id}/application/{application_id}/cart_configuration/{cart_meta_id}",
"methodType": "get"
}
}

🔹 Change 18​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: N/A
  • Schema Action: N/A
  • Path: paths.::action:-:OPERATION_ID_UPDATED::.deleteCartMetaConfig
  • New Schema:
{
"methodTypePlaceHolder": {
"summary": "Delete cart meta configuration",
"description": "Delete cart meta configuration",
"tags": [
"Cart meta configuration"
],
"operationId": "deleteCartMetaConfig",
"parameters": [
{
"schema": {
"type": "string"
},
"description": "Current company id",
"in": "path",
"required": true,
"name": "company_id"
},
{
"schema": {
"type": "string"
},
"description": "Current Application _id",
"in": "path",
"required": true,
"name": "application_id"
},
{
"name": "cart_meta_id",
"in": "path",
"schema": {
"type": "string"
},
"description": "CartMeta mongo _id for fetching single cart meta data for editing",
"required": true,
"examples": {
"200_OKAY": {
"value": "61d1db23f5b315cf265126c1"
},
"Invalid cart config data": {
"value": "61d1db23f5b315cf26512345"
}
}
}
],
"responses": {
"200": {
"description": "Cart Meta Config deleted successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SuccessMessage"
},
"examples": {
"200_OKAY": {
"value": {
"success": true,
"message": ""
}
}
}
}
}
},
"404": {
"description": "Invalid cart meta data",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OperationErrorResponseObject"
},
"examples": {
"Invalid cart config data": {
"value": {
"success": false,
"message": "Universal cart config can't be removed"
}
}
}
}
}
}
},
"x-groups": [
"Cart"
],
"security": [
{
"oauth2": [
"application/cart/write"
]
}
],
"path": "/service/platform/cart/v1.0/company/{company_id}/application/{application_id}/cart_configuration/{cart_meta_id}",
"methodType": "delete"
}
}

🔹 Change 19​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: N/A
  • Schema Action: N/A
  • Path: paths.::action:-:OPERATION_ID_UPDATED::.createCouponV2
  • New Schema:
{
"methodTypePlaceHolder": {
"summary": "Create a coupon",
"description": "Creates a new coupon based on the selected promotion type. Sellers can choose from multiple supported promotion types, including percentage value, fixed amount value, bundled discount, buy X get Y items, and more, along with customizable coupon criteria to meet specific business requirements.",
"tags": [
"Coupon"
],
"operationId": "createCouponV2",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CouponAddV2"
},
"examples": {
"201_CREATED": {
"value": {
"code": "testcouponv4",
"application_id": "000000000000000000000001",
"promo_group": "product",
"promotion_type": "bogo",
"date_meta": {
"modified_on": "2022-01-11T05:47:11.503Z",
"created_on": "2022-01-10T19:49:29.917Z"
},
"discount_rules": [
{
"buy_condition": "rule#1",
"offer": {
"max_offer_quantity": 2
},
"discount_type": "bogo",
"item_criteria": {
"item_brand": [
2,
14,
65
]
}
}
],
"buy_rules": {
"rule#1": {
"cart_quantity": {
"greater_than_equals": 5
},
"item_brand": [
1,
2,
14,
16,
29,
39,
43,
65,
73
]
}
},
"display_meta": {
"offer_text": "Test",
"name": "Test BOGO coupon",
"description": "Test"
},
"apply_all_discount": false,
"apply_exclusive": null,
"stackable": true,
"restrictions": {
"user_id": [],
"anonymous_users": true,
"platforms": [
"web",
"android",
"ios"
],
"post_order": {
"cancellation_allowed": true,
"return_allowed": true
},
"uses": {
"remaining": {
"user": 0,
"total": 0
},
"maximum": {
"user": 0,
"total": 0
}
},
"payments": {}
},
"_custom_json": {},
"author": {
"created_by": "5",
"modified_by": "5"
},
"_schedule": {
"start": "2022-01-10T18:45:36.311Z",
"end": "2099-01-10T18:45:36.311Z",
"published": true,
"next_schedule": [
{
"start": "2022-01-10T18:45:36.311Z",
"end": "2099-01-10T18:45:36.311Z"
}
],
"cron": "",
"duration": 0
},
"apply_priority": 1,
"visibility": {
"pdp": true,
"coupon_list": false
},
"ownership": {
"payable_by": "",
"payable_category": "seller"
},
"currency": "INR",
"mode": "coupon",
"post_order_action": {
"action_date": null,
"action_type": ""
}
}
},
"Coupon code exists": {
"value": {
"code": "testcouponv4",
"application_id": "000000000000000000000001",
"promo_group": "product",
"promotion_type": "bogo",
"date_meta": {
"modified_on": "2022-01-11T05:47:11.503Z",
"created_on": "2022-01-10T19:49:29.917Z"
},
"discount_rules": [
{
"buy_condition": "rule#1",
"offer": {
"max_offer_quantity": 2
},
"discount_type": "bogo",
"item_criteria": {
"item_brand": [
2,
14,
65
]
}
}
],
"buy_rules": {
"rule#1": {
"cart_quantity": {
"greater_than_equals": 5
},
"item_brand": [
1,
2,
14,
16,
29,
39,
43,
65,
73
]
}
},
"display_meta": {
"offer_text": "Test",
"name": "Test BOGO coupon",
"description": "Test"
},
"apply_all_discount": false,
"apply_exclusive": null,
"stackable": true,
"restrictions": {
"user_id": [],
"anonymous_users": true,
"platforms": [
"web",
"android",
"ios"
],
"post_order": {
"cancellation_allowed": true,
"return_allowed": true
},
"uses": {
"remaining": {
"user": 0,
"total": 0
},
"maximum": {
"user": 0,
"total": 0
}
},
"payments": {}
},
"_custom_json": {},
"author": {
"created_by": "5",
"modified_by": "5"
},
"_schedule": {
"start": "2022-01-10T18:45:36.311Z",
"end": "2099-01-10T18:45:36.311Z",
"published": true,
"next_schedule": [
{
"start": "2022-01-10T18:45:36.311Z",
"end": "2099-01-10T18:45:36.311Z"
}
],
"cron": "",
"duration": 0
},
"apply_priority": 1,
"visibility": {
"pdp": true,
"coupon_list": false
},
"ownership": {
"payable_by": "",
"payable_category": "seller"
},
"currency": "INR",
"mode": "coupon",
"post_order_action": {
"action_date": null,
"action_type": ""
}
}
}
}
}
}
},
"responses": {
"201": {
"description": "Coupon Created successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CouponV2AddResult"
},
"examples": {
"201_CREATED": {
"value": {
"_id": "61dc8dc9adf45b2273a70a6e",
"application_id": "000000000000000000000001",
"code": "testcouponv4",
"promo_group": "product",
"promotion_type": "bogo",
"date_meta": {
"modified_on": "2022-01-11T05:47:11.503000+00:00",
"created_on": "2022-01-10T19:49:29.917000+00:00"
},
"discount_rules": [
{
"buy_condition": "rule#1",
"offer": {
"max_offer_quantity": 2
},
"discount_type": "bogo",
"item_criteria": {
"item_brand": [
2,
14,
65
]
}
}
],
"buy_rules": {
"rule#1": {
"cart_quantity": {
"greater_than_equals": 5
},
"item_brand": [
1,
2,
14,
16,
29,
39,
43,
65,
73
]
}
},
"display_meta": {
"offer_text": "Test",
"name": "Test BOGO coupon",
"description": "Test"
},
"apply_all_discount": false,
"apply_exclusive": null,
"stackable": true,
"restrictions": {
"user_id": [],
"anonymous_users": true,
"platforms": [
"web",
"android",
"ios"
],
"post_order": {
"cancellation_allowed": true,
"return_allowed": true
},
"uses": {
"remaining": {
"user": 0,
"total": 0
},
"maximum": {
"user": 0,
"total": 0
}
},
"payments": {}
},
"_custom_json": {},
"author": {
"created_by": "5",
"modified_by": "5"
},
"_schedule": {
"start": "2022-01-10T18:45:36.311Z",
"end": "2099-01-10T18:45:36.311Z",
"published": true,
"next_schedule": [
{
"start": "2022-01-10T18:45:36.311Z",
"end": "2099-01-10T18:45:36.311Z"
}
],
"cron": "",
"duration": 0
},
"apply_priority": 1,
"visibility": {
"pdp": true,
"coupon_list": false
},
"ownership": {
"payable_by": "",
"payable_category": "seller"
},
"currency": "INR",
"mode": "coupon",
"post_order_action": {
"action_date": null,
"action_type": ""
},
"indexed_criteria": [
{
"key": "item_brand",
"value": 1
}
]
}
}
}
}
}
},
"400": {
"description": "Invalid coupon data or existing coupon code",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OperationErrorResponseObject"
},
"examples": {
"Coupon code exists": {
"value": {
"success": false,
"message": "Coupon already code exist"
}
}
}
}
}
}
},
"parameters": [
{
"schema": {
"type": "string"
},
"description": "Current company id",
"in": "path",
"required": true,
"name": "company_id"
},
{
"schema": {
"type": "string"
},
"description": "Current Application _id",
"in": "path",
"required": true,
"name": "application_id"
}
],
"x-groups": [
"Coupon"
],
"security": [
{
"oauth2": [
"application/cart/write"
]
}
],
"path": "/service/platform/cart/v2.0/company/{company_id}/application/{application_id}/coupon",
"methodType": "post"
}
}

🔹 Change 20​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: N/A
  • Schema Action: N/A
  • Path: paths.::action:-:OPERATION_ID_UPDATED::.getCouponV2
  • New Schema:
{
"methodTypePlaceHolder": {
"summary": "List coupons",
"description": "Retrieve a list of all created coupons for specific sales channel. It also supports searching based on text search, pagination and other flags to filter coupons.",
"tags": [
"Coupon",
"Pagination"
],
"operationId": "getCouponV2",
"parameters": [
{
"schema": {
"type": "string"
},
"description": "Current company id",
"in": "path",
"required": true,
"name": "company_id"
},
{
"schema": {
"type": "string"
},
"description": "Current Application _id",
"in": "path",
"required": true,
"name": "application_id"
},
{
"name": "page_no",
"in": "query",
"schema": {
"type": "integer",
"default": 0
},
"description": "current page no as per pagination",
"examples": {
"200_OKAY": {
"value": 1
}
}
},
{
"name": "page_size",
"in": "query",
"schema": {
"type": "integer",
"default": 10
},
"description": "Coupon max records fetched in single request",
"examples": {
"200_OKAY": {
"value": 10
}
}
},
{
"name": "q",
"in": "query",
"schema": {
"type": "string"
},
"description": "Filter by name"
},
{
"name": "is_active",
"in": "query",
"schema": {
"type": "boolean",
"default": true
},
"description": "Filter by active or inactive coupon",
"examples": {
"200_OKAY": {
"value": true
}
}
},
{
"name": "promo_group",
"in": "query",
"schema": {
"type": "string",
"enum": [
"product",
"cart",
"contract",
"ladder_price",
"limited_timer"
]
},
"description": "Filter promotion group",
"examples": {
"200_OKAY": {
"value": "product"
}
}
},
{
"name": "promotion_type",
"in": "query",
"schema": {
"type": "string",
"enum": [
"percentage",
"amount",
"fixed_price",
"bogo",
"bundle_price_percentage",
"bundle_price_amount",
"bundle_amount_percentage"
]
},
"description": "Filter promotion type",
"examples": {
"200_OKAY": {
"value": "amount"
}
}
},
{
"name": "fp_panel",
"in": "query",
"schema": {
"type": "string"
},
"description": "Filter non extension coupons"
},
{
"name": "coupon_id",
"in": "query",
"schema": {
"type": "string"
},
"description": "Filter by coupon _id",
"examples": {
"200_OKAY": {
"value": "61d1db23f5b315cf265126c0"
}
}
}
],
"responses": {
"200": {
"description": "Coupon List for sent page_size and page_no",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CouponV2Result"
},
"examples": {
"200_OKAY": {
"value": {
"items": [
{
"_id": "61dc8dc9adf45b2273a70a6e",
"code": "testcouponv4",
"promo_group": "product",
"promotion_type": "bogo",
"date_meta": {
"modified_on": "2022-01-11T05:47:11.503",
"created_on": "2022-01-10T19:49:29.917"
},
"display_meta": {
"name": "Test BOGO Coupon"
},
"author": {
"created_by": "5",
"modified_by": "5"
},
"_schedule": {
"start": "2022-01-10T18:45:36.311",
"end": "2025-01-10T18:45:36.311",
"published": true,
"next_schedule": [
{
"start": "2022-01-10T18:45:36.311",
"end": "2025-01-10T18:45:36.311"
}
],
"cron": "",
"duration": 0
},
"mode": "coupon"
}
],
"page": {
"type": "number",
"has_next": true,
"size": 10,
"current": 1,
"item_total": 30
}
}
}
}
}
}
}
},
"x-groups": [
"Coupon"
],
"security": [
{
"oauth2": [
"application/cart/read"
]
}
],
"path": "/service/platform/cart/v2.0/company/{company_id}/application/{application_id}/coupon",
"methodType": "get"
}
}

🔹 Change 21​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: N/A
  • Schema Action: N/A
  • Path: paths.::action:-:OPERATION_ID_UPDATED::.getCouponByIdV2
  • New Schema:
{
"methodTypePlaceHolder": {
"summary": "Get coupon details by ID",
"description": "Retrieve details of a specific coupon by providing its unique identifier to obtain information such as promotion type, rules, validity period and other related information.",
"tags": [
"Coupon"
],
"operationId": "getCouponByIdV2",
"parameters": [
{
"schema": {
"type": "string"
},
"description": "Current company id",
"in": "path",
"required": true,
"name": "company_id"
},
{
"schema": {
"type": "string"
},
"description": "Current Application _id",
"in": "path",
"required": true,
"name": "application_id"
},
{
"name": "id",
"in": "path",
"required": true,
"schema": {
"type": "string"
},
"description": "Coupon mongo _id for fetching single coupon data for editing",
"examples": {
"COUPON_FETCH_BY_ID": {
"value": "678752089b25ac5f29c352e1"
},
"COUPON_NOT_FOUND": {
"value": "5e1d9bec6d6b7e000146c840"
}
}
}
],
"responses": {
"200": {
"description": "Coupon object for sent `id`",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PromotionUpdateResult"
},
"examples": {
"COUPON_FETCH_BY_ID": {
"value": {
"application_id": "000000000000000000000001",
"code": "testcouponv4",
"promo_group": "product",
"promotion_type": "bogo",
"date_meta": {
"modified_on": "2022-01-11T05:47:11.503000+00:00",
"created_on": "2022-01-10T19:49:29.917000+00:00"
},
"discount_rules": [
{
"buy_condition": "rule#1",
"offer": {
"max_offer_quantity": 2
},
"discount_type": "bogo",
"item_criteria": {
"item_brand": [
2,
14,
65
]
}
}
],
"buy_rules": {
"rule#1": {
"cart_quantity": {
"greater_than_equals": 5
},
"item_brand": [
1,
2,
14,
16,
29,
39,
43,
65,
73
]
}
},
"display_meta": {
"offer_text": "Test",
"name": "Test BOGO coupon",
"description": "test"
},
"apply_all_discount": false,
"apply_exclusive": null,
"stackable": true,
"restrictions": {
"user_id": [],
"anonymous_users": true,
"platforms": [
"web",
"android",
"ios"
],
"post_order": {
"cancellation_allowed": true,
"return_allowed": true
},
"uses": {
"remaining": {
"user": 0,
"total": 0
},
"maximum": {
"user": 0,
"total": 0
}
},
"payments": {}
},
"_custom_json": {},
"author": {
"created_by": "5",
"modified_by": "5"
},
"_schedule": {
"start": "2022-01-10T18:45:36.311Z",
"end": "2025-01-10T18:45:36.311Z",
"published": true,
"next_schedule": [
{
"start": "2022-01-10T18:45:36.311Z",
"end": "2025-01-10T18:45:36.311Z"
}
],
"cron": "",
"duration": 0
},
"apply_priority": 1,
"visibility": {
"pdp": true,
"coupon_list": false
},
"ownership": {
"payable_by": "",
"payable_category": "seller"
},
"currency": "INR",
"mode": "coupon",
"post_order_action": {
"action_date": null,
"action_type": ""
},
"indexed_criteria": [
{
"key": "item_brand",
"value": 1
}
]
}
}
}
}
}
},
"404": {
"description": "Coupon not found for passed `id`",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OperationErrorResponseObject"
},
"examples": {
"COUPON_NOT_FOUND": {
"value": {
"success": false,
"message": "Coupon Not found"
}
}
}
}
}
}
},
"x-groups": [
"Coupon"
],
"security": [
{
"oauth2": [
"application/cart/read"
]
}
],
"path": "/service/platform/cart/v2.0/company/{company_id}/application/{application_id}/coupon/{id}",
"methodType": "get"
}
}

🔹 Change 22​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: N/A
  • Schema Action: N/A
  • Path: paths.::action:-:OPERATION_ID_UPDATED::.updateCouponV2
  • New Schema:
{
"methodTypePlaceHolder": {
"summary": "Update a coupon",
"description": "Update the details of an existing coupon by specifying its unique identifier. This includes modifying coupon attributes such as discount percentage, validity period, and associated conditions. Leveraging this functionality allows businesses to quickly adapt their promotional strategies to changing market dynamics.",
"tags": [
"Coupon"
],
"operationId": "updateCouponV2",
"parameters": [
{
"schema": {
"type": "string"
},
"description": "Current company id",
"in": "path",
"required": true,
"name": "company_id"
},
{
"schema": {
"type": "string"
},
"description": "Current Application _id",
"in": "path",
"required": true,
"name": "application_id"
},
{
"name": "id",
"in": "path",
"schema": {
"type": "string"
},
"description": "Coupon mongo _id for fetching single coupon data for editing",
"required": true,
"examples": {
"200_OKAY": {
"value": "678752089b25ac5f29c352e1"
},
"404_NOT_FOUND": {
"value": "5e1d9bec6d6b7e000146c840"
}
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CouponV2Update"
},
"examples": {
"200_OKAY": {
"value": {
"application_id": "000000000000000000000001",
"code": "cv4drafttest",
"promo_group": "product",
"promotion_type": "percentage",
"date_meta": {
"modified_on": "2022-01-11T05:47:11.503000+00:00",
"created_on": "2022-01-10T19:49:29.917000+00:00"
},
"discount_rules": [
{
"buy_condition": "rule#1",
"offer": {
"discount_percentage": 10,
"max_discount_amount": 100
},
"discount_type": "percentage",
"item_criteria": {
"item_brand": [
2,
14,
65
]
}
}
],
"buy_rules": {
"rule#1": {
"cart_quantity": {
"greater_than_equals": 5
},
"item_brand": [
1,
2,
14,
16,
29,
39,
43,
65,
73
]
}
},
"display_meta": {
"offer_text": "Test",
"name": "Test Draft coupon v2",
"description": "Test"
},
"apply_all_discount": false,
"apply_exclusive": null,
"stackable": true,
"restrictions": {
"user_id": [],
"anonymous_users": true,
"platforms": [
"web",
"android",
"ios"
],
"post_order": {
"cancellation_allowed": true,
"return_allowed": true
},
"uses": {
"remaining": {
"user": 0,
"total": 0
},
"maximum": {
"user": 0,
"total": 0
}
},
"payments": {}
},
"_custom_json": {},
"author": {
"created_by": "5",
"modified_by": "5"
},
"_schedule": {
"start": "2022-01-10T18:45:36.311Z",
"end": "2099-01-10T18:45:36.311Z",
"published": true,
"next_schedule": [
{
"start": "2022-01-10T18:45:36.311Z",
"end": "2099-01-10T18:45:36.311Z"
}
],
"cron": "",
"duration": 0
},
"apply_priority": 1,
"visibility": {
"pdp": true,
"coupon_list": false
},
"ownership": {
"payable_by": "",
"payable_category": "seller"
},
"currency": "INR",
"mode": "coupon",
"post_order_action": {
"action_date": null,
"action_type": ""
}
}
},
"404_NOT_FOUND": {
"value": {
"application_id": "000000000000000000000001",
"code": "cv4drafttest",
"promo_group": "product",
"promotion_type": "percentage",
"date_meta": {
"modified_on": "2022-01-11T05:47:11.503000+00:00",
"created_on": "2022-01-10T19:49:29.917000+00:00"
},
"discount_rules": [
{
"buy_condition": "rule#1",
"offer": {
"discount_percentage": 10,
"max_discount_amount": 100
},
"discount_type": "percentage",
"item_criteria": {
"item_brand": [
2,
14,
65
]
}
}
],
"buy_rules": {
"rule#1": {
"cart_quantity": {
"greater_than_equals": 5
},
"item_brand": [
1,
2,
14,
16,
29,
39,
43,
65,
73
]
}
},
"display_meta": {
"offer_text": "Test",
"name": "Test Draft coupon v2",
"description": "Test"
},
"apply_all_discount": false,
"apply_exclusive": null,
"stackable": true,
"restrictions": {
"user_id": [],
"anonymous_users": true,
"platforms": [
"web",
"android",
"ios"
],
"post_order": {
"cancellation_allowed": true,
"return_allowed": true
},
"uses": {
"remaining": {
"user": 0,
"total": 0
},
"maximum": {
"user": 0,
"total": 0
}
},
"payments": {}
},
"_custom_json": {},
"author": {
"created_by": "5",
"modified_by": "5"
},
"_schedule": {
"start": "2022-01-10T18:45:36.311Z",
"end": "2099-01-10T18:45:36.311Z",
"published": true,
"next_schedule": [
{
"start": "2022-01-10T18:45:36.311Z",
"end": "2099-01-10T18:45:36.311Z"
}
],
"cron": "",
"duration": 0
},
"apply_priority": 1,
"visibility": {
"pdp": true,
"coupon_list": false
},
"ownership": {
"payable_by": "",
"payable_category": "seller"
},
"currency": "INR",
"mode": "coupon",
"post_order_action": {
"action_date": null,
"action_type": ""
}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Coupon updated successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CouponV2UpdateResult"
},
"examples": {
"200_OKAY": {
"value": {
"_id": "678752089b25ac5f29c352e1",
"application_id": "000000000000000000000001",
"code": "cv4drafttest",
"promo_group": "product",
"promotion_type": "percentage",
"date_meta": {
"modified_on": "2022-01-11T05:47:11.503000+00:00",
"created_on": "2022-01-10T19:49:29.917000+00:00"
},
"discount_rules": [
{
"buy_condition": "rule#1",
"offer": {
"discount_percentage": 10,
"max_discount_amount": 100
},
"discount_type": "percentage",
"item_criteria": {
"item_brand": [
2,
14,
65
]
}
}
],
"buy_rules": {
"rule#1": {
"cart_quantity": {
"greater_than_equals": 5
},
"item_brand": [
1,
2,
14,
16,
29,
39,
43,
65,
73
]
}
},
"display_meta": {
"offer_text": "Test",
"name": "Test Draft coupon v2",
"description": "Test"
},
"apply_all_discount": false,
"apply_exclusive": null,
"stackable": true,
"restrictions": {
"user_id": [],
"anonymous_users": true,
"platforms": [
"web",
"android",
"ios"
],
"post_order": {
"cancellation_allowed": true,
"return_allowed": true
},
"uses": {
"remaining": {
"user": 0,
"total": 0
},
"maximum": {
"user": 0,
"total": 0
}
},
"payments": {}
},
"_custom_json": {},
"author": {
"created_by": "5",
"modified_by": "5"
},
"_schedule": {
"start": "2022-01-10T18:45:36.311Z",
"end": "2099-01-10T18:45:36.311Z",
"published": true,
"next_schedule": [
{
"start": "2022-01-10T18:45:36.311Z",
"end": "2099-01-10T18:45:36.311Z"
}
],
"cron": "",
"duration": 0
},
"apply_priority": 1,
"visibility": {
"pdp": true,
"coupon_list": false
},
"ownership": {
"payable_by": "",
"payable_category": "seller"
},
"currency": "INR",
"mode": "coupon",
"post_order_action": {
"action_date": null,
"action_type": ""
},
"indexed_criteria": [
{
"key": "item_brand",
"value": 1
}
]
}
}
}
}
}
},
"404": {
"description": "Coupon not found for `id` from path params",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OperationErrorResponseObject"
},
"examples": {
"404_NOT_FOUND": {
"value": {
"success": false,
"message": "Coupon Not found"
}
}
}
}
}
}
},
"x-groups": [
"Coupon"
],
"security": [
{
"oauth2": [
"application/cart/write"
]
}
],
"path": "/service/platform/cart/v2.0/company/{company_id}/application/{application_id}/coupon/{id}",
"methodType": "put"
}
}

🔹 Change 23​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: N/A
  • Schema Action: N/A
  • Path: paths.::action:-:OPERATION_ID_UPDATED::.updateCouponPartiallyV2
  • New Schema:
{
"methodTypePlaceHolder": {
"summary": "Partially update a coupon.",
"description": "Seller can make partial adjustments of an existing coupon by specifying its unique identifier. It enables businesses to modify specific attributes of the coupon while preserving other details intact.",
"tags": [
"Coupon"
],
"operationId": "updateCouponPartiallyV2",
"x-documentation": false,
"parameters": [
{
"schema": {
"type": "string"
},
"description": "Current company id",
"in": "path",
"required": true,
"name": "company_id"
},
{
"schema": {
"type": "string"
},
"description": "Current Application _id",
"in": "path",
"required": true,
"name": "application_id"
},
{
"name": "id",
"in": "path",
"schema": {
"type": "string"
},
"description": "Coupon mongo _id for fetching single coupon data for editing",
"required": true,
"examples": {
"Publish_Unpublish_Coupon": {
"value": "678752089b25ac5f29c363e1"
},
"Change_Coupon_Schedule": {
"value": "678752089b25ac5f29c373e1"
},
"404_NOT_FOUND": {
"value": "61d1db23f5b315cf26512345"
}
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CouponV2PartialUpdate"
},
"examples": {
"Publish_Unpublish_Coupon": {
"value": {
"publish": true
}
},
"Change_Coupon_Schedule": {
"value": {
"schedule": {
"published": true,
"start": "2025-01-01T08:35:39.600Z",
"end": "2099-12-30T08:35:39.600Z",
"cron": "",
"duration": 0
}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Coupon updated successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SuccessMessage"
},
"examples": {
"Publish_Unpublish_Coupon": {
"value": {
"success": true,
"message": "Coupon Updated"
}
},
"Change_Coupon_Schedule": {
"value": {
"success": true,
"message": "Coupon schedule updated"
}
}
}
}
}
},
"404": {
"description": "Coupon not found for `id` from path params",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OperationErrorResponseObject"
},
"examples": {
"404_NOT_FOUND": {
"value": {
"success": false,
"message": "Coupon Not found"
}
}
}
}
}
}
},
"x-groups": [
"Coupon"
],
"security": [
{
"oauth2": [
"application/cart/write"
]
}
],
"path": "/service/platform/cart/v2.0/company/{company_id}/application/{application_id}/coupon/{id}",
"methodType": "patch"
}
}

🔹 Change 24​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: N/A
  • Schema Action: N/A
  • Path: paths.::action:-:OPERATION_ID_UPDATED::.createSerialCoupon
  • New Schema:
{
"methodTypePlaceHolder": {
"summary": "Create a serial coupon",
"description": "Creates a new serial coupon based on the selected promotion type. Sellers can choose from multiple supported promotion types, including percentage value, fixed amount value, bundled discount, buy X get Y items, and more, along with customizable coupon criteria to meet specific business requirements.",
"tags": [
"Coupon"
],
"operationId": "createSerialCoupon",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SerialCouponAdd"
},
"examples": {
"201_CREATED": {
"value": {
"code": "abc",
"application_id": "000000000000000000000001",
"original_coupon_id": null,
"promo_group": "product",
"promotion_type": "bogo",
"date_meta": {
"modified_on": "2022-01-11T05:47:11.503Z",
"created_on": "2022-01-10T19:49:29.917Z"
},
"discount_rules": [
{
"buy_condition": "rule#1",
"offer": {
"max_offer_quantity": 2
},
"discount_type": "bogo",
"item_criteria": {
"item_brand": [
2,
14,
65
]
}
}
],
"buy_rules": {
"rule#1": {
"cart_quantity": {
"greater_than_equals": 5
},
"item_brand": [
1,
2,
14,
16,
29,
39,
43,
65,
73
]
}
},
"display_meta": {
"offer_text": "Test",
"name": "Test BOGO coupon",
"description": "Test"
},
"apply_all_discount": false,
"apply_exclusive": null,
"stackable": true,
"restrictions": {
"user_id": [],
"anonymous_users": true,
"platforms": [
"web",
"android",
"ios"
],
"post_order": {
"cancellation_allowed": true,
"return_allowed": true
},
"uses": {
"remaining": {
"user": 0,
"total": 0
},
"maximum": {
"user": 0,
"total": 0
}
},
"payments": {}
},
"_custom_json": {},
"author": {
"created_by": "5",
"modified_by": "5"
},
"_schedule": {
"start": "2022-01-10T18:45:36.311Z",
"end": "2099-01-10T18:45:36.311Z",
"published": true,
"next_schedule": [
{
"start": "2022-01-10T18:45:36.311Z",
"end": "2099-01-10T18:45:36.311Z"
}
],
"cron": "",
"duration": 0
},
"apply_priority": 1,
"visibility": {
"pdp": true,
"coupon_list": false
},
"ownership": {
"payable_by": "",
"payable_category": "seller"
},
"currency": "INR",
"mode": "coupon",
"post_order_action": {
"action_date": null,
"action_type": ""
}
}
},
"Coupon_code_exists": {
"value": {
"code": "abc",
"application_id": "000000000000000000000001",
"original_coupon_id": "6857d98c0e340bbaf026ca5b",
"promo_group": "product",
"promotion_type": "bogo",
"date_meta": {
"modified_on": "2022-01-11T05:47:11.503Z",
"created_on": "2022-01-10T19:49:29.917Z"
},
"discount_rules": [
{
"buy_condition": "rule#1",
"offer": {
"max_offer_quantity": 2
},
"discount_type": "bogo",
"item_criteria": {
"item_brand": [
2,
14,
65
]
}
}
],
"buy_rules": {
"rule#1": {
"cart_quantity": {
"greater_than_equals": 5
},
"item_brand": [
1,
2,
14,
16,
29,
39,
43,
65,
73
]
}
},
"display_meta": {
"offer_text": "Test",
"name": "Test BOGO coupon",
"description": "Test"
},
"apply_all_discount": false,
"apply_exclusive": null,
"stackable": true,
"restrictions": {
"user_id": [],
"anonymous_users": true,
"platforms": [
"web",
"android",
"ios"
],
"post_order": {
"cancellation_allowed": true,
"return_allowed": true
},
"uses": {
"remaining": {
"user": 0,
"total": 0
},
"maximum": {
"user": 0,
"total": 0
}
},
"payments": {}
},
"_custom_json": {},
"author": {
"created_by": "5",
"modified_by": "5"
},
"_schedule": {
"start": "2022-01-10T18:45:36.311Z",
"end": "2099-01-10T18:45:36.311Z",
"published": true,
"next_schedule": [
{
"start": "2022-01-10T18:45:36.311Z",
"end": "2099-01-10T18:45:36.311Z"
}
],
"cron": "",
"duration": 0
},
"apply_priority": 1,
"visibility": {
"pdp": true,
"coupon_list": false
},
"ownership": {
"payable_by": "",
"payable_category": "seller"
},
"currency": "INR",
"mode": "coupon",
"post_order_action": {
"action_date": null,
"action_type": ""
}
}
}
}
}
}
},
"responses": {
"201": {
"description": "Coupon Created successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SerialCouponAddResult"
},
"examples": {
"201_CREATED": {
"value": {
"_id": "61dc8dc9adf45b2273a70a6e",
"application_id": "000000000000000000000001",
"code": "testcouponv4",
"promo_group": "product",
"promotion_type": "bogo",
"date_meta": {
"modified_on": "2022-01-11T05:47:11.503000+00:00",
"created_on": "2022-01-10T19:49:29.917000+00:00"
},
"discount_rules": [
{
"buy_condition": "rule#1",
"offer": {
"max_offer_quantity": 2
},
"discount_type": "bogo",
"item_criteria": {
"item_brand": [
2,
14,
65
]
}
}
],
"buy_rules": {
"rule#1": {
"cart_quantity": {
"greater_than_equals": 5
},
"item_brand": [
1,
2,
14,
16,
29,
39,
43,
65,
73
]
}
},
"display_meta": {
"offer_text": "Test",
"name": "Test BOGO coupon",
"description": "Test"
},
"apply_all_discount": false,
"apply_exclusive": null,
"stackable": true,
"restrictions": {
"user_id": [],
"anonymous_users": true,
"platforms": [
"web",
"android",
"ios"
],
"post_order": {
"cancellation_allowed": true,
"return_allowed": true
},
"uses": {
"remaining": {
"user": 0,
"total": 0
},
"maximum": {
"user": 0,
"total": 0
}
},
"payments": {}
},
"_custom_json": {},
"author": {
"created_by": "5",
"modified_by": "5"
},
"_schedule": {
"start": "2022-01-10T18:45:36.311Z",
"end": "2099-01-10T18:45:36.311Z",
"published": true,
"next_schedule": [
{
"start": "2022-01-10T18:45:36.311Z",
"end": "2099-01-10T18:45:36.311Z"
}
],
"cron": "",
"duration": 0
},
"apply_priority": 1,
"visibility": {
"pdp": true,
"coupon_list": false
},
"ownership": {
"payable_by": "",
"payable_category": "seller"
},
"currency": "INR",
"mode": "coupon",
"post_order_action": {
"action_date": null,
"action_type": ""
},
"indexed_criteria": [
{
"key": "item_brand",
"value": 1
}
]
}
}
}
}
}
},
"400": {
"description": "Invalid coupon data or existing coupon code",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OperationErrorResponseObject"
},
"examples": {
"Coupon_code_exists": {
"value": {
"success": false,
"message": "Coupon already code exist"
}
}
}
}
}
}
},
"parameters": [
{
"schema": {
"type": "string"
},
"description": "Current company id",
"in": "path",
"required": true,
"name": "company_id"
},
{
"schema": {
"type": "string"
},
"description": "Current Application _id",
"in": "path",
"required": true,
"name": "application_id"
}
],
"x-groups": [
"Coupon"
],
"security": [
{
"oauth2": [
"application/cart/write"
]
}
],
"path": "/service/platform/cart/v1.0/company/{company_id}/application/{application_id}/serial-coupon",
"methodType": "post"
}
}

🔹 Change 25​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: N/A
  • Schema Action: N/A
  • Path: paths.::action:-:OPERATION_ID_UPDATED::.getSerialCoupons
  • New Schema:
{
"methodTypePlaceHolder": {
"summary": "List serial coupons",
"description": "Retrieve a list of all created serial coupons for specific sales channel. It also supports searching based on text search, pagination and other flags to filter coupons.",
"tags": [
"Coupon",
"Pagination"
],
"operationId": "getSerialCoupons",
"parameters": [
{
"schema": {
"type": "string"
},
"description": "Current company id",
"in": "path",
"required": true,
"name": "company_id"
},
{
"schema": {
"type": "string"
},
"description": "Current Application _id",
"in": "path",
"required": true,
"name": "application_id"
},
{
"name": "page_no",
"in": "query",
"schema": {
"type": "integer",
"default": 0
},
"description": "current page no as per pagination",
"examples": {
"200_OKAY": {
"value": 1
}
}
},
{
"name": "page_size",
"in": "query",
"schema": {
"type": "integer",
"default": 10
},
"description": "Coupon max records fetched in single request",
"examples": {
"200_OKAY": {
"value": 10
}
}
},
{
"name": "q",
"in": "query",
"schema": {
"type": "string"
},
"description": "Filter by name"
},
{
"name": "is_active",
"in": "query",
"schema": {
"type": "boolean",
"default": true
},
"description": "Filter by active or inactive coupon",
"examples": {
"200_OKAY": {
"value": true
}
}
},
{
"name": "promo_group",
"in": "query",
"schema": {
"type": "string",
"enum": [
"product",
"cart",
"contract",
"ladder_price",
"limited_timer"
]
},
"description": "Filter promotion group",
"examples": {
"200_OKAY": {
"value": "product"
}
}
},
{
"name": "promotion_type",
"in": "query",
"schema": {
"type": "string",
"enum": [
"percentage",
"amount",
"fixed_price",
"bogo",
"bundle_price_percentage",
"bundle_price_amount",
"bundle_amount_percentage"
]
},
"description": "Filter promotion type",
"examples": {
"200_OKAY": {
"value": "amount"
}
}
},
{
"name": "fp_panel",
"in": "query",
"schema": {
"type": "string"
},
"description": "Filter non extension coupons"
},
{
"name": "coupon_id",
"in": "query",
"schema": {
"type": "string"
},
"description": "Filter by coupon _id",
"examples": {
"200_OKAY": {
"value": "61d1db23f5b315cf265126c0"
}
}
}
],
"responses": {
"200": {
"description": "Coupon List for sent page_size and page_no",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SerialCouponResult"
},
"examples": {
"200_OKAY": {
"value": {
"items": [
{
"_id": "61dc8dc9adf45b2273a70a6e",
"code": "testcouponv4",
"promo_group": "product",
"promotion_type": "bogo",
"date_meta": {
"modified_on": "2022-01-11T05:47:11.503",
"created_on": "2022-01-10T19:49:29.917"
},
"display_meta": {
"name": "Test BOGO Coupon"
},
"author": {
"created_by": "5",
"modified_by": "5"
},
"_schedule": {
"start": "2022-01-10T18:45:36.311",
"end": "2025-01-10T18:45:36.311",
"published": true,
"next_schedule": [
{
"start": "2022-01-10T18:45:36.311",
"end": "2025-01-10T18:45:36.311"
}
],
"cron": "",
"duration": 0
},
"mode": "coupon",
"offer_prefix": "abc",
"offer_counts": 15
}
],
"page": {
"type": "number",
"has_next": true,
"size": 10,
"current": 1,
"item_total": 30
}
}
}
}
}
}
}
},
"x-groups": [
"Coupon"
],
"security": [
{
"oauth2": [
"application/cart/read"
]
}
],
"path": "/service/platform/cart/v1.0/company/{company_id}/application/{application_id}/serial-coupon",
"methodType": "get"
}
}

🔹 Change 26​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: N/A
  • Schema Action: N/A
  • Path: paths.::action:-:OPERATION_ID_UPDATED::.getSerialCouponById
  • New Schema:
{
"methodTypePlaceHolder": {
"summary": "Get serial coupon details by ID",
"description": "Retrieve details of a specific coupon by providing its unique identifier to obtain information such as promotion type, rules, validity period and other related information.",
"tags": [
"Coupon"
],
"operationId": "getSerialCouponById",
"parameters": [
{
"schema": {
"type": "string"
},
"description": "Current company id",
"in": "path",
"required": true,
"name": "company_id"
},
{
"schema": {
"type": "string"
},
"description": "Current Application _id",
"in": "path",
"required": true,
"name": "application_id"
},
{
"name": "id",
"in": "path",
"required": true,
"schema": {
"type": "string"
},
"description": "Coupon mongo _id for fetching single coupon data for editing",
"examples": {
"COUPON_FETCH_BY_ID": {
"value": "6857d98c0e340bbaf026ca5e"
},
"COUPON_NOT_FOUND": {
"value": "5e1d9bec6d6b7e000146c840"
}
}
}
],
"responses": {
"200": {
"description": "Coupon object for sent `id`",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SerialCouponUpdateResult"
},
"examples": {
"COUPON_FETCH_BY_ID": {
"value": {
"application_id": "000000000000000000000001",
"code": "testcouponv4",
"promo_group": "product",
"promotion_type": "bogo",
"date_meta": {
"modified_on": "2022-01-11T05:47:11.503000+00:00",
"created_on": "2022-01-10T19:49:29.917000+00:00"
},
"discount_rules": [
{
"buy_condition": "rule#1",
"offer": {
"max_offer_quantity": 2
},
"discount_type": "bogo",
"item_criteria": {
"item_brand": [
2,
14,
65
]
}
}
],
"buy_rules": {
"rule#1": {
"cart_quantity": {
"greater_than_equals": 5
},
"item_brand": [
1,
2,
14,
16,
29,
39,
43,
65,
73
]
}
},
"display_meta": {
"offer_text": "Test",
"name": "Test BOGO coupon",
"description": "test"
},
"apply_all_discount": false,
"apply_exclusive": null,
"stackable": true,
"restrictions": {
"user_id": [],
"anonymous_users": true,
"platforms": [
"web",
"android",
"ios"
],
"post_order": {
"cancellation_allowed": true,
"return_allowed": true
},
"uses": {
"remaining": {
"user": 0,
"total": 0
},
"maximum": {
"user": 0,
"total": 0
}
},
"payments": {}
},
"_custom_json": {},
"author": {
"created_by": "5",
"modified_by": "5"
},
"_schedule": {
"start": "2022-01-10T18:45:36.311Z",
"end": "2025-01-10T18:45:36.311Z",
"published": true,
"next_schedule": [
{
"start": "2022-01-10T18:45:36.311Z",
"end": "2025-01-10T18:45:36.311Z"
}
],
"cron": "",
"duration": 0
},
"apply_priority": 1,
"visibility": {
"pdp": true,
"coupon_list": false
},
"ownership": {
"payable_by": "",
"payable_category": "seller"
},
"currency": "INR",
"mode": "coupon",
"is_archived": false,
"post_order_action": {
"action_date": null,
"action_type": ""
},
"indexed_criteria": [
{
"key": "item_brand",
"value": 1
}
]
}
}
}
}
}
},
"404": {
"description": "Coupon not found for passed `id`",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OperationErrorResponseObject"
},
"examples": {
"COUPON_NOT_FOUND": {
"value": {
"success": false,
"message": "Coupon Not found"
}
}
}
}
}
}
},
"x-groups": [
"Coupon"
],
"security": [
{
"oauth2": [
"application/cart/read"
]
}
],
"path": "/service/platform/cart/v1.0/company/{company_id}/application/{application_id}/serial-coupon/{id}",
"methodType": "get"
}
}

🔹 Change 27​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: N/A
  • Schema Action: N/A
  • Path: paths.::action:-:OPERATION_ID_UPDATED::.updateSerialCoupon
  • New Schema:
{
"methodTypePlaceHolder": {
"summary": "Update a serial coupon",
"description": "Update the details of an existing coupon by specifying its unique identifier. This includes modifying coupon attributes such as discount percentage, validity period, and associated conditions. Leveraging this functionality allows businesses to quickly adapt their promotional strategies to changing market dynamics.",
"tags": [
"Coupon"
],
"operationId": "updateSerialCoupon",
"parameters": [
{
"schema": {
"type": "string"
},
"description": "Current company id",
"in": "path",
"required": true,
"name": "company_id"
},
{
"schema": {
"type": "string"
},
"description": "Current Application _id",
"in": "path",
"required": true,
"name": "application_id"
},
{
"name": "id",
"in": "path",
"schema": {
"type": "string"
},
"description": "Coupon mongo _id for fetching single coupon data for editing",
"required": true,
"examples": {
"200_OKAY": {
"value": "6857d98c0e340bbaf026ca5e"
},
"400_NOT_FOUND": {
"value": "5e1d9bec6d6b7e000146c840"
}
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SerialCouponUpdate"
},
"examples": {
"200_OKAY": {
"value": {
"application_id": "000000000000000000000001",
"code": "test",
"promo_group": "product",
"promotion_type": "percentage",
"date_meta": {
"modified_on": "2022-01-11T05:47:11.503000+00:00",
"created_on": "2022-01-10T19:49:29.917000+00:00"
},
"discount_rules": [
{
"buy_condition": "rule#1",
"offer": {
"discount_percentage": 10,
"max_discount_amount": 100
},
"discount_type": "percentage",
"item_criteria": {
"item_brand": [
2,
14,
65
]
}
}
],
"buy_rules": {
"rule#1": {
"cart_quantity": {
"greater_than_equals": 5
},
"item_brand": [
1,
2,
14,
16,
29,
39,
43,
65,
73
]
}
},
"display_meta": {
"offer_text": "Test",
"name": "Test Draft coupon v2",
"description": "Test"
},
"apply_all_discount": false,
"apply_exclusive": null,
"stackable": true,
"restrictions": {
"user_id": [],
"anonymous_users": true,
"platforms": [
"web",
"android",
"ios"
],
"post_order": {
"cancellation_allowed": true,
"return_allowed": true
},
"uses": {
"remaining": {
"user": 0,
"total": 0
},
"maximum": {
"user": 0,
"total": 0
}
},
"payments": {}
},
"_custom_json": {},
"author": {
"created_by": "5",
"modified_by": "5"
},
"_schedule": {
"start": "2022-01-10T18:45:36.311Z",
"end": "2099-01-10T18:45:36.311Z",
"published": true,
"next_schedule": [
{
"start": "2022-01-10T18:45:36.311Z",
"end": "2099-01-10T18:45:36.311Z"
}
],
"cron": "",
"duration": 0
},
"apply_priority": 1,
"visibility": {
"pdp": true,
"coupon_list": false
},
"ownership": {
"payable_by": "",
"payable_category": "seller"
},
"currency": "INR",
"mode": "coupon",
"post_order_action": {
"action_date": null,
"action_type": ""
}
}
},
"400_NOT_FOUND": {
"value": {
"application_id": "000000000000000000000001",
"code": "cv4drafttest",
"promo_group": "product",
"promotion_type": "percentage",
"date_meta": {
"modified_on": "2022-01-11T05:47:11.503000+00:00",
"created_on": "2022-01-10T19:49:29.917000+00:00"
},
"discount_rules": [
{
"buy_condition": "rule#1",
"offer": {
"discount_percentage": 10,
"max_discount_amount": 100
},
"discount_type": "percentage",
"item_criteria": {
"item_brand": [
2,
14,
65
]
}
}
],
"buy_rules": {
"rule#1": {
"cart_quantity": {
"greater_than_equals": 5
},
"item_brand": [
1,
2,
14,
16,
29,
39,
43,
65,
73
]
}
},
"display_meta": {
"offer_text": "Test",
"name": "Test Draft coupon v2",
"description": "Test"
},
"apply_all_discount": false,
"apply_exclusive": null,
"stackable": true,
"restrictions": {
"user_id": [],
"anonymous_users": true,
"platforms": [
"web",
"android",
"ios"
],
"post_order": {
"cancellation_allowed": true,
"return_allowed": true
},
"uses": {
"remaining": {
"user": 0,
"total": 0
},
"maximum": {
"user": 0,
"total": 0
}
},
"payments": {}
},
"_custom_json": {},
"author": {
"created_by": "5",
"modified_by": "5"
},
"_schedule": {
"start": "2022-01-10T18:45:36.311Z",
"end": "2099-01-10T18:45:36.311Z",
"published": true,
"next_schedule": [
{
"start": "2022-01-10T18:45:36.311Z",
"end": "2099-01-10T18:45:36.311Z"
}
],
"cron": "",
"duration": 0
},
"apply_priority": 1,
"visibility": {
"pdp": true,
"coupon_list": false
},
"ownership": {
"payable_by": "",
"payable_category": "seller"
},
"currency": "INR",
"mode": "coupon",
"post_order_action": {
"action_date": null,
"action_type": ""
}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Coupon updated successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SerialCouponUpdateResult"
},
"examples": {
"200_OKAY": {
"value": {
"_id": "678752089b25ac5f29c352e1",
"application_id": "000000000000000000000001",
"code": "cv4drafttest",
"promo_group": "product",
"promotion_type": "percentage",
"date_meta": {
"modified_on": "2022-01-11T05:47:11.503000+00:00",
"created_on": "2022-01-10T19:49:29.917000+00:00"
},
"discount_rules": [
{
"buy_condition": "rule#1",
"offer": {
"discount_percentage": 10,
"max_discount_amount": 100
},
"discount_type": "percentage",
"item_criteria": {
"item_brand": [
2,
14,
65
]
}
}
],
"buy_rules": {
"rule#1": {
"cart_quantity": {
"greater_than_equals": 5
},
"item_brand": [
1,
2,
14,
16,
29,
39,
43,
65,
73
]
}
},
"display_meta": {
"offer_text": "Test",
"name": "Test Draft coupon v2",
"description": "Test"
},
"apply_all_discount": false,
"apply_exclusive": null,
"stackable": true,
"restrictions": {
"user_id": [],
"anonymous_users": true,
"platforms": [
"web",
"android",
"ios"
],
"post_order": {
"cancellation_allowed": true,
"return_allowed": true
},
"uses": {
"remaining": {
"user": 0,
"total": 0
},
"maximum": {
"user": 0,
"total": 0
}
},
"payments": {}
},
"_custom_json": {},
"author": {
"created_by": "5",
"modified_by": "5"
},
"_schedule": {
"start": "2022-01-10T18:45:36.311Z",
"end": "2099-01-10T18:45:36.311Z",
"published": true,
"next_schedule": [
{
"start": "2022-01-10T18:45:36.311Z",
"end": "2099-01-10T18:45:36.311Z"
}
],
"cron": "",
"duration": 0
},
"apply_priority": 1,
"visibility": {
"pdp": true,
"coupon_list": false
},
"ownership": {
"payable_by": "",
"payable_category": "seller"
},
"currency": "INR",
"mode": "coupon",
"post_order_action": {
"action_date": null,
"action_type": ""
},
"indexed_criteria": [
{
"key": "item_brand",
"value": 1
}
]
}
}
}
}
}
},
"400": {
"description": "Coupon not found for `id` from path params",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OperationErrorResponseObject"
},
"examples": {
"400_NOT_FOUND": {
"value": {
"success": false,
"message": "Coupon Not found"
}
}
}
}
}
}
},
"x-groups": [
"Coupon"
],
"security": [
{
"oauth2": [
"application/cart/write"
]
}
],
"path": "/service/platform/cart/v1.0/company/{company_id}/application/{application_id}/serial-coupon/{id}",
"methodType": "put"
}
}

🔹 Change 28​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: N/A
  • Schema Action: N/A
  • Path: paths.::action:-:OPERATION_ID_UPDATED::.deleteSerialCoupon
  • New Schema:
{
"methodTypePlaceHolder": {
"summary": "Delete a serial coupon which is in draft state",
"description": "Delete details of a draft serial coupon by providing its unique identifier to delete information such as coupon type, rules, validity period and other related information.",
"operationId": "deleteSerialCoupon",
"parameters": [
{
"schema": {
"type": "string"
},
"description": "Current company id",
"in": "path",
"required": true,
"name": "company_id"
},
{
"schema": {
"type": "string"
},
"description": "Application id of sales channel",
"in": "path",
"required": true,
"name": "application_id"
},
{
"name": "id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "Coupon id for fetching single coupon data for deleting"
},
"examples": {
"200_OKAY": {
"value": "6857d98c0e340bbaf026ca4f"
},
"404_NOT_FOUND": {
"value": "6857d98c0e340bbaf026ca4e"
}
}
}
],
"responses": {
"200": {
"description": "Coupon deleted for sent coupon id",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SuccessMessage"
},
"examples": {
"200_OKAY": {
"value": {
"success": true,
"message": "Coupon deleted successfully"
}
}
}
}
}
},
"404": {
"description": "Coupon not found for passed coupon id",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OperationErrorResponseObject"
},
"examples": {
"404_NOT_FOUND": {
"value": {
"message": "Coupon Not found"
}
}
}
}
}
}
},
"x-groups": [
"Coupon"
],
"security": [
{
"oauth2": [
"application/cart/write"
]
}
],
"path": "/service/platform/cart/v1.0/company/{company_id}/application/{application_id}/serial-coupon/{id}",
"methodType": "delete"
}
}

🔹 Change 29​

  • Action: add
  • Type: non-breaking
  • xGroup: N/A
  • Schema Ref: N/A
  • Schema Action: N/A
  • Path: paths.::action:-:OPERATION_ID_UPDATED::.exportSerialCouponById
  • New Schema:
{
"methodTypePlaceHolder": {
"summary": "Get export of serial coupons",
"description": "Retrieve export of a specific serial coupon by providing its unique identifier to obtain information such as coupon code in a csv.",
"operationId": "exportSerialCouponById",
"parameters": [
{
"schema": {
"type": "string"
},
"description": "Current company id",
"in": "path",
"required": true,
"name": "company_id"
},
{
"schema": {
"type": "string"
},
"description": "Current Application id of sales channel",
"in": "path",
"required": true,
"name": "application_id"
},
{
"name": "id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "Coupon id for fetching single coupon data for editing"
},
"examples": {
"200_OKAY": {
"value": "6857d98c0e340bbaf026ca5e"
},
"404_NOT_FOUND": {
"value": "6857d98c0e340bbaf026ca4e"
}
}
}
],
"responses": {
"200": {
"description": "CSV File of the serial coupons",
"content": {
"text/csv": {
"schema": {
"format": "binary",
"type": "string"
},
"examples": {
"200_OKAY": {
"value": "coupon_id,code,status\n1,ABC123,active\n2,XYZ456,inactive\n"
}
}
}
}
},
"404": {
"description": "Coupon not found for passed `id`",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OperationErrorResponseObject"
},
"examples": {
"404_NOT_FOUND": {
"value": {
"success": false,
"message": "Coupon Not found"
}
}
}
}
}
}
},
"x-groups": [
"Coupon"
],
"security": [
{
"oauth2": [
"application/cart/read"
]
}
],
"path": "/service/platform/cart/v1.0/company/{company_id}/application/{application_id}/serial-coupon/{id}/export",
"methodType": "get"
}
}

Was this section helpful?