---
updatedAt: 2026-08-19T01:07:30.000Z
agentTools:
  projectIndex: https://docs.noves.fi/llms.txt
---

# /{chain}/updates/{party}/private

Returns a paginated list of private Canton transactions involving the party requested.
            
Note that given Canton's privacy model, limited information about private transactions is available publicly.
            
In this endpoint, we reconstruct what's known publicly about private transactions and present the data in our standard classified transaction format.
            
Results are ordered by verdict record time, descending by default. <i>startTimestamp</i> is inclusive and <i>endTimestamp</i> is exclusive.
            
<i>maxPageSize</i> sets the upper bound on private updates returned in one page. Pages can be sparse or empty while <i>hasMore</i> remains true. Continue with <i>nextPageUrl</i> or pass <i>nextCursor</i> as the next request's <i>cursor</i>.
            
A <i>confirmer</i> role means the party was listed among the verdict's quorum candidates; it does not prove that the party cast an individual vote.

# OpenAPI definition

```json
{
  "openapi": "3.0.1",
  "info": {
    "title": "Canton API",
    "description": "Query public and private Canton updates, balances, prices, rewards, verdicts, and Featured App activity. Create stream subscriptions and alerts for ongoing delivery.",
    "version": "v1"
  },
  "servers": [
    {
      "url": "https://api.canton.noves.fi/"
    }
  ],
  "paths": {
    "/{chain}/updates/{party}/private": {
      "get": {
        "tags": [
          "Updates"
        ],
        "summary": "/{chain}/updates/{party}/private",
        "description": "Returns a paginated list of private Canton transactions involving the party requested.\r\n            \r\nNote that given Canton's privacy model, limited information about private transactions is available publicly.\r\n            \r\nIn this endpoint, we reconstruct what's known publicly about private transactions and present the data in our standard classified transaction format.\r\n            \r\nResults are ordered by verdict record time, descending by default. <i>startTimestamp</i> is inclusive and <i>endTimestamp</i> is exclusive.\r\n            \r\n<i>maxPageSize</i> sets the upper bound on private updates returned in one page. Pages can be sparse or empty while <i>hasMore</i> remains true. Continue with <i>nextPageUrl</i> or pass <i>nextCursor</i> as the next request's <i>cursor</i>.\r\n            \r\nA <i>confirmer</i> role means the party was listed among the verdict's quorum candidates; it does not prove that the party cast an individual vote.",
        "parameters": [
          {
            "name": "chain",
            "in": "path",
            "description": "Canton chain name. Use a name returned by `GET /chains`.",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string",
              "default": "canton",
              "example": "canton"
            }
          },
          {
            "name": "party",
            "in": "path",
            "description": "Full Canton party ID involved as a submitter, informee, or confirmer.",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string",
              "default": "noves-validator-1::1220dd5cc6e969cd7d7c11e339fbd07fab5f6fa1f999dc09339228d17299d9d68941",
              "example": "noves-validator-1::1220dd5cc6e969cd7d7c11e339fbd07fab5f6fa1f999dc09339228d17299d9d68941"
            }
          },
          {
            "name": "startTimestamp",
            "in": "query",
            "description": "Inclusive start of the verdict record time window, as Unix seconds. Optional.",
            "style": "form",
            "schema": {
              "maximum": 253402300799,
              "minimum": -62135596800,
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "endTimestamp",
            "in": "query",
            "description": "Exclusive end of the verdict record time window, as Unix seconds. Optional.",
            "style": "form",
            "schema": {
              "maximum": 253402300799,
              "minimum": -62135596800,
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "maxPageSize",
            "in": "query",
            "description": "Upper bound on private updates returned in one page. A page may contain fewer entries. Default is 100; maximum is 500.",
            "style": "form",
            "schema": {
              "maximum": 500,
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "sort",
            "in": "query",
            "description": "Sort direction by verdict record time: `asc` or `desc`. Default is `desc`.",
            "style": "form",
            "schema": {
              "pattern": "^(?i:asc|desc)$",
              "type": "string"
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "description": "Opaque continuation value from the previous response's `nextCursor`. Optional.",
            "style": "form",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "apiKey",
            "in": "header",
            "description": "API Key for Canton API. To generate an API Key, visit https://app.noves.fi",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string",
              "default": "demokey"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PrivateUpdatesPageDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "502": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "503": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "PrivateUpdateAppActivityDto": {
        "required": [
          "records",
          "roundNumber"
        ],
        "type": "object",
        "properties": {
          "roundNumber": {
            "type": "integer",
            "description": "Mining round in which the activity was recorded.",
            "format": "int64"
          },
          "records": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PrivateUpdateAppActivityRecordDto"
            },
            "description": "Featured App provider parties and their attributed activity weights."
          }
        },
        "additionalProperties": false,
        "description": "Featured App activity attributed to a private update."
      },
      "PrivateUpdateAppActivityRecordDto": {
        "required": [
          "party",
          "weight"
        ],
        "type": "object",
        "properties": {
          "party": {
            "minLength": 1,
            "type": "string",
            "description": "Featured App provider party."
          },
          "weight": {
            "type": "number",
            "description": "Activity weight attributed to the provider party.",
            "format": "double"
          }
        },
        "additionalProperties": false,
        "description": "Featured App activity attributed to one provider party."
      },
      "PrivateUpdateClassificationDto": {
        "required": [
          "description",
          "transfers",
          "type"
        ],
        "type": "object",
        "properties": {
          "type": {
            "minLength": 1,
            "type": "string",
            "description": "Always `privateUpdate`."
          },
          "description": {
            "minLength": 1,
            "type": "string",
            "description": "Description of the submitting participant."
          },
          "protocol": {
            "description": "Null because a verdict does not disclose a classified protocol action.",
            "nullable": true
          },
          "transfers": {
            "type": "array",
            "items": {},
            "description": "Always empty because private verdict data does not reveal transfer effects."
          },
          "markers": {
            "description": "Null because transaction markers cannot be derived from verdict data alone.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Classification fields aligned with a public classified update where verdict data permits it."
      },
      "PrivateUpdateDto": {
        "required": [
          "chain",
          "classificationData",
          "parties",
          "rawTransactionData",
          "txTypeVersion",
          "values"
        ],
        "type": "object",
        "properties": {
          "txTypeVersion": {
            "type": "integer",
            "description": "Version of the classified update response schema.",
            "format": "int32"
          },
          "chain": {
            "minLength": 1,
            "type": "string",
            "description": "Chain name; always `canton`."
          },
          "classificationData": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PrivateUpdateClassificationDto"
              }
            ],
            "description": "Classification summary aligned with public classified updates. The type is always `privateUpdate`."
          },
          "parties": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PrivateUpdatePartyRolesDto"
            },
            "description": "Parties disclosed by the verdict and the roles in which they were disclosed."
          },
          "values": {
            "type": "array",
            "items": {},
            "description": "Always empty because a verdict does not disclose transaction effects or amounts."
          },
          "rawTransactionData": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PrivateUpdateRawDataDto"
              }
            ],
            "description": "Verdict identifiers and timestamps, plus available traffic and Featured App activity."
          }
        },
        "additionalProperties": false,
        "description": "An accepted Canton transaction represented by a finalized verdict but not by a public transaction update."
      },
      "PrivateUpdatePartyDto": {
        "required": [
          "address"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Optional public display name. Null when no name is available.",
            "nullable": true
          },
          "address": {
            "minLength": 1,
            "type": "string",
            "description": "Full Canton party ID."
          }
        },
        "additionalProperties": false,
        "description": "Public identity fields for a party disclosed by the verdict."
      },
      "PrivateUpdatePartyRolesDto": {
        "required": [
          "party",
          "roles"
        ],
        "type": "object",
        "properties": {
          "party": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PrivateUpdatePartyDto"
              }
            ],
            "description": "Canton party disclosed by the verdict."
          },
          "roles": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Sorted role list. Values can include `submitter`, `informee`, `confirmer`, and `featuredAppProvider`. A confirmer was listed among the verdict's quorum candidates; this does not prove an individual vote."
          }
        },
        "additionalProperties": false
      },
      "PrivateUpdateRawDataDto": {
        "required": [
          "updateId"
        ],
        "type": "object",
        "properties": {
          "updateId": {
            "minLength": 1,
            "type": "string",
            "description": "Update ID shared by the finalized verdict and its submitted Canton transaction."
          },
          "finalizedAt": {
            "type": "string",
            "description": "Time the verdict was finalized, in ISO 8601 format. Null when the verdict does not provide a valid timestamp.",
            "format": "date-time",
            "nullable": true
          },
          "submittingParticipantUid": {
            "type": "string",
            "description": "Exact Canton participant UID that submitted the transaction. Null when unavailable.",
            "nullable": true
          },
          "traffic": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PrivateUpdateTrafficDto"
              }
            ],
            "description": "Sequencing traffic consumed by the transaction. Null when the verdict does not include traffic data.",
            "nullable": true
          },
          "appActivity": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PrivateUpdateAppActivityDto"
              }
            ],
            "description": "Featured App activity attributed to the transaction. Null when no activity was reported.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Identifiers, timing, traffic, and Featured App activity available from the verdict."
      },
      "PrivateUpdateTrafficDto": {
        "required": [
          "bytes"
        ],
        "type": "object",
        "properties": {
          "bytes": {
            "minLength": 1,
            "type": "string",
            "description": "Traffic consumed, in bytes, as an integer string."
          },
          "usdValue": {
            "type": "string",
            "description": "Traffic cost in USD as a decimal string. Null when a price is unavailable.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Sequencing traffic consumed by a private update."
      },
      "PrivateUpdatesPageDto": {
        "required": [
          "count",
          "hasMore",
          "limit",
          "party",
          "scannedCount",
          "updates"
        ],
        "type": "object",
        "properties": {
          "count": {
            "type": "integer",
            "description": "Number of private updates returned in this page.",
            "format": "int32"
          },
          "scannedCount": {
            "type": "integer",
            "description": "Number of verdicts evaluated for this page before privacy filtering.",
            "format": "int32"
          },
          "party": {
            "minLength": 1,
            "type": "string",
            "description": "Canton party requested."
          },
          "startTimestamp": {
            "type": "string",
            "description": "Inclusive start of the requested verdict record time window, in ISO 8601 format. Null when no start was supplied.",
            "format": "date-time",
            "nullable": true
          },
          "endTimestamp": {
            "type": "string",
            "description": "Exclusive end of the requested verdict record time window, in ISO 8601 format. Null when no end was supplied.",
            "format": "date-time",
            "nullable": true
          },
          "limit": {
            "type": "integer",
            "description": "Maximum number of verdicts evaluated for this page.",
            "format": "int32"
          },
          "hasMore": {
            "type": "boolean",
            "description": "True when more verdicts remain to be evaluated, even if this page's `updates` list is empty."
          },
          "nextCursor": {
            "type": "string",
            "description": "Opaque cursor for the next page. Null when `hasMore` is false.",
            "nullable": true
          },
          "nextPageUrl": {
            "type": "string",
            "description": "Complete URL for the next page. Null when `hasMore` is false.",
            "nullable": true
          },
          "updates": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PrivateUpdateDto"
            },
            "description": "Private updates found among the verdicts evaluated for this page."
          }
        },
        "additionalProperties": false,
        "description": "A sparse page of private updates. `maxPageSize` sets an upper bound on returned updates, so `updates` can contain fewer entries while `nextCursor` still advances."
      },
      "ProblemDetails": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "nullable": true
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "status": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "detail": {
            "type": "string",
            "nullable": true
          },
          "instance": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": {}
      }
    }
  }
}
```