> For the complete documentation index, see [llms.txt](https://wiki.tribute.tg/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://wiki.tribute.tg/for-shops/api/models.md).

# Models

## The Error object

```json
{"openapi":"3.1.0","info":{"title":"Tribute Shop API","version":"1.0.0"},"components":{"schemas":{"Error":{"type":"object","required":["error","message"],"properties":{"error":{"type":"string","description":"Error code","enum":["error_bad_request","error_not_found","error_not_permitted","no_access"]},"message":{"type":"string","description":"Error description"}}}}}}
```

## The Shop object

```json
{"openapi":"3.1.0","info":{"title":"Tribute Shop API","version":"1.0.0"},"components":{"schemas":{"Shop":{"type":"object","required":["id","userId","name","link","callbackUrl","recurrent","onlyStars","tokenCharging","status"],"properties":{"id":{"type":"integer","format":"uint64","description":"Shop ID"},"userId":{"type":"integer","description":"Shop owner user ID"},"name":{"type":"string","description":"Shop name"},"link":{"type":"string","description":"Shop link/slug"},"callbackUrl":{"type":"string","format":"uri","description":"Webhook callback URL for order notifications"},"recurrent":{"type":"boolean","description":"Whether recurring payments are available"},"onlyStars":{"type":"boolean","description":"Whether only Telegram Stars payment is accepted"},"tokenCharging":{"type":"boolean","description":"Whether merchant-initiated token charging is enabled"},"status":{"type":"integer","description":"Shop status (0 = inactive, 1 = active)","enum":[0,1]}}}}}}
```

## The ShopOrder object

```json
{"openapi":"3.1.0","info":{"title":"Tribute Shop API","version":"1.0.0"},"components":{"schemas":{"ShopOrder":{"type":"object","required":["uuid","shopId","amount","currency","title","description","status","successUrl","failUrl","paymentUrl","createdAt","period"],"properties":{"uuid":{"type":"string","format":"uuid","description":"Order UUID"},"shopId":{"type":"integer","format":"uint64","description":"Shop ID this order belongs to"},"amount":{"type":"integer","format":"int64","description":"Order amount in smallest currency units (cents/kopecks)"},"currency":{"type":"string","description":"Currency code (lowercase)","enum":["eur","rub","usd"]},"title":{"type":"string","description":"Order title (max 100 UTF-16 characters)"},"description":{"type":"string","description":"Order description (max 300 UTF-16 characters)"},"status":{"type":"string","description":"Order status","enum":["pending","paid","failed"]},"email":{"type":"string","format":"email","description":"Customer email (optional)"},"successUrl":{"type":"string","format":"uri","description":"Redirect URL on successful payment"},"failUrl":{"type":"string","format":"uri","description":"Redirect URL on failed payment"},"paymentUrl":{"type":"string","format":"uri","nullable":true,"description":"Web URL for customer to complete payment in a browser.\n`null` for OnlyStars orders — they can only be paid inside Telegram via `webappPaymentUrl`.\n"},"webappPaymentUrl":{"type":"string","format":"uri","description":"Telegram WebApp payment URL for in-app payment"},"createdAt":{"type":"string","format":"date-time","description":"Order creation timestamp in ISO 8601 format"},"comment":{"type":"string","description":"Optional comment for the order"},"period":{"type":"string","description":"Billing period for recurring orders","enum":["onetime","weekly","monthly","quarterly","halfyearly","yearly"]},"memberStatus":{"type":"string","description":"Recurring subscription status (only for recurring orders)","enum":["active","cancelled"]},"memberExpiresAt":{"type":"string","format":"date-time","description":"Recurring subscription expiration date in ISO 8601 format (only for recurring orders)"},"lastPaidTransactionAt":{"type":"string","format":"date-time","nullable":true,"description":"Date of the last paid transaction in ISO 8601 format. Null if no transactions exist."},"starsAmount":{"type":"integer","format":"int64","description":"Fixed amount in Telegram Stars (0 if not set)"},"onlyStars":{"type":"boolean","description":"Whether this order only accepts Telegram Stars payment"},"firstPeriodAmount":{"type":"integer","format":"int64","nullable":true,"description":"First-period price in smallest currency units. If set, the initial charge used this amount; subsequent charges use `amount`. Absent for orders without a first-period override.\n"},"sendEmail":{"type":"boolean","description":"Whether a receipt email is sent to the buyer after successful payment (inherited from the shop at creation)"},"image":{"type":"object","nullable":true,"description":"Order image displayed in Telegram Stars invoices and transactions. Null if no image is set.","properties":{"id":{"type":"integer","description":"Image ID"},"path":{"type":"string","format":"uri","description":"Image URL"},"thumbnail":{"type":"string","description":"Base64-encoded thumbnail"},"width":{"type":"integer","description":"Image width in pixels"},"height":{"type":"integer","description":"Image height in pixels"},"fileType":{"type":"string","description":"File type","enum":["image","video"]}}}}}}}}
```

## The ShopOrderPayload object

```json
{"openapi":"3.1.0","info":{"title":"Tribute Shop API","version":"1.0.0"},"components":{"schemas":{"ShopOrderPayload":{"type":"object","required":["uuid","shopId","amount","currency","fee","status","isRecurrent"],"properties":{"uuid":{"type":"string","format":"uuid","description":"Order UUID"},"shopId":{"type":"integer","format":"uint64","description":"Shop ID"},"amount":{"type":"integer","format":"int64","description":"The order's regular recurring price — what the 2nd and subsequent\ncharges cost — in smallest currency units (cents/kopecks). For\nrecurring orders with a first-period override, the amount actually\ncharged on this initial CIT is carried by `firstPeriodAmount`.\n"},"currency":{"type":"string","description":"Currency code (lowercase)","enum":["eur","rub","usd"]},"fee":{"type":"integer","format":"int64","description":"Platform fee in smallest currency units"},"status":{"type":"string","description":"Order status (webhook is sent only when status = 'paid')","enum":["paid"]},"email":{"type":"string","format":"email","description":"Customer email (optional, may be empty)"},"customerId":{"type":"string","description":"Merchant's customer identifier (optional, included if set when creating the order)"},"isRecurrent":{"type":"boolean","description":"Whether this is a recurring order"},"period":{"type":"string","description":"Billing period (only for recurring orders)","enum":["weekly","monthly","quarterly","halfyearly","yearly"]},"paymentToken":{"type":"string","format":"uuid","description":"Payment token UUID for merchant-initiated charges (only when tokenCharging is enabled and token was created)"},"cardLast4":{"type":"string","description":"Last 4 digits of the card used for payment (only when tokenCharging is enabled)"},"cardBrand":{"type":"string","description":"Card brand (only when tokenCharging is enabled)"},"starsAmount":{"type":"integer","format":"int64","description":"Fixed amount in Telegram Stars (0 if not set)"},"onlyStars":{"type":"boolean","description":"Whether this order only accepts Telegram Stars payment"},"firstPeriodAmount":{"type":"integer","format":"int64","nullable":true,"description":"First-period price in smallest currency units — for this initial paid event, the amount actually charged. Present when the seller supplied `firstPeriodAmount` at order creation; absent otherwise."},"memberStatus":{"type":"string","description":"Recurring subscription member status (only for recurring orders)","enum":["active","cancelled"]},"memberExpiresAt":{"type":"string","format":"date-time","description":"Recurring subscription expiration date in ISO 8601 format (only for recurring orders)"}}}}}}
```

## The ShopOrderChargeFailedPayload object

```json
{"openapi":"3.1.0","info":{"title":"Tribute Shop API","version":"1.0.0"},"components":{"schemas":{"ShopOrderChargeFailedPayload":{"type":"object","required":["uuid","shopId","amount","currency","period","chargeRetries"],"properties":{"uuid":{"type":"string","format":"uuid","description":"Order UUID"},"shopId":{"type":"integer","format":"uint64","description":"Shop ID"},"amount":{"type":"integer","format":"int64","description":"Amount attempted for the failed recurring period, in smallest\ncurrency units (cents/kopecks). Equals the order's recurring `amount`;\nthe first-period override (`firstPeriodAmount`) only affects the\ninitial CIT, not subsequent recurring charges.\n"},"currency":{"type":"string","description":"Currency code (lowercase)","enum":["eur","rub","usd"]},"period":{"type":"string","description":"Billing period","enum":["weekly","monthly","quarterly","halfyearly","yearly"]},"chargeRetries":{"type":"integer","description":"Number of failed charge attempts (1-3). Retry schedule: 2nd attempt ~2h after the first failed attempt, 3rd attempt ~8h after the first failed attempt. After 3 failures, the subscription is cancelled.","minimum":1,"maximum":3},"email":{"type":"string","format":"email","description":"Customer email (optional)"},"customerId":{"type":"string","description":"Merchant's customer identifier (optional, included if set when creating the order)"},"isRecurrent":{"type":"boolean","description":"Whether this is a recurring order"},"starsAmount":{"type":"integer","format":"int64","description":"Fixed amount in Telegram Stars (0 if not set)"},"onlyStars":{"type":"boolean","description":"Whether this order only accepts Telegram Stars payment"},"firstPeriodAmount":{"type":"integer","format":"int64","nullable":true,"description":"First-period price in smallest currency units. Set when the seller supplied `firstPeriodAmount` at order creation; absent otherwise."},"memberStatus":{"type":"string","description":"Recurring subscription member status","enum":["active","cancelled"]},"memberExpiresAt":{"type":"string","format":"date-time","description":"Recurring subscription expiration date in ISO 8601 format"}}}}}}
```

## The ShopOrderChargeSuccessPayload object

```json
{"openapi":"3.1.0","info":{"title":"Tribute Shop API","version":"1.0.0"},"components":{"schemas":{"ShopOrderChargeSuccessPayload":{"type":"object","required":["uuid","shopId","amount","currency","period"],"properties":{"uuid":{"type":"string","format":"uuid","description":"Order UUID"},"shopId":{"type":"integer","format":"uint64","description":"Shop ID"},"amount":{"type":"integer","format":"int64","description":"Amount charged for the current recurring period, in smallest currency\nunits (cents/kopecks). Equals the order's recurring `amount`; the\nfirst-period override (`firstPeriodAmount`) only affects the initial CIT,\nnot subsequent recurring charges.\n"},"currency":{"type":"string","description":"Currency code (lowercase)","enum":["eur","rub","usd"]},"period":{"type":"string","description":"Billing period","enum":["weekly","monthly","quarterly","halfyearly","yearly"]},"email":{"type":"string","format":"email","description":"Customer email (optional)"},"customerId":{"type":"string","description":"Merchant's customer identifier (optional, included if set when creating the order)"},"isRecurrent":{"type":"boolean","description":"Whether this is a recurring order"},"starsAmount":{"type":"integer","format":"int64","description":"Fixed amount in Telegram Stars (0 if not set)"},"onlyStars":{"type":"boolean","description":"Whether this order only accepts Telegram Stars payment"},"firstPeriodAmount":{"type":"integer","format":"int64","nullable":true,"description":"First-period price in smallest currency units. Set when the seller supplied `firstPeriodAmount` at order creation; absent otherwise."},"memberStatus":{"type":"string","description":"Recurring subscription member status","enum":["active","cancelled"]},"memberExpiresAt":{"type":"string","format":"date-time","description":"Recurring subscription expiration date in ISO 8601 format"}}}}}}
```

## The ShopOrderCancelledPayload object

```json
{"openapi":"3.1.0","info":{"title":"Tribute Shop API","version":"1.0.0"},"components":{"schemas":{"ShopOrderCancelledPayload":{"type":"object","required":["uuid","shopId","amount","currency","period","cancelReason"],"properties":{"uuid":{"type":"string","format":"uuid","description":"Order UUID"},"shopId":{"type":"integer","format":"uint64","description":"Shop ID"},"amount":{"type":"integer","format":"int64","description":"Order amount in smallest currency units (cents/kopecks)"},"currency":{"type":"string","description":"Currency code (lowercase)","enum":["eur","rub","usd"]},"period":{"type":"string","description":"Billing period","enum":["weekly","monthly","quarterly","halfyearly","yearly"]},"cancelReason":{"type":"string","description":"Reason for cancellation.\n- `cancelled_by_seller` — cancelled by the shop owner.\n- `charge_failed` — recurring card charge could not be completed (e.g. all retry attempts exhausted, stale pending invoice, internal processing failure).\n- `payment_method_expired` — saved payment method (card) is no longer usable.\n- `stars_subscription_expired` — Telegram Stars subscription stopped renewing on Telegram's side. Covers both pure-Stars subscriptions (no fiat card on file; renewal is handled by Telegram) and OnlyStars card-to-Stars subscriptions whose buyer cancelled on Telegram's side (the card pre-charge is then stopped).\n- `seller_unavailable` — seller can no longer accept payments (account banned/deleted, payments disabled, or verification requirements not met).\n- `last_charge_refunded` — the buyer's most recently created shop-order buyer transaction was refunded. Refunding an older charge while a newer one still exists does NOT cancel the subscription.\n","enum":["cancelled_by_seller","charge_failed","payment_method_expired","stars_subscription_expired","seller_unavailable","last_charge_refunded"]},"email":{"type":"string","format":"email","description":"Customer email (optional)"},"customerId":{"type":"string","description":"Merchant's customer identifier (optional, included if set when creating the order)"},"isRecurrent":{"type":"boolean","description":"Whether this is a recurring order"},"starsAmount":{"type":"integer","format":"int64","description":"Fixed amount in Telegram Stars (0 if not set)"},"onlyStars":{"type":"boolean","description":"Whether this order only accepts Telegram Stars payment"},"firstPeriodAmount":{"type":"integer","format":"int64","nullable":true,"description":"First-period price in smallest currency units. Set when the seller supplied `firstPeriodAmount` at order creation; absent otherwise."},"memberStatus":{"type":"string","description":"Recurring subscription member status (only for recurring orders)","enum":["active","cancelled"]},"memberExpiresAt":{"type":"string","format":"date-time","description":"Recurring subscription expiration date in ISO 8601 format (only for recurring orders)"}}}}}}
```

## The ShopToken object

```json
{"openapi":"3.1.0","info":{"title":"Tribute Shop API","version":"1.0.0"},"components":{"schemas":{"ShopToken":{"type":"object","required":["shopId","token","cardLast4","cardBrand","amount","currency","active","createdAt"],"properties":{"shopId":{"type":"integer","format":"uint64","description":"Shop ID this token belongs to"},"token":{"type":"string","format":"uuid","description":"Payment token UUID"},"cardLast4":{"type":"string","description":"Last 4 digits of the card number"},"cardBrand":{"type":"string","description":"Card brand (VISA, MASTERCARD, etc.)"},"customerId":{"type":"string","description":"Merchant's customer reference (optional)"},"amount":{"type":"integer","format":"int64","description":"Fixed charge amount in smallest currency units"},"currency":{"type":"string","description":"Currency code (lowercase)","enum":["eur","rub","usd"]},"active":{"type":"boolean","description":"Whether the token is active and can be charged"},"createdAt":{"type":"string","format":"date-time","description":"Token creation timestamp in ISO 8601 format"},"lastUsedAt":{"type":"string","format":"date-time","description":"Last time the token was charged (optional)"}}}}}}
```

## The ShopCharge object

```json
{"openapi":"3.1.0","info":{"title":"Tribute Shop API","version":"1.0.0"},"components":{"schemas":{"ShopCharge":{"type":"object","required":["chargeUuid","shopId","status","amount","currency","createdAt"],"properties":{"chargeUuid":{"type":"string","format":"uuid","description":"Charge UUID"},"shopId":{"type":"integer","format":"uint64","description":"Shop ID this charge belongs to"},"status":{"type":"string","description":"Charge status","enum":["pending","processing","success","failed","timeout"]},"reference":{"type":"string","description":"Merchant reference (optional)"},"amount":{"type":"integer","format":"int64","description":"Charge amount in smallest currency units"},"currency":{"type":"string","description":"Currency code (lowercase)","enum":["eur","rub","usd"]},"token":{"type":"string","format":"uuid","description":"Payment token UUID"},"errorCode":{"type":"string","description":"Error code if charge failed (optional)"},"errorMessage":{"type":"string","description":"Error message if charge failed (optional)"},"createdAt":{"type":"string","format":"date-time","description":"Charge creation timestamp in ISO 8601 format"},"processedAt":{"type":"string","format":"date-time","description":"Charge processing completion timestamp (optional)"}}}}}}
```

## The ShopTokenChargeSuccessPayload object

```json
{"openapi":"3.1.0","info":{"title":"Tribute Shop API","version":"1.0.0"},"components":{"schemas":{"ShopTokenChargeSuccessPayload":{"type":"object","required":["chargeUuid","shopId","token","amount","currency","processedAt"],"properties":{"chargeUuid":{"type":"string","format":"uuid","description":"Charge UUID"},"shopId":{"type":"integer","format":"uint64","description":"Shop ID"},"token":{"type":"string","format":"uuid","description":"Payment token UUID"},"amount":{"type":"integer","format":"int64","description":"Charge amount in smallest currency units"},"currency":{"type":"string","description":"Currency code (lowercase)","enum":["eur","rub","usd"]},"reference":{"type":"string","description":"Merchant reference (optional)"},"processedAt":{"type":"string","format":"date-time","description":"Charge completion timestamp in ISO 8601 format"}}}}}}
```

## The ShopTokenChargeFailedPayload object

```json
{"openapi":"3.1.0","info":{"title":"Tribute Shop API","version":"1.0.0"},"components":{"schemas":{"ShopTokenChargeFailedPayload":{"type":"object","required":["chargeUuid","shopId","token","amount","currency","errorCode","errorMessage"],"properties":{"chargeUuid":{"type":"string","format":"uuid","description":"Charge UUID"},"shopId":{"type":"integer","format":"uint64","description":"Shop ID"},"token":{"type":"string","format":"uuid","description":"Payment token UUID"},"amount":{"type":"integer","format":"int64","description":"Charge amount in smallest currency units"},"currency":{"type":"string","description":"Currency code (lowercase)","enum":["eur","rub","usd"]},"reference":{"type":"string","description":"Merchant reference (optional)"},"errorCode":{"type":"string","description":"Error code"},"errorMessage":{"type":"string","description":"Detailed error message"}}}}}}
```

## The ShopOrderRefundedPayload object

```json
{"openapi":"3.1.0","info":{"title":"Tribute Shop API","version":"1.0.0"},"components":{"schemas":{"ShopOrderRefundedPayload":{"type":"object","required":["uuid","shopId","transactionId","amount","currency","status"],"properties":{"uuid":{"type":"string","format":"uuid","description":"Order UUID"},"shopId":{"type":"integer","format":"uint64","description":"Shop ID"},"transactionId":{"type":"integer","format":"uint64","description":"ID of the refunded transaction"},"amount":{"type":"integer","format":"int64","description":"Refunded amount in smallest currency units (cents/kopecks)"},"currency":{"type":"string","description":"Currency code (lowercase)","enum":["eur","rub","usd"]},"status":{"type":"string","description":"Refund status","enum":["initiated","completed"]},"refundedAt":{"type":"string","format":"date-time","description":"Time when the refund was completed (optional, only present when status is 'completed')"},"customerId":{"type":"string","description":"Merchant's customer identifier (optional, included if set when creating the order)"},"isRecurrent":{"type":"boolean","description":"Whether this is a recurring order"},"period":{"type":"string","description":"Billing period","enum":["onetime","weekly","monthly","quarterly","halfyearly","yearly"]},"starsAmount":{"type":"integer","format":"int64","description":"Fixed amount in Telegram Stars (0 if not set)"},"onlyStars":{"type":"boolean","description":"Whether this order only accepts Telegram Stars payment"},"firstPeriodAmount":{"type":"integer","format":"int64","nullable":true,"description":"First-period price in smallest currency units. Set when the seller supplied `firstPeriodAmount` at order creation; absent otherwise."},"memberStatus":{"type":"string","description":"Recurring subscription member status (only for recurring orders)","enum":["active","cancelled"]},"memberExpiresAt":{"type":"string","format":"date-time","description":"Recurring subscription expiration date in ISO 8601 format (only for recurring orders)"}}}}}}
```

## The ShopOrderPaymentFailedPayload object

```json
{"openapi":"3.1.0","info":{"title":"Tribute Shop API","version":"1.0.0"},"components":{"schemas":{"ShopOrderPaymentFailedPayload":{"type":"object","required":["uuid","shopId","amount","currency","errorCode","errorMessage"],"properties":{"uuid":{"type":"string","format":"uuid","description":"Order UUID"},"shopId":{"type":"integer","format":"uint64","description":"Shop ID"},"amount":{"type":"integer","format":"int64","description":"The order's regular recurring price — what the 2nd and subsequent\ncharges cost — in smallest currency units (cents/kopecks). For\nrecurring orders with a first-period override, the amount that was\nactually attempted on this initial CIT is carried by `firstPeriodAmount`.\n"},"currency":{"type":"string","description":"Currency code (lowercase)","enum":["eur","rub","usd"]},"errorCode":{"type":"string","description":"Error code indicating the type of failure"},"errorMessage":{"type":"string","description":"Human-readable error message describing the failure reason"},"email":{"type":"string","format":"email","description":"Customer email (optional)"},"customerId":{"type":"string","description":"Merchant's customer identifier (optional, included if set when creating the order)"},"starsAmount":{"type":"integer","format":"int64","description":"Fixed amount in Telegram Stars (0 if not set)"},"onlyStars":{"type":"boolean","description":"Whether this order only accepts Telegram Stars payment"},"firstPeriodAmount":{"type":"integer","format":"int64","nullable":true,"description":"First-period price in smallest currency units — for this failed initial CIT, the amount that was attempted. Present when the seller supplied `firstPeriodAmount` at order creation; absent otherwise."}}}}}}
```

## The ShopOrderPaymentReceivedPayload object

```json
{"openapi":"3.1.0","info":{"title":"Tribute Shop API","version":"1.0.0"},"components":{"schemas":{"ShopOrderPaymentReceivedPayload":{"type":"object","required":["uuid","shopId","amount","currency","starsAmount","onlyStars","starsPurchaseId"],"properties":{"uuid":{"type":"string","format":"uuid","description":"Order UUID"},"shopId":{"type":"integer","format":"uint64","description":"Shop ID"},"amount":{"type":"integer","format":"int64","description":"Order amount in smallest currency units (cents/kopecks)"},"currency":{"type":"string","description":"Currency code (lowercase)","enum":["eur","rub","usd"]},"period":{"type":"string","description":"Subscription period (omitted for one-time orders)"},"starsAmount":{"type":"integer","format":"int64","description":"Fixed amount in Telegram Stars"},"onlyStars":{"type":"boolean","description":"Whether this order only accepts Telegram Stars payment"},"starsPurchaseId":{"type":"integer","format":"uint64","description":"Internal identifier for event correlation"},"email":{"type":"string","format":"email","description":"Customer email (optional)"},"customerId":{"type":"string","description":"Merchant's customer identifier (optional, included if set when creating the order)"}}}}}}
```

## The Transaction object

```json
{"openapi":"3.1.0","info":{"title":"Tribute Shop API","version":"1.0.0"},"components":{"schemas":{"Transaction":{"type":"object","required":["id","type","amount","currency","createdAt","total"],"properties":{"id":{"type":"integer","format":"uint64","description":"Transaction ID"},"type":{"type":"string","description":"Transaction type"},"objectId":{"type":"integer","format":"uint64","description":"Related object ID"},"amount":{"type":"number","format":"double","description":"Transaction amount in currency units (e.g., EUR, RUB)"},"currency":{"type":"string","description":"Currency code (lowercase)","enum":["eur","rub","usd"]},"createdAt":{"type":"integer","format":"int64","description":"Transaction creation timestamp (Unix timestamp in seconds)"},"serviceFee":{"type":"number","format":"double","description":"Service fee amount"},"total":{"type":"number","format":"double","description":"Total amount after fees"},"paymentMethod":{"type":"string","description":"Payment method used"},"isRefunded":{"type":"boolean","description":"Whether the transaction has been refunded"},"isRefundable":{"type":"boolean","description":"Whether the transaction can be refunded"},"isRecurring":{"type":"boolean","description":"Whether this is a recurring payment transaction"},"shopOrder":{"type":"object","description":"Related shop order details (included for shop order transactions)","properties":{"uuid":{"type":"string","format":"uuid","description":"Order UUID"},"title":{"type":"string","description":"Order title"},"description":{"type":"string","description":"Order description"},"amount":{"type":"number","format":"double","description":"Order amount in currency units"},"currency":{"type":"string","description":"Currency code (lowercase)"},"status":{"type":"string","description":"Order status","enum":["pending","paid","failed"]},"email":{"type":"string","format":"email","description":"Customer email (optional)"},"successUrl":{"type":"string","format":"uri","description":"Success redirect URL"},"failUrl":{"type":"string","format":"uri","description":"Failure redirect URL"},"createdAt":{"type":"integer","format":"int64","description":"Order creation timestamp (Unix timestamp in seconds)"},"comment":{"type":"string","description":"Order comment (optional)"},"period":{"type":"string","description":"Billing period","enum":["onetime","weekly","monthly","quarterly","halfyearly","yearly"]},"shopName":{"type":"string","description":"Shop name"},"starsAmount":{"type":"integer","format":"int64","description":"Fixed amount in Telegram Stars (0 if not set)"},"onlyStars":{"type":"boolean","description":"Whether this order only accepts Telegram Stars payment"}}}}}}}}
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://wiki.tribute.tg/for-shops/api/models.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
