Manage product offers, pricing, and offer-related operations in the product catalogue.
/api/product-catalogue/offers
The Offers API provides comprehensive endpoints for managing product offers including creation, pricing, filtering, and bulk operations. All offer endpoints support OData filtering and pagination.
Gets all offers with OData filtering and pagination.
| Parameter | Type | Description |
|---|---|---|
| $filter | string | OData filter expression |
| $orderby | string | Sort order |
| $skip | integer | Skip n records |
| $top | integer | Take n records |
{
"value": [
{
"id": "offer_123",
"name": "Cloud Server Premium",
"vendor": {
"id": "vendor_1",
"name": "CloudVendor Inc"
},
"price": 299.99,
"currency": "USD",
"status": "active",
"createdAt": "2026-06-02T10:30:00Z"
}
],
"count": 500
}
Gets offer details by ID.
| Parameter | Type |
|---|---|
| id | string |
{
"id": "offer_123",
"name": "Cloud Server Premium",
"description": "High-performance cloud server",
"vendor": {
"id": "vendor_1",
"name": "CloudVendor Inc"
},
"pricing": {
"basePrice": 299.99,
"currency": "USD",
"billingCycle": "monthly"
},
"status": "active",
"createdAt": "2026-06-02T10:30:00Z"
}
Gets offers by vendor ID.
| Parameter | Type |
|---|---|
| vendorId | string |
{
"vendor": {
"id": "vendor_1",
"name": "CloudVendor Inc"
},
"offers": [
{
"id": "offer_123",
"name": "Cloud Server Premium",
"price": 299.99
}
]
}
Gets offers by offer group ID.
| Parameter | Type |
|---|---|
| offerGroupId | string |
{
"group": {
"id": "group_5",
"name": "Cloud Servers"
},
"offers": [
{
"id": "offer_123",
"name": "Cloud Server Premium",
"price": 299.99
}
]
}
Creates new offer.
{
"name": "New Cloud Service",
"description": "Advanced cloud service offering",
"vendorId": "vendor_1",
"offerGroupId": "group_5",
"pricing": {
"basePrice": 499.99,
"currency": "USD",
"billingCycle": "monthly"
},
"attributes": {
"vcpu": 8,
"memory": "32GB",
"storage": "500GB SSD"
},
"status": "active"
}
{
"id": "offer_125",
"name": "New Cloud Service",
"status": "active",
"createdAt": "2026-06-02T10:30:00Z"
}
Updates offer details.
{
"name": "Updated Cloud Service",
"description": "Updated description",
"pricing": {
"basePrice": 599.99,
"currency": "USD"
},
"status": "active"
}
{
"id": "offer_125",
"name": "Updated Cloud Service",
"updatedAt": "2026-06-02T11:00:00Z"
}
Deletes offer.
{
"success": true,
"message": "Offer deleted"
}
Imports offers from CSV file.
Multipart form-data with CSV file
name,vendorId,price,currency,billingCycle,status Cloud Server Premium,vendor_1,299.99,USD,monthly,active Cloud Server Standard,vendor_1,99.99,USD,monthly,active
{
"imported": 2,
"failed": 0,
"results": [
{
"id": "offer_125",
"name": "Cloud Server Premium",
"status": "created"
}
]
}
| Code | HTTP Status | Description |
|---|---|---|
| OFFER_NOT_FOUND | 404 | Offer does not exist |
| VENDOR_NOT_FOUND | 404 | Vendor does not exist |
| INVALID_PRICE | 400 | Invalid price format |
| DUPLICATE_OFFER | 409 | Offer name already exists |
| INVALID_FILE | 400 | Invalid CSV file format |