Skip to main content
POST

JSON Ledger API

Compute the preferred packages for the vetting requirements in the request

OpenAPISince 3.4Changed 3.5
Compute the preferred packages for the vetting requirements in the request. A preferred package is the highest-versioned package for a provided package-name that is vetted by all the participants hosting the provided parties.

Protocol Details

Operation IDpostV2Interactive-submissionPreferred-packages
AuthenticationBearer token
Published3.5

Inputs

Request body

application/json
object[]
required
OpenAPI type: PackageVettingRequirement[].The package-name vetting requirements for which the preferred packages should be resolved. Generally it is enough to provide the requirements for the intended command’s root package-names. Additional package-name requirements can be provided when additional Daml transaction informees need to use package dependencies of the command’s root packages. Required: must be non-empty
string
The synchronizer whose vetting state should be used for resolving this query. If not specified, the vetting states of all synchronizers to which the participant is connected are used. Optional
string
The timestamp at which the package vetting validity should be computed on the latest topology snapshot as seen by the participant. If not provided, the participant’s current clock time is used. Optional

Outputs

200

application/json
PackageReference[]
required
The package references of the preferred packages. Must contain one package reference for each requested package-name. If you build command submissions whose content depends on the returned preferred packages, then we recommend submitting the preferred package-ids in the package_id_selection_preference of the command submission to avoid race conditions with concurrent changes of the on-ledger package vetting state. Required: must be non-empty
string
required
The synchronizer for which the package preferences are computed. If the synchronizer_id was specified in the request, then it matches the request synchronizer_id. Required

400

text/plain
string
required

default

application/json
string
required
string
required
string
string
Map_String
required
Tuple2_String_String[]
integer (int32)
required
integer (int32)
string
boolean

History

Changed3.5

The POST /v2/interactive-submission/preferred-packages operation changed in this snapshot.

Introduced3.4