---
updatedAt: 2026-10-09T16:44:39.000Z
agentTools:
  projectIndex: https://developers.tremendous.com/llms.txt
---

# Order schema

<table>
  <thead>
    <tr>
      <th>Property</th>
      <th>Type</th>
      <th>Description</th>
    </tr>
  </thead>
  <tbody class="object-schema-table-body">
    <tr class="property-conditional-hint-response-only"><td><div class="property-name">
  <code class="property-name">id</code>
</div>
</td><td><span class="property-type">string</span></td><td><p>Tremendous ID of the order</p>
</td></tr>
<tr class=""><td><div class="property-name">
  <code class="property-name">external_id</code>
</div>
</td><td><span class="property-type">string</span></td><td><p>Reference for this order, supplied by the customer.</p>

<p>When set, <code>external_id</code> makes order idempotent. All requests that use the same <code>external_id</code>
after the initial order creation, will result in a response that returns the data of the
initially created order. The response will have a <code>201</code> response code. These responses
<strong>fail</strong> to create any further orders.</p>

<p>It also allows for retrieving by <code>external_id</code> instead of <code>id</code> only.</p>
</td></tr>
<tr class="property-conditional-hint-response-only"><td><div class="property-name">
  <code class="property-name">campaign_id</code>
</div>
</td><td><span class="property-type">string</span></td><td><p>ID of the campaign in your account, that defines the available products (different gift cards, charity, etc.)
that the recipient can choose from.</p>
</td></tr>
<tr class="property-conditional-hint-response-only"><td><div class="property-name">
  <code class="property-name">created_at</code>
</div>
</td><td><span class="property-type">string</span> <span class="property-format">date-time</span></td><td><p>Date the order was created</p>
</td></tr>
<tr class="property-conditional-hint-response-only"><td><div class="property-name">
  <code class="property-name">status</code>
</div>
</td><td><span class="property-type">string</span></td><td><p>Execution status of a given order</p>

<table>
  <thead>
    <tr>
      <th>Status</th>
      <th>Description</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td><code>CANCELED</code></td>
      <td>The order and all of its rewards were canceled.</td>
    </tr>
    <tr>
      <td><code>OPEN</code></td>
      <td>The order has been created, but hasn't yet been processed.</td>
    </tr>
    <tr>
      <td><code>EXECUTED</code></td>
      <td>The order has been executed. Payment has been handled and rewards are being delivered (if applicable).</td>
    </tr>
    <tr>
      <td><code>FAILED</code></td>
      <td>The order could not be processed due to an error. E.g. due to insufficient funds in the account.</td>
    </tr>
    <tr>
      <td><code>PENDING APPROVAL</code></td>
      <td>The order has been created but needs approval to be executed.</td>
    </tr>
    <tr>
      <td><code>PENDING INTERNAL PAYMENT APPROVAL</code></td>
      <td>The order has been created but it is under review and requires approval from our team.</td>
    </tr>
    <tr>
      <td><code>PENDING SETTLEMENT</code></td>
      <td>The order has been created but the funds are being held until the settlement window clears.</td>
    </tr>
  </tbody>
</table>
</td></tr>
<tr class="property-conditional-hint-response-only"><td><div class="property-name">
  <code class="property-name">channel</code>
</div>
</td><td><span class="property-type">string</span></td><td><p>Name of the channel in which the order was created</p>
</td></tr>
<tr class=""><td><div class="property-name">
  <code class="property-name">payment</code>
</div>
</td><td><span class="property-type">object</span></td><td><p>Cost breakdown of the order (cost of rewards + fees).
Cost and fees are denominated in the organization&#39;s currency (see payment <code>currency_code</code>), independent of the ordered rewards&#39; currency.
Note that this property will only appear for processed orders (<code>status</code> is <code>EXECUTED</code>).</p>
</td></tr>  <tr>
    <td colspan="2"></td>
    <td>
      <details>
        <summary>Show object properties</summary>
        <table>
  <thead>
    <tr>
      <th>Property</th>
      <th>Type</th>
      <th>Description</th>
    </tr>
  </thead>
  <tbody class="object-schema-table-body">
    <tr class="property-conditional-hint-response-only"><td><div class="property-name">
  <code class="property-name">subtotal</code>
</div>
</td><td><span class="property-type">number</span> <span class="property-format">double</span></td><td><p>Total price of the order before fees, denominated in <code>currency_code</code>.</p>
</td></tr>
<tr class="property-conditional-hint-response-only"><td><div class="property-name">
  <code class="property-name">total</code>
</div>
</td><td><span class="property-type">number</span> <span class="property-format">double</span></td><td><p>Total price of the order including fees, denominated in <code>currency_code</code>.</p>
</td></tr>
<tr class="property-conditional-hint-response-only"><td><div class="property-name">
  <code class="property-name">fees</code>
</div>
</td><td><span class="property-type">number</span> <span class="property-format">double</span></td><td><p>Fees for the order, denominated in <code>currency_code</code>.</p>
</td></tr>
<tr class="property-conditional-hint-response-only"><td><div class="property-name">
  <code class="property-name">discount</code>
