Skip to main content
The multi-offer endpoint accepts an array of OfferMessage objects and registers all of them in a single API call, returning an array of offer references. Use this endpoint to reduce round-trips when presenting multiple products at once.

Endpoint

POST /offers/multi
No authentication required.

Request Body

An array of OfferMessage objects. Each element has the same structure as the single offer endpoint — a product_click object and a product_info object.

Example Request

curl -X POST https://rewardsbot-prod.liquidrewardsapi.com/offers/multi \
  -H "Content-Type: application/json" \
  -d '[
    {
      "product_click": {
        "program": "my-loyalty-program",
        "email": "user@example.com",
        "convo_id": "session-abc123",
        "presentation_id": "pres-001",
        "click_id": "click-001",
        "click_datetime": "2024-01-15T10:30:00Z"
      },
      "product_info": {
        "name": "Nike Air Zoom Pegasus 41",
        "direct_link": "https://affiliate.net/track?id=001",
        "detail_link": "https://nike.com/products/pegasus",
        "image_url": "https://cdn.example.com/pegasus.jpg",
        "value": 120.00,
        "price": "$120.00",
        "description": "Lightweight running shoe",
        "presentment_id": "pres-001",
        "merchant": { "id": 1, "name": "Nike" }
      }
    }
  ]'

Response

Returns HTTP 201 Created with an array of OfferReference or MessageAck objects — one entry per input offer, in the same order as the request array.
[
  { "id": 42 },
  { "id": 43 }
]

Error Responses

StatusDescription
422 Unprocessable EntityValidation error in one or more offer objects.