---
updatedAt: 2026-10-06T05:34:12.000Z
agentTools:
  projectIndex: https://docs.sumsub.com/llms.txt
---

# Change transaction properties

# Overview

Use this endpoint to add or change the transaction properties. In effect, the method updates the `props` object within the <Anchor target="_blank" href="ref:get-transaction#response-explained">transaction structure</Anchor> (see the [request](#request-examples) and [response](#response-explained) examples below). Other parts of the transaction, including its score and review status, are not changed.

You can also remove a transaction property (one per request) by specifying the `unsetKey` value in the request.

<Callout icon="📘" theme="info">
  ### Note

  This method only updates the stored `props`. The transaction's own `score`, `scoringResult` (matched rules), and `review` status are **not recalculated**, and the response still contains the previous result — even if a rule depends on the property you changed.

  * Rules evaluated **after** this call, including aggregations, use the new `props` values.
  * To re-evaluate the patched transaction itself, call [Rescore transaction](https://docs.sumsub.com/sumsub/reference/re-score-transaction).
</Callout>

## Required permissions

To use this method, your [app token](https://docs.sumsub.com/sumsub/docs/app-tokens) must have the **Manage TM transactions - Decisions** [permission](https://docs.sumsub.com/sumsub/docs/user-roles#permissions).

## Request examples

```curl Update properties
curl -X PATCH \
    'https://api.sumsub.com/resources/kyt/txns/631f268442d8290001e00000/props' \
    -H 'Content-Type: application/json' \
    -H 'X-App-Token: <your-app-token>' \
    -H 'X-App-Access-Sig: <your-signature>' \
    -H 'X-App-Access-Ts: <unix-timestamp>' \
    -d '{
          "customProperty": "New custom value",
          "customPropertyTwo": "Another custom value",
          "customPropertyThree": "One more custom value"
       }'
```
```curl Update and remove properties
curl -X PATCH \
    'https://api.sumsub.com/resources/kyt/txns/66c46d7566f5244e45a00000/props?unsetKey=customPropertyToDelete' \
    -H 'content-type: application/json' \
    -H 'X-App-Token: <your-app-token>' \
    -H 'X-App-Access-Sig: <your-signature>' \
    -H 'X-App-Access-Ts: <unix-timestamp>' \
    -d '{
           "customProperty": "New custom value",
           "customPropertyTwo": "Updated custom value"
         }'
```

# Response explained

The response is a JSON file that represents the full and structured transaction data. See the response structure, possible content with descriptions on the [following page](https://docs.sumsub.com/sumsub/reference/get-transaction#response-explained).

Mind the `props` object where you can see the fields you have changed or added.

## Response example

```json
{
  "id": "66335d9a243caf0000000000",
  "applicantId": "662edfdb7a26390000000000",
  "externalUserId": "PlatformEvent0001",
  "clientId": "korban.inc",
  "data": {
    "txnId": "general0001",
    "txnDate": "2024-04-29 02:30:12+0000",
    "applicant": {
      "externalUserId": "PlatformEvent0001",
      "fullName": "Users Fullname",
      "address": {
        "flatNumber": "usersAddFlatNumber",
        "subStreet": "usersAddSbSt",
        "street": "usersAddSt",
        "state": "usersAddState",
        "buildingNumber": "usersAddBuildNum",
        "town": "usersAddressTown",
        "postCode": "000000",
        "country": "CAN",
        "formattedAddress": "usersAddSt, usersAddSbSt usersAddBuildNum usersAddFlatNumber, usersAddressTown, usersAddState, Canada, 000000"
      },
      "type": "individual",
      "device": {
        "ipInfo": {
          "ip": "242.1.1",
          "riskyAsn": false
        },
        "userAgent": "usersDeviceUA",
        "sessionId": "usersDeviceSesId",
        "sessionAgeMs": 18,
        "acceptLang": "en",
        "coords": {
          "lat": -1.7976931348623157,
          "lon": 1.7976931348623157,
          "accuracy": 10
        },
        "fingerprint": "usersDeviceFing"
      }
    },
    "type": "userPlatformEvent",
    "props": {
      "customPropertyTwo": "newValueTwo",
      "customPropertyThree": "newValueThree",
      "customProperty": "newValue",
      "dailyOutLimit": "10000"
    },    
    "userPlatformEventInfo": {
      "type": "general"
    }
  },
  "score": 0,
  "review": {
    "reviewId": "XvSHf",
    "attemptId": "QaUMN",
    "attemptCnt": 1,
    "elapsedSincePendingMs": 149,
    "elapsedSinceQueuedMs": 149,
    "createDate": "2024-05-02 09:32:10+0000",
    "reviewResult": {
      "reviewAnswer": "GREEN"
    },
    "reviewStatus": "completed"
  },
  "createdAt": "2024-05-02 09:32:10+0000",
  "scoringResult": {
    "score": 0,
    "dryScore": 0,
    "matchedRules": [
      {
        "id": "6602a0f43d40c8131dc4e17a",
        "name": "AFP1-agg-beh-eve-for-user-pla-eve-BBKP",
        "revision": 1,
        "title": "Aggregate behavioral events for user platform events",
        "score": 0,
        "dryRun": false,
        "action": "score",
        "stage": "pre",
        "preScoringRunnerType": "behavioralEvents"
      }
    ],
    "action": "score",
    "ruleCnt": 2,
    "dryRunRuleCnt": 0,
    "tagScores": []
  },
  "typedTags": [],
  "txnInactive": false
}
```

# OpenAPI definition

```json
{
  "openapi": "3.1.0",
  "info": {
    "title": "sumsub-api",
    "version": "1.0"
  },
  "servers": [
    {
      "url": "https://api.sumsub.com"
    }
  ],
  "components": {
    "securitySchemes": {
      "sec0": {
        "type": "apiKey",
        "name": "X-App-Token",
        "in": "header",
        "x-default": ""
      }
    }
  },
  "security": [
    {
      "sec0": []
    }
  ],
  "paths": {
    "/resources/kyt/txns/{id}/props": {
      "patch": {
        "summary": "Change transaction properties",
        "description": "",
        "operationId": "changing-transaction-custom-properties",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Unique transaction identifier in the Sumsub system. <br><br>This ID is returned in the [response](https://docs.sumsub.com/reference/get-transaction#root-variables) to this request and a webhook (`kytTxnId`). Save it for future use in subsequent API calls. Alternatively, you can get this identifier by the [following method](https://docs.sumsub.com/sumsub/reference/get-transaction-information-by-txnid).",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "unsetKey",
            "in": "query",
            "description": "Specify the property that you want to remove from the transaction. Mind that the property indicator name must be spelled exactly as it was added.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "customProperty"
                ],
                "properties": {
                  "customProperty": {
                    "type": "string",
                    "description": "If you want to change or add more custom properties, add as many key-value pairs to the request body as you need. <br><br>⚠️ `camelCase` for the property indicator is preferred (for example, `customPropertyOne`).",
                    "default": "newValue"
                  },
                  "customPropertyTwo": {
                    "type": "string"
                  },
                  "customPropertyThree": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "deprecated": false
      }
    }
  },
  "x-readme": {
    "headers": [],
    "explorer-enabled": true,
    "proxy-enabled": true
  },
  "x-readme-fauxas": true
}
```