</div>
</td><td><span class="property-type">number</span> <span class="property-format">double</span></td><td><p>Discount for the order, denominated in <code>currency_code</code>.</p>
</td></tr>
<tr class="property-conditional-hint-response-only"><td><div class="property-name">
  <code class="property-name">currency_code</code>
</div>
</td><td><span class="property-type">string</span></td><td><p>Currency in which the payment amounts (subtotal, total, fees, discount, refund) are denominated.</p>

<p>This always matches the organization&#39;s currency.</p>
</td></tr>
<tr class=""><td><div class="property-name">
  <code class="property-name">refund</code>
</div>
</td><td><span class="property-type">object</span></td><td><p>Breakdown of the order refunds (total denominated in <code>currency_code</code>, independent of the ordered rewards&#39; currency).
Note that this property will only appear for canceled orders or orders with canceled rewards.</p>
</td></tr>  <tr>
    <td colspan="3">
      <details>
        <summary>Show object properties</summary>
        <table>
  <thead>
    <tr>
      <th>Property</th>
      <th>Type</th>
      <th>Description</th>
    </tr>
  </thead>
  <tbody class="object-schema-table-body">
    <tr class="property-conditional-hint-response-only"><td><div class="property-name">
  <code class="property-name">total</code>
</div>
</td><td><span class="property-type">number</span> <span class="property-format">double</span></td><td><p>Total amount of the order refunds, denominated in <code>currency_code</code>.</p>
</td></tr>
<tr class="property-conditional-hint-response-only"><td><div class="property-name">
  <code class="property-name">currency_code</code>
</div>
</td><td><span class="property-type">string</span></td><td><p>Currency of the refund. Always matches the organization&#39;s currency.</p>
</td></tr>
  </tbody>
</table>

</tr>

  </tbody>
</table>

</tr>

<tr class="property-conditional-hint-response-only"><td><div class="property-name">
  <code class="property-name">invoice_id</code>
</div>
</td><td><span class="property-type">string</span></td><td><p>The ID for the invoice associated with this order</p>
</td></tr>
<tr class=""><td><div class="property-name">
  <code class="property-name">rewards</code>
</div>
</td><td><span class="property-type">array</span></td><td></td></tr>  <tr>
    <td colspan="2"></td>
    <td>
      <details>
        <summary>Show array item type</summary>
        <table>
  <thead>
    <tr>
      <th>Property</th>
      <th>Type</th>
      <th>Description</th>
    </tr>
  </thead>
  <tbody class="object-schema-table-body">
    <tr class="property-conditional-hint-response-only"><td><div class="property-name">
  <code class="property-name">id</code>
</div>
</td><td><span class="property-type">string</span></td><td><p>Tremendous ID of the reward</p>
</td></tr>
<tr class="property-conditional-hint-response-only"><td><div class="property-name">
  <code class="property-name">order_id</code>
</div>
</td><td><span class="property-type">string</span></td><td><p>Tremendous ID of the order this reward is part of.</p>
</td></tr>
<tr class="property-conditional-hint-response-only"><td><div class="property-name">
  <code class="property-name">created_at</code>
</div>
</td><td><span class="property-type">string</span> <span class="property-format">date-time</span></td><td><p>Date the reward was created</p>
</td></tr>
<tr class="property-conditional-hint-response-only"><td><div class="property-name">
  <code class="property-name">expires_at</code>
</div>
</td><td><span class="property-type">string</span> <span class="property-format">date-time</span></td><td><p>Expiration date of the reward. If null, the reward does not expire.</p>
</td></tr>
<tr class="property-conditional-hint-request-only"><td><div class="property-name">
  <code class="property-name">campaign_id</code>
</div>
</td><td><span class="property-type">string</span></td><td><p>ID of the campaign in your account, that defines the available products (different gift cards, charity, etc.)
that the recipient can choose from.</p>
</td></tr>
<tr class="property-conditional-hint-request-only"><td><div class="property-name">
  <code class="property-name">products</code>
</div>
</td><td><span class="property-type">array</span> <span class="property-format">string</span></td><td><p>List of IDs of product (different gift cards, charity, etc.) that will be available
to the recipient to choose from.</p>

<p>Providing a <code>products</code> array will override the products made available by the campaign
specified using the <code>campaign_id</code> property unless the <code>products</code> array is empty. It will
<em>not</em> override other campaign attributes, like the message and customization of the look and feel.</p>
</td></tr>
<tr class=""><td><div class="property-name">
  <code class="property-name">value</code>
</div>
</td><td><span class="property-type">object</span></td><td></td></tr>  <tr>
    <td colspan="3">
      <details>
        <summary>Show object properties</summary>
        <table>
  <thead>
    <tr>
      <th>Property</th>
      <th>Type</th>
      <th>Description</th>
    </tr>
  </thead>
  <tbody class="object-schema-table-body">
    <tr class=""><td><div class="property-name">
  <code class="property-name">denomination</code>
</div>
</td><td><span class="property-type">number</span> <span class="property-format">double</span></td><td><p>Amount of the reward</p>
</td></tr>
<tr class=""><td><div class="property-name">
  <code class="property-name">currency_code</code>
</div>
</td><td><span class="property-type">string</span></td><td><p>Currency of the reward. Defaults to the organization&#39;s currency if not provided.</p>
</td></tr>
  </tbody>
</table>

</tr>

<tr class=""><td><div class="property-name">
  <code class="property-name">recipient</code>
</div>
</td><td><span class="property-type">object</span></td><td><p>Details of the recipient of the reward</p>
</td></tr>  <tr>
    <td colspan="3">
      <details>
        <summary>Show object properties</summary>
        <table>
  <thead>
    <tr>
      <th>Property</th>
      <th>Type</th>
      <th>Description</th>
    </tr>
  </thead>
  <tbody class="object-schema-table-body">
    <tr class=""><td><div class="property-name">
  <code class="property-name">name</code>
</div>
</td><td><span class="property-type">string</span></td><td><p>Name of the recipient</p>
</td></tr>
<tr class=""><td><div class="property-name">
  <code class="property-name">email</code>
</div>
</td><td><span class="property-type">string</span></td><td><p>Email address of the recipient</p>
</td></tr>
<tr class=""><td><div class="property-name">
  <code class="property-name">phone</code>
</div>
</td><td><span class="property-type">string</span></td><td><p>Phone number of the recipient. For non-US phone numbers, specify the country code (prefixed with +).</p>
</td></tr>
  </tbody>
</table>

</tr>

<tr class=""><td><div class="property-name">
  <code class="property-name">deliver_at</code>
</div>
</td><td><span class="property-type">string</span> <span class="property-format">date</span></td><td><p>Date of reward delivery, within the next year. The reward is delivered at 12pm in your organization&#39;s time zone on that date, or at 12pm Eastern Time when the organization has no time zone set. Note that if date-time is provided, the time values will be ignored.</p>
</td></tr>
<tr class=""><td><div class="property-name">
  <code class="property-name">custom_fields</code>
</div>
</td><td><span class="property-type">array</span></td><td></td></tr>  <tr>
    <td colspan="3">
      <details>
        <summary>Show array item type</summary>
        <table>
  <thead>
    <tr>
      <th>Property</th>
      <th>Type</th>
      <th>Description</th>
    </tr>
  </thead>
  <tbody class="object-schema-table-body">
    <tr class=""><td><div class="property-name">
  <code class="property-name">id</code>
</div>
</td><td><span class="property-type">string</span></td><td><p>Tremendous ID of the custom field</p>
</td></tr>
<tr class=""><td><div class="property-name">
  <code class="property-name">value</code>
</div>
</td><td><span class="property-type">string</span></td><td><p>Value of the custom field</p>
</td></tr>
<tr class="property-conditional-hint-response-only"><td><div class="property-name">
  <code class="property-name">label</code>
</div>
</td><td><span class="property-type">string</span></td><td><p>Label of the custom field</p>
</td></tr>
  </tbody>
</table>

</tr>

<tr class=""><td><div class="property-name">
  <code class="property-name">delivery</code>
</div>
</td><td><span class="property-type">object</span></td><td><p>Details on how the reward is delivered to the recipient.</p>
</td></tr>  <tr>
    <td colspan="3">
      <details>
        <summary>Show object properties</summary>
        <table>
  <thead>
    <tr>
      <th>Property</th>
      <th>Type</th>
      <th>Description</th>
    </tr>
  </thead>
  <tbody class="object-schema-table-body">
    <tr class=""><td><div class="property-name">
  <code class="property-name">method</code>
</div>
</td><td><span class="property-type">string</span></td><td><p>How to deliver the reward to the recipient.</p>

<table>
  <thead>
    <tr>
      <th>Delivery Method</th>
      <th>Description</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td><code>EMAIL</code></td>
      <td>Deliver the reward to the recipient by email</td>
    </tr>
    <tr>
      <td><code>LINK</code></td>
      <td>
        <p>Deliver the reward to the recipient via a link.</p>
        <p>The initial <code>POST /orders</code> response for a link reward includes the link in <code>delivery.link</code>.</p>
        <p>The link must then be delivered to the recipient out-of-band.</p>
        <p>To obtain a new link for an existing reward, call <code>POST /rewards/{id}/generate_link</code>.</p>
      </td>
    </tr>
    <tr>
      <td><code>PHONE</code></td>
      <td>Deliver the reward to the recipient by SMS</td>
    </tr>
  </tbody>
</table>
</td></tr>
<tr class="property-conditional-hint-response-only"><td><div class="property-name">
  <code class="property-name">status</code>
</div>
</td><td><span class="property-type">string</span></td><td><p>Current status of the delivery of the reward:</p>

<ul>
<li><code>SCHEDULED</code> - Reward is scheduled for delivery and will be delivered soon.</li>
<li><code>FAILED</code> - Delivery of reward failed (e.g. email bounced).</li>
<li><code>SUCCEEDED</code> - Reward was successfully delivered (email or text message delivered or reward link active).</li>
<li><code>PENDING</code> - Delivery is pending but not yet scheduled.</li>
</ul>
</td></tr>
  </tbody>
</table>

</tr>

  </tbody>
</table>

</tr>

  </tbody>
</table>