Overview #
List discounts #
GET
/api/admin/26.0/discounts
Parameters
| Field | Type | Description |
|---|---|---|
| limit | integer | [Optional] Number of results to return (default 20, max 10000) |
| page | integer | [Optional] Page number to fetch (default 1) |
| sort_by | string | [Optional] Field to sort by (e.g. created_at, title) |
| sort_order | string | [Optional] Sort direction: asc or desc |
Headers
| Header | Value |
|---|---|
| X-Joonweb-Access-Token | jw_at_xxxxxxxxxxxx |
| Content-Type | application/json |
Request Example
Response
200 OK
{
"discounts": [
{
"id": 40392,
"code": "SUMMER26",
"value": "20.0",
"value_type": "percentage",
"usage_limit": 100,
"times_used": 45,
"starts_at": "2026-08-27T11:31:04+02:00",
"ends_at": null,
"status": "active"
}
],
"pagination": {
"current_page": 1,
"per_page": 20,
"total": 1,
"total_pages": 1
}
}
Get discount #
GET
/api/admin/26.0/discounts/{id}
Parameters
| Field | Type | Description |
|---|---|---|
| id | integer/string | [Required] The resource ID or handle |
Headers
| Header | Value |
|---|---|
| X-Joonweb-Access-Token | jw_at_xxxxxxxxxxxx |
| Content-Type | application/json |
Request Example
Response
200 OK
{
"discount": {
"id": 40392,
"code": "SUMMER26",
"value": "20.0",
"value_type": "percentage",
"usage_limit": 100,
"times_used": 45,
"starts_at": "2026-08-27T11:31:04+02:00",
"ends_at": null,
"status": "active"
}
}
Get discount by code #
GET
/api/admin/26.0/discounts/code/{code}
Parameters
| Field | Type | Description |
|---|---|---|
| code | string | [Required] The discount code |
| limit | integer | [Optional] Number of results to return (default 20, max 10000) |
| page | integer | [Optional] Page number to fetch (default 1) |
| sort_by | string | [Optional] Field to sort by (e.g. created_at, title) |
| sort_order | string | [Optional] Sort direction: asc or desc |
Headers
| Header | Value |
|---|---|
| X-Joonweb-Access-Token | jw_at_xxxxxxxxxxxx |
| Content-Type | application/json |
Request Example
Response
200 OK
{
"discount": {
"id": 40392,
"code": "SUMMER26",
"value": "20.0",
"value_type": "percentage",
"usage_limit": 100,
"times_used": 45,
"starts_at": "2026-08-27T11:31:04+02:00",
"ends_at": null,
"status": "active"
}
}
Create discount #
POST
/api/admin/26.0/discounts
Parameters
| Field | Type | Description |
|---|---|---|
| code | string | [Required] Unique discount code |
| value | float | [Required] Discount value |
| value_type | string | [Required] percentage or fixed_amount |
| usage_limit | integer | [Optional] Max number of times can be used |
| starts_at | string | [Optional] ISO 8601 start date |
| ends_at | string | [Optional] ISO 8601 end date |
Headers
| Header | Value |
|---|---|
| X-Joonweb-Access-Token | jw_at_xxxxxxxxxxxx |
| Content-Type | application/json |
Request Example
Response
200 OK
{
"discount": {
"id": 40392,
"code": "SUMMER26",
"value": "20.0",
"value_type": "percentage",
"usage_limit": 100,
"times_used": 45,
"starts_at": "2026-08-27T11:31:04+02:00",
"ends_at": null,
"status": "active"
}
}
Update discount #
PUT
/api/admin/26.0/discounts/{id}
Parameters
| Field | Type | Description |
|---|---|---|
| id | integer/string | [Required] The resource ID or handle |
| code | string | [Required] Unique discount code |
| value | float | [Required] Discount value |
| value_type | string | [Required] percentage or fixed_amount |
| usage_limit | integer | [Optional] Max number of times can be used |
| starts_at | string | [Optional] ISO 8601 start date |
| ends_at | string | [Optional] ISO 8601 end date |
Headers
| Header | Value |
|---|---|
| X-Joonweb-Access-Token | jw_at_xxxxxxxxxxxx |
| Content-Type | application/json |
Request Example
Response
200 OK
{
"discount": {
"id": 40392,
"code": "SUMMER26",
"value": "20.0",
"value_type": "percentage",
"usage_limit": 100,
"times_used": 45,
"starts_at": "2026-08-27T11:31:04+02:00",
"ends_at": null,
"status": "active"
}
}
Delete discount #
DELETE
/api/admin/26.0/discounts/{id}
Parameters
| Field | Type | Description |
|---|---|---|
| id | integer/string | [Required] The resource ID or handle |
Headers
| Header | Value |
|---|---|
| X-Joonweb-Access-Token | jw_at_xxxxxxxxxxxx |
| Content-Type | application/json |
Request Example
Response
200 OK
{
"success": true,
"message": "Deleted successfully"
}