Skip to main content
Build a single reward offer by supplying a product click event and product details. The API registers the offer and returns either a reference ID or a message acknowledgment.

Endpoint

POST /offers/single
No authentication required.

Request Body

Accepts an OfferMessage object.
product_click
object
required
Click event data used for attribution.
product_info
object
required
Product information for the offer.

Example Request

curl -X POST https://rewardsbot-prod.liquidrewardsapi.com/offers/single \
  -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 one of:
  • OfferReference — the integer primary key of the created offer:
    { "id": 42 }
    
  • MessageAck — for asynchronous processing:
    {
      "message_type": "...",
      "message_id": "...",
      "target": "...",
      "data": {}
    }
    

Error Responses

StatusDescription
422 Unprocessable EntityValidation error in the request body.