---
title: Update the status of a Reward
slug: mihai-tests/gb6T-update-the-status-of-a-reward
createdAt: 2025-05-02T10:16:35.486Z
---

{
  "id": "VkyjgIaSUL8d7p_Asl-aV",
  "type": "api-oas-v2",
  "data": {
    "method": "PATCH",
    "url": "https://api.sandbox.tripleup.dev/partner/rewards/{id}",
    "servers": [
      {
        "url": "https://api.sandbox.tripleup.dev/partner/rewards/{id}",
        "description": "triple Sandbox"
      }
    ],
    "name": "Update the status of a Reward",
    "description": "<p>Transitions a Reward from its current status to a new status.</p>\n<p><strong>Content Providers</strong> may only update rewards with a status of\n<code>PENDING_MERCHANT_APPROVAL</code> to <code>DENIED_BY_MERCHANT</code> or\n<code>PENDING_MERCHANT_FUNDING</code>.</p>\n<p>When updating a reward to <code>DENIED_BY_MERCHANT</code>, the <code>notes</code> field must be\npopulated with an explanation for the denial.</p>\n<p><strong>Publishers</strong> (and Portfolio Managers) may only update rewards with a\nstatus of <code>DISTRIBUTED_TO_PUBLISHER</code> to <code>DISTRIBUTED_TO_CARDHOLDER</code>.</p>",
    "contentType": "application/json",
    "request": {
      "pathParameters": [
        {
          "kind": "required",
          "name": "id",
          "type": "object",
          "example": "triple-abc-123",
          "description": "The triple-defined ID for the entity.",
          "customType": "EntityId",
          "schema": [],
          "modelRef": "#/components/schemas/EntityId"
        }
      ],
      "headerParameters": [],
      "queryParameters": [],
      "bodyDataParameters": [
        {
          "kind": "optional",
          "name": "body",
          "type": "object",
          "description": "",
          "schema": [
            {
              "name": "status",
              "kind": "required",
              "type": "string",
              "description": "The Reward status.\n\n- `REJECTED` - The Transaction did not meet the offer terms.\n- `PENDING_REVIEW` - The Transaction is pending a manual review.\n  The reward may be deleted if it is determined to be an invalid\n  match to this merchant's offer.\n- `PENDING_MERCHANT_APPROVAL` - The Transaction is waiting for the\n  Merchant or Content Provider to approve or deny the Reward.\n- `DENIED_BY_MERCHANT` - The Merchant or Content Provider denied\n  the Reward. A reason will be included in `reward_details`.\n- `PENDING_MERCHANT_FUNDING` - The Reward was approved and is\n  awaiting funding by the Merchant.\n- `PENDING_TRANSFER_TO_PUBLISHER` - The Reward is funded and funds\n  are awaiting distribution to the Publisher.\n- `DISTRIBUTED_TO_PUBLISHER` - Reward funds have been sent to the\n  Publisher.\n- `DISTRIBUTED_TO_CARDHOLDER` - The Publisher has reported that the\n  Reward has been given to the cardholder.\n",
              "modelRef": "#/components/schemas/RewardStatus",
              "customType": "RewardStatus",
              "schema": []
            },
            {
              "name": "notes",
              "kind": "optional",
              "type": "string",
              "description": "A text description or additional information about why the\nOffer was rejected or denied by the merchant. This field is\nnot intended to be displayed to cardholders.\n",
              "modelRef": "#/components/schemas/RewardRejectionNotes",
              "customType": "RewardRejectionNotes",
              "schema": []
            }
          ],
          "isExpanded": true
        }
      ],
      "formDataParameters": [],
      "oAuthParameters": []
    },
    "responses": [
      {
        "statusCode": "200",
        "description": "The reward resulting from a matched offer and transaction.",
        "jsonExample": "",
        "isExpanded": true,
        "schema": [
          {
            "kind": "optional",
            "type": "object",
            "description": "",
            "customType": "RewardDetails",
            "schema": [],
            "modelRef": "#/components/schemas/RewardDetails",
            "isExpanded": true
          }
        ]
      },
      {
        "statusCode": "400",
        "description": "TripleBadRequestError",
        "jsonExample": "",
        "isExpanded": true,
        "schema": [
          {
            "kind": "optional",
            "type": "object",
            "description": "",
            "schema": [
              {
                "name": "status_code",
                "kind": "required",
                "type": "integer",
                "description": "The 3-digit HTTP Response Status code",
                "example": 0
              },
              {
                "name": "content",
                "kind": "required",
                "type": "object",
                "description": "The error response content.",
                "example": "",
                "schema": [
                  {
                    "name": "details",
                    "kind": "optional",
                    "type": "array",
                    "description": "An array of error detail",
                    "modelRef": "#/components/schemas/ErrorResponseDetails",
                    "customType": "ErrorResponseDetails",
                    "schema": []
                  },
                  {
                    "name": "error_message",
                    "kind": "required",
                    "type": "string",
                    "description": "Short description of what went wrong.",
                    "example": "",
                    "default": "The request is malformed."
                  },
                  {
                    "name": "exception",
                    "kind": "required",
                    "type": "string<TripleBadRequestError>",
                    "description": "The exception type.",
                    "example": ""
                  }
                ]
              }
            ],
            "isExpanded": true
          }
        ]
      },
      {
        "statusCode": "403",
        "description": "TripleNotAuthenticatedError",
        "jsonExample": "",
        "isExpanded": true,
        "schema": [
          {
            "kind": "optional",
            "type": "object",
            "description": "",
            "schema": [
              {
                "name": "status_code",
                "kind": "required",
                "type": "integer",
                "description": "The 3-digit HTTP Response Status code",
                "example": 0
              },
              {
                "name": "content",
                "kind": "required",
                "type": "object",
                "description": "The error response content.",
                "example": "",
                "schema": [
                  {
                    "name": "details",
                    "kind": "optional",
                    "type": "array",
                    "description": "An array of error detail",
                    "modelRef": "#/components/schemas/ErrorResponseDetails",
                    "customType": "ErrorResponseDetails",
                    "schema": []
                  },
                  {
                    "name": "error_message",
                    "kind": "required",
                    "type": "string",
                    "description": "Short description of what went wrong.",
                    "example": "",
                    "default": "Client authentication failed."
                  },
                  {
                    "name": "exception",
                    "kind": "required",
                    "type": "string<TripleNotAuthenticatedError>",
                    "description": "The exception type.",
                    "example": ""
                  }
                ]
              }
            ],
            "isExpanded": true
          }
        ]
      },
      {
        "statusCode": "404",
        "description": "TripleInvalidPathError",
        "jsonExample": "",
        "isExpanded": true,
        "schema": [
          {
            "kind": "optional",
            "type": "object",
            "description": "",
            "schema": [
              {
                "name": "status_code",
                "kind": "required",
                "type": "integer",
                "description": "The 3-digit HTTP Response Status code",
                "example": 0
              },
              {
                "name": "content",
                "kind": "required",
                "type": "object",
                "description": "The error response content.",
                "example": "",
                "schema": [
                  {
                    "name": "details",
                    "kind": "optional",
                    "type": "array",
                    "description": "An array of error detail",
                    "modelRef": "#/components/schemas/ErrorResponseDetails",
                    "customType": "ErrorResponseDetails",
                    "schema": []
                  },
                  {
                    "name": "error_message",
                    "kind": "required",
                    "type": "string",
                    "description": "Short description of what went wrong.",
                    "example": "",
                    "default": "The url path or path parameter is invalid."
                  },
                  {
                    "name": "exception",
                    "kind": "required",
                    "type": "string<TripleInvalidPathError>",
                    "description": "The exception type.",
                    "example": ""
                  }
                ]
              }
            ],
            "isExpanded": true
          }
        ]
      },
      {
        "statusCode": "409",
        "description": "TripleIntegrityError",
        "jsonExample": "",
        "isExpanded": true,
        "schema": [
          {
            "kind": "optional",
            "type": "object",
            "description": "",
            "schema": [
              {
                "name": "status_code",
                "kind": "required",
                "type": "integer",
                "description": "The 3-digit HTTP Response Status code",
                "example": 0
              },
              {
                "name": "content",
                "kind": "required",
                "type": "object",
                "description": "The error response content.",
                "example": "",
                "schema": [
                  {
                    "name": "details",
                    "kind": "optional",
                    "type": "array",
                    "description": "An array of error detail",
                    "modelRef": "#/components/schemas/ErrorResponseDetails",
                    "customType": "ErrorResponseDetails",
                    "schema": []
                  },
                  {
                    "name": "error_message",
                    "kind": "required",
                    "type": "string",
                    "description": "Short description of what went wrong.",
                    "example": "",
                    "default": "The request was well-formed but violated entity integrity constraints."
                  },
                  {
                    "name": "exception",
                    "kind": "required",
                    "type": "string<TripleIntegrityError>",
                    "description": "The exception type.",
                    "example": ""
                  }
                ]
              }
            ],
            "isExpanded": true
          }
        ]
      },
      {
        "statusCode": "415",
        "description": "TripleUnsupportedMediaType",
        "jsonExample": "",
        "isExpanded": true,
        "schema": [
          {
            "kind": "optional",
            "type": "object",
            "description": "",
            "schema": [
              {
                "name": "status_code",
                "kind": "required",
                "type": "integer",
                "description": "The 3-digit HTTP Response Status code",
                "example": 0
              },
              {
                "name": "content",
                "kind": "required",
                "type": "object",
                "description": "The error response content.",
                "example": "",
                "schema": [
                  {
                    "name": "details",
                    "kind": "optional",
                    "type": "array",
                    "description": "An array of error detail",
                    "modelRef": "#/components/schemas/ErrorResponseDetails",
                    "customType": "ErrorResponseDetails",
                    "schema": []
                  },
                  {
                    "name": "error_message",
                    "kind": "required",
                    "type": "string",
                    "description": "Short description of what went wrong.",
                    "example": "",
                    "default": "The request defined an unsupported media type."
                  },
                  {
                    "name": "exception",
                    "kind": "required",
                    "type": "string<TripleUnsupportedMediaType>",
                    "description": "The exception type.",
                    "example": ""
                  }
                ]
              }
            ],
            "isExpanded": true
          }
        ]
      },
      {
        "statusCode": "422",
        "description": "TripleUnprocessableEntity",
        "jsonExample": "",
        "isExpanded": true,
        "schema": [
          {
            "kind": "optional",
            "type": "object",
            "description": "",
            "schema": [
              {
                "name": "status_code",
                "kind": "required",
                "type": "integer",
                "description": "The 3-digit HTTP Response Status code",
                "example": 0
              },
              {
                "name": "content",
                "kind": "required",
                "type": "object",
                "description": "The error response content.",
                "example": "",
                "schema": [
                  {
                    "name": "details",
                    "kind": "optional",
                    "type": "array",
                    "description": "An array of error detail",
                    "modelRef": "#/components/schemas/ErrorResponseDetails",
                    "customType": "ErrorResponseDetails",
                    "schema": []
                  },
                  {
                    "name": "error_message",
                    "kind": "required",
                    "type": "string",
                    "description": "Short description of what went wrong.",
                    "example": "",
                    "default": "The request was well-formed but could not be processed."
                  },
                  {
                    "name": "exception",
                    "kind": "required",
                    "type": "string<TripleUnprocessableEntity>",
                    "description": "The exception type.",
                    "example": ""
                  }
                ]
              }
            ],
            "isExpanded": true
          }
        ]
      },
      {
        "statusCode": "500",
        "description": "TripleInternalServerError",
        "jsonExample": "",
        "isExpanded": true,
        "schema": [
          {
            "kind": "optional",
            "type": "object",
            "description": "",
            "schema": [
              {
                "name": "status_code",
                "kind": "required",
                "type": "integer",
                "description": "The 3-digit HTTP Response Status code",
                "example": 0
              },
              {
                "name": "content",
                "kind": "required",
                "type": "object",
                "description": "The error response content.",
                "example": "",
                "schema": [
                  {
                    "name": "details",
                    "kind": "optional",
                    "type": "array",
                    "description": "An array of error detail",
                    "modelRef": "#/components/schemas/ErrorResponseDetails",
                    "customType": "ErrorResponseDetails",
                    "schema": []
                  },
                  {
                    "name": "error_message",
                    "kind": "required",
                    "type": "string",
                    "description": "Short description of what went wrong.",
                    "example": "",
                    "default": "Triple was unable to process the request due to an internal error."
                  },
                  {
                    "name": "exception",
                    "kind": "required",
                    "type": "string<TripleInternalServerError>",
                    "description": "The exception type.",
                    "example": ""
                  }
                ]
              }
            ],
            "isExpanded": true
          }
        ]
      },
      {
        "statusCode": "501",
        "description": "TripleNotImplementedError",
        "jsonExample": "",
        "isExpanded": true,
        "schema": [
          {
            "kind": "optional",
            "type": "object",
            "description": "",
            "schema": [
              {
                "name": "status_code",
                "kind": "required",
                "type": "integer",
                "description": "The 3-digit HTTP Response Status code",
                "example": 0
              },
              {
                "name": "content",
                "kind": "required",
                "type": "object",
                "description": "The error response content.",
                "example": "",
                "schema": [
                  {
                    "name": "details",
                    "kind": "optional",
                    "type": "array",
                    "description": "An array of error detail",
                    "modelRef": "#/components/schemas/ErrorResponseDetails",
                    "customType": "ErrorResponseDetails",
                    "schema": []
                  },
                  {
                    "name": "error_message",
                    "kind": "required",
                    "type": "string",
                    "description": "Short description of what went wrong.",
                    "example": "",
                    "default": "The request failed because it requires a feature that is not yet implemented."
                  },
                  {
                    "name": "exception",
                    "kind": "required",
                    "type": "string<TripleNotImplementedError>",
                    "description": "The exception type.",
                    "example": ""
                  }
                ]
              }
            ],
            "isExpanded": true
          }
        ]
      },
      {
        "statusCode": "503",
        "description": "TripleServiceUnavailable",
        "jsonExample": "",
        "isExpanded": true,
        "schema": [
          {
            "kind": "optional",
            "type": "object",
            "description": "",
            "schema": [
              {
                "name": "status_code",
                "kind": "required",
                "type": "integer",
                "description": "The 3-digit HTTP Response Status code",
                "example": 0
              },
              {
                "name": "content",
                "kind": "required",
                "type": "object",
                "description": "The error response content.",
                "example": "",
                "schema": [
                  {
                    "name": "details",
                    "kind": "optional",
                    "type": "array",
                    "description": "An array of error detail",
                    "modelRef": "#/components/schemas/ErrorResponseDetails",
                    "customType": "ErrorResponseDetails",
                    "schema": []
                  },
                  {
                    "name": "error_message",
                    "kind": "required",
                    "type": "string",
                    "description": "Short description of what went wrong.",
                    "example": "",
                    "default": "The request failed due to a triple service interruption."
                  },
                  {
                    "name": "exception",
                    "kind": "required",
                    "type": "string<TripleServiceUnavailable>",
                    "description": "The exception type.",
                    "example": ""
                  }
                ]
              }
            ],
            "isExpanded": true
          }
        ]
      }
    ],
    "hasXCodeSamples": false,
    "examples": {
      "languages": [
        {
          "id": "example-0-curl",
          "language": "curl",
          "label": "cURL",
          "code": "curl --request PATCH \\\n     --url https://api.sandbox.tripleup.dev/partner/rewards/{id} \\\n     --header 'accept: application/json' \\\n     --header 'content-type: application/json' \\\n     --data '{\n     \"status\": \"\"\n     }'"
        },
        {
          "id": "example-1-javascript",
          "language": "javascript",
          "label": "javascript",
          "code": "var myHeaders = new Headers();\nmyHeaders.append(\"accept\", \"application/json\");\nmyHeaders.append(\"content-type\", \"application/json\");\n\nvar raw = JSON.stringify({\n   \"status\": \"\"\n});\n\nvar requestOptions = {\n   method: 'PATCH',\n   headers: myHeaders,\n   body: raw,\n   redirect: 'follow'\n};\n\nfetch(\"https://api.sandbox.tripleup.dev/partner/rewards/{id}\", requestOptions)\n   .then(response => response.text())\n   .then(result => console.log(result))\n   .catch(error => console.log('error', error));"
        },
        {
          "id": "example-2-ruby",
          "language": "ruby",
          "label": "Ruby",
          "code": "require \"uri\"\nrequire \"json\"\nrequire \"net/http\"\n\nurl = URI(\"https://api.sandbox.tripleup.dev/partner/rewards/{id}\")\n\nhttps = Net::HTTP.new(url.host, url.port)\nhttps.use_ssl = true\n\nrequest = Net::HTTP::Patch.new(url)\nrequest[\"accept\"] = \"application/json\"\nrequest[\"content-type\"] = \"application/json\"\nrequest.body = JSON.dump({\n   \"status\": \"\"\n})\n\nresponse = https.request(request)\nputs response.read_body\n"
        },
        {
          "id": "example-3-python",
          "language": "python",
          "label": "Python",
          "code": "import requests\nimport json\n\nurl = \"https://api.sandbox.tripleup.dev/partner/rewards/{id}\"\n\npayload = json.dumps({\n   \"status\": \"\"\n})\nheaders = {\n   'accept': 'application/json',\n   'content-type': 'application/json'\n}\n\nresponse = requests.request(\"PATCH\", url, headers=headers, data=payload)\n\nprint(response.text)\n"
        }
      ],
      "selectedLanguageId": "example-0-curl"
    },
    "results": {
      "languages": [
        {
          "id": "response-0-200",
          "language": "200",
          "code": "// The reward resulting from a matched offer and transaction.\n{}"
        },
        {
          "id": "response-1-400",
          "language": "400",
          "code": "// TripleBadRequestError\n{\n  \"status_code\": 0,\n  \"content\": {\n    \"details\": [\n      \"\"\n    ],\n    \"error_message\": \"\",\n    \"exception\": \"\"\n  }\n}"
        },
        {
          "id": "response-2-403",
          "language": "403",
          "code": "// TripleNotAuthenticatedError\n{\n  \"status_code\": 0,\n  \"content\": {\n    \"details\": [\n      \"\"\n    ],\n    \"error_message\": \"\",\n    \"exception\": \"\"\n  }\n}"
        },
        {
          "id": "response-3-404",
          "language": "404",
          "code": "// TripleInvalidPathError\n{\n  \"status_code\": 0,\n  \"content\": {\n    \"details\": [\n      \"\"\n    ],\n    \"error_message\": \"\",\n    \"exception\": \"\"\n  }\n}"
        },
        {
          "id": "response-4-409",
          "language": "409",
          "code": "// TripleIntegrityError\n{\n  \"status_code\": 0,\n  \"content\": {\n    \"details\": [\n      \"\"\n    ],\n    \"error_message\": \"\",\n    \"exception\": \"\"\n  }\n}"
        },
        {
          "id": "response-5-415",
          "language": "415",
          "code": "// TripleUnsupportedMediaType\n{\n  \"status_code\": 0,\n  \"content\": {\n    \"details\": [\n      \"\"\n    ],\n    \"error_message\": \"\",\n    \"exception\": \"\"\n  }\n}"
        },
        {
          "id": "response-6-422",
          "language": "422",
          "code": "// TripleUnprocessableEntity\n{\n  \"status_code\": 0,\n  \"content\": {\n    \"details\": [\n      \"\"\n    ],\n    \"error_message\": \"\",\n    \"exception\": \"\"\n  }\n}"
        },
        {
          "id": "response-7-500",
          "language": "500",
          "code": "// TripleInternalServerError\n{\n  \"status_code\": 0,\n  \"content\": {\n    \"details\": [\n      \"\"\n    ],\n    \"error_message\": \"\",\n    \"exception\": \"\"\n  }\n}"
        },
        {
          "id": "response-8-501",
          "language": "501",
          "code": "// TripleNotImplementedError\n{\n  \"status_code\": 0,\n  \"content\": {\n    \"details\": [\n      \"\"\n    ],\n    \"error_message\": \"\",\n    \"exception\": \"\"\n  }\n}"
        },
        {
          "id": "response-9-503",
          "language": "503",
          "code": "// TripleServiceUnavailable\n{\n  \"status_code\": 0,\n  \"content\": {\n    \"details\": [\n      \"\"\n    ],\n    \"error_message\": \"\",\n    \"exception\": \"\"\n  }\n}"
        }
      ],
      "selectedLanguageId": "response-0-200"
    }
  },
  "children": [
    {
      "id": "35fH1HsTWVPag7ct1jX6s",
      "type": "paragraph",
      "children": [
        {
          "text": "Transitions a Reward from its current status to a new status."
        }
      ]
    },
    {
      "id": "QaiC-wi4DczHD_CuWQLFu",
      "type": "paragraph",
      "children": [
        {
          "text": "Content Providers",
          "bold": true
        },
        {
          "text": " may only update rewards with a status of\n"
        },
        {
          "text": "PENDING_MERCHANT_APPROVAL",
          "highlight": true
        },
        {
          "text": " to "
        },
        {
          "text": "DENIED_BY_MERCHANT",
          "highlight": true
        },
        {
          "text": " or\n"
        },
        {
          "text": "PENDING_MERCHANT_FUNDING",
          "highlight": true
        },
        {
          "text": "."
        }
      ]
    },
    {
      "id": "V1Dsk7V0VFKVlCQXDmUPu",
      "type": "paragraph",
      "children": [
        {
          "text": "When updating a reward to "
        },
        {
          "text": "DENIED_BY_MERCHANT",
          "highlight": true
        },
        {
          "text": ", the "
        },
        {
          "text": "notes",
          "highlight": true
        },
        {
          "text": " field must be\npopulated with an explanation for the denial."
        }
      ]
    },
    {
      "id": "HU_to1yfKXfOkcHeplrJY",
      "type": "paragraph",
      "children": [
        {
          "text": "Publishers",
          "bold": true
        },
        {
          "text": " (and Portfolio Managers) may only update rewards with a\nstatus of "
        },
        {
          "text": "DISTRIBUTED_TO_PUBLISHER",
          "highlight": true
        },
        {
          "text": " to "
        },
        {
          "text": "DISTRIBUTED_TO_CARDHOLDER",
          "highlight": true
        },
        {
          "text": "."
        }
      ]
    }
  ]
}