> For clean Markdown of any page, append .md to the page URL. > For a complete documentation index, see https://developer.ordergroove.com/reference/rest-rpc-api/one-time-incentives/otd-list/llms.txt. > For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://developer.ordergroove.com/_mcp/server. # List GET https://restapi.ordergroove.com/one_time_incentives/ Returns a list all of One Time Incentives attached to subscriptions for a merchant, or a list of one incentives for an individual customer. Reference: https://developer.ordergroove.com/reference/rest-rpc-api/one-time-incentives/otd-list ## Authentication - `x-api-key` header (required) — Application API Scope — server-to-server, sent in the `x-api-key` header. See [Authentication](/api-reference/authentication). - `authorization` header (required) — Storefront API Scope — client-side, scoped to one customer, sent as a signature in the `authorization` header. See [Authentication](/api-reference/authentication). ## Request ### Query parameters - `order` (string, optional) — Order Public ID - `customer` (string, optional) — Merchant Customer ID - `external_code` (string, optional) — External code on the OTD - `item` (string, optional) — Item Public ID - `created` (date, optional) — One Time Incentives whose created date matches exactly (yyyy-mm-dd) - `created_start` (date, optional) — One Time Incentives whose created datetime is greater than or equal to the given datetime (yyyy-mm-dd or yyyy-mm-ddThh:mm:ss) - `created_end` (date, optional) — One Time Incentives whose created datetime is less than or equal to the given datetime (yyyy-mm-dd or yyyy-mm-ddThh:mm:ss) - `last_updated` (date, optional) — One Time Incentives whose last updated date matches exactly (yyyy-mm-dd) - `last_updated_start` (date, optional) — One Time Incentives whose last updated datetime is greater than or equal to the given datetime (yyyy-mm-dd or yyyy-mm-ddThh:mm:ss) - `last_updated_end` (date, optional) — One Time Incentives whose last updated datetime is less than or equal to the given datetime (yyyy-mm-dd or yyyy-mm-ddThh:mm:ss) - `applied_at` (date, optional) — One Time Incentives applied on the specified date (yyyy-mm-dd) - `applied_at_start` (date, optional) — One Time Incentives applied after or equal to the given datetime (yyyy-mm-dd or yyyy-mm-ddThh:mm:ss) - `applied_at_end` (date, optional) — One Time Incentives applied before or equal to the given datetime (yyyy-mm-dd or yyyy-mm-ddThh:mm:ss) - `include_item_level` (boolean, optional) — If the list is filtered by order, include also the One Time Incentives for all the items linked to this order ## Response ### 200 200 ## Errors ### 404 Not Found Error 404 - `detail` (string, optional) ## Examples **Response** ```json { "count": 2, "next": null, "previous": null, "results": [ { "public_id": "8637c3fe9b7011eaa2c1bc764e107990", "external_code": "one_time_item_discount_with_limit", "description": "One-Time Item Discount With Limit", "merchant": "ac4f7938383a11e89ecbbc764e1107f2", "customer": "00026001", "order": null, "item": "a6f7305aed3511eebfaf6a353c182723", "created": "2024-04-02 09:07:21", "last_updated": "2024-04-02 09:07:21", "expires": "2024-05-21 00:00:00", "stacking_type": "additional", "applied_at": null, "incentive": { "name": "One-Time Item Discount With Limit", "public_id": "b21f5d7a4c8e4f1c9a6d3e8f7b2c5a90", "type": "Discount", "discount_type": "Discount Amount", "target": "item", "field": "total_price", "value": "5.00", "threshold_field": null, "threshold_value": null, "limit_value": "10.00", "limit_policy": "fixed" } }, { "public_id": "52df97b4f0fa11eeafd33e19316267db", "external_code": "one_time_order_total_discount", "description": "One-Time Order Total Discount", "merchant": "ac4f7938383a11e89ecbbc764e1107f2", "customer": "00023208", "order": "a4f656f6ed4511eebfaf6a353c182723", "item": null, "created": "2024-04-02 09:19:40", "last_updated": "2024-04-02 09:19:40", "expires": "2024-05-21 00:00:00", "stacking_type": "base", "applied_at": "2024-04-03 09:00:15", "incentive": { "name": "One-Time Order Total Discount", "public_id": "a8cf39af36e14bdabb1a397360883096", "type": "Discount", "discount_type": "Discount Percent", "target": "order", "field": "sub_total", "value": "10.00", "threshold_field": null, "threshold_value": null } } ] } ``` **SDK Code** ```python Result import requests url = "https://restapi.ordergroove.com/one_time_incentives/" headers = {"x-api-key": ""} response = requests.get(url, headers=headers) print(response.json()) ``` ```javascript Result const url = 'https://restapi.ordergroove.com/one_time_incentives/'; const options = {method: 'GET', headers: {'x-api-key': ''}}; try { const response = await fetch(url, options); const data = await response.json(); console.log(data); } catch (error) { console.error(error); } ``` ```go Result package main import ( "fmt" "net/http" "io" ) func main() { url := "https://restapi.ordergroove.com/one_time_incentives/" req, _ := http.NewRequest("GET", url, nil) req.Header.Add("x-api-key", "") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby Result require 'uri' require 'net/http' url = URI("https://restapi.ordergroove.com/one_time_incentives/") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Get.new(url) request["x-api-key"] = '' response = http.request(request) puts response.read_body ``` ```java Result import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.get("https://restapi.ordergroove.com/one_time_incentives/") .header("x-api-key", "") .asString(); ``` ```php Result request('GET', 'https://restapi.ordergroove.com/one_time_incentives/', [ 'headers' => [ 'x-api-key' => '', ], ]); echo $response->getBody(); ``` ```csharp Result using RestSharp; var client = new RestClient("https://restapi.ordergroove.com/one_time_incentives/"); var request = new RestRequest(Method.GET); request.AddHeader("x-api-key", ""); IRestResponse response = client.Execute(request); ``` ```swift Result import Foundation let headers = ["x-api-key": ""] let request = NSMutableURLRequest(url: NSURL(string: "https://restapi.ordergroove.com/one_time_incentives/")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "GET" request.allHTTPHeaderFields = headers let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` > APIs, SDKs, and guides for building subscription commerce with Ordergroove.