OpenAPI Reference
Details and history
Endpoint overview for the JSON Ledger API OpenAPI surface, built from versioned release snapshots.
Endpoints
Select an OpenAPI operation from the sidebar for request and response details. This page summarizes endpoint lifecycle changes across the configured Ledger API versions./v2/commands/submit-and-wait
POST: Submits a single composite command and waits for its result. Propagates the gRPC error of failed submissions including Daml interpretation errors.
/v2/commands/submit-and-wait-for-transaction
POST: Submits a single composite command, waits for its result, and returns the transaction. Propagates the gRPC error of failed submissions including Daml interpretation errors.
/v2/commands/submit-and-wait-for-reassignment
POST: Submits a single composite reassignment command, waits for its result, and returns the reassignment. Propagates the gRPC error of failed submission.
/v2/commands/submit-and-wait-for-transaction-tree
POST: Submit a batch of commands and wait for the transaction trees response. Provided for backwards compatibility, it will be removed in the Canton version 3.5.0, use submit-and-wait-for…
/v2/commands/async/submit
POST: Submit a single composite command.
/v2/commands/async/submit-reassignment
POST: Submit a single reassignment.
/v2/commands/completions
POST: Query completions list (blocking call) Subscribe to command completion events. Notice: This endpoint should be used for small results set. When number of results exceeded node confi…
/v2/events/events-by-contract-id
POST: Get the create and the consuming exercise event for the contract with the provided ID. No events will be returned for contracts that have been pruned because they have already been…
/v2/version
GET: Read the Ledger API version
/v2/dars/validate
POST: Validates the DAR and checks the upgrade compatibility of the DAR’s packages with the set of the already vetted packages on the target vetting synchronizer. See ValidateDarFileReque…
/v2/dars
POST: Upload a DAR to the participant node
/v2/packages
GET: Returns the identifiers of all supported packages.; POST: Behaves the same as /dars. This endpoint will be deprecated and removed in a future release. Upload a DAR file to the partic…
/v2/packages/{package-id}
GET: Returns the contents of a single package.
/v2/packages/{package-id}/status
GET: Returns the status of a single package.
/v2/package-vetting
GET: Lists which participant node vetted what packages on which synchronizer. This endpoint (GET /package-vetting) is deprecated and will be removed in a future release. Please use POST /…
/v2/package-vetting/list
POST: Lists which participant node vetted what packages on which synchronizer. Can be called by any authenticated user.
/v2/package-vetting/update
POST: Update the vetted packages of this participant
/v2/parties
GET: List the parties known by the participant. The list returned contains parties whose ledger access is facilitated by the participant and the ones maintained elsewhere.; POST: Allocate…
/v2/parties/external/allocate
POST: The external party must be hosted (at least) on this node with either confirmation or observation permissions It can optionally be hosted on other nodes (then called a multi-hosted…
/v2/parties/participant-id
GET: Return the identifier of the participant. All horizontally scaled replicas should return the same id. daml-on-kv-ledger: returns an identifier supplied on command line at launch time…
/v2/parties/{party}
GET: Get the party details of the given parties. Only known parties will be returned in the list.; PATCH: Update selected modifiable participant-local attributes of a party details resour…
/v2/parties/external/generate-topology
POST: You may use this endpoint to generate the common external topology transactions which can be signed externally and uploaded as part of the allocate party process Note that this requ…
/v2/state/active-contracts
POST: Query active contracts list (blocking call). Querying active contracts is an expensive operation and if possible should not be repeated often. Consider querying active contracts ini…
/v2/state/active-contracts-page
GET: Returns a page of the snapshot of the active contracts and incomplete (un)assignments at a ledger offset. Once all pages are fetched by repeated calls to GetActiveContractsPage,…
/v2/state/connected-synchronizers
GET: Get the list of connected synchronizers at the time of the query.
/v2/state/ledger-end
GET: Get the current ledger end. Subscriptions started with the returned offset will serve events after this RPC was called.
/v2/state/latest-pruned-offsets
GET: Get the latest successfully pruned ledger offsets
/v2/updates
POST: Read the ledger’s filtered update stream for the specified contents and filters. It returns the event types in accordance with the stream contents selected. Also the selection crite…
/v2/updates/flats
POST: Query flat transactions update list (blocking call). Provided for backwards compatibility, it will be removed in the Canton version 3.5.0, use v2/updates instead. Notice: This endpo…
/v2/updates/trees
POST: Query update transactions tree list (blocking call). Provided for backwards compatibility, it will be removed in the Canton version 3.5.0, use v2/updates instead. Notice: This endpo…
/v2/updates/transaction-tree-by-offset/{offset}
GET: Get transaction tree by offset. Provided for backwards compatibility, it will be removed in the Canton version 3.5.0, use v2/updates/update-by-offset instead.
/v2/updates/transaction-by-offset
POST: Get transaction by offset. Provided for backwards compatibility, it will be removed in the Canton version 3.5.0, use v2/updates/update-by-offset instead.
/v2/updates/update-by-offset
POST: Lookup an update by its offset. If there is no update with this offset, or all the events are filtered, an UPDATE_NOT_FOUND error will be raised.
/v2/updates/transaction-by-id
POST: Get transaction by id. Provided for backwards compatibility, it will be removed in the Canton version 3.5.0, use v2/updates/update-by-id instead.
/v2/updates/update-by-id
POST: Lookup an update by its ID. If there is no update with this ID, or all the events are filtered, an UPDATE_NOT_FOUND error will be raised.
/v2/updates/transaction-tree-by-id/{update-id}
GET: Get transaction tree by id. Provided for backwards compatibility, it will be removed in the Canton version 3.5.0, use v2/updates/update-by-id instead.
/v2/updates/get-updates-page
POST: Read a page of ledger’s filtered updates. It returns the event types in accordance with the specified contents and filters. Additionally, the selection criteria for individual event…
/v2/users
GET: List all existing users.; POST: Create a new user.
/v2/users/{user-id}
GET: Get the user data of a specific user or the authenticated user.; DELETE: Delete an existing user and all its rights.; PATCH: Update selected modifiable attribute of a user resource d…
/v2/authenticated-user
GET: Get the user data of the current authenticated user.
/v2/users/{user-id}/rights
GET: List the set of all rights granted to a user.; POST: Grant rights to a user. Granting rights does not affect the resource version of the corresponding user.; PATCH: Revoke rights fro…
/v2/users/{user-id}/identity-provider-id
PATCH: Update the assignment of a user from one IDP to another.
/v2/idps
GET: List all existing identity provider configurations.; POST: Create a new identity provider configuration. The request will fail if the maximum allowed number of separate configuration…
/v2/idps/{idp-id}
GET: Get the identity provider configuration data by id.; DELETE: Delete an existing identity provider configuration.; PATCH: Update selected modifiable attribute of an identity provider…
/v2/interactive-submission/prepare
POST: Requires readAs scope for the submitting party when LAPI User authorization is enabled
/v2/interactive-submission/execute
POST: Execute a prepared submission asynchronously on the ledger. Requires actAs or executeAs scope for the submitting party when LAPI User authorization is enabled Requires a signa…
/v2/interactive-submission/executeAndWait
POST: Similar to ExecuteSubmission but synchronously wait for the completion of the transaction
/v2/interactive-submission/executeAndWaitForTransaction
POST: Similar to ExecuteSubmissionAndWait but additionally returns the transaction
/v2/interactive-submission/preferred-package-version
GET: A preferred package is the highest-versioned package for a provided package-name that is vetted by all the participants hosting the provided parties. Ledger API clients should use th…
/v2/interactive-submission/preferred-packages
POST: 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 th…
/livez
GET: Checks if the service is alive
/readyz
GET: Checks if the service is ready to serve requests
/v2/contracts/contract-by-id
POST: Looking up contract data by contract ID. This endpoint is experimental / alpha, therefore no backwards compatibility is guaranteed. This endpoint must not be used to look up contrac…