Rewards (admin)

Create a prize offer

Changed on

quantity_available is a total for everyone, ever; coach prizes carry none (decided 2026-10-28), so keep it for physical goods. A typo'd eligibility key (e.g. requires_active_subscrption) is rejected with a 400 here, not silently ignored — this route only, not the global default.

post/api/rewards/admin/offers

Request

  • Base URL
    https://api.rewritelifestyle.ai (the document declares no server; this is the origin it was published from)
  • URL
    https://api.rewritelifestyle.ai/api/rewards/admin/offers
  • Auth
    HTTP bearer

Request body

catalogue_idnumber required

reward_catalogue.id

trigger_type'level_up' | 'goal_completion' | 'streak_milestone' | 'manual' required
trigger_levelobject

For trigger_type "level_up": the level this fires on. Null = any level.

trigger_daysobject

For trigger_type "streak_milestone": the consecutive-day count this fires on (e.g. 100, 365) — a choice offer, not auto-resolved like level_up.

starts_atstring
ends_atobject
quantity_availableobject

Hard cap on grants. Always set this for anything with a real cost — a free coach slot is not unlimited.

prioritynumber
claim_window_daysnumber
is_activeboolean

Example request

{
  "catalogue_id": 2
}

Changes

    • info

      added the new optional request property /

    • breaking

      request property // was restricted to a list of enum values

    • info

      added the new client enum value to the request property //

    • info

      added the new coach enum value to the request property //

    • info

      added the new lead enum value to the request property //

    • info

      added the new member enum value to the request property //

    • info

      added the new pc enum value to the request property //