# Create order bump

`POST https://api.tentary.com/v1/order-bumps`

Source: https://tentary.com/en/help/api/create-order-bump/
Area: Order bumps
MCP tool: `create_order_bump`. Changes data at once.

---

Creates an order bump: an extra product that buyers add with one checkbox at the checkout of another product, like the order bump editor in the Tentary app. It is `inactive` unless you send `status` `active`.

- `price`: left out or `null` means the price of the product. `0` means free. Any other price must be at least 1.00, or 7.00 in an account with DKK.
- `product_ids`: left out or `null` means the checkouts of all products.

Where an order bump shows:

- On the checkouts of `product_ids`, or of all products, but not on the checkout of the offered product itself.
- Only on products with one-time billing.
- Not when the buyer pays in installments, except with PayPal or Klarna.

The order of several order bumps on one checkout cannot be set.

The answer is the order bump, as in [`GET /v1/order-bumps`](https://tentary.com/en/help/api/list-order-bumps/).

## Authorization

`Authorization: Bearer <API key>`

A personal API key (tnt_...). Create it in the Tentary app on the page AI & API.

## Request body

- `name` (string, required): Name in the Tentary app. Buyers do not see it. Limits: minLength 1, maxLength 255.
- `product_id` (integer, required): The offered product (id from list_products): live, without variants, with one-time billing, not external. Limits: min 1.
- `product_ids` (array of integer, can be null): The products whose checkout shows the order bump (live or draft, one-time billing; ids from list_products). null = all products. On create, left out = all products. On update, left out = no change; a list replaces the list. Limits: maxItems 200.
- `status` (string): active = buyers see the order bump at the checkouts of product_ids at once. inactive = it is hidden at every checkout; its settings, sales and revenue stay, and it can be made active again. On create, left out = inactive. Buyers see an active order bump at once, so ask the seller first. Allowed values: `active`, `inactive`.
- `price` (number | string, can be null): Special price for the order bump. Amount in the account currency, like 49 or 19.99. 0 = free. null or left out on create = the price of the product (it follows later changes of that price). A lower price shows the product price crossed out. Limits: min 0, max 21474836.47, pattern ^[0-9]{1,9}(\.[0-9]{1,2})?$.
- `title` (string): Title that buyers see. Empty = the product title. Limits: maxLength 255.
- `description_html` (string): Short text about the offer, HTML (p, h1-h3, strong, em, u, del, ul, ol, li, blockquote, a). Limits: maxLength 65535.
- `checkbox_text` (string): Text next to the checkbox. Empty = "Yes, add to my order" (German: "Ja, zur Bestellung hinzufügen"). Limits: maxLength 255.
- `hide_product_image` (boolean): Hide the product image in the order bump. Default false.

## Response

- `id` (integer): The ID.
- `name` (string): Name in the Tentary app. Buyers do not see it.
- `status` (string): active = buyers see it at the checkout. inactive = hidden at every checkout, kept with its settings and sales. Allowed values: `active`, `inactive`.
- `product` (object): The offered product.
  - `id` (integer): The ID.
  - `name` (string, can be null): The name.
  - `status` (string): The status. Allowed values: `live`, `draft`, `archived`, `deleted`.
- `price` (string): Decimal string, like "19.90". What buyers pay for the order bump.
- `product_price` (string): Decimal string, like "19.90". The price of the product. Shown crossed out when price is lower.
- `currency` (string): Currency code, like EUR.
- `title` (string, can be null): null = the product title.
- `description_html` (string): Short text about the offer, HTML.
- `checkbox_text` (string, can be null): null = "Yes, add to my order".
- `hide_product_image` (boolean)
- `product_ids` (array of integer, can be null): The products whose checkout shows it. null = all products.
- `admin_url` (string<uri>): The page in the Tentary app.

## Example request

```bash
curl -X POST "https://api.tentary.com/v1/order-bumps" \
  -H "Authorization: Bearer $TENTARY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "E-book with the course",
  "product_id": 101,
  "product_ids": [
    102
  ],
  "price": 9,
  "description_html": "<p>The 20 most important poses to look up after each lesson.</p>",
  "checkbox_text": "Yes, add the e-book for 9 EUR"
}'
```

## Example response

```json
{
  "id": 1,
  "name": "E-book with the course",
  "status": "inactive",
  "product": {
    "id": 101,
    "name": "Yoga Basics E-Book",
    "status": "live"
  },
  "price": "9.00",
  "product_price": "19.00",
  "currency": "EUR",
  "title": null,
  "description_html": "<p>The 20 most important poses to look up after each lesson.</p>",
  "checkbox_text": "Yes, add the e-book for 9 EUR",
  "hide_product_image": false,
  "product_ids": [
    102
  ],
  "admin_url": "https://app.tentary.com/orderbumps/edit/1"
}
```
