Products, managed links and subscriptions
These are account-owned business resources. API-key or partner Bearer access and the corresponding enabled capabilities are required. A key does not turn on a payment route. See authentication.
For reads and deletion, env is a query filter. For product/link creation and updates, send env in the JSON body. Partner ownership comes from the credential; do not send another partner_id. Resource price fields can have endpoint-specific integer types: the transaction API amount remains an exact integer string.
Products
GET /api/v1/products?env=prod&limit=10
GET /api/v1/products/{id}?env=prod
POST /api/v1/products
PUT /api/v1/products/{id}
DELETE /api/v1/products/{id}?env=prod
Creating a product defines its header, text, price, qty and currency. A product is not a payment. List responses use data/total; product details and creation responses use data. The shown price is 1 USDT at decimals=6.
{
"env": "prod",
"header": "Example item",
"text": "Example item",
"price": 1000000,
"qty": "1",
"currency": "USDT"
}
Managed payment links
GET /api/v1/links?env=prod&limit=10
POST /api/v1/links
PUT /api/v1/links/{id}
DELETE /api/v1/links/{id}?env=prod
Links are separate server resources with amount settings, payment configuration and optional products. Use the returned resource URL/form information, not an invented URL. A Heth receive-link generated in the app is a different object. Deleting a link does not refund an already settled payment.
Merchant subscriptions
GET /api/v1/recurrents?env=prod&limit=10
GET /api/v1/recurrents/{id}?env=prod
POST /api/v1/recurrents
PUT /api/v1/recurrents/{id}
POST /api/v1/recurrents/{id}/pause
POST /api/v1/recurrents/{id}/resume
POST /api/v1/recurrents/{id}/cancel
A subscription is created from a successful initial payment belonging to the account. POST /recurrents uses payment_id and a recurrent object; interval accepts daily, weekly, monthly or yearly, with period specifying the number of intervals. Environment is inherited from the initial payment. The payer must authorize the payment method and recurring debit terms. Creating a subscription is not proof that a usable debit permission exists.
Lifecycle actions use POST /recurrents/{id}/pause, /resume and /cancel. Read the returned status; cancelling future charges does not refund earlier ones. A Heth payer manages their own crypto subscription mandates with their wallet session in Settings → Subscription mandates, where the feature is enabled. This is separate from merchant subscription management.