---
title: Search Coupons
slug: api-documentation/search-coupons
docTags: 
createdAt: 2026-08-27T17:06:56.421Z
---

{
  "id": "Nrqy4zC4t8_j3D8QWODwv",
  "type": "api-oas-v2",
  "data": {
    "method": "POST",
    "url": "https://api.upstartcommerce.com/v1/promotion/coupon/search",
    "servers": [
      {
        "url": "https://api.upstartcommerce.com/v1/promotion/coupon/search"
      }
    ],
    "name": "Search Coupons",
    "description": "<p>This endpoint returns a paginated list of coupons which can be filtered by promotion id and coupon id.</p>\n<p>Authorized permissions:</p>\n<ul>\n<li><code>promotion.coupon.read</code></li>\n</ul>",
    "contentType": "application/json",
    "request": {
      "pathParameters": [],
      "headerParameters": [
        {
          "name": "accept",
          "type": "string",
          "kind": "optional",
          "description": "Generated from available response content types",
          "enum": [
            "application/json"
          ],
          "default": "application/json"
        },
        {
          "kind": "required",
          "name": "x-upstart-tenant",
          "type": "string",
          "description": "Tenant identifier associated with the site this call is for."
        }
      ],
      "queryParameters": [],
      "bodyDataParameters": [
        {
          "kind": "required",
          "name": "body",
          "type": "object",
          "description": "",
          "customType": "SearchCoupons",
          "schema": [
            {
              "name": "page",
              "kind": "required",
              "type": "integer",
              "description": ""
            },
            {
              "name": "pageSize",
              "kind": "required",
              "type": "integer",
              "description": ""
            },
            {
              "name": "couponIdLike",
              "kind": "optional",
              "type": "string",
              "description": "<p>Search string to match coupons. Search can find an exact match, starts with, or ends with.</p>"
            },
            {
              "name": "promotionIds",
              "kind": "optional",
              "type": "array",
              "description": "Unique identifier for promotion.",
              "example": "",
              "itemType": "string",
              "customType": "string[]",
              "itemExample": "",
              "itemDefault": ""
            }
          ],
          "modelRef": "#/components/schemas/SearchCoupons",
          "isExpanded": true
        }
      ],
      "formDataParameters": [],
      "oAuthParameters": [
        {
          "id": "NoChannelPortalAccess",
          "name": "NoChannelPortalAccess",
          "kind": "optional",
          "type": "http",
          "description": "<p>This authentication is required for clients to interact with any of the management APIs. Similar to 'LoggedIn', it indicates that the user has actually logged into the system, but in this case with a management role.</p>",
          "scheme": "bearer"
        }
      ],
      "cookieParameters": []
    },
    "responses": [
      {
        "statusCode": "200",
        "description": "<p>Success-list of coupons returned.</p>",
        "jsonExample": "",
        "isExpanded": true,
        "schema": [
          {
            "kind": "optional",
            "type": "object",
            "description": "",
            "schema": [
              {
                "name": "data",
                "kind": "optional",
                "type": "array",
                "description": "",
                "modelRef": "#/components/schemas/CouponPaginatedResponse",
                "customType": "CouponPaginatedResponse[]",
                "schema": [
                  {
                    "name": "items",
                    "kind": "required",
                    "type": "array",
                    "description": "",
                    "modelRef": "#/components/schemas/Coupon",
                    "customType": "Coupon[]",
                    "schema": [
                      {
                        "name": "id",
                        "kind": "required",
                        "type": "string",
                        "description": "Unique identifier for the coupon."
                      },
                      {
                        "name": "promotionId",
                        "kind": "required",
                        "type": "string",
                        "description": "Unique identifier for promotion."
                      },
                      {
                        "name": "couponUsages",
                        "kind": "required",
                        "type": "array",
                        "description": "",
                        "modelRef": "#/components/schemas/CouponUsage",
                        "customType": "CouponUsage[]",
                        "schema": [
                          {
                            "name": "siteIds",
                            "kind": "required",
                            "type": "array",
                            "description": "Unique identifier for tenant's sites.",
                            "example": "",
                            "itemType": "string",
                            "customType": "string[]",
                            "itemExample": "",
                            "itemDefault": ""
                          },
                          {
                            "name": "maxUserUsage",
                            "kind": "optional",
                            "type": "integer",
                            "description": ""
                          },
                          {
                            "name": "maxUsage",
                            "kind": "optional",
                            "type": "integer",
                            "description": ""
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "name": "page",
                    "kind": "required",
                    "type": "integer",
                    "description": ""
                  },
                  {
                    "name": "pageSize",
                    "kind": "required",
                    "type": "integer",
                    "description": ""
                  },
                  {
                    "name": "count",
                    "kind": "required",
                    "type": "integer",
                    "description": ""
                  }
                ]
              }
            ],
            "isExpanded": true
          }
        ]
      },
      {
        "statusCode": "400",
        "description": "The request contained information that the server was unable to process. Appropriate errors are provided in the response body.",
        "jsonExample": "",
        "isExpanded": true,
        "schema": [
          {
            "kind": "optional",
            "type": "object",
            "description": "",
            "customType": "ValidationErrorResponse",
            "schema": [
              {
                "name": "name",
                "kind": "required",
                "type": "string",
                "description": ""
              },
              {
                "name": "code",
                "kind": "required",
                "type": "string",
                "description": ""
              },
              {
                "name": "detail",
                "kind": "optional",
                "type": "string",
                "description": ""
              }
            ],
            "modelRef": "#/components/schemas/ValidationErrorResponse",
            "isExpanded": true
          }
        ]
      },
      {
        "statusCode": "401",
        "description": "The provided credentials were not valid for this endpoint. It may be that they are expired or that the user's roles are insufficient.",
        "jsonExample": "",
        "isExpanded": true,
        "schema": [
          {
            "kind": "optional",
            "type": "object",
            "description": "",
            "customType": "ErrorResponse",
            "schema": [
              {
                "name": "name",
                "kind": "required",
                "type": "string",
                "description": ""
              },
              {
                "name": "code",
                "kind": "required",
                "type": "string",
                "description": ""
              },
              {
                "name": "detail",
                "kind": "required",
                "type": "string",
                "description": ""
              },
              {
                "name": "reason",
                "kind": "optional",
                "type": "string",
                "description": ""
              }
            ],
            "modelRef": "#/components/schemas/ErrorResponse",
            "isExpanded": true
          }
        ]
      }
    ],
    "hasXCodeSamples": false,
    "examples": {
      "languages": [
        {
          "id": "ZkQVf_2y0TvbMR6N5w7xK",
          "language": "curl",
          "label": "cURL",
          "code": "curl --request POST \\\n     --url https://api.upstartcommerce.com/v1/promotion/coupon/search \\\n     --header 'accept: application/json' \\\n     --header 'content-type: application/json' \\\n     --header 'x-upstart-tenant: string' \\\n     --data '{\n     \"page\": \"\",\n     \"pageSize\": \"\"\n     }'"
        },
        {
          "id": "e35BhjfPHm5iel_Yz8Hg-",
          "language": "javascript",
          "label": "javascript",
          "code": "var myHeaders = new Headers();\nmyHeaders.append(\"accept\", \"application/json\");\nmyHeaders.append(\"content-type\", \"application/json\");\nmyHeaders.append(\"x-upstart-tenant\", \"string\");\n\nvar raw = JSON.stringify({\n   \"page\": \"\",\n   \"pageSize\": \"\"\n});\n\nvar requestOptions = {\n   method: 'POST',\n   headers: myHeaders,\n   body: raw,\n   redirect: 'follow'\n};\n\nfetch(\"https://api.upstartcommerce.com/v1/promotion/coupon/search\", requestOptions)\n   .then(response => response.text())\n   .then(result => console.log(result))\n   .catch(error => console.log('error', error));"
        },
        {
          "id": "V4ek-URXB8Va4L44RB3M7",
          "language": "ruby",
          "label": "Ruby",
          "code": "require \"uri\"\nrequire \"json\"\nrequire \"net/http\"\n\nurl = URI(\"https://api.upstartcommerce.com/v1/promotion/coupon/search\")\n\nhttps = Net::HTTP.new(url.host, url.port)\nhttps.use_ssl = true\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"accept\"] = \"application/json\"\nrequest[\"content-type\"] = \"application/json\"\nrequest[\"x-upstart-tenant\"] = \"string\"\nrequest.body = JSON.dump({\n   \"page\": \"\",\n   \"pageSize\": \"\"\n})\n\nresponse = https.request(request)\nputs response.read_body\n"
        },
        {
          "id": "XMpgkQ0zuFPu8Hul5BaBJ",
          "language": "python",
          "label": "Python",
          "code": "import requests\nimport json\n\nurl = \"https://api.upstartcommerce.com/v1/promotion/coupon/search\"\n\npayload = json.dumps({\n   \"page\": \"\",\n   \"pageSize\": \"\"\n})\nheaders = {\n   'accept': 'application/json',\n   'content-type': 'application/json',\n   'x-upstart-tenant': 'string'\n}\n\nresponse = requests.request(\"POST\", url, headers=headers, data=payload)\n\nprint(response.text)\n"
        }
      ],
      "selectedLanguageId": "ZkQVf_2y0TvbMR6N5w7xK"
    },
    "results": {
      "languages": [
        {
          "id": "yu4WlHUGOeS4gCmximJ0f",
          "language": "200",
          "code": "// Success-list of coupons returned.\n{\n  \"data\": [\n    {\n      \"items\": [\n        {\n          \"id\": \"\",\n          \"promotionId\": \"\",\n          \"couponUsages\": [\n            {\n              \"siteIds\": [\n                \"\"\n              ],\n              \"maxUserUsage\": 0,\n              \"maxUsage\": 0\n            }\n          ]\n        }\n      ],\n      \"page\": 0,\n      \"pageSize\": 0,\n      \"count\": 0\n    }\n  ]\n}"
        },
        {
          "id": "nbJr6hX1wtLpXj9IEvJam",
          "language": "400",
          "code": "// The request contained information that the server was unable to process. Appropriate errors are provided in the response body.\n{\n  \"name\": \"\",\n  \"code\": \"\",\n  \"detail\": \"\"\n}"
        },
        {
          "id": "LtKbQjwg5NTkky2jSO2Rc",
          "language": "401",
          "code": "// The provided credentials were not valid for this endpoint. It may be that they are expired or that the user's roles are insufficient.\n{\n  \"name\": \"\",\n  \"code\": \"\",\n  \"detail\": \"\",\n  \"reason\": \"\"\n}"
        }
      ],
      "selectedLanguageId": "yu4WlHUGOeS4gCmximJ0f"
    }
  },
  "children": [
    {
      "text": ""
    }
  ]
}