object OrganizationsGetOrganization404Response
{
  "type": "object",
  "required": [
    "errors"
  ],
  "properties": {
    "errors": {
      "type": "object",
      "properties": {
        "message": {
          "type": "string",
          "description": "Error message"
        },
        "payload": {
          "type": "object",
          "example": {
            "rewards": {
              "catalog": "At least one valid product required"
            }
          },
          "description": "Mirrors the request parameters structure, filled only with the (nested) properties that caused an error."
        }
      }
    }
  }
}
object OrganizationsGetOrganization429Response
{
  "type": "object",
  "example": {
    "errors": {
      "message": "Too many requests",
      "payload": {}
    }
  },
  "required": [
    "errors"
  ],
  "properties": {
    "errors": {
      "type": "object",
      "properties": {
        "message": {
          "type": "string",
          "description": "Error message"
        },
        "payload": {
          "type": "object",
          "example": {
            "rewards": {
              "catalog": "At least one valid product required"
            }
          },
          "description": "Mirrors the request parameters structure, filled only with the (nested) properties that caused an error."
        }
      }
    }
  }
}
object OrganizationsGetOrganization500Response
{
  "type": "object",
  "required": [
    "errors"
  ],
  "properties": {
    "errors": {
      "type": "object",
      "properties": {
        "message": {
          "type": "string",
          "description": "Error message"
        },
        "payload": {
          "type": "object",
          "example": {
            "rewards": {
              "catalog": "At least one valid product required"
            }
          },
          "description": "Mirrors the request parameters structure, filled only with the (nested) properties that caused an error."
        }
      }
    }
  }
}
object OrganizationsGetOrganizationResponse
{
  "type": "object",
  "properties": {
    "organization": {
      "type": "object",
      "required": [
        "name",
        "website"
      ],
      "properties": {
        "id": {
          "type": "string",
          "example": "SOMEIDSOMEID",
          "pattern": "[A-Z0-9]{4,20}"
        },
        "name": {
          "type": "string",
          "example": "ACME Inc.",
          "description": "Name of the organization"
        },
        "status": {
          "enum": [
            "PENDING",
            "APPROVED",
            "REJECTED"
          ],
          "type": "string",
          "example": "APPROVED",
          "description": "Status of the organization. Organizations need to be approved to be able to use them to send out rewards."
        },
        "website": {
          "type": "string",
          "format": "uri",
          "example": "https://www.example.com/some-org",
          "description": "URL of the website of that organization"
        },
        "created_at": {
          "type": "string",
          "format": "date",
          "example": "2021-08-02",
          "description": "Timestamp of when the organization has been created.\n\n*This field is only returned when creating an organization.* It is not returned anymore when retrieving or listing organizations.\n"
        }
      },
      "description": "Organizations are a way to separate different parts of your business within the same Tremendous account.\nYour root Tremendous account is an organization itself and can have multiple sub-organizations.\n\nYou can assign users in your Tremendous team as members to any organization. Users can be members of multiple\norganizations at once.\n\nEach organizations can have it's own API key.\n"
    }
  }
}
object PaymentDetails
{
  "type": "object",
  "properties": {
    "fees": {
      "type": "number",
      "format": "double",
      "example": 2.5,
      "minimum": 0,
      "readOnly": true,
      "description": "Fees for the order (in USD)"
    },
    "total": {
      "type": "number",
      "format": "double",
      "example": 52.5,
      "minimum": 0,
      "readOnly": true,
      "description": "Total price of the order including fees (in USD)"
    },
    "refund": {
      "type": "object",
      "required": [
        "total"
      ],
      "properties": {
        "total": {
          "type": "number",
          "format": "double",
          "example": 52.5,
          "minimum": 0,
          "readOnly": true,
          "description": "Total amount of the order refunds (in USD)"
        }
      },
      "description": "Breakdown of the order refunds (total amount in USD, independent from the currency of the ordered rewards).\nNote that this property will only appear for canceled orders or orders with canceled rewards.\n"
    },
    "channel": {
      "enum": [
        "UI",
        "API",
        "EMBED",
        "DECIPHER",
        "QUALTRICS",
        "TYPEFORM",
        "SURVEY MONKEY"
      ],
      "type": "string",
      "description": "Name of the channel in which the order was created"
    },
    "subtotal": {
      "type": "number",
      "format": "double",
      "example": 50,
      "minimum": 0,
      "readOnly": true,
      "description": "Total price of the order before fees (in USD)"
    }
  }
}
object Product
{
  "type": "object",
  "required": [
    "id",
    "name",
    "description",
    "category",
    "disclosure",
    "currency_codes",
    "countries",
    "images"
  ],
  "properties": {
    "id": {
      "type": "string",
      "example": "SOMEIDSOMEID",
      "pattern": "[A-Z0-9]{4,20}",
      "readOnly": true
    },
    "name": {
      "type": "string",
      "description": "Name of the product"
    },
    "skus": {
      "type": "array",
      "items": {
        "type": "object",
        "example": [
          {
            "max": 100,
            "min": 20
          }
        ],
        "minItems": 0,
        "required": [
          "min",
          "max"
        ],
        "properties": {
          "max": {
            "type": "number",
            "example": 100,
            "minimum": 0,
            "description": "Maximum denomination that this product supports (in the product's currency)"
          },
          "min": {
            "type": "number",
            "example": 20,
            "minimum": 0,
            "description": "Minimal denomination that this product supports (in the product's currency)"
          }
        }
      },
      "description": "Products may are restricted in their usage based on the amount of the reward. The `skus` array defines bands of denominations in which this product may be used for payouts.\n"
    },
    "images": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "src",
          "type"
        ],
        "properties": {
          "src": {
            "type": "string",
            "format": "uri",
            "description": "URL to this image"
          },
          "type": {
            "enum": [
              "card",
              "logo"
            ],
            "type": "string",
            "description": "Type of image"
          }
        }
      },
      "example": [
        {
          "src": "https://example.com/some-logo.jpg",
          "type": "logo"
        }
      ],
      "minItems": 0,
      "description": "List of product images associated with this product (e.g. logos or images of the gift cards)"
    },
    "category": {
      "enum": [
        "ach",
        "charity",
        "merchant_card",
        "paypal",
        "venmo",
        "visa_card"
      ],
      "type": "string",
      "example": "charities",
      "description": "The category of this product\n\n<table>\n  <thead>\n    <tr>\n      <th>Category</th>\n      <th>Description</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <td><code>ach</code></td>\n      <td>Bank transfer to the recipient</td>\n    </tr>\n    <tr>\n      <td><code>charity</code></td>\n      <td>Donations to a charity</td>\n    </tr>\n    <tr>\n      <td><code>merchant_card</code></td>\n      <td>A gift card for a certain merchant (e.g. Amazon)</td>\n    </tr>\n    <tr>\n      <td><code>paypal</code></td>\n      <td>Payout via PayPal</td>\n    </tr>\n    <tr>\n      <td><code>venmo</code></td>\n      <td>Payout via Venmo</td>\n    </tr>\n    <tr>\n      <td><code>visa_card</code></td>\n      <td>Payout in form of a Visa debit card</td>\n    </tr>\n  </tbody>\n</table>\n"
    },
    "countries": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "abbr"
        ],
        "properties": {
          "abbr": {
            "type": "string",
            "example": "US",
            "description": "ISO 3166 country code"
          }
        }
      },
      "example": [
        {
          "abbr": "US"
        }
      ],
      "minItems": 1,
      "description": "List of countries in which this product is available to recipients."
    },
    "disclosure": {
      "type": "string",
      "example": "<ul><li><p>This card may not be exchanged for cash.</p></li><li><p>…</p></li></ul>",
      "description": "Legal disclosures for this product. Can be in HTML format."
    },
    "description": {
      "type": "string",
      "description": "Detailed description of the product. Mostly used for products with a `category` of `charities`."
    },
    "currency_codes": {
      "type": "array",
      "items": {
        "enum": [
          "USD",
          "CAD",
          "EUR",
          "AED",
          "AFN",
          "ALL",
          "AMD",
          "ARS",
          "AUD",
          "AZN",
          "BAM",
          "BDT",
          "BGN",
          "BHD",
          "BIF",
          "BND",
          "BOB",
          "BRL",
          "BWP",
          "BYR",
          "BZD",
          "CDF",
          "CHF",
          "CLP",
          "CNY",
          "COP",
          "CRC",
          "CVE",
          "CZK",
          "DJF",
          "DKK",
          "DOP",
          "DZD",
          "EEK",
          "EGP",
          "ERN",
          "ETB",
          "GBP",
          "GEL",
          "GHS",
          "GNF",
          "GTQ",
          "HKD",
          "HNL",
          "HRK",
          "HUF",
          "IDR",
          "ILS",
          "INR",
          "IQD",
          "IRR",
          "ISK",
          "JMD",
          "JOD",
          "JPY",
          "KES",
          "KHR",
          "KRW",
          "KWD",
          "KZT",
          "LBP",
          "LKR",
          "LTL",
          "LVL",
          "MAD",
          "MDL",
          "MGA",
          "MKD",
          "MMK",
          "MOP",
          "MUR",
          "MXN",
          "MYR",
          "MZN",
          "NAD",
          "NGN",
          "NIO",
          "NOK",
          "NPR",
          "NZD",
          "OMR",
          "PAB",
          "PEN",
          "PHP",
          "PKR",
          "PLN",
          "PYG",
          "QAR",
          "RON",
          "RSD",
          "RUB",
          "RWF",
          "SAR",
          "SDG",
          "SEK",
          "SGD",
          "SOS",
          "SYP",
          "THB",
          "TND",
          "TOP",
          "TRY",
          "TTD",
          "TWD",
          "TZS",
          "UAH",
          "UGX",
          "UYU",
          "UZS",
          "VEF",
          "VND",
          "XAF",
          "XOF",
          "YER",
          "ZAR",
          "ZMK"
        ],
        "type": "string",
        "example": "USD"
      },
      "minItems": 1,
      "description": "Available currencies for this product"
    }
  },
  "description": "A product represents one way to payout a reward to it's recipient. Think:\n\n* Amazon.com gift card (ID: `OKMHM2X2OHYV`)\n* Donations to Save the Children (ID: `ESRNAD533W5A`)\n* Virtual Visa debit card (ID: `Q24BD9EZ332JT`)\n\neach of which is one specific product on Tremendous.\n\n> 📘 All available products\n>\n> See this [list](https://www.tremendous.com/catalog)\n\nProducts can be limited in their availability to recipients by\n\n* geography (field `countries`)\n* currency (field `currencies`)\n* amount of the reward (field `skus`)\n  * e.g. adidas gift cards accept any amount between 5 and 200 USD.\n\nSee the description of each respective parameter for further details.\n"
}
object ProductsGetById401Response
{
  "type": "object",
  "required": [
    "errors"
  ],
  "properties": {
    "errors": {
      "type": "object",
      "properties": {
        "message": {
          "type": "string",
          "description": "Error message"
        },
        "payload": {
          "type": "object",
          "example": {
            "rewards": {
              "catalog": "At least one valid product required"
            }
          },
          "description": "Mirrors the request parameters structure, filled only with the (nested) properties that caused an error."
        }
      }
    }
  }
}
object ProductsGetById404Response
{
  "type": "object",
  "required": [
    "errors"
  ],
  "properties": {
    "errors": {
      "type": "object",
      "properties": {
        "message": {
          "type": "string",
          "description": "Error message"
        },
        "payload": {
          "type": "object",
          "example": {
            "rewards": {
              "catalog": "At least one valid product required"
            }
          },
          "description": "Mirrors the request parameters structure, filled only with the (nested) properties that caused an error."
        }
      }
    }
  }
}
object ProductsGetById429Response
{
  "type": "object",
  "example": {
    "errors": {
      "message": "Too many requests",
      "payload": {}
    }
  },
  "required": [
    "errors"
  ],
  "properties": {
    "errors": {
      "type": "object",
      "properties": {
        "message": {
          "type": "string",
          "description": "Error message"
        },
        "payload": {
          "type": "object",
          "example": {
            "rewards": {
              "catalog": "At least one valid product required"
            }
          },
          "description": "Mirrors the request parameters structure, filled only with the (nested) properties that caused an error."
        }
      }
    }
  }
}
object ProductsGetById500Response
{
  "type": "object",
  "required": [
    "errors"
  ],
  "properties": {
    "errors": {
      "type": "object",
      "properties": {
        "message": {
          "type": "string",
          "description": "Error message"
        },
        "payload": {
          "type": "object",
          "example": {
            "rewards": {
              "catalog": "At least one valid product required"
            }
          },
          "description": "Mirrors the request parameters structure, filled only with the (nested) properties that caused an error."
        }
      }
    }
  }
}
object ProductsGetByIdResponse
{
  "type": "object",
  "title": "GetProductResponse",
  "required": [
    "product"
  ],
  "properties": {
    "product": {
      "type": "object",
      "required": [
        "id",
        "name",
        "description",
        "category",
        "disclosure",
        "currency_codes",
        "countries",
        "images"
      ],
      "properties": {
        "id": {
          "type": "string",
          "example": "SOMEIDSOMEID",
          "pattern": "[A-Z0-9]{4,20}"
        },
        "name": {
          "type": "string",
          "description": "Name of the product"
        },
        "skus": {
          "type": "array",
          "items": {
            "type": "object",
            "example": [
              {
                "max": 100,
                "min": 20
              }
            ],
            "minItems": 0,
            "required": [
              "min",
              "max"
            ],
            "properties": {
              "max": {
                "type": "number",
                "example": 100,
                "minimum": 0,
                "description": "Maximum denomination that this product supports (in the product's currency)"
              },
              "min": {
                "type": "number",
                "example": 20,
                "minimum": 0,
                "description": "Minimal denomination that this product supports (in the product's currency)"
              }
            }
          },
          "description": "Products may are restricted in their usage based on the amount of the reward. The `skus` array defines bands of denominations in which this product may be used for payouts.\n"
        },
        "images": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "src",
              "type"
            ],
            "properties": {
              "src": {
                "type": "string",
                "format": "uri",
                "description": "URL to this image"
              },
              "type": {
                "enum": [
                  "card",
                  "logo"
                ],
                "type": "string",
                "description": "Type of image"
              }
            }
          },
          "example": [
            {
              "src": "https://example.com/some-logo.jpg",
              "type": "logo"
            }
          ],
          "minItems": 0,
          "description": "List of product images associated with this product (e.g. logos or images of the gift cards)"
        },
        "category": {
          "enum": [
            "ach",
            "charity",
            "merchant_card",
            "paypal",
            "venmo",
            "visa_card"
          ],
          "type": "string",
          "example": "charities",
          "description": "The category of this product\n\n<table>\n  <thead>\n    <tr>\n      <th>Category</th>\n      <th>Description</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <td><code>ach</code></td>\n      <td>Bank transfer to the recipient</td>\n    </tr>\n    <tr>\n      <td><code>charity</code></td>\n      <td>Donations to a charity</td>\n    </tr>\n    <tr>\n      <td><code>merchant_card</code></td>\n      <td>A gift card for a certain merchant (e.g. Amazon)</td>\n    </tr>\n    <tr>\n      <td><code>paypal</code></td>\n      <td>Payout via PayPal</td>\n    </tr>\n    <tr>\n      <td><code>venmo</code></td>\n      <td>Payout via Venmo</td>\n    </tr>\n    <tr>\n      <td><code>visa_card</code></td>\n      <td>Payout in form of a Visa debit card</td>\n    </tr>\n  </tbody>\n</table>\n"
        },
        "countries": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "abbr"
            ],
            "properties": {
              "abbr": {
                "type": "string",
                "example": "US",
                "description": "ISO 3166 country code"
              }
            }
          },
          "example": [
            {
              "abbr": "US"
            }
          ],
          "minItems": 1,
          "description": "List of countries in which this product is available to recipients."
        },
        "disclosure": {
          "type": "string",
          "example": "<ul><li><p>This card may not be exchanged for cash.</p></li><li><p>…</p></li></ul>",
          "description": "Legal disclosures for this product. Can be in HTML format."
        },
        "description": {
          "type": "string",
          "description": "Detailed description of the product. Mostly used for products with a `category` of `charities`."
        },
        "currency_codes": {
          "type": "array",
          "items": {
            "enum": [
              "USD",
              "CAD",
              "EUR",
              "AED",
              "AFN",
              "ALL",
              "AMD",
              "ARS",
              "AUD",
              "AZN",
              "BAM",
              "BDT",
              "BGN",
              "BHD",
              "BIF",
              "BND",
              "BOB",
              "BRL",
              "BWP",
              "BYR",
              "BZD",
              "CDF",
              "CHF",
              "CLP",
              "CNY",
              "COP",
              "CRC",
              "CVE",
              "CZK",
              "DJF",
              "DKK",
              "DOP",
              "DZD",
              "EEK",
              "EGP",
              "ERN",
              "ETB",
              "GBP",
              "GEL",
              "GHS",
              "GNF",
              "GTQ",
              "HKD",
              "HNL",
              "HRK",
              "HUF",
              "IDR",
              "ILS",
              "INR",
              "IQD",
              "IRR",
              "ISK",
              "JMD",
              "JOD",
              "JPY",
              "KES",
              "KHR",
              "KRW",
              "KWD",
              "KZT",
              "LBP",
              "LKR",
              "LTL",
              "LVL",
              "MAD",
              "MDL",
              "MGA",
              "MKD",
              "MMK",
              "MOP",
              "MUR",
              "MXN",
              "MYR",
              "MZN",
              "NAD",
              "NGN",
              "NIO",
              "NOK",
              "NPR",
              "NZD",
              "OMR",
              "PAB",
              "PEN",
              "PHP",
              "PKR",
              "PLN",
              "PYG",
              "QAR",
              "RON",
              "RSD",
              "RUB",
              "RWF",
              "SAR",
              "SDG",
              "SEK",
              "SGD",
              "SOS",
              "SYP",
              "THB",
              "TND",
              "TOP",
              "TRY",
              "TTD",
              "TWD",
              "TZS",
              "UAH",
              "UGX",
              "UYU",
              "UZS",
              "VEF",
              "VND",
              "XAF",
              "XOF",
              "YER",
              "ZAR",
              "ZMK"
            ],
            "type": "string",
            "example": "USD"
          },
          "minItems": 1,
          "description": "Available currencies for this product"
        }
      },
      "description": "A product represents one way to payout a reward to it's recipient. Think:\n\n* Amazon.com gift card (ID: `OKMHM2X2OHYV`)\n* Donations to Save the Children (ID: `ESRNAD533W5A`)\n* Virtual Visa debit card (ID: `Q24BD9EZ332JT`)\n\neach of which is one specific product on Tremendous.\n\n> 📘 All available products\n>\n> See this [list](https://www.tremendous.com/catalog)\n\nProducts can be limited in their availability to recipients by\n\n* geography (field `countries`)\n* currency (field `currencies`)\n* amount of the reward (field `skus`)\n  * e.g. adidas gift cards accept any amount between 5 and 200 USD.\n\nSee the description of each respective parameter for further details.\n"
    }
  }
}
object ProductsGetList401Response
{
  "type": "object",
  "required": [
    "errors"
  ],
  "properties": {
    "errors": {
      "type": "object",
      "properties": {
        "message": {
          "type": "string",
          "description": "Error message"
        },
        "payload": {
          "type": "object",
          "example": {
            "rewards": {
              "catalog": "At least one valid product required"
            }
          },
          "description": "Mirrors the request parameters structure, filled only with the (nested) properties that caused an error."
        }
      }
    }
  }
}
object ProductsGetList429Response
{
  "type": "object",
  "example": {
    "errors": {
      "message": "Too many requests",
      "payload": {}
    }
  },
  "required": [
    "errors"
  ],
  "properties": {
    "errors": {
      "type": "object",
      "properties": {
        "message": {
          "type": "string",
          "description": "Error message"
        },
        "payload": {
          "type": "object",
          "example": {
            "rewards": {
              "catalog": "At least one valid product required"
            }
          },
          "description": "Mirrors the request parameters structure, filled only with the (nested) properties that caused an error."
        }
      }
    }
  }
}
object ProductsGetList500Response
{
  "type": "object",
  "required": [
    "errors"
  ],
  "properties": {
    "errors": {
      "type": "object",
      "properties": {
        "message": {
          "type": "string",
          "description": "Error message"
        },
        "payload": {
          "type": "object",
          "example": {
            "rewards": {
              "catalog": "At least one valid product required"
            }
          },
          "description": "Mirrors the request parameters structure, filled only with the (nested) properties that caused an error."
        }
      }
    }
  }
}
object ProductsGetListResponse
{
  "type": "object",
  "title": "ListProductsResponse",
  "required": [
    "products"
  ],
  "properties": {
    "products": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "id",
          "name",
          "description",
          "category",
          "disclosure",
          "currency_codes",
          "countries",
          "images"
        ],
        "properties": {
          "id": {
            "type": "string",
            "example": "SOMEIDSOMEID",
            "pattern": "[A-Z0-9]{4,20}"
          },
          "name": {
            "type": "string",
            "description": "Name of the product"
          },
          "skus": {
            "type": "array",
            "items": {
              "type": "object",
              "example": [
                {
                  "max": 100,
                  "min": 20
                }
              ],
              "minItems": 0,
              "required": [
                "min",
                "max"
              ],
              "properties": {
                "max": {
                  "type": "number",
                  "example": 100,
                  "minimum": 0,
                  "description": "Maximum denomination that this product supports (in the product's currency)"
                },
                "min": {
                  "type": "number",
                  "example": 20,
                  "minimum": 0,
                  "description": "Minimal denomination that this product supports (in the product's currency)"
                }
              }
            },
            "description": "Products may are restricted in their usage based on the amount of the reward. The `skus` array defines bands of denominations in which this product may be used for payouts.\n"
          },
          "images": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "src",
                "type"
              ],
              "properties": {
                "src": {
                  "type": "string",
                  "format": "uri",
                  "description": "URL to this image"
                },
                "type": {
                  "enum": [
                    "card",
                    "logo"
                  ],
                  "type": "string",
                  "description": "Type of image"
                }
              }
            },
            "example": [
              {
                "src": "https://example.com/some-logo.jpg",
                "type": "logo"
              }
            ],
            "minItems": 0,
            "description": "List of product images associated with this product (e.g. logos or images of the gift cards)"
          },
          "category": {
            "enum": [
              "ach",
              "charity",
              "merchant_card",
              "paypal",
              "venmo",
              "visa_card"
            ],
            "type": "string",
            "example": "charities",
            "description": "The category of this product\n\n<table>\n  <thead>\n    <tr>\n      <th>Category</th>\n      <th>Description</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <td><code>ach</code></td>\n      <td>Bank transfer to the recipient</td>\n    </tr>\n    <tr>\n      <td><code>charity</code></td>\n      <td>Donations to a charity</td>\n    </tr>\n    <tr>\n      <td><code>merchant_card</code></td>\n      <td>A gift card for a certain merchant (e.g. Amazon)</td>\n    </tr>\n    <tr>\n      <td><code>paypal</code></td>\n      <td>Payout via PayPal</td>\n    </tr>\n    <tr>\n      <td><code>venmo</code></td>\n      <td>Payout via Venmo</td>\n    </tr>\n    <tr>\n      <td><code>visa_card</code></td>\n      <td>Payout in form of a Visa debit card</td>\n    </tr>\n  </tbody>\n</table>\n"
          },
          "countries": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "abbr"
              ],
              "properties": {
                "abbr": {
                  "type": "string",
                  "example": "US",
                  "description": "ISO 3166 country code"
                }
              }
            },
            "example": [
              {
                "abbr": "US"
              }
            ],
            "minItems": 1,
            "description": "List of countries in which this product is available to recipients."
          },
          "disclosure": {
            "type": "string",
            "example": "<ul><li><p>This card may not be exchanged for cash.</p></li><li><p>…</p></li></ul>",
            "description": "Legal disclosures for this product. Can be in HTML format."
          },
          "description": {
            "type": "string",
            "description": "Detailed description of the product. Mostly used for products with a `category` of `charities`."
          },
          "currency_codes": {
            "type": "array",
            "items": {
              "enum": [
                "USD",
                "CAD",
                "EUR",
                "AED",
                "AFN",
                "ALL",
                "AMD",
                "ARS",
                "AUD",
                "AZN",
                "BAM",
                "BDT",
                "BGN",
                "BHD",
                "BIF",
                "BND",
                "BOB",
                "BRL",
                "BWP",
                "BYR",
                "BZD",
                "CDF",
                "CHF",
                "CLP",
                "CNY",
                "COP",
                "CRC",
                "CVE",
                "CZK",
                "DJF",
                "DKK",
                "DOP",
                "DZD",
                "EEK",
                "EGP",
                "ERN",
                "ETB",
                "GBP",
                "GEL",
                "GHS",
                "GNF",
                "GTQ",
                "HKD",
                "HNL",
                "HRK",
                "HUF",
                "IDR",
                "ILS",
                "INR",
                "IQD",
                "IRR",
                "ISK",
                "JMD",
                "JOD",
                "JPY",
                "KES",
                "KHR",
                "KRW",
                "KWD",
                "KZT",
                "LBP",
                "LKR",
                "LTL",
                "LVL",
                "MAD",
                "MDL",
                "MGA",
                "MKD",
                "MMK",
                "MOP",
                "MUR",
                "MXN",
                "MYR",
                "MZN",
                "NAD",
                "NGN",
                "NIO",
                "NOK",
                "NPR",
                "NZD",
                "OMR",
                "PAB",
                "PEN",
                "PHP",
                "PKR",
                "PLN",
                "PYG",
                "QAR",
                "RON",
                "RSD",
                "RUB",
                "RWF",
                "SAR",
                "SDG",
                "SEK",
                "SGD",
                "SOS",
                "SYP",
                "THB",
                "TND",
                "TOP",
                "TRY",
                "TTD",
                "TWD",
                "TZS",
                "UAH",
                "UGX",
                "UYU",
                "UZS",
                "VEF",
                "VND",
                "XAF",
                "XOF",
                "YER",
                "ZAR",
                "ZMK"
              ],
              "type": "string",
              "example": "USD"
            },
            "minItems": 1,
            "description": "Available currencies for this product"
          }
        },
        "description": "A product represents one way to payout a reward to it's recipient. Think:\n\n* Amazon.com gift card (ID: `OKMHM2X2OHYV`)\n* Donations to Save the Children (ID: `ESRNAD533W5A`)\n* Virtual Visa debit card (ID: `Q24BD9EZ332JT`)\n\neach of which is one specific product on Tremendous.\n\n> 📘 All available products\n>\n> See this [list](https://www.tremendous.com/catalog)\n\nProducts can be limited in their availability to recipients by\n\n* geography (field `countries`)\n* currency (field `currencies`)\n* amount of the reward (field `skus`)\n  * e.g. adidas gift cards accept any amount between 5 and 200 USD.\n\nSee the description of each respective parameter for further details.\n"
      }
    }
  }
}
object Recipient
{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "example": "John Doe Jr.",
      "description": "Name of the recipient"
    },
    "email": {
      "type": "string",
      "example": "john.doe@example.com",
      "description": "Email address of the recipient"
    },
    "phone": {
      "type": "string",
      "example": "123-456-7890",
      "description": "Phone number of the recipient. For non-US phone numbers, specify the country code (prefixed with +)."
    }
  },
  "description": "Details of the recipient of the reward"
}
object RefundDetails
{
  "type": "object",
  "required": [
    "total"
  ],
  "properties": {
    "total": {
      "type": "number",
      "format": "double",
      "example": 52.5,
      "minimum": 0,
      "readOnly": true,
      "description": "Total amount of the order refunds (in USD)"
    }
  }
}
object Reward
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "example": "SOMEIDSOMEID",
      "pattern": "[A-Z0-9]{4,20}",
      "readOnly": true,
      "description": "Tremendous ID of the reward"
    },
    "value": {
      "type": "object",
      "example": {
        "denomination": 50,
        "currency_code": "USD"
      },
      "required": [
        "denomination",
        "currency_code"
      ],
      "properties": {
        "denomination": {
          "type": "number",
          "format": "double",
          "description": "Amount of the reward"
        },
        "currency_code": {
          "enum": [
            "USD",
            "CAD",
            "EUR",
            "AED",
            "AFN",
            "ALL",
            "AMD",
            "ARS",
            "AUD",
            "AZN",
            "BAM",
            "BDT",
            "BGN",
            "BHD",
            "BIF",
            "BND",
            "BOB",
            "BRL",
            "BWP",
            "BYR",
            "BZD",
            "CDF",
            "CHF",
            "CLP",
            "CNY",
            "COP",
            "CRC",
            "CVE",
            "CZK",
            "DJF",
            "DKK",
            "DOP",
            "DZD",
            "EEK",
            "EGP",
            "ERN",
            "ETB",
            "GBP",
            "GEL",
            "GHS",
            "GNF",
            "GTQ",
            "HKD",
            "HNL",
            "HRK",
            "HUF",
            "IDR",
            "ILS",
            "INR",
            "IQD",
            "IRR",
            "ISK",
            "JMD",
            "JOD",
            "JPY",
            "KES",
            "KHR",
            "KRW",
            "KWD",
            "KZT",
            "LBP",
            "LKR",
            "LTL",
            "LVL",
            "MAD",
            "MDL",
            "MGA",
            "MKD",
            "MMK",
            "MOP",
            "MUR",
            "MXN",
            "MYR",
            "MZN",
            "NAD",
            "NGN",
            "NIO",
            "NOK",
            "NPR",
            "NZD",
            "OMR",
            "PAB",
            "PEN",
            "PHP",
            "PKR",
            "PLN",
            "PYG",
            "QAR",
            "RON",
            "RSD",
            "RUB",
            "RWF",
            "SAR",
            "SDG",
            "SEK",
            "SGD",
            "SOS",
            "SYP",
            "THB",
            "TND",
            "TOP",
            "TRY",
            "TTD",
            "TWD",
            "TZS",
            "UAH",
            "UGX",
            "UYU",
            "UZS",
            "VEF",
            "VND",
            "XAF",
            "XOF",
            "YER",
            "ZAR",
            "ZMK"
          ],
          "type": "string",
          "example": "USD",
          "description": "Currency of the reward"
        }
      }
    },
    "delivery": {
      "type": "object",
      "required": [
        "method",
        "status"
      ],
      "properties": {
        "method": {
          "enum": [
            "EMAIL",
            "LINK",
            "PHONE"
          ],
          "type": "string",
          "description": "How to deliver the reward to the recipient.\n\n<table>\n  <thead>\n    <tr>\n      <th>Delivery Method</th>\n      <th>Description</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <td><code>EMAIL</code></td>\n      <td>Deliver the reward to the recipient by email</td>\n    </tr>\n    <tr>\n      <td><code>LINK</code></td>\n      <td>\n        <p>Deliver the reward to the recipient via a link.</p>\n        <p>The link can be retrieved on a successfully ordered reward via the <code>/rewards</code> or <code>/rewards/{id}</code> endpoint. That link must then be  delivered to the recipient out-of-band.</p>\n      </td>\n    </tr>\n    <tr>\n      <td><code>PHONE</code></td>\n      <td>Deliver the reward to the recipient by SMS</td>\n    </tr>\n  </tbody>\n</table>\n"
        },
        "status": {
          "enum": [
            "SCHEDULED",
            "FAILED",
            "SUCCEEDED",
            "PENDING"
          ],
          "type": "string",
          "readOnly": true,
          "description": "Current status of the delivery of the reward:\n\n* `SCHEDULED` - Reward is scheduled for delivery and will be delivered soon.\n* `FAILED` - Delivery of reward failed (e.g. email bounced).\n* `SUCCEEDED` - Reward was successfully delivered (email or text message delivered or reward link opened).\n* `PENDING` - Delivery is pending but not yet scheduled.\n"
        }
      },
      "description": "Details on how the reward is delivered to the recipient.\n"
    },
    "order_id": {
      "type": "string",
      "example": "SOMEIDSOMEID",
      "pattern": "[A-Z0-9]{4,20}",
      "readOnly": true,
      "description": "Tremendous ID of the order this reward is part of."
    },
    "products": {
      "type": "array",
      "items": {
        "type": "string",
        "example": "SOMEIDSOMEID",
        "pattern": "[A-Z0-9]{4,20}",
        "readOnly": false,
        "writeOnly": true
      },
      "minItems": 1,
      "writeOnly": true,
      "description": "List of IDs of product (different gift cards, charity, etc.) that will be available\nto the recipient to choose from.\n\nProviding a `products` array will override the products made available by the campaign\nspecified using the `campaign_id` property unless the `products` array is empty. It will\n_not_ override other campaign attributes, like the message and customization of the look and feel.\n"
    },
    "recipient": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "example": "John Doe Jr.",
          "description": "Name of the recipient"
        },
        "email": {
          "type": "string",
          "example": "john.doe@example.com",
          "description": "Email address of the recipient"
        },
        "phone": {
          "type": "string",
          "example": "123-456-7890",
          "description": "Phone number of the recipient. For non-US phone numbers, specify the country code (prefixed with +)."
        }
      },
      "description": "Details of the recipient of the reward"
    },
    "created_at": {
      "type": "string",
      "format": "date-time",
      "readOnly": true,
      "description": "Date the reward was created"
    },
    "deliver_at": {
      "type": "string",
      "format": "date",
      "example": "2023-12-31",
      "pattern": "YYYY-MM-DD",
      "description": "Timestamp of reward delivery within the next year. Note that if date-time is provided, the time values will be ignored."
    },
    "campaign_id": {
      "type": "string",
      "example": "SOMEIDSOMEID",
      "pattern": "[A-Z0-9]{4,20}",
      "nullable": true,
      "readOnly": false,
      "writeOnly": true,
      "description": "ID of the campaign in your account, that defines the available products (different gift cards, charity, etc.)\nthat the recipient can choose from.\n"
    },
    "custom_fields": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "SOMEIDSOMEID",
            "pattern": "[A-Z0-9]{4,20}",
            "readOnly": false,
            "description": "Tremendous ID of the custom field"
          },
          "label": {
            "type": "string",
            "example": "harry_potter_house",
            "readOnly": false,
            "description": "Label of the custom field"
          },
          "value": {
            "type": "string",
            "example": "Hufflepuff",
            "nullable": true,
            "readOnly": false,
            "description": "Value of the custom field"
          }
        },
        "description": "Reward custom data for searching, tracking or copy (see [Adding custom fields to orders](https://developers.tremendous.com/reference/using-custom-fields-to-add-custom-data-to-rewards).)"
      }
    }
  },
  "description": "A single reward, sent to a recipient. A reward is always part of an order.\n\nEither `products` or `campaign_id` must be specified.\n"
}
object RewardBase
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "example": "SOMEIDSOMEID",
      "pattern": "[A-Z0-9]{4,20}",
      "readOnly": true,
      "description": "Tremendous ID of the reward"
    },
    "value": {
      "type": "object",
      "example": {
        "denomination": 50,
        "currency_code": "USD"
      },
      "required": [
        "denomination",
        "currency_code"
      ],
      "properties": {
        "denomination": {
          "type": "number",
          "format": "double",
          "description": "Amount of the reward"
        },
        "currency_code": {
          "enum": [
            "USD",
            "CAD",
            "EUR",
            "AED",
            "AFN",
            "ALL",
            "AMD",
            "ARS",
            "AUD",
            "AZN",
            "BAM",
            "BDT",
            "BGN",
            "BHD",
            "BIF",
            "BND",
            "BOB",
            "BRL",
            "BWP",
            "BYR",
            "BZD",
            "CDF",
            "CHF",
            "CLP",
            "CNY",
            "COP",
            "CRC",
            "CVE",
            "CZK",
            "DJF",
            "DKK",
            "DOP",
            "DZD",
            "EEK",
            "EGP",
            "ERN",
            "ETB",
            "GBP",
            "GEL",
            "GHS",
            "GNF",
            "GTQ",
            "HKD",
            "HNL",
            "HRK",
            "HUF",
            "IDR",
            "ILS",
            "INR",
            "IQD",
            "IRR",
            "ISK",
            "JMD",
            "JOD",
            "JPY",
            "KES",
            "KHR",
            "KRW",
            "KWD",
            "KZT",
            "LBP",
            "LKR",
            "LTL",
            "LVL",
            "MAD",
            "MDL",
            "MGA",
            "MKD",
            "MMK",
            "MOP",
            "MUR",
            "MXN",
            "MYR",
            "MZN",
            "NAD",
            "NGN",
            "NIO",
            "NOK",
            "NPR",
            "NZD",
            "OMR",
            "PAB",
            "PEN",
            "PHP",
            "PKR",
            "PLN",
            "PYG",
            "QAR",
            "RON",
            "RSD",
            "RUB",
            "RWF",
            "SAR",
            "SDG",
            "SEK",
            "SGD",
            "SOS",
            "SYP",
            "THB",
            "TND",
            "TOP",
            "TRY",
            "TTD",
            "TWD",
            "TZS",
            "UAH",
            "UGX",
            "UYU",
            "UZS",
            "VEF",
            "VND",
            "XAF",
            "XOF",
            "YER",
            "ZAR",
            "ZMK"
          ],
          "type": "string",
          "example": "USD",
          "description": "Currency of the reward"
        }
      }
    },
    "order_id": {
      "type": "string",
      "example": "SOMEIDSOMEID",
      "pattern": "[A-Z0-9]{4,20}",
      "readOnly": true,
      "description": "Tremendous ID of the order this reward is part of."
    },
    "products": {
      "type": "array",
      "items": {
        "type": "string",
        "example": "SOMEIDSOMEID",
        "pattern": "[A-Z0-9]{4,20}",
        "readOnly": false,
        "writeOnly": true
      },
      "minItems": 1,
      "writeOnly": true,
      "description": "List of IDs of product (different gift cards, charity, etc.) that will be available\nto the recipient to choose from.\n\nProviding a `products` array will override the products made available by the campaign\nspecified using the `campaign_id` property unless the `products` array is empty. It will\n_not_ override other campaign attributes, like the message and customization of the look and feel.\n"
    },
    "recipient": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "example": "John Doe Jr.",
          "description": "Name of the recipient"
        },
        "email": {
          "type": "string",
          "example": "john.doe@example.com",
          "description": "Email address of the recipient"
        },
        "phone": {
          "type": "string",
          "example": "123-456-7890",
          "description": "Phone number of the recipient. For non-US phone numbers, specify the country code (prefixed with +)."
        }
      },
      "description": "Details of the recipient of the reward"
    },
    "created_at": {
      "type": "string",
      "format": "date-time",
      "readOnly": true,
      "description": "Date the reward was created"
    },
    "deliver_at": {
      "type": "string",
      "format": "date",
      "example": "2023-12-31",
      "pattern": "YYYY-MM-DD",
      "description": "Timestamp of reward delivery within the next year. Note that if date-time is provided, the time values will be ignored."
    },
    "campaign_id": {
      "type": "string",
      "example": "SOMEIDSOMEID",
      "pattern": "[A-Z0-9]{4,20}",
      "nullable": true,
      "readOnly": false,
      "writeOnly": true,
      "description": "ID of the campaign in your account, that defines the available products (different gift cards, charity, etc.)\nthat the recipient can choose from.\n"
    },
    "custom_fields": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "SOMEIDSOMEID",
            "pattern": "[A-Z0-9]{4,20}",
            "readOnly": false,
            "description": "Tremendous ID of the custom field"
          },
          "label": {
            "type": "string",
            "example": "harry_potter_house",
            "readOnly": false,
            "description": "Label of the custom field"
          },
          "value": {
            "type": "string",
            "example": "Hufflepuff",
            "nullable": true,
            "readOnly": false,
            "description": "Value of the custom field"
          }
        },
        "description": "Reward custom data for searching, tracking or copy (see [Adding custom fields to orders](https://developers.tremendous.com/reference/using-custom-fields-to-add-custom-data-to-rewards).)"
      }
    }
  },
  "description": "A single reward, sent to a recipient. A reward is always part of an order.\n\nEither `products` or `campaign_id` must be specified.\n"
}
object RewardForOrderCreate
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "example": "SOMEIDSOMEID",
      "pattern": "[A-Z0-9]{4,20}",
      "readOnly": true,
      "description": "Tremendous ID of the reward"
    },
    "value": {
      "type": "object",
      "example": {
        "denomination": 50,
        "currency_code": "USD"
      },
      "required": [
        "denomination",
        "currency_code"
      ],
      "properties": {
        "denomination": {
          "type": "number",
          "format": "double",
          "description": "Amount of the reward"
        },
        "currency_code": {
          "enum": [
            "USD",
            "CAD",
            "EUR",
            "AED",
            "AFN",
            "ALL",
            "AMD",
            "ARS",
            "AUD",
            "AZN",
            "BAM",
            "BDT",
            "BGN",
            "BHD",
            "BIF",
            "BND",
            "BOB",
            "BRL",
            "BWP",
            "BYR",
            "BZD",
            "CDF",
            "CHF",
            "CLP",
            "CNY",
            "COP",
            "CRC",
            "CVE",
            "CZK",
            "DJF",
            "DKK",
            "DOP",
            "DZD",
            "EEK",
            "EGP",
            "ERN",
            "ETB",
            "GBP",
            "GEL",
            "GHS",
            "GNF",
            "GTQ",
            "HKD",
            "HNL",
            "HRK",
            "HUF",
            "IDR",
            "ILS",
            "INR",
            "IQD",
            "IRR",
            "ISK",
            "JMD",
            "JOD",
            "JPY",
            "KES",
            "KHR",
            "KRW",
            "KWD",
            "KZT",
            "LBP",
            "LKR",
            "LTL",
            "LVL",
            "MAD",
            "MDL",
            "MGA",
            "MKD",
            "MMK",
            "MOP",
            "MUR",
            "MXN",
            "MYR",
            "MZN",
            "NAD",
            "NGN",
            "NIO",
            "NOK",
            "NPR",
            "NZD",
            "OMR",
            "PAB",
            "PEN",
            "PHP",
            "PKR",
            "PLN",
            "PYG",
            "QAR",
            "RON",
            "RSD",
            "RUB",
            "RWF",
            "SAR",
            "SDG",
            "SEK",
            "SGD",
            "SOS",
            "SYP",
            "THB",
            "TND",
            "TOP",
            "TRY",
            "TTD",
            "TWD",
            "TZS",
            "UAH",
            "UGX",
            "UYU",
            "UZS",
            "VEF",
            "VND",
            "XAF",
            "XOF",
            "YER",
            "ZAR",
            "ZMK"
          ],
          "type": "string",
          "example": "USD",
          "description": "Currency of the reward"
        }
      }
    },
    "delivery": {
      "type": "object",
      "properties": {
        "method": {
          "enum": [
            "EMAIL",
            "LINK",
            "PHONE"
          ],
          "type": "string",
          "description": "How to deliver the reward to the recipient.\n\n<table>\n  <thead>\n    <tr>\n      <th>Delivery Method</th>\n      <th>Description</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <td><code>EMAIL</code></td>\n      <td>Deliver the reward to the recipient by email</td>\n    </tr>\n    <tr>\n      <td><code>LINK</code></td>\n      <td>\n        <p>Deliver the reward to the recipient via a link.</p>\n        <p>The link can be retrieved on a successfully ordered reward via the <code>/rewards</code> or <code>/rewards/{id}</code> endpoint. That link must then be  delivered to the recipient out-of-band.</p>\n      </td>\n    </tr>\n    <tr>\n      <td><code>PHONE</code></td>\n      <td>Deliver the reward to the recipient by SMS</td>\n    </tr>\n  </tbody>\n</table>\n"
        }
      },
      "description": "Details on how the reward is delivered to the recipient.\n"
    },
    "language": {
      "type": "string",
      "example": "de",
      "description": "Set this to translate the redemption experience for this reward. Pass a 2-letter [ISO-639-1 code](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) for the desired language. Defaults to `en`.\n"
    },
    "order_id": {
      "type": "string",
      "example": "SOMEIDSOMEID",
      "pattern": "[A-Z0-9]{4,20}",
      "readOnly": true,
      "description": "Tremendous ID of the order this reward is part of."
    },
    "products": {
      "type": "array",
      "items": {
        "type": "string",
        "example": "SOMEIDSOMEID",
        "pattern": "[A-Z0-9]{4,20}",
        "readOnly": false,
        "writeOnly": true
      },
      "minItems": 1,
      "writeOnly": true,
      "description": "List of IDs of product (different gift cards, charity, etc.) that will be available\nto the recipient to choose from.\n\nProviding a `products` array will override the products made available by the campaign\nspecified using the `campaign_id` property unless the `products` array is empty. It will\n_not_ override other campaign attributes, like the message and customization of the look and feel.\n"
    },
    "recipient": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "example": "John Doe Jr.",
          "description": "Name of the recipient"
        },
        "email": {
          "type": "string",
          "example": "john.doe@example.com",
          "description": "Email address of the recipient"
        },
        "phone": {
          "type": "string",
          "example": "123-456-7890",
          "description": "Phone number of the recipient. For non-US phone numbers, specify the country code (prefixed with +)."
        }
      },
      "description": "Details of the recipient of the reward"
    },
    "created_at": {
      "type": "string",
      "format": "date-time",
      "readOnly": true,
      "description": "Date the reward was created"
    },
    "deliver_at": {
      "type": "string",
      "format": "date",
      "example": "2023-12-31",
      "pattern": "YYYY-MM-DD",
      "description": "Timestamp of reward delivery within the next year. Note that if date-time is provided, the time values will be ignored."
    },
    "campaign_id": {
      "type": "string",
      "example": "SOMEIDSOMEID",
      "pattern": "[A-Z0-9]{4,20}",
      "nullable": true,
      "readOnly": false,
      "writeOnly": true,
      "description": "ID of the campaign in your account, that defines the available products (different gift cards, charity, etc.)\nthat the recipient can choose from.\n"
    },
    "custom_fields": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "SOMEIDSOMEID",
            "pattern": "[A-Z0-9]{4,20}",
            "readOnly": false,
            "description": "Tremendous ID of the custom field"
          },
          "label": {
            "type": "string",
            "example": "harry_potter_house",
            "readOnly": false,
            "description": "Label of the custom field"
          },
          "value": {
            "type": "string",
            "example": "Hufflepuff",
            "nullable": true,
            "readOnly": false,
            "description": "Value of the custom field"
          }
        },
        "description": "Reward custom data for searching, tracking or copy (see [Adding custom fields to orders](https://developers.tremendous.com/reference/using-custom-fields-to-add-custom-data-to-rewards).)"
      }
    }
  },
  "description": "A single reward, sent to a recipient. A reward is always part of an order.\n\nEither `products` or `campaign_id` must be specified.\n"
}
object RewardLink
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "example": "SOMEIDSOMEID",
      "pattern": "[A-Z0-9]{4,20}",
      "readOnly": true,
      "description": "Tremendous ID of the reward"
    },
    "link": {
      "type": "string",
      "example": "https://testflight.tremendous.com/rewards/payout/ve0jrwn6q--ba1eoadem8ayukldsygyrlbikascdgsh",
      "readOnly": true,
      "description": "Link to redeem the reward at. You need to deliver this link to the recipient.\n"
    }
  },
  "description": "The redemption link for a reward."
}
object RewardToken
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "example": "SOMEIDSOMEID",
      "pattern": "[A-Z0-9]{4,20}",
      "readOnly": true,
      "description": "Tremendous ID of the reward"
    },
    "token": {
      "type": "string",
      "example": "ve0jrwn6q--ba1eoadem8ayukldsygyrlbikascdgsh",
      "readOnly": true,
      "description": "The token to redeem the reward.\n"
    },
    "expires_at": {
      "type": "string",
      "format": "date-time",
      "readOnly": true,
      "description": "Date the token expires"
    }
  },
  "description": "The redemption token for a reward."
}
object RewardValue
{
  "type": "object",
  "example": {
    "denomination": 50,
    "currency_code": "USD"
  },
  "required": [
    "denomination",
    "currency_code"
  ],
  "properties": {
    "denomination": {
      "type": "number",
      "format": "double",
      "description": "Amount of the reward"
    },
    "currency_code": {
      "enum": [
        "USD",
        "CAD",
        "EUR",
        "AED",
        "AFN",
        "ALL",
        "AMD",
        "ARS",
        "AUD",
        "AZN",
        "BAM",
        "BDT",
        "BGN",
        "BHD",
        "BIF",
        "BND",
        "BOB",
        "BRL",
        "BWP",
        "BYR",
        "BZD",
        "CDF",
        "CHF",
        "CLP",
        "CNY",
        "COP",
        "CRC",
        "CVE",
        "CZK",
        "DJF",
        "DKK",
        "DOP",
        "DZD",
        "EEK",
        "EGP",
        "ERN",
        "ETB",
        "GBP",
        "GEL",
        "GHS",
        "GNF",
        "GTQ",
        "HKD",
        "HNL",
        "HRK",
        "HUF",
        "IDR",
        "ILS",
        "INR",
        "IQD",
        "IRR",
        "ISK",
        "JMD",
        "JOD",
        "JPY",
        "KES",
        "KHR",
        "KRW",
        "KWD",
        "KZT",
        "LBP",
        "LKR",
        "LTL",
        "LVL",
        "MAD",
        "MDL",
        "MGA",
        "MKD",
        "MMK",
        "MOP",
        "MUR",
        "MXN",
        "MYR",
        "MZN",
        "NAD",
        "NGN",
        "NIO",
        "NOK",
        "NPR",
        "NZD",
        "OMR",
        "PAB",
        "PEN",
        "PHP",
        "PKR",
        "PLN",
        "PYG",
        "QAR",
        "RON",
        "RSD",
        "RUB",
        "RWF",
        "SAR",
        "SDG",
        "SEK",
        "SGD",
        "SOS",
        "SYP",
        "THB",
        "TND",
        "TOP",
        "TRY",
        "TTD",
        "TWD",
        "TZS",
        "UAH",
        "UGX",
        "UYU",
        "UZS",
        "VEF",
        "VND",
        "XAF",
        "XOF",
        "YER",
        "ZAR",
        "ZMK"
      ],
      "type": "string",
      "example": "USD",
      "description": "Currency of the reward"
    }
  }
}
object RewardWithLink
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "example": "SOMEIDSOMEID",
      "pattern": "[A-Z0-9]{4,20}",
      "readOnly": true,
      "description": "Tremendous ID of the reward"
    },
    "value": {
      "type": "object",
      "example": {
        "denomination": 50,
        "currency_code": "USD"
      },
      "required": [
        "denomination",
        "currency_code"
      ],
      "properties": {
        "denomination": {
          "type": "number",
          "format": "double",
          "description": "Amount of the reward"
        },
        "currency_code": {
          "enum": [
            "USD",
            "CAD",
            "EUR",
            "AED",
            "AFN",
            "ALL",
            "AMD",
            "ARS",
            "AUD",
            "AZN",
            "BAM",
            "BDT",
            "BGN",
            "BHD",
            "BIF",
            "BND",
            "BOB",
            "BRL",
            "BWP",
            "BYR",
            "BZD",
            "CDF",
            "CHF",
            "CLP",
            "CNY",
            "COP",
            "CRC",
            "CVE",
            "CZK",
            "DJF",
            "DKK",
            "DOP",
            "DZD",
            "EEK",
            "EGP",
            "ERN",
            "ETB",
            "GBP",
            "GEL",
            "GHS",
            "GNF",
            "GTQ",
            "HKD",
            "HNL",
            "HRK",
            "HUF",
            "IDR",
            "ILS",
            "INR",
            "IQD",
            "IRR",
            "ISK",
            "JMD",
            "JOD",
            "JPY",
            "KES",
            "KHR",
            "KRW",
            "KWD",
            "KZT",
            "LBP",
            "LKR",
            "LTL",
            "LVL",
            "MAD",
            "MDL",
            "MGA",
            "MKD",
            "MMK",
            "MOP",
            "MUR",
            "MXN",
            "MYR",
            "MZN",
            "NAD",
            "NGN",
            "NIO",
            "NOK",
            "NPR",
            "NZD",
            "OMR",
            "PAB",
            "PEN",
            "PHP",
            "PKR",
            "PLN",
            "PYG",
            "QAR",
            "RON",
            "RSD",
            "RUB",
            "RWF",
            "SAR",
            "SDG",
            "SEK",
            "SGD",
            "SOS",
            "SYP",
            "THB",
            "TND",
            "TOP",
            "TRY",
            "TTD",
            "TWD",
            "TZS",
            "UAH",
            "UGX",
            "UYU",
            "UZS",
            "VEF",
            "VND",
            "XAF",
            "XOF",
            "YER",
            "ZAR",
            "ZMK"
          ],
          "type": "string",
          "example": "USD",
          "description": "Currency of the reward"
        }
      }
    },
    "delivery": {
      "type": "object",
      "required": [
        "method",
        "status"
      ],
      "properties": {
        "link": {
          "type": "string",
          "example": "https://testflight.tremendous.com/rewards/payout/z67jic92r",
          "readOnly": true,
          "description": "Link to redeem the reward at. You need to deliver this link to the recipient.\n\nOnly available for rewards for which the `method` for delivery is set to `LINK`.\n"
        },
        "method": {
          "enum": [
            "EMAIL",
            "LINK",
            "PHONE"
          ],
          "type": "string",
          "description": "How to deliver the reward to the recipient.\n\n<table>\n  <thead>\n    <tr>\n      <th>Delivery Method</th>\n      <th>Description</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <td><code>EMAIL</code></td>\n      <td>Deliver the reward to the recipient by email</td>\n    </tr>\n    <tr>\n      <td><code>LINK</code></td>\n      <td>\n        <p>Deliver the reward to the recipient via a link.</p>\n        <p>The link can be retrieved on a successfully ordered reward via the <code>/rewards</code> or <code>/rewards/{id}</code> endpoint. That link must then be  delivered to the recipient out-of-band.</p>\n      </td>\n    </tr>\n    <tr>\n      <td><code>PHONE</code></td>\n      <td>Deliver the reward to the recipient by SMS</td>\n    </tr>\n  </tbody>\n</table>\n"
        },
        "status": {
          "enum": [
            "SCHEDULED",
            "FAILED",
            "SUCCEEDED",
            "PENDING"
          ],
          "type": "string",
          "readOnly": true,
          "description": "Current status of the delivery of the reward:\n\n* `SCHEDULED` - Reward is scheduled for delivery and will be delivered soon.\n* `FAILED` - Delivery of reward failed (e.g. email bounced).\n* `SUCCEEDED` - Reward was successfully delivered (email or text message delivered or reward link opened).\n* `PENDING` - Delivery is pending but not yet scheduled.\n"
        }
      },
      "description": "Details on how the reward is delivered to the recipient.\n"
    },
    "order_id": {
      "type": "string",
      "example": "SOMEIDSOMEID",
      "pattern": "[A-Z0-9]{4,20}",
      "readOnly": true,
      "description": "Tremendous ID of the order this reward is part of."
    },
    "products": {
      "type": "array",
      "items": {
        "type": "string",
        "example": "SOMEIDSOMEID",
        "pattern": "[A-Z0-9]{4,20}",
        "readOnly": false,
        "writeOnly": true
      },
      "minItems": 1,
      "writeOnly": true,
      "description": "List of IDs of product (different gift cards, charity, etc.) that will be available\nto the recipient to choose from.\n\nProviding a `products` array will override the products made available by the campaign\nspecified using the `campaign_id` property unless the `products` array is empty. It will\n_not_ override other campaign attributes, like the message and customization of the look and feel.\n"
    },
    "recipient": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "example": "John Doe Jr.",
          "description": "Name of the recipient"
        },
        "email": {
          "type": "string",
          "example": "john.doe@example.com",
          "description": "Email address of the recipient"
        },
        "phone": {
          "type": "string",
          "example": "123-456-7890",
          "description": "Phone number of the recipient. For non-US phone numbers, specify the country code (prefixed with +)."
        }
      },
      "description": "Details of the recipient of the reward"
    },
    "created_at": {
      "type": "string",
      "format": "date-time",
      "readOnly": true,
      "description": "Date the reward was created"
    },
    "deliver_at": {
      "type": "string",
      "format": "date",
      "example": "2023-12-31",
      "pattern": "YYYY-MM-DD",
      "description": "Timestamp of reward delivery within the next year. Note that if date-time is provided, the time values will be ignored."
    },
    "campaign_id": {
      "type": "string",
      "example": "SOMEIDSOMEID",
      "pattern": "[A-Z0-9]{4,20}",
      "nullable": true,
      "readOnly": false,
      "writeOnly": true,
      "description": "ID of the campaign in your account, that defines the available products (different gift cards, charity, etc.)\nthat the recipient can choose from.\n"
    },
    "custom_fields": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "SOMEIDSOMEID",
            "pattern": "[A-Z0-9]{4,20}",
            "readOnly": false,
            "description": "Tremendous ID of the custom field"
          },
          "label": {
            "type": "string",
            "example": "harry_potter_house",
            "readOnly": false,
            "description": "Label of the custom field"
          },
          "value": {
            "type": "string",
            "example": "Hufflepuff",
            "nullable": true,
            "readOnly": false,
            "description": "Value of the custom field"
          }
        },
        "description": "Reward custom data for searching, tracking or copy (see [Adding custom fields to orders](https://developers.tremendous.com/reference/using-custom-fields-to-add-custom-data-to-rewards).)"
      }
    }
  },
  "description": "A single reward, sent to a recipient. A reward is always part of an order.\n\nEither `products` or `campaign_id` must be specified.\n"
}
object RewardWithoutLink
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "example": "SOMEIDSOMEID",
      "pattern": "[A-Z0-9]{4,20}",
      "readOnly": true,
      "description": "Tremendous ID of the reward"
    },
    "value": {
      "type": "object",
      "example": {
        "denomination": 50,
        "currency_code": "USD"
      },
      "required": [
        "denomination",
        "currency_code"
      ],
      "properties": {
        "denomination": {
          "type": "number",
          "format": "double",
          "description": "Amount of the reward"
        },
        "currency_code": {
          "enum": [
            "USD",
            "CAD",
            "EUR",
            "AED",
            "AFN",
            "ALL",
            "AMD",
            "ARS",
            "AUD",
            "AZN",
            "BAM",
            "BDT",
            "BGN",
            "BHD",
            "BIF",
            "BND",
            "BOB",
            "BRL",
            "BWP",
            "BYR",
            "BZD",
            "CDF",
            "CHF",
            "CLP",
            "CNY",
            "COP",
            "CRC",
            "CVE",
            "CZK",
            "DJF",
            "DKK",
            "DOP",
            "DZD",
            "EEK",
            "EGP",
            "ERN",
            "ETB",
            "GBP",
            "GEL",
            "GHS",
            "GNF",
            "GTQ",
            "HKD",
            "HNL",
            "HRK",
            "HUF",
            "IDR",
            "ILS",
            "INR",
            "IQD",
            "IRR",
            "ISK",
            "JMD",
            "JOD",
            "JPY",
            "KES",
            "KHR",
            "KRW",
            "KWD",
            "KZT",
            "LBP",
            "LKR",
            "LTL",
            "LVL",
            "MAD",
            "MDL",
            "MGA",
            "MKD",
            "MMK",
            "MOP",
            "MUR",
            "MXN",
            "MYR",
            "MZN",
            "NAD",
            "NGN",
            "NIO",
            "NOK",
            "NPR",
            "NZD",
            "OMR",
            "PAB",
            "PEN",
            "PHP",
            "PKR",
            "PLN",
            "PYG",
            "QAR",
            "RON",
            "RSD",
            "RUB",
            "RWF",
            "SAR",
            "SDG",
            "SEK",
            "SGD",
            "SOS",
            "SYP",
            "THB",
            "TND",
            "TOP",
            "TRY",
            "TTD",
            "TWD",
            "TZS",
            "UAH",
            "UGX",
            "UYU",
            "UZS",
            "VEF",
            "VND",
            "XAF",
            "XOF",
            "YER",
            "ZAR",
            "ZMK"
          ],
          "type": "string",
          "example": "USD",
          "description": "Currency of the reward"
        }
      }
    },
    "delivery": {
      "type": "object",
      "required": [
        "method",
        "status"
      ],
      "properties": {
        "method": {
          "enum": [
            "EMAIL",
            "LINK",
            "PHONE"
          ],
          "type": "string",
          "description": "How to deliver the reward to the recipient.\n\n<table>\n  <thead>\n    <tr>\n      <th>Delivery Method</th>\n      <th>Description</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <td><code>EMAIL</code></td>\n      <td>Deliver the reward to the recipient by email</td>\n    </tr>\n    <tr>\n      <td><code>LINK</code></td>\n      <td>\n        <p>Deliver the reward to the recipient via a link.</p>\n        <p>The link can be retrieved on a successfully ordered reward via the <code>/rewards</code> or <code>/rewards/{id}</code> endpoint. That link must then be  delivered to the recipient out-of-band.</p>\n      </td>\n    </tr>\n    <tr>\n      <td><code>PHONE</code></td>\n      <td>Deliver the reward to the recipient by SMS</td>\n    </tr>\n  </tbody>\n</table>\n"
        },
        "status": {
          "enum": [
            "SCHEDULED",
            "FAILED",
            "SUCCEEDED",
            "PENDING"
          ],
          "type": "string",
          "readOnly": true,
          "description": "Current status of the delivery of the reward:\n\n* `SCHEDULED` - Reward is scheduled for delivery and will be delivered soon.\n* `FAILED` - Delivery of reward failed (e.g. email bounced).\n* `SUCCEEDED` - Reward was successfully delivered (email or text message delivered or reward link opened).\n* `PENDING` - Delivery is pending but not yet scheduled.\n"
        }
      },
      "description": "Details on how the reward is delivered to the recipient.\n"
    },
    "order_id": {
      "type": "string",
      "example": "SOMEIDSOMEID",
      "pattern": "[A-Z0-9]{4,20}",
      "readOnly": true,
      "description": "Tremendous ID of the order this reward is part of."
    },
    "products": {
      "type": "array",
      "items": {
        "type": "string",
        "example": "SOMEIDSOMEID",
        "pattern": "[A-Z0-9]{4,20}",
        "readOnly": false,
        "writeOnly": true
      },
      "minItems": 1,
      "writeOnly": true,
      "description": "List of IDs of product (different gift cards, charity, etc.) that will be available\nto the recipient to choose from.\n\nProviding a `products` array will override the products made available by the campaign\nspecified using the `campaign_id` property unless the `products` array is empty. It will\n_not_ override other campaign attributes, like the message and customization of the look and feel.\n"
    },
    "recipient": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "example": "John Doe Jr.",
          "description": "Name of the recipient"
        },
        "email": {
          "type": "string",
          "example": "john.doe@example.com",
          "description": "Email address of the recipient"
        },
        "phone": {
          "type": "string",
          "example": "123-456-7890",
          "description": "Phone number of the recipient. For non-US phone numbers, specify the country code (prefixed with +)."
        }
      },
      "description": "Details of the recipient of the reward"
    },
    "created_at": {
      "type": "string",
      "format": "date-time",
      "readOnly": true,
      "description": "Date the reward was created"
    },
    "deliver_at": {
      "type": "string",
      "format": "date",
      "example": "2023-12-31",
      "pattern": "YYYY-MM-DD",
      "description": "Timestamp of reward delivery within the next year. Note that if date-time is provided, the time values will be ignored."
    },
    "campaign_id": {
      "type": "string",
      "example": "SOMEIDSOMEID",
      "pattern": "[A-Z0-9]{4,20}",
      "nullable": true,
      "readOnly": false,
      "writeOnly": true,
      "description": "ID of the campaign in your account, that defines the available products (different gift cards, charity, etc.)\nthat the recipient can choose from.\n"
    },
    "custom_fields": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "SOMEIDSOMEID",
            "pattern": "[A-Z0-9]{4,20}",
            "readOnly": false,
            "description": "Tremendous ID of the custom field"
          },
          "label": {
            "type": "string",
            "example": "harry_potter_house",
            "readOnly": false,
            "description": "Label of the custom field"
          },
          "value": {
            "type": "string",
            "example": "Hufflepuff",
            "nullable": true,
            "readOnly": false,
            "description": "Value of the custom field"
          }
        },
        "description": "Reward custom data for searching, tracking or copy (see [Adding custom fields to orders](https://developers.tremendous.com/reference/using-custom-fields-to-add-custom-data-to-rewards).)"
      }
    }
  },
  "description": "A single reward, sent to a recipient. A reward is always part of an order.\n\nEither `products` or `campaign_id` must be specified.\n"
}
object RewardsGenerateEmbedToken401Response
{
  "type": "object",
  "required": [
    "errors"
  ],
  "properties": {
    "errors": {
      "type": "object",
      "properties": {
        "message": {
          "type": "string",
          "description": "Error message"
        },
        "payload": {
          "type": "object",
          "example": {
            "rewards": {
              "catalog": "At least one valid product required"
            }
          },
          "description": "Mirrors the request parameters structure, filled only with the (nested) properties that caused an error."
        }
      }
    }
  }
}
object RewardsGenerateEmbedToken404Response
{
  "type": "object",
  "required": [
    "errors"
  ],
  "properties": {
    "errors": {
      "type": "object",
      "properties": {
        "message": {
          "type": "string",
          "description": "Error message"
        },
        "payload": {
          "type": "object",
          "example": {
            "rewards": {
              "catalog": "At least one valid product required"
            }
          },
          "description": "Mirrors the request parameters structure, filled only with the (nested) properties that caused an error."
        }
      }
    }
  }
}
object RewardsGenerateEmbedToken429Response
{
  "type": "object",
  "example": {
    "errors": {
      "message": "Too many requests",
      "payload": {}
    }
  },
  "required": [
    "errors"
  ],
  "properties": {
    "errors": {
      "type": "object",
      "properties": {
        "message": {
          "type": "string",
          "description": "Error message"
        },
        "payload": {
          "type": "object",
          "example": {
            "rewards": {
              "catalog": "At least one valid product required"
            }
          },
          "description": "Mirrors the request parameters structure, filled only with the (nested) properties that caused an error."
        }
      }
    }
  }
}
object RewardsGenerateEmbedToken500Response
{
  "type": "object",
  "required": [
    "errors"
  ],
  "properties": {
    "errors": {
      "type": "object",
      "properties": {
        "message": {
          "type": "string",
          "description": "Error message"
        },
        "payload": {
          "type": "object",
          "example": {
            "rewards": {
              "catalog": "At least one valid product required"
            }
          },
          "description": "Mirrors the request parameters structure, filled only with the (nested) properties that caused an error."
        }
      }
    }
  }
}
object RewardsGenerateEmbedTokenResponse
{
  "type": "object",
  "required": [
    "reward"
  ],
  "properties": {
    "reward": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "example": "SOMEIDSOMEID",
          "pattern": "[A-Z0-9]{4,20}",
          "description": "Tremendous ID of the reward"
        },
        "token": {
          "type": "string",
          "example": "ve0jrwn6q--ba1eoadem8ayukldsygyrlbikascdgsh",
          "description": "The token to redeem the reward.\n"
        },
        "expires_at": {
          "type": "string",
          "format": "date-time",
          "description": "Date the token expires"
        }
      },
      "description": "The redemption token for a reward."
    }
  }
}
object RewardsGenerateLink401Response
{
  "type": "object",
  "required": [
    "errors"
  ],
  "properties": {
    "errors": {
      "type": "object",
      "properties": {
        "message": {
          "type": "string",
          "description": "Error message"
        },
        "payload": {
          "type": "object",
          "example": {
            "rewards": {
              "catalog": "At least one valid product required"
            }
          },
          "description": "Mirrors the request parameters structure, filled only with the (nested) properties that caused an error."
        }
      }
    }
  }
}
object RewardsGenerateLink403Response
{
  "type": "object",
  "example": {
    "errors": {
      "message": "Unsupported operation for this reward.",
      "payload": {}
    }
  },
  "required": [
    "errors"
  ],
  "properties": {
    "errors": {
      "type": "object",
      "properties": {
        "message": {
          "type": "string",
          "description": "Error message"
        },
        "payload": {
          "type": "object",
          "example": {
            "rewards": {
              "catalog": "At least one valid product required"
            }
          },
          "description": "Mirrors the request parameters structure, filled only with the (nested) properties that caused an error."
        }
      }
    }
  }
}
object RewardsGenerateLink404Response
{
  "type": "object",
  "required": [
    "errors"
  ],
  "properties": {
    "errors": {
      "type": "object",
      "properties": {
        "message": {
          "type": "string",
          "description": "Error message"
        },
        "payload": {
          "type": "object",
          "example": {
            "rewards": {
              "catalog": "At least one valid product required"
            }
          },
          "description": "Mirrors the request parameters structure, filled only with the (nested) properties that caused an error."
        }
      }
    }
  }
}
object RewardsGenerateLink429Response
{
  "type": "object",
  "example": {
    "errors": {
      "message": "Too many requests",
      "payload": {}
    }
  },
  "required": [
    "errors"
  ],
  "properties": {
    "errors": {
      "type": "object",
      "properties": {
        "message": {
          "type": "string",
          "description": "Error message"
        },
        "payload": {
          "type": "object",
          "example": {
            "rewards": {
              "catalog": "At least one valid product required"
            }
          },
          "description": "Mirrors the request parameters structure, filled only with the (nested) properties that caused an error."
        }
      }
    }
  }
}
object RewardsGenerateLink500Response
{
  "type": "object",
  "required": [
    "errors"
  ],
  "properties": {
    "errors": {
      "type": "object",
      "properties": {
        "message": {
          "type": "string",
          "description": "Error message"
        },
        "payload": {
          "type": "object",
          "example": {
            "rewards": {
              "catalog": "At least one valid product required"
            }
          },
          "description": "Mirrors the request parameters structure, filled only with the (nested) properties that caused an error."
        }
      }
    }
  }
}
object RewardsGenerateLinkResponse
{
  "type": "object",
  "required": [
    "reward"
  ],
  "properties": {
    "reward": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "example": "SOMEIDSOMEID",
          "pattern": "[A-Z0-9]{4,20}",
          "description": "Tremendous ID of the reward"
        },
        "link": {
          "type": "string",
          "example": "https://testflight.tremendous.com/rewards/payout/ve0jrwn6q--ba1eoadem8ayukldsygyrlbikascdgsh",
          "description": "Link to redeem the reward at. You need to deliver this link to the recipient.\n"
        }
      },
      "description": "The redemption link for a reward."
    }
  }
}
object RewardsGetSingleReward401Response
{
  "type": "object",
  "required": [
    "errors"
  ],
  "properties": {
    "errors": {
      "type": "object",
      "properties": {
        "message": {
          "type": "string",
          "description": "Error message"
        },
        "payload": {
          "type": "object",
          "example": {
            "rewards": {
              "catalog": "At least one valid product required"
            }
          },
          "description": "Mirrors the request parameters structure, filled only with the (nested) properties that caused an error."
        }
      }
    }
  }
}
object RewardsGetSingleReward404Response
{
  "type": "object",
  "required": [
    "errors"
  ],
  "properties": {
    "errors": {
      "type": "object",
      "properties": {
        "message": {
          "type": "string",
          "description": "Error message"
        },
        "payload": {
          "type": "object",
          "example": {
            "rewards": {
              "catalog": "At least one valid product required"
            }
          },
          "description": "Mirrors the request parameters structure, filled only with the (nested) properties that caused an error."
        }
      }
    }
  }
}
object RewardsGetSingleReward429Response
{
  "type": "object",
  "example": {
    "errors": {
      "message": "Too many requests",
      "payload": {}
    }
  },
  "required": [
    "errors"
  ],
  "properties": {
    "errors": {
      "type": "object",
      "properties": {
        "message": {
          "type": "string",
          "description": "Error message"
        },
        "payload": {
          "type": "object",
          "example": {
            "rewards": {
              "catalog": "At least one valid product required"
            }
          },
          "description": "Mirrors the request parameters structure, filled only with the (nested) properties that caused an error."
        }
      }
    }
  }
}
object RewardsGetSingleReward500Response
{
  "type": "object",
  "required": [
    "errors"
  ],
  "properties": {
    "errors": {
      "type": "object",
      "properties": {
        "message": {
          "type": "string",
          "description": "Error message"
        },
        "payload": {
          "type": "object",
          "example": {
            "rewards": {
              "catalog": "At least one valid product required"
            }
          },
          "description": "Mirrors the request parameters structure, filled only with the (nested) properties that caused an error."
        }
      }
    }
  }
}
object RewardsGetSingleRewardResponse
{
  "type": "object",
  "required": [
    "reward"
  ],
  "properties": {
    "reward": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "example": "SOMEIDSOMEID",
          "pattern": "[A-Z0-9]{4,20}",
          "description": "Tremendous ID of the reward"
        },
        "value": {
          "type": "object",
          "example": {
            "denomination": 50,
            "currency_code": "USD"
          },
          "required": [
            "denomination",
            "currency_code"
          ],
          "properties": {
            "denomination": {
              "type": "number",
              "format": "double",
              "description": "Amount of the reward"
            },
            "currency_code": {
              "enum": [
                "USD",
                "CAD",
                "EUR",
                "AED",
                "AFN",
                "ALL",
                "AMD",
                "ARS",
                "AUD",
                "AZN",
                "BAM",
                "BDT",
                "BGN",
                "BHD",
                "BIF",
                "BND",
                "BOB",
                "BRL",
                "BWP",
                "BYR",
                "BZD",
                "CDF",
                "CHF",
                "CLP",
                "CNY",
                "COP",
                "CRC",
                "CVE",
                "CZK",
                "DJF",
                "DKK",
                "DOP",
                "DZD",
                "EEK",
                "EGP",
                "ERN",
                "ETB",
                "GBP",
                "GEL",
                "GHS",
                "GNF",
                "GTQ",
                "HKD",
                "HNL",
                "HRK",
                "HUF",
                "IDR",
                "ILS",
                "INR",
                "IQD",
                "IRR",
                "ISK",
                "JMD",
                "JOD",
                "JPY",
                "KES",
                "KHR",
                "KRW",
                "KWD",
                "KZT",
                "LBP",
                "LKR",
                "LTL",
                "LVL",
                "MAD",
                "MDL",
                "MGA",
                "MKD",
                "MMK",
                "MOP",
                "MUR",
                "MXN",
                "MYR",
                "MZN",
                "NAD",
                "NGN",
                "NIO",
                "NOK",
                "NPR",
                "NZD",
                "OMR",
                "PAB",
                "PEN",
                "PHP",
                "PKR",
                "PLN",
                "PYG",
                "QAR",
                "RON",
                "RSD",
                "RUB",
                "RWF",
                "SAR",
                "SDG",
                "SEK",
                "SGD",
                "SOS",
                "SYP",
                "THB",
                "TND",
                "TOP",
                "TRY",
                "TTD",
                "TWD",
                "TZS",
                "UAH",
                "UGX",
                "UYU",
                "UZS",
                "VEF",
                "VND",
                "XAF",
                "XOF",
                "YER",
                "ZAR",
                "ZMK"
              ],
              "type": "string",
              "example": "USD",
              "description": "Currency of the reward"
            }
          }
        },
        "delivery": {
          "type": "object",
          "required": [
            "method",
            "status"
          ],
          "properties": {
            "method": {
              "enum": [
                "EMAIL",
                "LINK",
                "PHONE"
              ],
              "type": "string",
              "description": "How to deliver the reward to the recipient.\n\n<table>\n  <thead>\n    <tr>\n      <th>Delivery Method</th>\n      <th>Description</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <td><code>EMAIL</code></td>\n      <td>Deliver the reward to the recipient by email</td>\n    </tr>\n    <tr>\n      <td><code>LINK</code></td>\n      <td>\n        <p>Deliver the reward to the recipient via a link.</p>\n        <p>The link can be retrieved on a successfully ordered reward via the <code>/rewards</code> or <code>/rewards/{id}</code> endpoint. That link must then be  delivered to the recipient out-of-band.</p>\n      </td>\n    </tr>\n    <tr>\n      <td><code>PHONE</code></td>\n      <td>Deliver the reward to the recipient by SMS</td>\n    </tr>\n  </tbody>\n</table>\n"
            },
            "status": {
              "enum": [
                "SCHEDULED",
                "FAILED",
                "SUCCEEDED",
                "PENDING"
              ],
              "type": "string",
              "description": "Current status of the delivery of the reward:\n\n* `SCHEDULED` - Reward is scheduled for delivery and will be delivered soon.\n* `FAILED` - Delivery of reward failed (e.g. email bounced).\n* `SUCCEEDED` - Reward was successfully delivered (email or text message delivered or reward link opened).\n* `PENDING` - Delivery is pending but not yet scheduled.\n"
            }
          },
          "description": "Details on how the reward is delivered to the recipient.\n"
        },
        "order_id": {
          "type": "string",
          "example": "SOMEIDSOMEID",
          "pattern": "[A-Z0-9]{4,20}",
          "description": "Tremendous ID of the order this reward is part of."
        },
        "recipient": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "example": "John Doe Jr.",
              "description": "Name of the recipient"
            },
            "email": {
              "type": "string",
              "example": "john.doe@example.com",
              "description": "Email address of the recipient"
            },
            "phone": {
              "type": "string",
              "example": "123-456-7890",
              "description": "Phone number of the recipient. For non-US phone numbers, specify the country code (prefixed with +)."
            }
          },
          "description": "Details of the recipient of the reward"
        },
        "created_at": {
          "type": "string",
          "format": "date-time",
          "description": "Date the reward was created"
        },
        "deliver_at": {
          "type": "string",
          "format": "date",
          "example": "2023-12-31",
          "pattern": "YYYY-MM-DD",
          "description": "Timestamp of reward delivery within the next year. Note that if date-time is provided, the time values will be ignored."
        },
        "custom_fields": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "example": "SOMEIDSOMEID",
                "pattern": "[A-Z0-9]{4,20}",
                "description": "Tremendous ID of the custom field"
              },
              "label": {
                "type": "string",
                "example": "harry_potter_house",
                "description": "Label of the custom field"
              },
              "value": {
                "type": "string",
                "example": "Hufflepuff",
                "nullable": true,
                "description": "Value of the custom field"
              }
            },
            "description": "Reward custom data for searching, tracking or copy (see [Adding custom fields to orders](https://developers.tremendous.com/reference/using-custom-fields-to-add-custom-data-to-rewards).)"
          }
        }
      },
      "description": "A single reward, sent to a recipient. A reward is always part of an order.\n\nEither `products` or `campaign_id` must be specified.\n"
    }
  }
}
object RewardsListAllRewards401Response
{
  "type": "object",
  "required": [
    "errors"
  ],
  "properties": {
    "errors": {
      "type": "object",
      "properties": {
        "message": {
          "type": "string",
          "description": "Error message"
        },
        "payload": {
          "type": "object",
          "example": {
            "rewards": {
              "catalog": "At least one valid product required"
            }
          },
          "description": "Mirrors the request parameters structure, filled only with the (nested) properties that caused an error."
        }
      }
    }
  }
}
object RewardsListAllRewards429Response
{
  "type": "object",
  "example": {
    "errors": {
      "message": "Too many requests",
      "payload": {}
    }
  },
  "required": [
    "errors"
  ],
  "properties": {
    "errors": {
      "type": "object",
      "properties": {
        "message": {
          "type": "string",
          "description": "Error message"
        },
        "payload": {
          "type": "object",
          "example": {
            "rewards": {
              "catalog": "At least one valid product required"
            }
          },
          "description": "Mirrors the request parameters structure, filled only with the (nested) properties that caused an error."
        }
      }
    }
  }
}
object RewardsListAllRewards500Response
{
  "type": "object",
  "required": [
    "errors"
  ],
  "properties": {
    "errors": {
      "type": "object",
      "properties": {
        "message": {
          "type": "string",
          "description": "Error message"
        },
        "payload": {
          "type": "object",
          "example": {
            "rewards": {
              "catalog": "At least one valid product required"
            }
          },
          "description": "Mirrors the request parameters structure, filled only with the (nested) properties that caused an error."
        }
      }
    }
  }
}
object RewardsListAllRewardsResponse
{
  "type": "object",
  "properties": {
    "rewards": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "SOMEIDSOMEID",
            "pattern": "[A-Z0-9]{4,20}",
            "description": "Tremendous ID of the reward"
          },
          "value": {
            "type": "object",
            "example": {
              "denomination": 50,
              "currency_code": "USD"
            },
            "required": [
              "denomination",
              "currency_code"
            ],
            "properties": {
              "denomination": {
                "type": "number",
                "format": "double",
                "description": "Amount of the reward"
              },
              "currency_code": {
                "enum": [
                  "USD",
                  "CAD",
                  "EUR",
                  "AED",
                  "AFN",
                  "ALL",
                  "AMD",
                  "ARS",
                  "AUD",
                  "AZN",
                  "BAM",
                  "BDT",
                  "BGN",
                  "BHD",
                  "BIF",
                  "BND",
                  "BOB",
                  "BRL",
                  "BWP",
                  "BYR",
                  "BZD",
                  "CDF",
                  "CHF",
                  "CLP",
                  "CNY",
                  "COP",
                  "CRC",
                  "CVE",
                  "CZK",
                  "DJF",
                  "DKK",
                  "DOP",
                  "DZD",
                  "EEK",
                  "EGP",
                  "ERN",
                  "ETB",
                  "GBP",
                  "GEL",
                  "GHS",
                  "GNF",
                  "GTQ",
                  "HKD",
                  "HNL",
                  "HRK",
                  "HUF",
                  "IDR",
                  "ILS",
                  "INR",
                  "IQD",
                  "IRR",
                  "ISK",
                  "JMD",
                  "JOD",
                  "JPY",
                  "KES",
                  "KHR",
                  "KRW",
                  "KWD",
                  "KZT",
                  "LBP",
                  "LKR",
                  "LTL",
                  "LVL",
                  "MAD",
                  "MDL",
                  "MGA",
                  "MKD",
                  "MMK",
                  "MOP",
                  "MUR",
                  "MXN",
                  "MYR",
                  "MZN",
                  "NAD",
                  "NGN",
                  "NIO",
                  "NOK",
                  "NPR",
                  "NZD",
                  "OMR",
                  "PAB",
                  "PEN",
                  "PHP",
                  "PKR",
                  "PLN",
                  "PYG",
                  "QAR",
                  "RON",
                  "RSD",
                  "RUB",
                  "RWF",
                  "SAR",
                  "SDG",
                  "SEK",
                  "SGD",
                  "SOS",
                  "SYP",
                  "THB",
                  "TND",
                  "TOP",
                  "TRY",
                  "TTD",
                  "TWD",
                  "TZS",
                  "UAH",
                  "UGX",
                  "UYU",
                  "UZS",
                  "VEF",
                  "VND",
                  "XAF",
                  "XOF",
                  "YER",
                  "ZAR",
                  "ZMK"
                ],
                "type": "string",
                "example": "USD",
                "description": "Currency of the reward"
              }
            }
          },
          "delivery": {
            "type": "object",
            "required": [
              "method",
              "status"
            ],
            "properties": {
              "method": {
                "enum": [
                  "EMAIL",
                  "LINK",
                  "PHONE"
                ],
                "type": "string",
                "description": "How to deliver the reward to the recipient.\n\n<table>\n  <thead>\n    <tr>\n      <th>Delivery Method</th>\n      <th>Description</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <td><code>EMAIL</code></td>\n      <td>Deliver the reward to the recipient by email</td>\n    </tr>\n    <tr>\n      <td><code>LINK</code></td>\n      <td>\n        <p>Deliver the reward to the recipient via a link.</p>\n        <p>The link can be retrieved on a successfully ordered reward via the <code>/rewards</code> or <code>/rewards/{id}</code> endpoint. That link must then be  delivered to the recipient out-of-band.</p>\n      </td>\n    </tr>\n    <tr>\n      <td><code>PHONE</code></td>\n      <td>Deliver the reward to the recipient by SMS</td>\n    </tr>\n  </tbody>\n</table>\n"
              },
              "status": {
                "enum": [
                  "SCHEDULED",
                  "FAILED",
                  "SUCCEEDED",
                  "PENDING"
                ],
                "type": "string",
                "description": "Current status of the delivery of the reward:\n\n* `SCHEDULED` - Reward is scheduled for delivery and will be delivered soon.\n* `FAILED` - Delivery of reward failed (e.g. email bounced).\n* `SUCCEEDED` - Reward was successfully delivered (email or text message delivered or reward link opened).\n* `PENDING` - Delivery is pending but not yet scheduled.\n"
              }
            },
            "description": "Details on how the reward is delivered to the recipient.\n"
          },
          "order_id": {
            "type": "string",
            "example": "SOMEIDSOMEID",
            "pattern": "[A-Z0-9]{4,20}",
            "description": "Tremendous ID of the order this reward is part of."
          },
          "recipient": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string",
                "example": "John Doe Jr.",
                "description": "Name of the recipient"
              },
              "email": {
                "type": "string",
                "example": "john.doe@example.com",
                "description": "Email address of the recipient"
              },
              "phone": {
                "type": "string",
                "example": "123-456-7890",
                "description": "Phone number of the recipient. For non-US phone numbers, specify the country code (prefixed with +)."
              }
            },
            "description": "Details of the recipient of the reward"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "Date the reward was created"
          },
          "deliver_at": {
            "type": "string",
            "format": "date",
            "example": "2023-12-31",
            "pattern": "YYYY-MM-DD",
            "description": "Timestamp of reward delivery within the next year. Note that if date-time is provided, the time values will be ignored."
          },
          "custom_fields": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "example": "SOMEIDSOMEID",
                  "pattern": "[A-Z0-9]{4,20}",
                  "description": "Tremendous ID of the custom field"
                },
                "label": {
                  "type": "string",
                  "example": "harry_potter_house",
                  "description": "Label of the custom field"
                },
                "value": {
                  "type": "string",
                  "example": "Hufflepuff",
                  "nullable": true,
                  "description": "Value of the custom field"
                }
              },
              "description": "Reward custom data for searching, tracking or copy (see [Adding custom fields to orders](https://developers.tremendous.com/reference/using-custom-fields-to-add-custom-data-to-rewards).)"
            }
          }
        },
        "description": "A single reward, sent to a recipient. A reward is always part of an order.\n\nEither `products` or `campaign_id` must be specified.\n"
      }
    },
    "total_count": {
      "type": "integer",
      "example": 1,
      "description": "The total number of rewards across all pages"
    }
  }
}
object RewardsResendRewardById401Response
{
  "type": "object",
  "required": [
    "errors"
  ],
  "properties": {
    "errors": {
      "type": "object",
      "properties": {
        "message": {
          "type": "string",
          "description": "Error message"
        },
        "payload": {
          "type": "object",
          "example": {
            "rewards": {
              "catalog": "At least one valid product required"
            }
          },
          "description": "Mirrors the request parameters structure, filled only with the (nested) properties that caused an error."
        }
      }
    }
  }
}
object RewardsResendRewardById404Response
{
  "type": "object",
  "required": [
    "errors"
  ],
  "properties": {
    "errors": {
      "type": "object",
      "properties": {
        "message": {
          "type": "string",
          "description": "Error message"
        },
        "payload": {
          "type": "object",
          "example": {
            "rewards": {
              "catalog": "At least one valid product required"
            }
          },
          "description": "Mirrors the request parameters structure, filled only with the (nested) properties that caused an error."
        }
      }
    }
  }
}
object RewardsResendRewardById422Response
{
  "type": "object",
  "example": {
    "errors": {
      "message": "Order failed: validation failure",
      "payload": {
        "some_field": {
          "some_sub_field": "Something went wrong with this parameter"
        }
      }
    }
  },
  "required": [
    "errors"
  ],
  "properties": {
    "errors": {
      "type": "object",
      "properties": {
        "message": {
          "type": "string",
          "description": "Error message"
        },
        "payload": {
          "type": "object",
          "example": {
            "rewards": {
              "catalog": "At least one valid product required"
            }
          },
          "description": "Mirrors the request parameters structure, filled only with the (nested) properties that caused an error."
        }
      }
    }
  }
}
object RewardsResendRewardById429Response
{
  "type": "object",
  "example": {
    "errors": {
      "message": "Too many requests",
      "payload": {}
    }
  },
  "required": [
    "errors"
  ],
  "properties": {
    "errors": {
      "type": "object",
      "properties": {
        "message": {
          "type": "string",
          "description": "Error message"
        },
        "payload": {
          "type": "object",
          "example": {
            "rewards": {
              "catalog": "At least one valid product required"
            }
          },
          "description": "Mirrors the request parameters structure, filled only with the (nested) properties that caused an error."
        }
      }
    }
  }
}
object RewardsResendRewardById500Response
{
  "type": "object",
  "required": [
    "errors"
  ],
  "properties": {
    "errors": {
      "type": "object",
      "properties": {
        "message": {
          "type": "string",
          "description": "Error message"
        },
        "payload": {
          "type": "object",
          "example": {
            "rewards": {
              "catalog": "At least one valid product required"
            }
          },
          "description": "Mirrors the request parameters structure, filled only with the (nested) properties that caused an error."
        }
      }
    }
  }
}
Load more schemas