Ledger API
<span class="x2mdx-ref-breadcrumb-separator">›</span>
<a href="/docs/canton/reference-grpc-ledger-api-reference-details">gRPC API</a>
<span class="x2mdx-ref-breadcrumb-separator">›</span>
<a href="/docs/canton/reference-grpc-ledger-api-reference-com-daml-ledger-api-v2">v2</a>
<span class="x2mdx-ref-breadcrumb-separator">›</span>
<span>ListVettedPackages</span>
</div>
<div class="x2mdx-ref-hero">
<p class="x2mdx-ref-eyebrow">com.daml.ledger.api.v2</p>
<h1 class="x2mdx-ref-title">ListVettedPackages</h1>
<div class="x2mdx-ref-badges">
<span class="x2mdx-ref-badge x2mdx-ref-badge--protocol">gRPC</span>
<span class="x2mdx-ref-badge x2mdx-ref-badge--added">Since 3.4.4</span>
</div>
</div>
<div class="x2mdx-ref-operation-bar">
<span class="x2mdx-ref-operation-method x2mdx-ref-operation-method--rpc">RPC</span>
<code>/com.daml.ledger.api.v2.PackageService/ListVettedPackages</code>
</div>
## Protocol Details
<dl class="x2mdx-ref-meta-grid">
<div class="x2mdx-ref-meta-item">
<dt>Protocol</dt>
<dd>gRPC</dd>
</div>
<div class="x2mdx-ref-meta-item">
<dt>Service</dt>
<dd>PackageService</dd>
</div>
<div class="x2mdx-ref-meta-item">
<dt>RPC</dt>
<dd>ListVettedPackages</dd>
</div>
<div class="x2mdx-ref-meta-item">
<dt>Client stream</dt>
<dd>No</dd>
</div>
<div class="x2mdx-ref-meta-item">
<dt>Server stream</dt>
<dd>No</dd>
</div>
</dl>
## Inputs
<div class="x2mdx-ref-panel">
<div class="x2mdx-ref-panel-head">
<h3>ListVettedPackagesRequest</h3>
</div>
<dl class="x2mdx-ref-meta-grid">
<div class="x2mdx-ref-meta-item">
<dt>Message</dt>
<dd>com.daml.ledger.api.v2.ListVettedPackagesRequest</dd>
</div>
<div class="x2mdx-ref-meta-item">
<dt>Client stream</dt>
<dd>No</dd>
</div>
</dl>
<div class="x2mdx-ref-fields">
<div class="x2mdx-ref-field-row">
<div class="x2mdx-ref-field-main">
<code class="x2mdx-ref-field-name">package\_metadata\_filter</code>
<span class="x2mdx-ref-type-badge">PackageMetadataFilter</span>
</div>
</div>
<div class="x2mdx-ref-field-row">
<div class="x2mdx-ref-field-main">
<code class="x2mdx-ref-field-name">topology\_state\_filter</code>
<span class="x2mdx-ref-type-badge">TopologyStateFilter</span>
</div>
</div>
<div class="x2mdx-ref-field-row">
<div class="x2mdx-ref-field-main">
<code class="x2mdx-ref-field-name">page\_token</code>
<span class="x2mdx-ref-type-badge">string</span>
</div>
</div>
<div class="x2mdx-ref-field-row">
<div class="x2mdx-ref-field-main">
<code class="x2mdx-ref-field-name">page\_size</code>
<span class="x2mdx-ref-type-badge">uint32</span>
</div>
</div>
</div>
</div>
## Outputs
<div class="x2mdx-ref-panel">
<div class="x2mdx-ref-panel-head">
<h3>ListVettedPackagesResponse</h3>
</div>
<dl class="x2mdx-ref-meta-grid">
<div class="x2mdx-ref-meta-item">
<dt>Message</dt>
<dd>com.daml.ledger.api.v2.ListVettedPackagesResponse</dd>
</div>
<div class="x2mdx-ref-meta-item">
<dt>Server stream</dt>
<dd>No</dd>
</div>
</dl>
<div class="x2mdx-ref-fields">
<div class="x2mdx-ref-field-row">
<div class="x2mdx-ref-field-main">
<code class="x2mdx-ref-field-name">vetted\_packages</code>
<span class="x2mdx-ref-type-badge">repeated VettedPackages</span>
</div>
</div>
<div class="x2mdx-ref-field-row">
<div class="x2mdx-ref-field-main">
<code class="x2mdx-ref-field-name">next\_page\_token</code>
<span class="x2mdx-ref-type-badge">string</span>
</div>
</div>
</div>
</div>
## Lifecycle Changes
<div class="x2mdx-ref-change-list">
<div class="x2mdx-ref-change-item">
<span class="x2mdx-ref-change-version">3.4.4</span>
<span class="x2mdx-ref-change-detail">introduced</span>
</div>
</div>
## Related Schemas
<AccordionGroup>
<Accordion title="com.daml.ledger.api.v2.ListVettedPackagesRequest">
<div class="x2mdx-ref-schema" id="schema-com-daml-ledger-api-v2-listvettedpackagesrequest">
<div class="x2mdx-ref-fields">
<div class="x2mdx-ref-field-row">
<div class="x2mdx-ref-field-main">
<code class="x2mdx-ref-field-name">package\_metadata\_filter</code>
<span class="x2mdx-ref-type-badge">PackageMetadataFilter</span>
</div>
</div>
<div class="x2mdx-ref-field-row">
<div class="x2mdx-ref-field-main">
<code class="x2mdx-ref-field-name">topology\_state\_filter</code>
<span class="x2mdx-ref-type-badge">TopologyStateFilter</span>
</div>
</div>
<div class="x2mdx-ref-field-row">
<div class="x2mdx-ref-field-main">
<code class="x2mdx-ref-field-name">page\_token</code>
<span class="x2mdx-ref-type-badge">string</span>
</div>
</div>
<div class="x2mdx-ref-field-row">
<div class="x2mdx-ref-field-main">
<code class="x2mdx-ref-field-name">page\_size</code>
<span class="x2mdx-ref-type-badge">uint32</span>
</div>
</div>
</div>
</div>
</Accordion>
<Accordion title="com.daml.ledger.api.v2.PackageMetadataFilter">
<div class="x2mdx-ref-schema" id="schema-com-daml-ledger-api-v2-packagemetadatafilter">
<div class="x2mdx-ref-fields">
<div class="x2mdx-ref-field-row">
<div class="x2mdx-ref-field-main">
<code class="x2mdx-ref-field-name">package\_ids</code>
<span class="x2mdx-ref-type-badge">repeated string</span>
</div>
</div>
<div class="x2mdx-ref-field-row">
<div class="x2mdx-ref-field-main">
<code class="x2mdx-ref-field-name">package\_name\_prefixes</code>
<span class="x2mdx-ref-type-badge">repeated string</span>
</div>
</div>
</div>
</div>
</Accordion>
<Accordion title="com.daml.ledger.api.v2.TopologyStateFilter">
<div class="x2mdx-ref-schema" id="schema-com-daml-ledger-api-v2-topologystatefilter">
<div class="x2mdx-ref-fields">
<div class="x2mdx-ref-field-row">
<div class="x2mdx-ref-field-main">
<code class="x2mdx-ref-field-name">participant\_ids</code>
<span class="x2mdx-ref-type-badge">repeated string</span>
</div>
</div>
<div class="x2mdx-ref-field-row">
<div class="x2mdx-ref-field-main">
<code class="x2mdx-ref-field-name">synchronizer\_ids</code>
<span class="x2mdx-ref-type-badge">repeated string</span>
</div>
</div>
</div>
</div>
</Accordion>
<Accordion title="com.daml.ledger.api.v2.ListVettedPackagesResponse">
<div class="x2mdx-ref-schema" id="schema-com-daml-ledger-api-v2-listvettedpackagesresponse">
<div class="x2mdx-ref-fields">
<div class="x2mdx-ref-field-row">
<div class="x2mdx-ref-field-main">
<code class="x2mdx-ref-field-name">vetted\_packages</code>
<span class="x2mdx-ref-type-badge">repeated VettedPackages</span>
</div>
</div>
<div class="x2mdx-ref-field-row">
<div class="x2mdx-ref-field-main">
<code class="x2mdx-ref-field-name">next\_page\_token</code>
<span class="x2mdx-ref-type-badge">string</span>
</div>
</div>
</div>
</div>
</Accordion>
<Accordion title="com.daml.ledger.api.v2.VettedPackages">
<div class="x2mdx-ref-schema" id="schema-com-daml-ledger-api-v2-vettedpackages">
<div class="x2mdx-ref-fields">
<div class="x2mdx-ref-field-row">
<div class="x2mdx-ref-field-main">
<code class="x2mdx-ref-field-name">packages</code>
<span class="x2mdx-ref-type-badge">repeated VettedPackage</span>
</div>
</div>
<div class="x2mdx-ref-field-row">
<div class="x2mdx-ref-field-main">
<code class="x2mdx-ref-field-name">participant\_id</code>
<span class="x2mdx-ref-type-badge">string</span>
</div>
</div>
<div class="x2mdx-ref-field-row">
<div class="x2mdx-ref-field-main">
<code class="x2mdx-ref-field-name">synchronizer\_id</code>
<span class="x2mdx-ref-type-badge">string</span>
</div>
</div>
<div class="x2mdx-ref-field-row">
<div class="x2mdx-ref-field-main">
<code class="x2mdx-ref-field-name">topology\_serial</code>
<span class="x2mdx-ref-type-badge">uint32</span>
</div>
</div>
</div>
</div>
</Accordion>
<Accordion title="com.daml.ledger.api.v2.VettedPackage">
<div class="x2mdx-ref-schema" id="schema-com-daml-ledger-api-v2-vettedpackage">
<div class="x2mdx-ref-fields">
<div class="x2mdx-ref-field-row">
<div class="x2mdx-ref-field-main">
<code class="x2mdx-ref-field-name">package\_id</code>
<span class="x2mdx-ref-type-badge">string</span>
</div>
</div>
<div class="x2mdx-ref-field-row">
<div class="x2mdx-ref-field-main">
<code class="x2mdx-ref-field-name">valid\_from\_inclusive</code>
<span class="x2mdx-ref-type-badge">Timestamp</span>
</div>
</div>
<div class="x2mdx-ref-field-row">
<div class="x2mdx-ref-field-main">
<code class="x2mdx-ref-field-name">valid\_until\_exclusive</code>
<span class="x2mdx-ref-type-badge">Timestamp</span>
</div>
</div>
<div class="x2mdx-ref-field-row">
<div class="x2mdx-ref-field-main">
<code class="x2mdx-ref-field-name">package\_name</code>
<span class="x2mdx-ref-type-badge">string</span>
</div>
</div>
<div class="x2mdx-ref-field-row">
<div class="x2mdx-ref-field-main">
<code class="x2mdx-ref-field-name">package\_version</code>
<span class="x2mdx-ref-type-badge">string</span>
</div>
</div>
</div>
</div>
</Accordion>
</AccordionGroup>
grpcurl
```bash grpcurl theme={"theme":{"light":"github-light","dark":"github-dark"}}
# Add -plaintext if the server is not using TLS.
grpcurl \
-d @ \
<HOST:PORT> \
com.daml.ledger.api.v2.PackageService/ListVettedPackages <<'EOF'
{
"packageMetadataFilter": {
"packageIds": [
"string"
],
"packageNamePrefixes": [
"string"
]
},
"topologyStateFilter": {
"participantIds": [
"string"
],
"synchronizerIds": [
"string"
]
},
"pageToken": "string",
"pageSize": 0
}
EOF
```
</div>
</div>
<div className="x2mdx-ref-rail-panel">
<div className="x2mdx-ref-rail-code x2mdx-ref-rail-code--response">
<div className="x2mdx-ref-rail-head">
<span className="x2mdx-ref-rail-heading">OK</span>
<span className="x2mdx-ref-response-label">application/json</span>
</div>
```json OK theme={"theme":{"light":"github-light","dark":"github-dark"}}
{
"vettedPackages": [
{
"packages": [
{
"packageId": "string",
"validFromInclusive": "string",
"validUntilExclusive": "string",
"packageName": "string",
"packageVersion": "string"
}
],
"participantId": "string",
"synchronizerId": "string",
"topologySerial": 0
}
],
"nextPageToken": "string"
}
```
</div>
</div>
Mirrored from Canton Network official documentation (CC-BY-4.0) by CC Privacy Club for learning purposes.