curl --request GET \
--url https://api.tassyir.io/apps/2026-10/offers/{id} \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.tassyir.io/apps/2026-10/offers/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"data": {
"id": "<string>",
"storeId": "<string>",
"kind": "<string>",
"method": "<string>",
"title": "<string>",
"label": {
"ar": "<string>",
"fr": "<string>",
"en": "<string>"
},
"status": "<string>",
"currency": "<string>",
"quantity": {
"priceMode": "<string>",
"tiers": [
{
"pieces": 0,
"label": {
"ar": "<string>",
"fr": "<string>",
"en": "<string>"
},
"total": "<string>",
"percentOff": 123,
"amountOffEach": "<string>",
"preselected": true,
"freeDelivery": true
}
]
},
"freeDelivery": {
"thresholdKind": "<string>",
"thresholdPieces": 0,
"thresholdAmount": "<string>",
"delivery": "<string>",
"wilayas": [
"<string>"
]
},
"productDiscount": {
"valueType": "<string>",
"percent": 123,
"amount": "<string>",
"maxAmount": "<string>",
"showCountdown": true
},
"orderDiscount": {
"valueType": "<string>",
"percent": 123,
"amount": "<string>",
"maxAmount": "<string>",
"minimumKind": "<string>",
"minimumPieces": 0,
"minimumAmount": "<string>"
},
"bxgy": {
"buyPieces": 0,
"getPieces": 0,
"getDiscountType": "<string>",
"getPercent": 123,
"getPrice": "<string>",
"maxPerOrder": 0
},
"addon": {
"priceType": "<string>",
"price": "<string>",
"percent": 123,
"amountOff": "<string>",
"maxQuantity": 0,
"beforeSubmit": true,
"afterSubmit": true
},
"appRule": {
"typeHandle": "<string>",
"rule": "<unknown>"
},
"combinesWith": {
"product": true,
"order": true,
"delivery": true
},
"eligibility": {
"audience": "<string>",
"channels": [
"<string>"
],
"wilayas": [
"<string>"
],
"deliveryMethods": [
"<string>"
]
},
"targets": [
{
"role": "<string>",
"type": "<string>",
"id": "<string>"
}
],
"codeCount": 0,
"totalUsageLimit": 0,
"perBuyerLimit": 0,
"startsAt": "2023-11-07T05:31:56Z",
"endsAt": "2023-11-07T05:31:56Z",
"publishedAt": "2023-11-07T05:31:56Z",
"pausedAt": "2023-11-07T05:31:56Z",
"archivedAt": "2023-11-07T05:31:56Z",
"appOwned": true,
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z"
}
}{
"type": "<string>",
"title": "<string>",
"status": 400,
"detail": "<string>",
"code": "INVALID_FIELDS",
"docs": "<string>",
"fix": "<string>",
"requestId": "<string>",
"errors": [
"<string>"
]
}{
"type": "<string>",
"title": "<string>",
"status": 401,
"detail": "<string>",
"code": "APP_TOKEN_INVALID",
"docs": "<string>",
"fix": "<string>",
"requestId": "<string>",
"errors": [
"<string>"
]
}{
"type": "<string>",
"title": "<string>",
"status": 403,
"detail": "<string>",
"code": "PERMISSION_DENIED",
"docs": "<string>",
"fix": "<string>",
"requestId": "<string>",
"errors": [
"<string>"
]
}{
"type": "<string>",
"title": "<string>",
"status": 404,
"detail": "<string>",
"code": "NOT_FOUND",
"docs": "<string>",
"fix": "<string>",
"requestId": "<string>",
"errors": [
"<string>"
]
}{
"type": "<string>",
"title": "<string>",
"status": 429,
"detail": "<string>",
"code": "BUSINESS_RATE_LIMITED",
"docs": "<string>",
"fix": "<string>",
"requestId": "<string>",
"errors": [
"<string>"
]
}{
"type": "<string>",
"title": "<string>",
"status": 500,
"detail": "<string>",
"code": "INTERNAL_ERROR",
"docs": "<string>",
"fix": "<string>",
"requestId": "<string>",
"errors": [
"<string>"
]
}{
"type": "<string>",
"title": "<string>",
"status": 503,
"detail": "<string>",
"code": "API_BUSY",
"docs": "<string>",
"fix": "<string>",
"requestId": "<string>",
"errors": [
"<string>"
]
}Get an offer
Needs the read_offers scope (permission offers:read).
curl --request GET \
--url https://api.tassyir.io/apps/2026-10/offers/{id} \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.tassyir.io/apps/2026-10/offers/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"data": {
"id": "<string>",
"storeId": "<string>",
"kind": "<string>",
"method": "<string>",
"title": "<string>",
"label": {
"ar": "<string>",
"fr": "<string>",
"en": "<string>"
},
"status": "<string>",
"currency": "<string>",
"quantity": {
"priceMode": "<string>",
"tiers": [
{
"pieces": 0,
"label": {
"ar": "<string>",
"fr": "<string>",
"en": "<string>"
},
"total": "<string>",
"percentOff": 123,
"amountOffEach": "<string>",
"preselected": true,
"freeDelivery": true
}
]
},
"freeDelivery": {
"thresholdKind": "<string>",
"thresholdPieces": 0,
"thresholdAmount": "<string>",
"delivery": "<string>",
"wilayas": [
"<string>"
]
},
"productDiscount": {
"valueType": "<string>",
"percent": 123,
"amount": "<string>",
"maxAmount": "<string>",
"showCountdown": true
},
"orderDiscount": {
"valueType": "<string>",
"percent": 123,
"amount": "<string>",
"maxAmount": "<string>",
"minimumKind": "<string>",
"minimumPieces": 0,
"minimumAmount": "<string>"
},
"bxgy": {
"buyPieces": 0,
"getPieces": 0,
"getDiscountType": "<string>",
"getPercent": 123,
"getPrice": "<string>",
"maxPerOrder": 0
},
"addon": {
"priceType": "<string>",
"price": "<string>",
"percent": 123,
"amountOff": "<string>",
"maxQuantity": 0,
"beforeSubmit": true,
"afterSubmit": true
},
"appRule": {
"typeHandle": "<string>",
"rule": "<unknown>"
},
"combinesWith": {
"product": true,
"order": true,
"delivery": true
},
"eligibility": {
"audience": "<string>",
"channels": [
"<string>"
],
"wilayas": [
"<string>"
],
"deliveryMethods": [
"<string>"
]
},
"targets": [
{
"role": "<string>",
"type": "<string>",
"id": "<string>"
}
],
"codeCount": 0,
"totalUsageLimit": 0,
"perBuyerLimit": 0,
"startsAt": "2023-11-07T05:31:56Z",
"endsAt": "2023-11-07T05:31:56Z",
"publishedAt": "2023-11-07T05:31:56Z",
"pausedAt": "2023-11-07T05:31:56Z",
"archivedAt": "2023-11-07T05:31:56Z",
"appOwned": true,
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z"
}
}{
"type": "<string>",
"title": "<string>",
"status": 400,
"detail": "<string>",
"code": "INVALID_FIELDS",
"docs": "<string>",
"fix": "<string>",
"requestId": "<string>",
"errors": [
"<string>"
]
}{
"type": "<string>",
"title": "<string>",
"status": 401,
"detail": "<string>",
"code": "APP_TOKEN_INVALID",
"docs": "<string>",
"fix": "<string>",
"requestId": "<string>",
"errors": [
"<string>"
]
}{
"type": "<string>",
"title": "<string>",
"status": 403,
"detail": "<string>",
"code": "PERMISSION_DENIED",
"docs": "<string>",
"fix": "<string>",
"requestId": "<string>",
"errors": [
"<string>"
]
}{
"type": "<string>",
"title": "<string>",
"status": 404,
"detail": "<string>",
"code": "NOT_FOUND",
"docs": "<string>",
"fix": "<string>",
"requestId": "<string>",
"errors": [
"<string>"
]
}{
"type": "<string>",
"title": "<string>",
"status": 429,
"detail": "<string>",
"code": "BUSINESS_RATE_LIMITED",
"docs": "<string>",
"fix": "<string>",
"requestId": "<string>",
"errors": [
"<string>"
]
}{
"type": "<string>",
"title": "<string>",
"status": 500,
"detail": "<string>",
"code": "INTERNAL_ERROR",
"docs": "<string>",
"fix": "<string>",
"requestId": "<string>",
"errors": [
"<string>"
]
}{
"type": "<string>",
"title": "<string>",
"status": 503,
"detail": "<string>",
"code": "API_BUSY",
"docs": "<string>",
"fix": "<string>",
"requestId": "<string>",
"errors": [
"<string>"
]
}Authorizations
An app access token from POST /apps/oauth/token, valid 1 hour. An offline token acts as the app; an online token acts as the app on behalf of one dashboard user (the intersection of both permission sets).
Path Parameters
A resource id. One this installation cannot read, or a malformed one, is 404 NOT_FOUND.
1Query Parameters
Return only these top-level fields, separated by commas; the id is always kept. The response schema describes the whole resource. An unknown name is 400 INVALID_FIELDS. Fields: id, storeId, kind, method, title, label, status, currency, quantity, freeDelivery, productDiscount, orderDiscount, bxgy, addon, appRule, combinesWith, eligibility, targets, codeCount, totalUsageLimit, perBuyerLimit, startsAt, endsAt, publishedAt, pausedAt, archivedAt, appOwned, createdAt, updatedAt.
1000Response
The offer.
An offer (API 2026-10).
Show child attributes
Show child attributes