🧩 Service: Discount​
🔧 Operation: getDiscounts​
🔹 Change 1​
- Action:
remove - Type:
breaking - xGroup:
N/A - Schema Ref:
N/A - Schema Action:
OPERATION_ID_REMOVED - Path:
paths.getDiscounts
🔧 Operation: createDiscount​
🔹 Change 1​
- Action:
remove - Type:
breaking - xGroup:
N/A - Schema Ref:
N/A - Schema Action:
OPERATION_ID_REMOVED - Path:
paths.createDiscount
🔧 Operation: getDiscount​
🔹 Change 1​
- Action:
remove - Type:
breaking - xGroup:
N/A - Schema Ref:
N/A - Schema Action:
OPERATION_ID_REMOVED - Path:
paths.getDiscount
🔧 Operation: updateDiscount​
🔹 Change 1​
- Action:
remove - Type:
breaking - xGroup:
N/A - Schema Ref:
N/A - Schema Action:
OPERATION_ID_REMOVED - Path:
paths.updateDiscount
🔧 Operation: upsertDiscountItems​
🔹 Change 1​
- Action:
remove - Type:
breaking - xGroup:
N/A - Schema Ref:
N/A - Schema Action:
OPERATION_ID_REMOVED - Path:
paths.upsertDiscountItems
🔧 Operation: validateDiscountFile​
🔹 Change 1​
- Action:
remove - Type:
breaking - xGroup:
N/A - Schema Ref:
N/A - Schema Action:
OPERATION_ID_REMOVED - Path:
paths.validateDiscountFile
🔧 Operation: downloadDiscountFile​
🔹 Change 1​
- Action:
remove - Type:
breaking - xGroup:
N/A - Schema Ref:
N/A - Schema Action:
OPERATION_ID_REMOVED - Path:
paths.downloadDiscountFile
🔧 Operation: getValidationJob​
🔹 Change 1​
- Action:
remove - Type:
breaking - xGroup:
N/A - Schema Ref:
N/A - Schema Action:
OPERATION_ID_REMOVED - Path:
paths.getValidationJob
🔧 Operation: cancelValidationJob​
🔹 Change 1​
- Action:
remove - Type:
breaking - xGroup:
N/A - Schema Ref:
N/A - Schema Action:
OPERATION_ID_REMOVED - Path:
paths.cancelValidationJob
🔧 Operation: getDownloadJob​
🔹 Change 1​
- Action:
remove - Type:
breaking - xGroup:
N/A - Schema Ref:
N/A - Schema Action:
OPERATION_ID_REMOVED - Path:
paths.getDownloadJob
🔧 Operation: cancelDownloadJob​
🔹 Change 1​
- Action:
remove - Type:
breaking - xGroup:
N/A - Schema Ref:
N/A - Schema Action:
OPERATION_ID_REMOVED - Path:
paths.cancelDownloadJob
🔧 Operation: createDiscountV2​
🔹 Change 1​
- Action:
add - Type:
non-breaking - xGroup:
N/A - Schema Ref:
N/A - Schema Action:
OPERATION_ID_ADDED - Path:
paths.createDiscountV2 - New Schema:
{
"methodTypePlaceHolder": {
"description": "Create a Discount V2 job.",
"summary": "Create discount (V2).",
"operationId": "createDiscountV2",
"tags": [
"Discount"
],
"parameters": [
{
"name": "company_id",
"in": "path",
"description": "A `company_id` is the unique identifier of the company.",
"required": true,
"schema": {
"type": "integer"
},
"examples": {
"success": {
"value": 1
},
"failure": {
"value": 999
}
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateDiscountV2"
},
"examples": {
"success": {
"value": {
"name": "Winter Sale",
"app_ids": [
"694fbcf2ceab9a2bfb6f41a4"
],
"job_type": "filters",
"discount_type": "percentage",
"value": 10,
"is_active": false,
"stage": "draft",
"_schedule": {
"start": "2030-01-20T10:00:00Z",
"end": "2031-02-20T10:00:00Z",
"priority": 100
},
"discount_meta": {
"timer": false
},
"filter": {
"brand_ids": {
"include": [
1,
2
],
"exclude": []
},
"store_ids": {
"include": [
1
],
"exclude": []
},
"l1_category_ids": {
"include": [],
"exclude": []
},
"l2_category_ids": {
"include": [],
"exclude": []
},
"l3_category_ids": {
"include": [],
"exclude": []
},
"factory_type_ids": {
"include": [],
"exclude": []
}
},
"tags": []
}
},
"failure": {
"value": {
"name": "Failure Case",
"app_ids": [
"694fbcf2ceab9a2bfb6f41a4"
],
"job_type": "filters",
"discount_type": "percentage",
"value": 10,
"is_active": false,
"stage": "draft",
"_schedule": {
"start": "2026-01-20T10:00:00Z",
"end": "2026-02-20T10:00:00Z",
"priority": 100
},
"discount_meta": {
"timer": false
},
"filter": {
"brand_ids": {
"include": [
1,
2
],
"exclude": []
},
"store_ids": {
"include": [
1
],
"exclude": []
},
"l1_category_ids": {
"include": [],
"exclude": []
},
"l2_category_ids": {
"include": [],
"exclude": []
},
"l3_category_ids": {
"include": [],
"exclude": []
},
"factory_type_ids": {
"include": [],
"exclude": []
}
},
"tags": []
}
}
}
}
}
},
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DiscountJobV2"
},
"examples": {
"success": {
"value": {
"_id": "65a7c915c160922f34ba4f12",
"name": "Winter Sale",
"company_id": 1,
"app_ids": [
"694fbcf2ceab9a2bfb6f41a4"
],
"job_type": "filters",
"discount_type": "percentage",
"value": 10,
"is_active": false,
"stage": "draft",
"_schedule": {
"start": "2026-01-20T10:00:00Z",
"end": "2026-02-20T10:00:00Z",
"priority": 100
},
"discount_meta": {
"timer": false
},
"filter": {
"brand_ids": {
"include": [
1,
2
],
"exclude": []
},
"store_ids": {
"include": [
1
],
"exclude": []
},
"l1_category_ids": {
"include": [],
"exclude": []
},
"l2_category_ids": {
"include": [],
"exclude": []
},
"l3_category_ids": {
"include": [],
"exclude": []
},
"factory_type_ids": {
"include": [],
"exclude": []
}
},
"tags": [],
"override_priority": false,
"created_by": {
"username": "srajangupta@gofynd.com",
"user_id": "sgX0Bv"
},
"modified_by": {
"username": "srajangupta@gofynd.com",
"user_id": "sgX0Bv"
},
"created_on": "2026-01-15T10:00:00Z",
"modified_on": "2026-01-15T10:00:00Z"
}
}
}
}
}
},
"400": {
"description": "Validation failed",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BadRequestObject"
},
"examples": {
"failure": {
"value": {
"message": "The start time of discount should be at least a minute ahead of the current time."
}
}
}
}
}
}
},
"x-groups": [
"Discount Management"
],
"security": [
{
"oauth2": [
"company/price_rules/write"
]
}
],
"path": "/service/platform/discount/v2.0/company/{company_id}/job",
"methodType": "post"
}
}
🔧 Operation: getDiscountsV2​
🔹 Change 1​
- Action:
add - Type:
non-breaking - xGroup:
N/A - Schema Ref:
N/A - Schema Action:
OPERATION_ID_ADDED - Path:
paths.getDiscountsV2 - New Schema:
{
"methodTypePlaceHolder": {
"description": "Retrieve a list of available Discount V2 jobs (listing or calendar view).",
"summary": "Get discounts (V2).",
"operationId": "getDiscountsV2",
"tags": [
"Discount",
"Pagination"
],
"parameters": [
{
"name": "company_id",
"in": "path",
"description": "A `company_id` is the unique identifier of the company.",
"required": true,
"schema": {
"type": "integer"
},
"examples": {
"failure": {
"value": 999
},
"success": {
"value": 1
}
}
},
{
"name": "view",
"in": "query",
"description": "listing or calendar. Default is listing.",
"required": false,
"schema": {
"type": "string",
"enum": [
"listing",
"calendar"
]
},
"examples": {
"failure": {
"value": "failed"
},
"success": {
"value": "listing"
}
}
},
{
"name": "q",
"in": "query",
"description": "The search query. This can be a partial or complete name of a discount job.",
"required": false,
"schema": {
"type": "string"
},
"examples": {
"success": {
"value": "Winter"
},
"failure": {
"value": ""
}
}
},
{
"name": "page_no",
"in": "query",
"description": "Page number. Default is 1.",
"required": false,
"schema": {
"type": "integer",
"default": 1
},
"examples": {
"success": {
"value": 1
},
"failure": {
"value": -1
}
}
},
{
"name": "page_size",
"in": "query",
"description": "Page size. Default is 12.",
"required": false,
"schema": {
"type": "integer",
"default": 12
},
"examples": {
"success": {
"value": 12
}
}
},
{
"name": "stage",
"in": "query",
"description": "Filter jobs by stage. Expired jobs are returned only when stage=expired is explicitly passed.",
"required": false,
"schema": {
"type": "string",
"enum": [
"draft",
"in_review",
"approved",
"rejected",
"expired"
]
},
"examples": {
"success": {
"value": "draft"
},
"failure": {
"value": "default"
}
}
},
{
"name": "is_active",
"in": "query",
"description": "Filter jobs by active status.",
"required": false,
"schema": {
"type": "boolean"
},
"examples": {
"success": {
"value": true
},
"failure": {
"value": false
}
}
},
{
"name": "start_date",
"in": "query",
"description": "Filter jobs by schedule start date (UTC ISO date-time).",
"required": false,
"schema": {
"type": "string",
"format": "date-time"
},
"examples": {
"success": {
"value": "2023-12-10T06:12:03Z"
},
"failure": {
"value": "2023-12-10T06:12:03Z"
}
}
},
{
"name": "end_date",
"in": "query",
"description": "Filter jobs by schedule end date (UTC ISO date-time).",
"required": false,
"schema": {
"type": "string",
"format": "date-time"
},
"examples": {
"success": {
"value": "2032-12-10T06:12:03Z"
},
"failure": {
"value": "2023-12-10T06:12:03Z"
}
}
},
{
"name": "app_ids",
"in": "query",
"description": "Filter by application ids (comma-separated string).",
"required": false,
"schema": {
"type": "string"
},
"examples": {
"success": {
"value": ""
},
"failure": {
"value": ""
}
}
},
{
"name": "job_type",
"in": "query",
"description": "Filter by job types (comma-separated string).",
"required": false,
"schema": {
"type": "string",
"x-not-enum": true
},
"examples": {
"success": {
"value": "filters"
},
"failure": {
"value": "default"
}
}
},
{
"name": "discount_type",
"in": "query",
"description": "Filter by discount types (comma-separated string).",
"required": false,
"schema": {
"type": "string",
"x-not-enum": true
},
"examples": {
"success": {
"value": "percentage"
},
"failure": {
"value": "default"
}
}
},
{
"name": "brand_ids",
"in": "query",
"description": "Filter by `filter.brand_ids.include` (comma-separated string).",
"required": false,
"schema": {
"type": "string"
},
"examples": {
"success": {
"value": ""
},
"failure": {
"value": ""
}
}
},
{
"name": "store_ids",
"in": "query",
"description": "Filter by `filter.store_ids.include` (comma-separated string).",
"required": false,
"schema": {
"type": "string"
},
"examples": {
"success": {
"value": ""
},
"failure": {
"value": ""
}
}
},
{
"name": "l1_category_ids",
"in": "query",
"description": "Filter by `filter.l1_category_ids.include` (comma-separated string).",
"required": false,
"schema": {
"type": "string"
},
"examples": {
"success": {
"value": ""
},
"failure": {
"value": ""
}
}
},
{
"name": "l2_category_ids",
"in": "query",
"description": "Filter by `filter.l2_category_ids.include` (comma-separated string).",
"required": false,
"schema": {
"type": "string"
},
"examples": {
"success": {
"value": ""
},
"failure": {
"value": ""
}
}
},
{
"name": "l3_category_ids",
"in": "query",
"description": "Filter by `filter.l3_category_ids.include` (comma-separated string).",
"required": false,
"schema": {
"type": "string"
},
"examples": {
"success": {
"value": ""
},
"failure": {
"value": ""
}
}
},
{
"name": "factory_type_ids",
"in": "query",
"description": "Filter by `filter.factory_type_ids.include` (comma-separated string).",
"required": false,
"schema": {
"type": "string"
},
"examples": {
"success": {
"value": ""
},
"failure": {
"value": ""
}
}
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ListOrCalenderV2"
},
"examples": {
"success": {
"value": {
"items": [
{
"company_id": 1,
"app_ids": [
"694fbcf2ceab9a2bfb6f41a4"
],
"name": "Winter Sale",
"stage": "draft",
"is_active": false,
"created_by": {
"username": "app@fynd.com",
"user_id": "0"
},
"modified_by": {
"username": "app@fynd.com",
"user_id": "0"
},
"_schedule": {
"start": "2030-01-20T10:00:00.000Z",
"end": "2031-02-20T10:00:00.000Z",
"priority": 100,
"next_schedule": []
},
"discount_meta": {
"timer": false,
"hours": 0,
"minutes": 0
},
"discount_type": "percentage",
"job_type": "filters",
"value": 10,
"filter": {
"brand_ids": {
"include": [
1,
2
],
"exclude": []
},
"store_ids": {
"include": [
1
],
"exclude": []
},
"l1_category_ids": {
"include": [],
"exclude": []
},
"l2_category_ids": {
"include": [],
"exclude": []
},
"l3_category_ids": {
"include": [],
"exclude": []
},
"factory_type_ids": {
"include": [],
"exclude": []
}
},
"file_id": null,
"file_url": null,
"batch_meta": {
"total_batches": 0,
"last_processed_batch": -1,
"processed_count": 0,
"failed_count": 0,
"status": "pending",
"error": null,
"processed_batches": []
},
"tags": [],
"override_priority": false,
"_id": "6989eb081035efa886c912d2",
"created_on": "2026-02-09T14:11:20.484Z",
"modified_on": "2026-02-09T14:11:20.484Z"
}
],
"page": {
"current": 1,
"item_total": 1,
"type": "number",
"size": 1,
"has_previous": false,
"has_next": false
},
"view": "listing"
}
}
}
}
}
},
"400": {
"description": "Validation failed",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BadRequestObjectGet"
},
"examples": {
"failure": {
"value": {
"message": "Validation failed"
}
}
}
}
}
}
},
"x-groups": [
"Discount Management"
],
"security": [
{
"oauth2": [
"company/price_rules/read"
]
}
],
"path": "/service/platform/discount/v2.0/company/{company_id}/jobs",
"methodType": "get"
}
}
🔧 Operation: getDiscountV2​
🔹 Change 1​
- Action:
add - Type:
non-breaking - xGroup:
N/A - Schema Ref:
N/A - Schema Action:
OPERATION_ID_ADDED - Path:
paths.getDiscountV2 - New Schema:
{
"methodTypePlaceHolder": {
"description": "Retrieve detailed information about a specific Discount V2 job.",
"summary": "Get discount by ID (V2).",
"operationId": "getDiscountV2",
"tags": [
"Discount"
],
"parameters": [
{
"name": "company_id",
"in": "path",
"description": "A `company_id` is the unique identifier of the company.",
"required": true,
"schema": {
"type": "integer"
},
"examples": {
"success": {
"value": 1
},
"failure": {
"value": 1
}
}
},
{
"name": "id",
"in": "path",
"description": "Job ID of the discount.",
"required": true,
"schema": {
"type": "string"
},
"examples": {
"success": {
"value": "6989f3ed7bbd286976a6167a"
},
"failure": {
"value": "6989eb081035efa886c912d2"
}
}
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DiscountJobV2"
},
"examples": {
"success": {
"value": {
"company_id": 1,
"app_ids": [
"694fbcf2ceab9a2bfb6f41a4"
],
"name": "Winter Sale",
"stage": "draft",
"is_active": false,
"created_by": {
"username": "app@fynd.com",
"user_id": "0"
},
"modified_by": {
"username": "app@fynd.com",
"user_id": "0"
},
"_schedule": {
"start": "2030-01-20T10:00:00.000Z",
"end": "2031-02-20T10:00:00.000Z",
"priority": 100,
"next_schedule": []
},
"discount_meta": {
"timer": false,
"hours": 0,
"minutes": 0
},
"discount_type": "percentage",
"job_type": "filters",
"value": 10,
"filter": {
"brand_ids": {
"include": [
1,
2
],
"exclude": []
},
"store_ids": {
"include": [
1
],
"exclude": []
},
"l1_category_ids": {
"include": [],
"exclude": []
},
"l2_category_ids": {
"include": [],
"exclude": []
},
"l3_category_ids": {
"include": [],
"exclude": []
},
"factory_type_ids": {
"include": [],
"exclude": []
}
},
"file_id": null,
"file_url": null,
"batch_meta": {
"total_batches": 0,
"last_processed_batch": -1,
"processed_count": 0,
"failed_count": 0,
"status": "pending",
"error": null,
"processed_batches": []
},
"tags": [],
"override_priority": false,
"_id": "6989f3ed7bbd286976a6167a",
"created_on": "2026-02-09T14:11:20.484Z",
"modified_on": "2026-02-09T14:11:20.484Z"
}
}
}
}
}
},
"400": {
"description": "Failed",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BadRequestObject"
},
"examples": {
"failure": {
"value": {
"message": "Invalid Id."
}
}
}
}
}
}
},
"x-groups": [
"Discount Management"
],
"security": [
{
"oauth2": [
"company/price_rules/read"
]
}
],
"path": "/service/platform/discount/v2.0/company/{company_id}/job/{id}",
"methodType": "get"
}
}
🔧 Operation: updateDiscountV2​
🔹 Change 1​
- Action:
add - Type:
non-breaking - xGroup:
N/A - Schema Ref:
N/A - Schema Action:
OPERATION_ID_ADDED - Path:
paths.updateDiscountV2 - New Schema:
{
"methodTypePlaceHolder": {
"description": "Update an existing Discount V2 job.",
"summary": "Update discount (V2).",
"operationId": "updateDiscountV2",
"tags": [
"Discount"
],
"parameters": [
{
"name": "company_id",
"in": "path",
"description": "A `company_id` is the unique identifier of the company.",
"required": true,
"schema": {
"type": "integer"
},
"examples": {
"success": {
"value": 1
},
"failure": {
"value": 1
}
}
},
{
"name": "id",
"in": "path",
"description": "Job ID of the discount.",
"required": true,
"schema": {
"type": "string"
},
"examples": {
"success": {
"value": "6989f3ed7bbd286976a6167a"
},
"failure": {
"value": "6989eb081035efa886c912d2"
}
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UpdateDiscountV2"
},
"examples": {
"success": {
"value": {
"app_ids": [
"694fbcf2ceab9a2bfb6f41a4"
],
"name": "Winter Sale - Updated",
"stage": "in_review",
"is_active": false,
"_schedule": {
"start": "2030-01-20T10:00:00.000Z",
"end": "2031-02-20T10:00:00.000Z",
"priority": 100,
"next_schedule": []
},
"discount_meta": {
"timer": false,
"hours": 0,
"minutes": 0
},
"discount_type": "percentage",
"job_type": "filters",
"value": 10,
"filter": {
"brand_ids": {
"include": [
1,
2
],
"exclude": []
},
"store_ids": {
"include": [
1
],
"exclude": []
},
"l1_category_ids": {
"include": [],
"exclude": []
},
"l2_category_ids": {
"include": [],
"exclude": []
},
"l3_category_ids": {
"include": [],
"exclude": []
},
"factory_type_ids": {
"include": [],
"exclude": []
}
},
"tags": [],
"created_by": {
"username": "app@fynd.com",
"user_id": "0"
},
"modified_by": {
"username": "app@fynd.com",
"user_id": "0"
},
"created_on": "2026-02-09T14:11:20.484Z",
"modified_on": "2026-02-09T14:11:20.484Z",
"override_priority": false,
"comment": "Updating the status of the job"
}
},
"failure": {
"value": {
"app_ids": [
"694fbcf2ceab9a2bfb6f41a4"
],
"name": "Winter Sale - Updated",
"stage": "in_review",
"is_active": false,
"discount_type": "percentage",
"job_type": "filters",
"value": 10
}
}
}
}
}
},
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DiscountJobV2"
},
"examples": {
"success": {
"value": {
"company_id": 1,
"app_ids": [
"694fbcf2ceab9a2bfb6f41a4"
],
"name": "Winter Sale",
"stage": "in_review",
"is_active": false,
"created_by": {
"username": "app@fynd.com",
"user_id": "0"
},
"modified_by": {
"username": "app@fynd.com",
"user_id": "0"
},
"_schedule": {
"start": "2030-01-20T10:00:00.000Z",
"end": "2031-02-20T10:00:00.000Z",
"priority": 100,
"next_schedule": []
},
"discount_meta": {
"timer": false,
"hours": 0,
"minutes": 0
},
"discount_type": "percentage",
"job_type": "filters",
"value": 10,
"filter": {
"brand_ids": {
"include": [
1,
2
],
"exclude": []
},
"store_ids": {
"include": [
1
],
"exclude": []
},
"l1_category_ids": {
"include": [],
"exclude": []
},
"l2_category_ids": {
"include": [],
"exclude": []
},
"l3_category_ids": {
"include": [],
"exclude": []
},
"factory_type_ids": {
"include": [],
"exclude": []
}
},
"file_id": null,
"file_url": null,
"batch_meta": {
"total_batches": 0,
"last_processed_batch": -1,
"processed_count": 0,
"failed_count": 0,
"status": "pending",
"error": null,
"processed_batches": []
},
"tags": [],
"override_priority": false,
"_id": "6989f3ed7bbd286976a6167a",
"created_on": "2026-02-09T14:11:20.484Z",
"modified_on": "2026-02-09T14:11:20.484Z",
"comment": "Updating the status of the job"
}
}
}
}
}
},
"400": {
"description": "Failed",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BadRequestObject"
},
"examples": {
"failure": {
"value": {
"message": "Discount job not found."
}
}
}
}
}
}
},
"x-groups": [
"Discount Management"
],
"security": [
{
"oauth2": [
"company/price_rules/write"
]
}
],
"path": "/service/platform/discount/v2.0/company/{company_id}/job/{id}",
"methodType": "put"
}
}
🔧 Operation: bulkUpdateDiscountJobsV2​
🔹 Change 1​
- Action:
add - Type:
non-breaking - xGroup:
N/A - Schema Ref:
N/A - Schema Action:
OPERATION_ID_ADDED - Path:
paths.bulkUpdateDiscountJobsV2 - New Schema:
{
"methodTypePlaceHolder": {
"description": "Bulk update multiple Discount V2 jobs (stage transitions).",
"summary": "Bulk update discount jobs (V2).",
"operationId": "bulkUpdateDiscountJobsV2",
"tags": [
"Discount"
],
"parameters": [
{
"name": "company_id",
"in": "path",
"description": "A `company_id` is the unique identifier of the company.",
"required": true,
"schema": {
"type": "integer"
},
"examples": {
"success": {
"value": 1
},
"partial": {
"value": 1
},
"failure": {
"value": 1
}
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BulkUpdateDiscountV2Jobs"
},
"examples": {
"success": {
"value": {
"job_ids": [
"64a7c915c160922f34ba4f12",
"62c538dd6c0f710007ac6dbf"
],
"stage": "in_review",
"comment": "Pushed to in in_review via bulk API"
}
},
"partial": {
"value": {
"job_ids": [
"603f54c3f6f7fd000925925b",
"6040f016099e3a0009fe591e"
],
"stage": "approved",
"comment": "Pushed to in approved via bulk API"
}
},
"failure": {
"value": {
"job_ids": [],
"stage": "approved"
}
}
}
}
}
},
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BulkUpdateDiscountV2JobsResult"
},
"examples": {
"success": {
"value": {
"results": {
"items": [
{
"name": "Contract Test Basic",
"status": "updated",
"id": "64a7c915c160922f34ba4f12"
},
{
"name": "Contract Test Custom",
"status": "updated",
"id": "62c538dd6c0f710007ac6dbf"
}
]
},
"status": "success",
"message": "All discounts have been updated successfully."
}
},
"partial": {
"value": {
"results": {
"items": [
{
"name": "Contract Test Custom Product",
"status": "updated",
"id": "603f54c3f6f7fd000925925b"
},
{
"name": "Contract Test Custom Inventroy",
"status": "failed",
"id": "6040f016099e3a0009fe591e",
"error": "Access denied for job Clearance: Not allowed"
}
]
},
"status": "partial",
"message": "1 passed out of 2 and 1 failed."
}
}
}
}
}
},
"400": {
"description": "Failed",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BadRequestObject"
},
"examples": {
"failure": {
"value": {
"message": "job_ids is required"
}
}
}
}
}
}
},
"x-groups": [
"Discount Management"
],
"security": [
{
"oauth2": [
"company/price_rules/write"
]
}
],
"path": "/service/platform/discount/v2.0/company/{company_id}/job/bulk/update",
"methodType": "put"
}
}
🔧 Operation: uploadDiscountFileV2​
🔹 Change 1​
- Action:
add - Type:
non-breaking - xGroup:
N/A - Schema Ref:
N/A - Schema Action:
OPERATION_ID_ADDED - Path:
paths.uploadDiscountFileV2 - New Schema:
{
"methodTypePlaceHolder": {
"description": "Upload a discount file to create a Discount V2 file job and start ingestion.",
"summary": "Upload discount file (V2).",
"operationId": "uploadDiscountFileV2",
"tags": [
"Discount"
],
"parameters": [
{
"name": "company_id",
"in": "path",
"description": "A `company_id` is the unique identifier of the company.",
"required": true,
"schema": {
"type": "integer"
},
"examples": {
"success": {
"value": 1
},
"failure": {
"value": 1
}
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateDiscountV2FileJob"
},
"examples": {
"success": {
"value": {
"file_path": "https://cdn.pixelbin.io/v2/falling-surf-7c8bb8/sandbx/wrkr/uzumaki/company/1/self/documents/product-import/free/original/dFIm8_Ls6-file-specmatics-VXxsfyS-_H.csv",
"app_ids": [
"694fbcf2ceab9a2bfb6f41a4"
],
"is_active": true
}
},
"failure": {
"value": {
"file_path": "",
"app_ids": []
}
}
}
}
}
},
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DiscountV2File"
},
"examples": {
"success": {
"value": {
"company_id": 1,
"app_ids": [
"694fbcf2ceab9a2bfb6f41a4"
],
"type": "upload",
"file_path": "https://cdn.pixelbin.io/v2/falling-surf-7c8bb8/sandbx/wrkr/uzumaki/company/1/self/documents/product-import/free/original/dFIm8_Ls6-file-specmatics-VXxsfyS-_H.csv",
"is_active": true,
"status": "pending",
"total_chunks": 0,
"processed_chunks": 0,
"failed_chunks": 0,
"success_chunks": 0,
"success_rows": 0,
"failed_rows": 0,
"processed_rows": 0,
"total_rows": 0,
"error_meta": null,
"created_by": {
"username": "srajangupta@gofynd.com",
"user_id": "sgX0Bv"
},
"modified_by": {
"username": "srajangupta@gofynd.com",
"user_id": "sgX0Bv"
},
"_id": "698a286cfaafa4e9e47d82f6",
"created_on": "2026-02-09T18:33:16.909Z",
"modified_on": "2026-02-09T18:33:16.909Z"
}
}
}
}
}
},
"400": {
"description": "Failed",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BadRequestObject"
},
"examples": {
"failure": {
"value": {
"message": "Invalid File"
}
}
}
}
}
}
},
"x-groups": [
"Discount File Validation"
],
"security": [
{
"oauth2": [
"company/price_rules/write"
]
}
],
"path": "/service/platform/discount/v2.0/company/{company_id}/file",
"methodType": "post"
}
}
🔧 Operation: getDiscountFileJobV2​
🔹 Change 1​
- Action:
add - Type:
non-breaking - xGroup:
N/A - Schema Ref:
N/A - Schema Action:
OPERATION_ID_ADDED - Path:
paths.getDiscountFileJobV2 - New Schema:
{
"methodTypePlaceHolder": {
"description": "Get a Discount V2 file job status including progress and absolute file URLs.",
"summary": "Get discount file job (V2).",
"operationId": "getDiscountFileJobV2",
"tags": [
"Discount"
],
"parameters": [
{
"name": "company_id",
"in": "path",
"description": "A `company_id` is the unique identifier of the company.",
"required": true,
"schema": {
"type": "integer"
},
"examples": {
"success": {
"value": 1
},
"failure": {
"value": 1
}
}
},
{
"name": "id",
"in": "path",
"description": "File job ID.",
"required": true,
"schema": {
"type": "string"
},
"examples": {
"success": {
"value": "698a286cfaafa4e9e47d82f6"
},
"failure": {
"value": "6512736fa98e0ed14ef1f200"
}
}
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DiscountV2FileStatusDetails"
},
"examples": {
"success": {
"value": {
"_id": "698a286cfaafa4e9e47d82f6",
"progress": 100,
"company_id": 1,
"app_ids": [
"694fbcf2ceab9a2bfb6f41a4"
],
"type": "upload",
"file_path": "https://cdn.pixelbin.io/v2/falling-surf-7c8bb8/sandbx/wrkr/uzumaki/company/1/self/documents/product-import/free/original/dFIm8_Ls6-file-specmatics-VXxsfyS-_H.csv",
"is_active": true,
"status": "partial",
"total_chunks": 19,
"processed_chunks": 1,
"failed_chunks": 18,
"success_chunks": 1,
"success_rows": 1,
"failed_rows": 243,
"processed_rows": 244,
"total_rows": 76,
"error_meta": {
"message": "",
"error_details": [
{
"chunk_name": "",
"row_number": 5,
"discount_name": "",
"seller_identifier": "",
"item_code": "",
"brand_name": "",
"value": null,
"error": "Missing required header fields: Name, Discount Start, Discount End, Discount Job Type, Discount Type, Value"
},
{
"chunk_name": "filter + percentange + brand(single)- disc1",
"row_number": 2,
"discount_name": "filter + percentange + brand(single)- disc1",
"seller_identifier": "",
"item_code": "",
"brand_name": "",
"value": null,
"error": "Override must be \"Yes\" or \"No\""
}
],
"error_count": 0
},
"created_by": {
"username": "srajangupta@gofynd.com",
"user_id": "sgX0Bv"
},
"modified_by": {
"username": "srajangupta@gofynd.com",
"user_id": "sgX0Bv"
},
"created_on": "2026-02-09T18:33:16.909Z",
"modified_on": "2026-02-09T18:33:17.458Z"
}
}
}
}
}
},
"400": {
"description": "Failed",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BadRequestObjectGet"
},
"examples": {
"failure": {
"value": {
"message": "Job Not Found."
}
}
}
}
}
}
},
"x-groups": [
"Discount File Validation"
],
"security": [
{
"oauth2": [
"company/price_rules/read"
]
}
],
"path": "/service/platform/discount/v2.0/company/{company_id}/file/{id}",
"methodType": "get"
}
}
🔧 Operation: cancelDiscountFileJobV2​
🔹 Change 1​
- Action:
add - Type:
non-breaking - xGroup:
N/A - Schema Ref:
N/A - Schema Action:
OPERATION_ID_ADDED - Path:
paths.cancelDiscountFileJobV2 - New Schema:
{
"methodTypePlaceHolder": {
"description": "Cancel a running Discount V2 file job.",
"summary": "Cancel discount file job (V2).",
"operationId": "cancelDiscountFileJobV2",
"tags": [
"Discount"
],
"parameters": [
{
"name": "company_id",
"in": "path",
"description": "A `company_id` is the unique identifier of the company.",
"required": true,
"schema": {
"type": "integer"
},
"examples": {
"success": {
"value": 1
},
"failure": {
"value": 1
}
}
},
{
"name": "id",
"in": "path",
"description": "File job ID.",
"required": true,
"schema": {
"type": "string"
},
"examples": {
"success": {
"value": "698a286cfaafa4e9e47d82f6"
},
"failure": {
"value": "6512736fa98e0ed14ef1f200"
}
}
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CancelJobResponseSchema"
},
"examples": {
"success": {
"value": {
"success": true
}
}
}
}
}
},
"400": {
"description": "Failed",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BadRequestObjectGet"
},
"examples": {
"failure": {
"value": {
"data": {
"message": "Job cannot be cancelled. Current status: completed"
}
}
}
}
}
}
}
},
"x-groups": [
"Discount File Validation"
],
"security": [
{
"oauth2": [
"company/price_rules/write"
]
}
],
"path": "/service/platform/discount/v2.0/company/{company_id}/file/{id}",
"methodType": "delete"
}
}
🔧 Operation: getDiscountFileJobsV2​
🔹 Change 1​
- Action:
add - Type:
non-breaking - xGroup:
N/A - Schema Ref:
N/A - Schema Action:
OPERATION_ID_ADDED - Path:
paths.getDiscountFileJobsV2 - New Schema:
{
"methodTypePlaceHolder": {
"description": "Retrieve Discount V2 file job history.",
"summary": "Get discount file jobs (V2).",
"operationId": "getDiscountFileJobsV2",
"tags": [
"Discount",
"Pagination"
],
"parameters": [
{
"name": "company_id",
"in": "path",
"description": "A `company_id` is the unique identifier of the company.",
"required": true,
"schema": {
"type": "integer"
},
"examples": {
"success": {
"value": 1
}
}
},
{
"name": "page_no",
"in": "query",
"description": "Page number. Default is 1.",
"required": false,
"schema": {
"type": "integer",
"default": 1
},
"examples": {
"success": {
"value": 1
}
}
},
{
"name": "page_size",
"in": "query",
"description": "Page size. Default is 10.",
"required": false,
"schema": {
"type": "integer",
"default": 10
},
"examples": {
"success": {
"value": 5
}
}
},
{
"name": "search",
"in": "query",
"description": "Search by file job id.",
"required": false,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DiscountV2FileList"
},
"examples": {
"success": {
"value": {
"items": [
{
"created_by": {
"username": "srajangupta@gofynd.com",
"user_id": "sgX0Bv"
},
"modified_by": {
"username": "srajangupta@gofynd.com",
"user_id": "sgX0Bv"
},
"_id": "6984f36a5e3855d27efd985a",
"company_id": 1,
"app_ids": [
"694fbcf2ceab9a2bfb6f41a4"
],
"type": "upload",
"file_path": "https://cdn.tiraz5.de/v2/super-fire-62c344/tirabz/wrkr/tiraz5/company/1/self/documents/product-import/free/original/Yv_GNu5ve-test-nr_tira.xlsx",
"is_active": true,
"status": "pending",
"total_chunks": 0,
"processed_chunks": 0,
"failed_chunks": 0,
"success_chunks": 0,
"success_rows": 0,
"failed_rows": 0,
"processed_rows": 0,
"total_rows": 0,
"error_meta": null,
"created_on": "2026-02-05T19:45:46.340Z",
"modified_on": "2026-02-05T19:45:46.340Z",
"progress": 0,
"percentage": null
},
{
"created_by": {
"username": "srajangupta@gofynd.com",
"user_id": "sgX0Bv"
},
"modified_by": {
"username": "srajangupta@gofynd.com",
"user_id": "sgX0Bv"
},
"_id": "6984f3655e3855d27efd9857",
"company_id": 1,
"app_ids": [
"694fbcf2ceab9a2bfb6f41a4"
],
"type": "upload",
"file_path": "https://cdn.tiraz5.de/v2/super-fire-62c344/tirabz/wrkr/tiraz5/company/1/self/documents/product-import/free/original/Yv_GNu5ve-test-nr_tira.xlsx",
"is_active": true,
"status": "pending",
"total_chunks": 0,
"processed_chunks": 0,
"failed_chunks": 0,
"success_chunks": 0,
"success_rows": 0,
"failed_rows": 0,
"processed_rows": 0,
"total_rows": 0,
"error_meta": null,
"created_on": "2026-02-05T19:45:41.836Z",
"modified_on": "2026-02-05T19:45:41.836Z",
"progress": 0,
"percentage": null
},
{
"created_by": {
"username": "srajangupta@gofynd.com",
"user_id": "sgX0Bv"
},
"modified_by": {
"username": "srajangupta@gofynd.com",
"user_id": "sgX0Bv"
},
"_id": "6984f3615e3855d27efd9854",
"company_id": 1,
"app_ids": [
"694fbcf2ceab9a2bfb6f41a4"
],
"type": "upload",
"file_path": "https://cdn.tiraz5.de/v2/super-fire-62c344/tirabz/wrkr/tiraz5/company/1/self/documents/product-import/free/original/Yv_GNu5ve-test-nr_tira.xlsx",
"is_active": true,
"status": "pending",
"total_chunks": 0,
"processed_chunks": 0,
"failed_chunks": 0,
"success_chunks": 0,
"success_rows": 0,
"failed_rows": 0,
"processed_rows": 0,
"total_rows": 0,
"error_meta": null,
"created_on": "2026-02-05T19:45:37.636Z",
"modified_on": "2026-02-05T19:45:37.636Z",
"progress": 0,
"percentage": null
},
{
"created_by": {
"username": "srajangupta@gofynd.com",
"user_id": "sgX0Bv"
},
"modified_by": {
"username": "srajangupta@gofynd.com",
"user_id": "sgX0Bv"
},
"_id": "6984f33cff0adf2a835a996c",
"company_id": 1,
"app_ids": [
"694fbcf2ceab9a2bfb6f41a4"
],
"type": "upload",
"file_path": "https://cdn.tiraz5.de/v2/super-fire-62c344/tirabz/wrkr/tiraz5/company/1/self/documents/product-import/free/original/Yv_GNu5ve-test-nr_tira.xlsx",
"is_active": true,
"status": "pending",
"total_chunks": 0,
"processed_chunks": 0,
"failed_chunks": 0,
"success_chunks": 0,
"success_rows": 0,
"failed_rows": 0,
"processed_rows": 0,
"total_rows": 0,
"error_meta": null,
"created_on": "2026-02-05T19:45:00.554Z",
"modified_on": "2026-02-05T19:45:00.554Z",
"progress": 0,
"percentage": null
},
{
"created_by": {
"username": "srajangupta@gofynd.com",
"user_id": "sgX0Bv"
},
"modified_by": {
"username": "srajangupta@gofynd.com",
"user_id": "sgX0Bv"
},
"_id": "6984f333ff0adf2a835a9969",
"company_id": 1,
"app_ids": [
"694fbcf2ceab9a2bfb6f41a4"
],
"type": "upload",
"file_path": "https://cdn.tiraz5.de/v2/super-fire-62c344/tirabz/wrkr/tiraz5/company/1/self/documents/product-import/free/original/Yv_GNu5ve-test-nr_tira.xlsx",
"is_active": true,
"status": "pending",
"total_chunks": 0,
"processed_chunks": 0,
"failed_chunks": 0,
"success_chunks": 0,
"success_rows": 0,
"failed_rows": 0,
"processed_rows": 0,
"total_rows": 0,
"error_meta": null,
"created_on": "2026-02-05T19:44:51.641Z",
"modified_on": "2026-02-05T19:44:51.641Z",
"progress": 0,
"percentage": null
}
],
"page": {
"current": 1,
"type": "number",
"size": 5,
"has_previous": false,
"has_next": true,
"item_total": 35
}
}
}
}
}
}
}
},
"x-groups": [
"Discount File Validation"
],
"security": [
{
"oauth2": [
"company/price_rules/read"
]
}
],
"path": "/service/platform/discount/v2.0/company/{company_id}/files",
"methodType": "get"
}
}
🔧 Operation: downloadDiscountSampleFileV2​
🔹 Change 1​
- Action:
add - Type:
non-breaking - xGroup:
N/A - Schema Ref:
N/A - Schema Action:
OPERATION_ID_ADDED - Path:
paths.downloadDiscountSampleFileV2 - New Schema:
{
"methodTypePlaceHolder": {
"description": "Download sample discount file for Discount V2 ingestion.",
"summary": "Download discount sample file (V2).",
"operationId": "downloadDiscountSampleFileV2",
"tags": [
"Discount"
],
"parameters": [
{
"name": "company_id",
"in": "path",
"description": "A `company_id` is the unique identifier of the company.",
"required": true,
"schema": {
"type": "integer"
},
"examples": {
"success_csv": {
"value": 1
},
"success_xlsx": {
"value": 1
},
"failure": {
"value": 1
}
}
},
{
"name": "file_type",
"in": "query",
"description": "Output file type. CSV has limitations on data validation.",
"required": false,
"schema": {
"type": "string",
"enum": [
"csv",
"xlsx"
],
"default": "xlsx"
},
"examples": {
"success_csv": {
"value": "csv"
},
"success_xlsx": {
"value": "xlsx"
},
"failure": {
"value": "pdf"
}
}
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SampleFileDownload"
},
"examples": {
"success_xlsx": {
"value": {
"file_url": "https://cdn.example.com/discount-sample-1736935200.xlsx",
"mime_type": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
}
},
"success_csv": {
"value": {
"file_url": "https://cdn.example.com/discount-sample-1736935200.csv",
"mime_type": "text/csv"
}
}
}
}
}
},
"400": {
"description": "Failed",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BadRequestObjectGet"
},
"examples": {
"failure": {
"value": {
"status": 400,
"message": "Invalid file type. Must be either 'csv' or 'xlsx'"
}
}
}
}
}
}
},
"x-groups": [
"Discount File Download"
],
"security": [
{
"oauth2": [
"company/price_rules/read"
]
}
],
"path": "/service/platform/discount/v2.0/company/{company_id}/file/sample/download",
"methodType": "get"
}
}