Skip to main content
POST
/
v2
/
package-vetting
/
update
/v2/package-vetting/update
curl --request POST \
  --url https://api.example.com/v2/package-vetting/update \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "changes": [
    {
      "operation": {
        "Empty": {}
      }
    }
  ],
  "dryRun": true,
  "synchronizerId": "<string>",
  "expectedTopologySerial": {
    "serial": {
      "Empty": {}
    }
  },
  "updateVettedPackagesForceFlags": [
    "UPDATE_VETTED_PACKAGES_FORCE_FLAG_UNSPECIFIED"
  ]
}
'
{
  "newVettedPackages": {
    "packages": [
      {
        "packageId": "<string>",
        "validFromInclusive": "<string>",
        "validUntilExclusive": "<string>",
        "packageName": "<string>",
        "packageVersion": "<string>"
      }
    ],
    "participantId": "<string>",
    "synchronizerId": "<string>",
    "topologySerial": 123
  },
  "pastVettedPackages": {
    "packages": [
      {
        "packageId": "<string>",
        "validFromInclusive": "<string>",
        "validUntilExclusive": "<string>",
        "packageName": "<string>",
        "packageVersion": "<string>"
      }
    ],
    "participantId": "<string>",
    "synchronizerId": "<string>",
    "topologySerial": 123
  }
}

Documentation Index

Fetch the complete documentation index at: https://docs.canton.network/llms.txt

Use this file to discover all available pages before exploring further.

Authorizations

Authorization
string
header
required

Ledger API standard JWT token

Body

application/json
changes
VettedPackagesChange · object[]
required

Changes to apply to the current vetting state of the participant on the specified synchronizer. The changes are applied in order. Any package not changed will keep their previous vetting state.

Required: must be non-empty

dryRun
boolean

If dry_run is true, then the changes are only prepared, but not applied. If a request would trigger an error when run (e.g. TOPOLOGY_DEPENDENCIES_NOT_VETTED), it will also trigger an error when dry_run.

Use this flag to preview a change before applying it. Defaults to false.

Optional

synchronizerId
string

If set, the requested changes will take place on the specified synchronizer. If synchronizer_id is unset and the participant is only connected to a single synchronizer, that synchronizer will be used by default. If synchronizer_id is unset and the participant is connected to multiple synchronizers, the request will error out with PACKAGE_SERVICE_CANNOT_AUTODETECT_SYNCHRONIZER.

Optional

expectedTopologySerial
PriorTopologySerial · object

The serial of the last VettedPackages topology transaction of this participant and on this synchronizer.

Execution of the request fails if this is not correct. Use this to guard against concurrent changes.

If left unspecified, no validation is done against the last transaction's serial.

Optional

updateVettedPackagesForceFlags
enum<string>[]

Controls whether potentially unsafe vetting updates are allowed.

Optional: can be empty

Available options:
UPDATE_VETTED_PACKAGES_FORCE_FLAG_UNSPECIFIED,
UPDATE_VETTED_PACKAGES_FORCE_FLAG_ALLOW_VET_INCOMPATIBLE_UPGRADES,
UPDATE_VETTED_PACKAGES_FORCE_FLAG_ALLOW_UNVETTED_DEPENDENCIES

Response

newVettedPackages
VettedPackages · object
required

All vetted packages on this participant and synchronizer, after the specified changes.

Required

pastVettedPackages
VettedPackages · object

All vetted packages on this participant and synchronizer, before the specified changes. Empty if no vetting state existed beforehand.

Not populated if no vetted topology state exists prior to the update.

Optional