Want to sell the same content at different prices? Create a product without a fixed price and sell it via API.

Important:

A product like this can't be bought directly on the platform — only through the API. If you just need a regular sale with a fixed price on the platform itself, don't turn this mode on.

  • You sell your content through different channels — your website, landing page, or Telegram bot — and you want to adjust the price flexibly without having to edit the product on the platform.
  • You sell the same thing at different prices depending on the channel or customer.
  • You don't want to log into the interface every time you need to change a price.

1. Click «Create» and choose «Product», «Consultation», or «Course».

Screenshot_493Screenshot_544

2. Fill in everything as usual — title, description, cover image, content. More on creating content here.

3. In the pricing section, find the «Price by request through API» toggle.

Screenshot_546Screenshot_545

4. Turn it on — the price will disappear.

Screenshot_547Screenshot_548

5. Click «Save» — your product is now published.

→ This product:
  • Goes through standard moderation.
  • Hidden from your profile — available only by direct link.
  • For API‑only sales.
  • Has no «Buy» button — shows «Price by request» instead of a price.

1. Find the product in your dashboard.

2. Open the action menu (three dots).

3. Select «API Price Request».

Screenshot_549Screenshot_550

4. Confirm.

Screenshot_552Screenshot_551

Done! The product is now in dynamic price mode — no need to recreate it.

Screenshot_553Screenshot_554

1. Find the product and click the three dots.

2. From the action menu, select «Disable Price Request».

Screenshot_555Screenshot_556

3. Fill in the price field.

Screenshot_558Screenshot_557

4. Save your changes.

Done! The product is now available for regular sale on the platform again.

Use the POST /api/v3/invoice method.

You need to send:

  • offerId — the ID of your product.
  • email — the customer's email.
  • currency — RUB, USD, or EUR.
  • amount — the price the customer will pay.

amount is required for products without a fixed price — you set the price directly in the request.

💡Example request (basic):
1.
2.
3.
4.
5.
6.
{
"email": "client@example.com",
"offerId": "836b9fc5-0000-4a27-9642-592bc44072b0",
"currency": "EUR",
"amount": 120
}
💡Example with a specific payment provider:
1.
2.
3.
4.
5.
6.
7.
{
"email": "client@gmail.com",
"offerId": "836b9fc5-7ae9-4a27-9642-592bc4407000",
"currency": "USD",
"amount": 120,
"paymentProvider": "PAYPAL"
}

By default, GET /api/v2/products only returns products visible to all users. If your product is in «Price by request through API» mode, it's hidden from public access.

To include it in the response, add the feedVisibility parameter with a value of ALL or ONLY_HIDDEN.

💡Example — get only hidden products:
1.
GET https://gate.lava.top/api/v2/products?feedVisibility=ONLY_HIDDEN

1. You enabled «Price by request via API» but didn't send amount in the request:

Пример:
1.
2.
3.
4.
5.
6.
{
"error": "Invalid input fields",
"details": {
"amount": "Amount is required for products with custom price"
}
}

2. The amount is below the minimum or above the maximum allowed:

Пример:
1.
2.
3.
4.
5.
6.
{
"error": "Invalid input fields",
"details": {
"amount": "For USD, amount must be between 5 and 10000"
}
}

Minimum — 5$, 5€ or 50₽.

Maximum—10,000$, 10,000€, or 1,000,000₽.

3. The currency you sent is disabled in your «Payment Settings»:

First, enable the currency for payments, then send the request again. More on settings here.

Пример:
1.
2.
3.
4.
5.
6.
{
"error": "Invalid input fields",
"details": {
"currency": "USD currency must be enabled in the payment settings"
}
}

For more details on API integration, check the API Portal.

Was this article helpful?