openapi: 3.0.3 info: title: JSON Ledger API HTTP endpoints version: 3.4.9 paths: /v2/commands/submit-and-wait: post: description: Submit a batch of commands and wait for the completion details operationId: postV2CommandsSubmit-and-wait requestBody: content: application/json: schema: $ref: '#/components/schemas/JsCommands' required: true responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/SubmitAndWaitResponse' '400': description: 'Invalid value for: body, Invalid value for: headers' content: text/plain: schema: type: string default: description: '' content: application/json: schema: $ref: '#/components/schemas/JsCantonError' security: - httpAuth: [] - apiKeyAuth: [] /v2/commands/submit-and-wait-for-transaction: post: description: Submit a batch of commands and wait for the transaction response operationId: postV2CommandsSubmit-and-wait-for-transaction requestBody: content: application/json: schema: $ref: '#/components/schemas/JsSubmitAndWaitForTransactionRequest' required: true responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/JsSubmitAndWaitForTransactionResponse' '400': description: 'Invalid value for: body, Invalid value for: headers' content: text/plain: schema: type: string default: description: '' content: application/json: schema: $ref: '#/components/schemas/JsCantonError' security: - httpAuth: [] - apiKeyAuth: [] /v2/commands/submit-and-wait-for-reassignment: post: description: Submit a batch of reassignment commands and wait for the reassignment response operationId: postV2CommandsSubmit-and-wait-for-reassignment requestBody: content: application/json: schema: $ref: '#/components/schemas/SubmitAndWaitForReassignmentRequest' required: true responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/JsSubmitAndWaitForReassignmentResponse' '400': description: 'Invalid value for: body, Invalid value for: headers' content: text/plain: schema: type: string default: description: '' content: application/json: schema: $ref: '#/components/schemas/JsCantonError' security: - httpAuth: [] - apiKeyAuth: [] /v2/commands/submit-and-wait-for-transaction-tree: post: description: 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-transaction instead. operationId: postV2CommandsSubmit-and-wait-for-transaction-tree requestBody: content: application/json: schema: $ref: '#/components/schemas/JsCommands' required: true responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/JsSubmitAndWaitForTransactionTreeResponse' '400': description: 'Invalid value for: body, Invalid value for: headers' content: text/plain: schema: type: string default: description: '' content: application/json: schema: $ref: '#/components/schemas/JsCantonError' deprecated: true security: - httpAuth: [] - apiKeyAuth: [] /v2/commands/async/submit: post: description: Submit a command asynchronously operationId: postV2CommandsAsyncSubmit requestBody: content: application/json: schema: $ref: '#/components/schemas/JsCommands' required: true responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/SubmitResponse' '400': description: 'Invalid value for: body, Invalid value for: headers' content: text/plain: schema: type: string default: description: '' content: application/json: schema: $ref: '#/components/schemas/JsCantonError' security: - httpAuth: [] - apiKeyAuth: [] /v2/commands/async/submit-reassignment: post: description: Submit reassignment command asynchronously operationId: postV2CommandsAsyncSubmit-reassignment requestBody: content: application/json: schema: $ref: '#/components/schemas/SubmitReassignmentRequest' required: true responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/SubmitReassignmentResponse' '400': description: 'Invalid value for: body, Invalid value for: headers' content: text/plain: schema: type: string default: description: '' content: application/json: schema: $ref: '#/components/schemas/JsCantonError' security: - httpAuth: [] - apiKeyAuth: [] /v2/commands/completions: post: description: |- Query completions list (blocking call) Notice: This endpoint should be used for small results set. When number of results exceeded node configuration limit (`http-list-max-elements-limit`) there will be an error (`413 Content Too Large`) returned. Increasing this limit may lead to performance issues and high memory consumption. Consider using websockets (asyncapi) for better efficiency with larger results. operationId: postV2CommandsCompletions parameters: - name: limit in: query description: maximum number of elements to return, this param is ignored if is bigger than server setting required: false schema: type: integer format: int64 - name: stream_idle_timeout_ms in: query description: timeout to complete and send result if no new elements are received (for open ended streams) required: false schema: type: integer format: int64 requestBody: content: application/json: schema: $ref: '#/components/schemas/CompletionStreamRequest' required: true responses: '200': description: '' content: application/json: schema: type: array items: $ref: '#/components/schemas/CompletionStreamResponse' '400': description: 'Invalid value for: body, Invalid value for: query parameter limit, Invalid value for: query parameter stream_idle_timeout_ms, Invalid value for: headers' content: text/plain: schema: type: string default: description: '' content: application/json: schema: $ref: '#/components/schemas/JsCantonError' security: - httpAuth: [] - apiKeyAuth: [] /v2/events/events-by-contract-id: post: description: Get events by contract Id operationId: postV2EventsEvents-by-contract-id requestBody: content: application/json: schema: $ref: '#/components/schemas/GetEventsByContractIdRequest' required: true responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/JsGetEventsByContractIdResponse' '400': description: 'Invalid value for: body, Invalid value for: headers' content: text/plain: schema: type: string default: description: '' content: application/json: schema: $ref: '#/components/schemas/JsCantonError' security: - httpAuth: [] - apiKeyAuth: [] /v2/version: get: description: Get the version details of the participant node operationId: getV2Version responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/GetLedgerApiVersionResponse' '400': description: 'Invalid value for: headers' content: text/plain: schema: type: string default: description: '' content: application/json: schema: $ref: '#/components/schemas/JsCantonError' security: - httpAuth: [] - apiKeyAuth: [] /v2/dars/validate: post: description: Validates a DAR for upgrade-compatibility against the current vetting state on the target synchronizer operationId: postV2DarsValidate parameters: - name: synchronizerId in: query required: false schema: type: string requestBody: content: application/octet-stream: schema: type: string format: binary required: true responses: '200': description: '' '400': description: 'Invalid value for: body, Invalid value for: query parameter synchronizerId, Invalid value for: headers' content: text/plain: schema: type: string default: description: '' content: application/json: schema: $ref: '#/components/schemas/JsCantonError' security: - httpAuth: [] - apiKeyAuth: [] /v2/dars: post: description: Upload a DAR to the participant node operationId: postV2Dars parameters: - name: vetAllPackages in: query required: false schema: type: boolean - name: synchronizerId in: query required: false schema: type: string requestBody: content: application/octet-stream: schema: type: string format: binary required: true responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/UploadDarFileResponse' '400': description: 'Invalid value for: body, Invalid value for: query parameter vetAllPackages, Invalid value for: query parameter synchronizerId, Invalid value for: headers' content: text/plain: schema: type: string default: description: '' content: application/json: schema: $ref: '#/components/schemas/JsCantonError' security: - httpAuth: [] - apiKeyAuth: [] /v2/packages: get: description: List all packages uploaded on the participant node operationId: getV2Packages responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/ListPackagesResponse' '400': description: 'Invalid value for: headers' content: text/plain: schema: type: string default: description: '' content: application/json: schema: $ref: '#/components/schemas/JsCantonError' security: - httpAuth: [] - apiKeyAuth: [] post: description: Upload a DAR to the participant node. Behaves the same as /dars. This endpoint will be deprecated and removed in a future release. operationId: postV2Packages parameters: - name: vetAllPackages in: query required: false schema: type: boolean - name: synchronizerId in: query required: false schema: type: string requestBody: content: application/octet-stream: schema: type: string format: binary required: true responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/UploadDarFileResponse' '400': description: 'Invalid value for: body, Invalid value for: query parameter vetAllPackages, Invalid value for: query parameter synchronizerId, Invalid value for: headers' content: text/plain: schema: type: string default: description: '' content: application/json: schema: $ref: '#/components/schemas/JsCantonError' security: - httpAuth: [] - apiKeyAuth: [] /v2/packages/{package-id}: get: description: Download the package for the requested package-id operationId: getV2PackagesPackage-id parameters: - name: package-id in: path required: true schema: type: string responses: '200': description: '' headers: Canton-Package-Hash: required: true schema: type: string content: application/octet-stream: schema: type: string format: binary '400': description: 'Invalid value for: headers' content: text/plain: schema: type: string default: description: '' content: application/json: schema: $ref: '#/components/schemas/JsCantonError' security: - httpAuth: [] - apiKeyAuth: [] /v2/packages/{package-id}/status: get: description: Get package status operationId: getV2PackagesPackage-idStatus parameters: - name: package-id in: path required: true schema: type: string responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/GetPackageStatusResponse' '400': description: 'Invalid value for: headers' content: text/plain: schema: type: string default: description: '' content: application/json: schema: $ref: '#/components/schemas/JsCantonError' security: - httpAuth: [] - apiKeyAuth: [] /v2/package-vetting: get: description: List vetted packages operationId: getV2Package-vetting requestBody: content: application/json: schema: $ref: '#/components/schemas/ListVettedPackagesRequest' required: true responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/ListVettedPackagesResponse' '400': description: 'Invalid value for: body, Invalid value for: headers' content: text/plain: schema: type: string default: description: '' content: application/json: schema: $ref: '#/components/schemas/JsCantonError' security: - httpAuth: [] - apiKeyAuth: [] post: description: Update vetted packages operationId: postV2Package-vetting requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateVettedPackagesRequest' required: true responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/UpdateVettedPackagesResponse' '400': description: 'Invalid value for: body, Invalid value for: headers' content: text/plain: schema: type: string default: description: '' content: application/json: schema: $ref: '#/components/schemas/JsCantonError' security: - httpAuth: [] - apiKeyAuth: [] /v2/parties: get: description: List all known parties. operationId: getV2Parties parameters: - name: pageSize in: query description: maximum number of elements in a returned page required: false schema: type: integer format: int32 - name: pageToken in: query description: token - to continue results from a given page, leave empty to start from the beginning of the list, obtain token from the result of previous page required: false schema: type: string responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/ListKnownPartiesResponse' '400': description: 'Invalid value for: query parameter pageSize, Invalid value for: query parameter pageToken, Invalid value for: headers' content: text/plain: schema: type: string default: description: '' content: application/json: schema: $ref: '#/components/schemas/JsCantonError' security: - httpAuth: [] - apiKeyAuth: [] post: description: Allocate a new party to the participant node operationId: postV2Parties requestBody: content: application/json: schema: $ref: '#/components/schemas/AllocatePartyRequest' required: true responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/AllocatePartyResponse' '400': description: 'Invalid value for: body, Invalid value for: headers' content: text/plain: schema: type: string default: description: '' content: application/json: schema: $ref: '#/components/schemas/JsCantonError' security: - httpAuth: [] - apiKeyAuth: [] /v2/parties/external/allocate: post: description: Allocate a new external party operationId: postV2PartiesExternalAllocate requestBody: content: application/json: schema: $ref: '#/components/schemas/AllocateExternalPartyRequest' required: true responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/AllocateExternalPartyResponse' '400': description: 'Invalid value for: body, Invalid value for: headers' content: text/plain: schema: type: string default: description: '' content: application/json: schema: $ref: '#/components/schemas/JsCantonError' security: - httpAuth: [] - apiKeyAuth: [] /v2/parties/participant-id: get: description: Get participant id operationId: getV2PartiesParticipant-id responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/GetParticipantIdResponse' '400': description: 'Invalid value for: headers' content: text/plain: schema: type: string default: description: '' content: application/json: schema: $ref: '#/components/schemas/JsCantonError' security: - httpAuth: [] - apiKeyAuth: [] /v2/parties/{party}: get: description: Get party details operationId: getV2PartiesParty parameters: - name: party in: path required: true schema: type: string - name: identity-provider-id in: query required: false schema: type: string - name: parties in: query required: false schema: type: array items: type: string responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/GetPartiesResponse' '400': description: 'Invalid value for: query parameter identity-provider-id, Invalid value for: query parameter parties, Invalid value for: headers' content: text/plain: schema: type: string default: description: '' content: application/json: schema: $ref: '#/components/schemas/JsCantonError' security: - httpAuth: [] - apiKeyAuth: [] patch: description: Allocate a new party to the participant node operationId: patchV2PartiesParty parameters: - name: party in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdatePartyDetailsRequest' required: true responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/UpdatePartyDetailsResponse' '400': description: 'Invalid value for: body, Invalid value for: headers' content: text/plain: schema: type: string default: description: '' content: application/json: schema: $ref: '#/components/schemas/JsCantonError' security: - httpAuth: [] - apiKeyAuth: [] /v2/parties/external/generate-topology: post: description: Generate a topology for an external party operationId: postV2PartiesExternalGenerate-topology requestBody: content: application/json: schema: $ref: '#/components/schemas/GenerateExternalPartyTopologyRequest' required: true responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/GenerateExternalPartyTopologyResponse' '400': description: 'Invalid value for: body, Invalid value for: headers' content: text/plain: schema: type: string default: description: '' content: application/json: schema: $ref: '#/components/schemas/JsCantonError' security: - httpAuth: [] - apiKeyAuth: [] /v2/state/active-contracts: post: description: |- 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 initially (for a given offset) and then repeatedly call one of `/v2/updates/...`endpoints to get subsequent modifications. You can also use websockets to get updates with better performance. Notice: This endpoint should be used for small results set. When number of results exceeded node configuration limit (`http-list-max-elements-limit`) there will be an error (`413 Content Too Large`) returned. Increasing this limit may lead to performance issues and high memory consumption. Consider using websockets (asyncapi) for better efficiency with larger results. operationId: postV2StateActive-contracts parameters: - name: limit in: query description: maximum number of elements to return, this param is ignored if is bigger than server setting required: false schema: type: integer format: int64 - name: stream_idle_timeout_ms in: query description: timeout to complete and send result if no new elements are received (for open ended streams) required: false schema: type: integer format: int64 requestBody: content: application/json: schema: $ref: '#/components/schemas/GetActiveContractsRequest' required: true responses: '200': description: '' content: application/json: schema: type: array items: $ref: '#/components/schemas/JsGetActiveContractsResponse' '400': description: 'Invalid value for: body, Invalid value for: query parameter limit, Invalid value for: query parameter stream_idle_timeout_ms, Invalid value for: headers' content: text/plain: schema: type: string default: description: '' content: application/json: schema: $ref: '#/components/schemas/JsCantonError' security: - httpAuth: [] - apiKeyAuth: [] /v2/state/connected-synchronizers: get: description: Get connected synchronizers operationId: getV2StateConnected-synchronizers parameters: - name: party in: query required: false schema: type: string - name: participantId in: query required: false schema: type: string - name: identityProviderId in: query required: false schema: type: string responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/GetConnectedSynchronizersResponse' '400': description: 'Invalid value for: query parameter party, Invalid value for: query parameter participantId, Invalid value for: query parameter identityProviderId, Invalid value for: headers' content: text/plain: schema: type: string default: description: '' content: application/json: schema: $ref: '#/components/schemas/JsCantonError' security: - httpAuth: [] - apiKeyAuth: [] /v2/state/ledger-end: get: description: Get ledger end operationId: getV2StateLedger-end responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/GetLedgerEndResponse' '400': description: 'Invalid value for: headers' content: text/plain: schema: type: string default: description: '' content: application/json: schema: $ref: '#/components/schemas/JsCantonError' security: - httpAuth: [] - apiKeyAuth: [] /v2/state/latest-pruned-offsets: get: description: Get latest pruned offsets operationId: getV2StateLatest-pruned-offsets responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/GetLatestPrunedOffsetsResponse' '400': description: 'Invalid value for: headers' content: text/plain: schema: type: string default: description: '' content: application/json: schema: $ref: '#/components/schemas/JsCantonError' security: - httpAuth: [] - apiKeyAuth: [] /v2/updates: post: description: |- Query updates list (blocking call) Notice: This endpoint should be used for small results set. When number of results exceeded node configuration limit (`http-list-max-elements-limit`) there will be an error (`413 Content Too Large`) returned. Increasing this limit may lead to performance issues and high memory consumption. Consider using websockets (asyncapi) for better efficiency with larger results. operationId: postV2Updates parameters: - name: limit in: query description: maximum number of elements to return, this param is ignored if is bigger than server setting required: false schema: type: integer format: int64 - name: stream_idle_timeout_ms in: query description: timeout to complete and send result if no new elements are received (for open ended streams) required: false schema: type: integer format: int64 requestBody: content: application/json: schema: $ref: '#/components/schemas/GetUpdatesRequest' required: true responses: '200': description: '' content: application/json: schema: type: array items: $ref: '#/components/schemas/JsGetUpdatesResponse' '400': description: 'Invalid value for: body, Invalid value for: query parameter limit, Invalid value for: query parameter stream_idle_timeout_ms, Invalid value for: headers' content: text/plain: schema: type: string default: description: '' content: application/json: schema: $ref: '#/components/schemas/JsCantonError' security: - httpAuth: [] - apiKeyAuth: [] /v2/updates/flats: post: description: |- 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 endpoint should be used for small results set. When number of results exceeded node configuration limit (`http-list-max-elements-limit`) there will be an error (`413 Content Too Large`) returned. Increasing this limit may lead to performance issues and high memory consumption. Consider using websockets (asyncapi) for better efficiency with larger results. operationId: postV2UpdatesFlats parameters: - name: limit in: query description: maximum number of elements to return, this param is ignored if is bigger than server setting required: false schema: type: integer format: int64 - name: stream_idle_timeout_ms in: query description: timeout to complete and send result if no new elements are received (for open ended streams) required: false schema: type: integer format: int64 requestBody: content: application/json: schema: $ref: '#/components/schemas/GetUpdatesRequest' required: true responses: '200': description: '' content: application/json: schema: type: array items: $ref: '#/components/schemas/JsGetUpdatesResponse' '400': description: 'Invalid value for: body, Invalid value for: query parameter limit, Invalid value for: query parameter stream_idle_timeout_ms, Invalid value for: headers' content: text/plain: schema: type: string default: description: '' content: application/json: schema: $ref: '#/components/schemas/JsCantonError' deprecated: true security: - httpAuth: [] - apiKeyAuth: [] /v2/updates/trees: post: description: |- 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 endpoint should be used for small results set. When number of results exceeded node configuration limit (`http-list-max-elements-limit`) there will be an error (`413 Content Too Large`) returned. Increasing this limit may lead to performance issues and high memory consumption. Consider using websockets (asyncapi) for better efficiency with larger results. operationId: postV2UpdatesTrees parameters: - name: limit in: query description: maximum number of elements to return, this param is ignored if is bigger than server setting required: false schema: type: integer format: int64 - name: stream_idle_timeout_ms in: query description: timeout to complete and send result if no new elements are received (for open ended streams) required: false schema: type: integer format: int64 requestBody: content: application/json: schema: $ref: '#/components/schemas/GetUpdatesRequest' required: true responses: '200': description: '' content: application/json: schema: type: array items: $ref: '#/components/schemas/JsGetUpdateTreesResponse' '400': description: 'Invalid value for: body, Invalid value for: query parameter limit, Invalid value for: query parameter stream_idle_timeout_ms, Invalid value for: headers' content: text/plain: schema: type: string default: description: '' content: application/json: schema: $ref: '#/components/schemas/JsCantonError' deprecated: true security: - httpAuth: [] - apiKeyAuth: [] /v2/updates/transaction-tree-by-offset/{offset}: get: description: 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. operationId: getV2UpdatesTransaction-tree-by-offsetOffset parameters: - name: offset in: path required: true schema: type: integer format: int64 - name: parties in: query required: false schema: type: array items: type: string responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/JsGetTransactionTreeResponse' '400': description: 'Invalid value for: path parameter offset, Invalid value for: query parameter parties, Invalid value for: headers' content: text/plain: schema: type: string default: description: '' content: application/json: schema: $ref: '#/components/schemas/JsCantonError' deprecated: true security: - httpAuth: [] - apiKeyAuth: [] /v2/updates/transaction-by-offset: post: description: 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. operationId: postV2UpdatesTransaction-by-offset requestBody: content: application/json: schema: $ref: '#/components/schemas/GetTransactionByOffsetRequest' required: true responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/JsGetTransactionResponse' '400': description: 'Invalid value for: body, Invalid value for: headers' content: text/plain: schema: type: string default: description: '' content: application/json: schema: $ref: '#/components/schemas/JsCantonError' deprecated: true security: - httpAuth: [] - apiKeyAuth: [] /v2/updates/update-by-offset: post: description: Get update by offset operationId: postV2UpdatesUpdate-by-offset requestBody: content: application/json: schema: $ref: '#/components/schemas/GetUpdateByOffsetRequest' required: true responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/JsGetUpdateResponse' '400': description: 'Invalid value for: body, Invalid value for: headers' content: text/plain: schema: type: string default: description: '' content: application/json: schema: $ref: '#/components/schemas/JsCantonError' security: - httpAuth: [] - apiKeyAuth: [] /v2/updates/transaction-by-id: post: description: 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. operationId: postV2UpdatesTransaction-by-id requestBody: content: application/json: schema: $ref: '#/components/schemas/GetTransactionByIdRequest' required: true responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/JsGetTransactionResponse' '400': description: 'Invalid value for: body, Invalid value for: headers' content: text/plain: schema: type: string default: description: '' content: application/json: schema: $ref: '#/components/schemas/JsCantonError' deprecated: true security: - httpAuth: [] - apiKeyAuth: [] /v2/updates/update-by-id: post: description: Get update by id operationId: postV2UpdatesUpdate-by-id requestBody: content: application/json: schema: $ref: '#/components/schemas/GetUpdateByIdRequest' required: true responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/JsGetUpdateResponse' '400': description: 'Invalid value for: body, Invalid value for: headers' content: text/plain: schema: type: string default: description: '' content: application/json: schema: $ref: '#/components/schemas/JsCantonError' security: - httpAuth: [] - apiKeyAuth: [] /v2/updates/transaction-tree-by-id/{update-id}: get: description: 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. operationId: getV2UpdatesTransaction-tree-by-idUpdate-id parameters: - name: update-id in: path required: true schema: type: string - name: parties in: query required: false schema: type: array items: type: string responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/JsGetTransactionTreeResponse' '400': description: 'Invalid value for: query parameter parties, Invalid value for: headers' content: text/plain: schema: type: string default: description: '' content: application/json: schema: $ref: '#/components/schemas/JsCantonError' deprecated: true security: - httpAuth: [] - apiKeyAuth: [] /v2/users: get: description: List all users. operationId: getV2Users parameters: - name: pageSize in: query description: maximum number of elements in a returned page required: false schema: type: integer format: int32 - name: pageToken in: query description: token - to continue results from a given page, leave empty to start from the beginning of the list, obtain token from the result of previous page required: false schema: type: string responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/ListUsersResponse' '400': description: 'Invalid value for: query parameter pageSize, Invalid value for: query parameter pageToken, Invalid value for: headers' content: text/plain: schema: type: string default: description: '' content: application/json: schema: $ref: '#/components/schemas/JsCantonError' security: - httpAuth: [] - apiKeyAuth: [] post: description: Create user. operationId: postV2Users requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateUserRequest' required: true responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/CreateUserResponse' '400': description: 'Invalid value for: body, Invalid value for: headers' content: text/plain: schema: type: string default: description: '' content: application/json: schema: $ref: '#/components/schemas/JsCantonError' security: - httpAuth: [] - apiKeyAuth: [] /v2/users/{user-id}: get: description: Get user details. operationId: getV2UsersUser-id parameters: - name: user-id in: path required: true schema: type: string - name: identity-provider-id in: query required: false schema: type: string responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/GetUserResponse' '400': description: 'Invalid value for: query parameter identity-provider-id, Invalid value for: headers' content: text/plain: schema: type: string default: description: '' content: application/json: schema: $ref: '#/components/schemas/JsCantonError' security: - httpAuth: [] - apiKeyAuth: [] delete: description: Delete user. operationId: deleteV2UsersUser-id parameters: - name: user-id in: path required: true schema: type: string responses: '200': description: '' content: application/json: schema: type: object '400': description: 'Invalid value for: headers' content: text/plain: schema: type: string default: description: '' content: application/json: schema: $ref: '#/components/schemas/JsCantonError' security: - httpAuth: [] - apiKeyAuth: [] patch: description: Update user. operationId: patchV2UsersUser-id parameters: - name: user-id in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateUserRequest' required: true responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/UpdateUserResponse' '400': description: 'Invalid value for: body, Invalid value for: headers' content: text/plain: schema: type: string default: description: '' content: application/json: schema: $ref: '#/components/schemas/JsCantonError' security: - httpAuth: [] - apiKeyAuth: [] /v2/authenticated-user: get: description: Get current user details (uses user for JWT). operationId: getV2Authenticated-user parameters: - name: identity-provider-id in: query required: false schema: type: string responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/GetUserResponse' '400': description: 'Invalid value for: query parameter identity-provider-id, Invalid value for: headers' content: text/plain: schema: type: string default: description: '' content: application/json: schema: $ref: '#/components/schemas/JsCantonError' security: - httpAuth: [] - apiKeyAuth: [] /v2/users/{user-id}/rights: get: description: List user rights. operationId: getV2UsersUser-idRights parameters: - name: user-id in: path required: true schema: type: string responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/ListUserRightsResponse' '400': description: 'Invalid value for: headers' content: text/plain: schema: type: string default: description: '' content: application/json: schema: $ref: '#/components/schemas/JsCantonError' security: - httpAuth: [] - apiKeyAuth: [] post: description: Grant user rights. operationId: postV2UsersUser-idRights parameters: - name: user-id in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/GrantUserRightsRequest' required: true responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/GrantUserRightsResponse' '400': description: 'Invalid value for: body, Invalid value for: headers' content: text/plain: schema: type: string default: description: '' content: application/json: schema: $ref: '#/components/schemas/JsCantonError' security: - httpAuth: [] - apiKeyAuth: [] patch: description: Revoke user rights. operationId: patchV2UsersUser-idRights parameters: - name: user-id in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/RevokeUserRightsRequest' required: true responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/RevokeUserRightsResponse' '400': description: 'Invalid value for: body, Invalid value for: headers' content: text/plain: schema: type: string default: description: '' content: application/json: schema: $ref: '#/components/schemas/JsCantonError' security: - httpAuth: [] - apiKeyAuth: [] /v2/users/{user-id}/identity-provider-id: patch: description: Update user identity provider. operationId: patchV2UsersUser-idIdentity-provider-id parameters: - name: user-id in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateUserIdentityProviderIdRequest' required: true responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/UpdateUserIdentityProviderIdResponse' '400': description: 'Invalid value for: body, Invalid value for: headers' content: text/plain: schema: type: string default: description: '' content: application/json: schema: $ref: '#/components/schemas/JsCantonError' security: - httpAuth: [] - apiKeyAuth: [] /v2/idps: get: description: List all identity provider configs operationId: getV2Idps responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/ListIdentityProviderConfigsResponse' '400': description: 'Invalid value for: headers' content: text/plain: schema: type: string default: description: '' content: application/json: schema: $ref: '#/components/schemas/JsCantonError' security: - httpAuth: [] - apiKeyAuth: [] post: description: Create identity provider configs operationId: postV2Idps requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateIdentityProviderConfigRequest' required: true responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/CreateIdentityProviderConfigResponse' '400': description: 'Invalid value for: body, Invalid value for: headers' content: text/plain: schema: type: string default: description: '' content: application/json: schema: $ref: '#/components/schemas/JsCantonError' security: - httpAuth: [] - apiKeyAuth: [] /v2/idps/{idp-id}: get: description: Get identity provider config operationId: getV2IdpsIdp-id parameters: - name: idp-id in: path required: true schema: type: string responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/GetIdentityProviderConfigResponse' '400': description: 'Invalid value for: headers' content: text/plain: schema: type: string default: description: '' content: application/json: schema: $ref: '#/components/schemas/JsCantonError' security: - httpAuth: [] - apiKeyAuth: [] delete: description: Delete identity provider config operationId: deleteV2IdpsIdp-id parameters: - name: idp-id in: path required: true schema: type: string responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/DeleteIdentityProviderConfigResponse' '400': description: 'Invalid value for: headers' content: text/plain: schema: type: string default: description: '' content: application/json: schema: $ref: '#/components/schemas/JsCantonError' security: - httpAuth: [] - apiKeyAuth: [] patch: description: Update identity provider config operationId: patchV2IdpsIdp-id parameters: - name: idp-id in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateIdentityProviderConfigRequest' required: true responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/UpdateIdentityProviderConfigResponse' '400': description: 'Invalid value for: body, Invalid value for: headers' content: text/plain: schema: type: string default: description: '' content: application/json: schema: $ref: '#/components/schemas/JsCantonError' security: - httpAuth: [] - apiKeyAuth: [] /v2/interactive-submission/prepare: post: description: Prepare commands for signing operationId: postV2Interactive-submissionPrepare requestBody: content: application/json: schema: $ref: '#/components/schemas/JsPrepareSubmissionRequest' required: true responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/JsPrepareSubmissionResponse' '400': description: 'Invalid value for: body, Invalid value for: headers' content: text/plain: schema: type: string default: description: '' content: application/json: schema: $ref: '#/components/schemas/JsCantonError' security: - httpAuth: [] - apiKeyAuth: [] /v2/interactive-submission/execute: post: description: Execute a signed transaction operationId: postV2Interactive-submissionExecute requestBody: content: application/json: schema: $ref: '#/components/schemas/JsExecuteSubmissionRequest' required: true responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/ExecuteSubmissionResponse' '400': description: 'Invalid value for: body, Invalid value for: headers' content: text/plain: schema: type: string default: description: '' content: application/json: schema: $ref: '#/components/schemas/JsCantonError' security: - httpAuth: [] - apiKeyAuth: [] /v2/interactive-submission/executeAndWait: post: description: Execute a signed transaction and wait for its completion operationId: postV2Interactive-submissionExecuteandwait requestBody: content: application/json: schema: $ref: '#/components/schemas/JsExecuteSubmissionAndWaitRequest' required: true responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/ExecuteSubmissionAndWaitResponse' '400': description: 'Invalid value for: body, Invalid value for: headers' content: text/plain: schema: type: string default: description: '' content: application/json: schema: $ref: '#/components/schemas/JsCantonError' security: - httpAuth: [] - apiKeyAuth: [] /v2/interactive-submission/executeAndWaitForTransaction: post: description: Execute a signed transaction and wait for the transaction response operationId: postV2Interactive-submissionExecuteandwaitfortransaction requestBody: content: application/json: schema: $ref: '#/components/schemas/JsExecuteSubmissionAndWaitForTransactionRequest' required: true responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/JsExecuteSubmissionAndWaitForTransactionResponse' '400': description: 'Invalid value for: body, Invalid value for: headers' content: text/plain: schema: type: string default: description: '' content: application/json: schema: $ref: '#/components/schemas/JsCantonError' security: - httpAuth: [] - apiKeyAuth: [] /v2/interactive-submission/preferred-package-version: get: description: Get the preferred package version for constructing a command submission operationId: getV2Interactive-submissionPreferred-package-version parameters: - name: parties in: query required: false schema: type: array items: type: string - name: package-name in: query required: true schema: type: string - name: vetting_valid_at in: query required: false schema: type: string format: date-time - name: synchronizer-id in: query required: false schema: type: string responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/GetPreferredPackageVersionResponse' '400': description: 'Invalid value for: query parameter parties, Invalid value for: query parameter package-name, Invalid value for: query parameter vetting_valid_at, Invalid value for: query parameter synchronizer-id, Invalid value for: headers' content: text/plain: schema: type: string default: description: '' content: application/json: schema: $ref: '#/components/schemas/JsCantonError' security: - httpAuth: [] - apiKeyAuth: [] /v2/interactive-submission/preferred-packages: post: description: Get the version of preferred packages for constructing a command submission operationId: postV2Interactive-submissionPreferred-packages requestBody: content: application/json: schema: $ref: '#/components/schemas/GetPreferredPackagesRequest' required: true responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/GetPreferredPackagesResponse' '400': description: 'Invalid value for: body, Invalid value for: headers' content: text/plain: schema: type: string default: description: '' content: application/json: schema: $ref: '#/components/schemas/JsCantonError' security: - httpAuth: [] - apiKeyAuth: [] components: schemas: AllocateExternalPartyRequest: title: AllocateExternalPartyRequest description: 'Required authorization: ``HasRight(ParticipantAdmin) OR IsAuthenticatedIdentityProviderAdmin(identity_provider_id)``' type: object required: - synchronizer - identityProviderId properties: synchronizer: description: |- TODO(#27670) support synchronizer aliases Synchronizer ID on which to onboard the party Required type: string onboardingTransactions: description: |- TopologyTransactions to onboard the external party Can contain: - A namespace for the party. This can be either a single NamespaceDelegation, or DecentralizedNamespaceDefinition along with its authorized namespace owners in the form of NamespaceDelegations. May be provided, if so it must be fully authorized by the signatures in this request combined with the existing topology state. - A PartyToKeyMapping to register the party's signing keys. May be provided, if so it must be fully authorized by the signatures in this request combined with the existing topology state. - A PartyToParticipant to register the hosting relationship of the party. Must be provided. Required type: array items: $ref: '#/components/schemas/SignedTransaction' multiHashSignatures: description: |- Optional signatures of the combined hash of all onboarding_transactions This may be used instead of providing signatures on each individual transaction type: array items: $ref: '#/components/schemas/Signature' identityProviderId: description: |- The id of the ``Identity Provider`` If not set, assume the party is managed by the default identity provider. Optional type: string AllocateExternalPartyResponse: title: AllocateExternalPartyResponse type: object required: - partyId properties: partyId: description: '' type: string AllocatePartyRequest: title: AllocatePartyRequest description: 'Required authorization: ``HasRight(ParticipantAdmin) OR IsAuthenticatedIdentityProviderAdmin(identity_provider_id)``' type: object required: - partyIdHint - identityProviderId - synchronizerId - userId properties: partyIdHint: description: |- A hint to the participant which party ID to allocate. It can be ignored. Must be a valid PartyIdString (as described in ``value.proto``). Optional type: string localMetadata: $ref: '#/components/schemas/ObjectMeta' description: |- Formerly "display_name" Participant-local metadata to be stored in the ``PartyDetails`` of this newly allocated party. Optional identityProviderId: description: |- The id of the ``Identity Provider`` Optional, if not set, assume the party is managed by the default identity provider or party is not hosted by the participant. type: string synchronizerId: description: |- The synchronizer, on which the party should be allocated. For backwards compatibility, this field may be omitted, if the participant is connected to only one synchronizer. Otherwise a synchronizer must be specified. Optional type: string userId: description: |- The user who will get the act_as rights to the newly allocated party. If set to an empty string (the default), no user will get rights to the party. Optional type: string AllocatePartyResponse: title: AllocatePartyResponse type: object properties: partyDetails: $ref: '#/components/schemas/PartyDetails' description: '' ArchivedEvent: title: ArchivedEvent description: Records that a contract has been archived, and choices may no longer be exercised on it. type: object required: - offset - nodeId - contractId - templateId - packageName properties: offset: description: |- The offset of origin. Offsets are managed by the participant nodes. Transactions can thus NOT be assumed to have the same offsets on different participant nodes. Required, it is a valid absolute offset (positive integer) type: integer format: int64 nodeId: description: |- The position of this event in the originating transaction or reassignment. Node IDs are not necessarily equal across participants, as these may see different projections/parts of transactions. Required, must be valid node ID (non-negative integer) type: integer format: int32 contractId: description: |- The ID of the archived contract. Must be a valid LedgerString (as described in ``value.proto``). Required type: string templateId: description: |- Identifies the template that defines the choice that archived the contract. This template's package-id may differ from the target contract's package-id if the target contract has been upgraded or downgraded. The identifier uses the package-id reference format. Required type: string witnessParties: description: |- The parties that are notified of this event. For an ``ArchivedEvent``, these are the intersection of the stakeholders of the contract in question and the parties specified in the ``TransactionFilter``. The stakeholders are the union of the signatories and the observers of the contract. Each one of its elements must be a valid PartyIdString (as described in ``value.proto``). Required type: array items: type: string packageName: description: |- The package name of the contract. Required type: string implementedInterfaces: description: |- The interfaces implemented by the target template that have been matched from the interface filter query. Populated only in case interface filters with include_interface_view set. If defined, the identifier uses the package-id reference format. Optional type: array items: type: string AssignCommand: title: AssignCommand description: Assign a contract type: object required: - value properties: value: $ref: '#/components/schemas/AssignCommand1' AssignCommand1: title: AssignCommand description: Assign a contract type: object required: - reassignmentId - source - target properties: reassignmentId: description: |- The ID from the unassigned event to be completed by this assignment. Must be a valid LedgerString (as described in ``value.proto``). Required type: string source: description: |- The ID of the source synchronizer Must be a valid synchronizer id Required type: string target: description: |- The ID of the target synchronizer Must be a valid synchronizer id Required type: string CanActAs: title: CanActAs type: object required: - value properties: value: $ref: '#/components/schemas/CanActAs1' CanActAs1: title: CanActAs type: object required: - party properties: party: type: string CanExecuteAs: title: CanExecuteAs type: object required: - value properties: value: $ref: '#/components/schemas/CanExecuteAs1' CanExecuteAs1: title: CanExecuteAs type: object required: - party properties: party: type: string CanExecuteAsAnyParty: title: CanExecuteAsAnyParty type: object required: - value properties: value: $ref: '#/components/schemas/CanExecuteAsAnyParty1' CanExecuteAsAnyParty1: title: CanExecuteAsAnyParty type: object CanReadAs: title: CanReadAs type: object required: - value properties: value: $ref: '#/components/schemas/CanReadAs1' CanReadAs1: title: CanReadAs type: object required: - party properties: party: type: string CanReadAsAnyParty: title: CanReadAsAnyParty type: object required: - value properties: value: $ref: '#/components/schemas/CanReadAsAnyParty1' CanReadAsAnyParty1: title: CanReadAsAnyParty type: object Command: title: Command description: A command can either create a new contract or exercise a choice on an existing contract. oneOf: - type: object required: - CreateAndExerciseCommand properties: CreateAndExerciseCommand: $ref: '#/components/schemas/CreateAndExerciseCommand' - type: object required: - CreateCommand properties: CreateCommand: $ref: '#/components/schemas/CreateCommand' - type: object required: - ExerciseByKeyCommand properties: ExerciseByKeyCommand: $ref: '#/components/schemas/ExerciseByKeyCommand' - type: object required: - ExerciseCommand properties: ExerciseCommand: $ref: '#/components/schemas/ExerciseCommand' Command1: title: Command description: A command can either create a new contract or exercise a choice on an existing contract. oneOf: - type: object required: - AssignCommand properties: AssignCommand: $ref: '#/components/schemas/AssignCommand' - type: object required: - Empty properties: Empty: $ref: '#/components/schemas/Empty2' - type: object required: - UnassignCommand properties: UnassignCommand: $ref: '#/components/schemas/UnassignCommand' Completion: title: Completion description: 'A completion represents the status of a submitted command on the ledger: it can be successful or failed.' type: object required: - value properties: value: $ref: '#/components/schemas/Completion1' Completion1: title: Completion description: 'A completion represents the status of a submitted command on the ledger: it can be successful or failed.' type: object required: - commandId - updateId - userId - submissionId - deduplicationPeriod - offset properties: commandId: description: |- The ID of the succeeded or failed command. Must be a valid LedgerString (as described in ``value.proto``). Required type: string status: $ref: '#/components/schemas/JsStatus' description: |- Identifies the exact type of the error. It uses the same format of conveying error details as it is used for the RPC responses of the APIs. Optional updateId: description: |- The update_id of the transaction or reassignment that resulted from the command with command_id. Only set for successfully executed commands. Must be a valid LedgerString (as described in ``value.proto``). type: string userId: description: |- The user-id that was used for the submission, as described in ``commands.proto``. Must be a valid UserIdString (as described in ``value.proto``). Optional for historic completions where this data is not available. type: string actAs: description: |- The set of parties on whose behalf the commands were executed. Contains the ``act_as`` parties from ``commands.proto`` filtered to the requesting parties in CompletionStreamRequest. The order of the parties need not be the same as in the submission. Each element must be a valid PartyIdString (as described in ``value.proto``). Optional for historic completions where this data is not available. type: array items: type: string submissionId: description: |- The submission ID this completion refers to, as described in ``commands.proto``. Must be a valid LedgerString (as described in ``value.proto``). Optional type: string deduplicationPeriod: $ref: '#/components/schemas/DeduplicationPeriod1' traceContext: $ref: '#/components/schemas/TraceContext' description: |- Optional; ledger API trace context The trace context transported in this message corresponds to the trace context supplied by the client application in a HTTP2 header of the original command submission. We typically use a header to transfer this type of information. Here we use message body, because it is used in gRPC streams which do not support per message headers. This field will be populated with the trace context contained in the original submission. If that was not provided, a unique ledger-api-server generated trace context will be used instead. offset: description: |- May be used in a subsequent CompletionStreamRequest to resume the consumption of this stream at a later time. Required, must be a valid absolute offset (positive integer). type: integer format: int64 synchronizerTime: $ref: '#/components/schemas/SynchronizerTime' description: |- The synchronizer along with its record time. The synchronizer id provided, in case of - successful/failed transactions: identifies the synchronizer of the transaction - for successful/failed unassign commands: identifies the source synchronizer - for successful/failed assign commands: identifies the target synchronizer Required CompletionResponse: title: CompletionResponse oneOf: - type: object required: - Completion properties: Completion: $ref: '#/components/schemas/Completion' - type: object required: - Empty properties: Empty: $ref: '#/components/schemas/Empty4' - type: object required: - OffsetCheckpoint properties: OffsetCheckpoint: $ref: '#/components/schemas/OffsetCheckpoint' CompletionStreamRequest: title: CompletionStreamRequest type: object required: - userId - beginExclusive properties: userId: description: |- Only completions of commands submitted with the same user_id will be visible in the stream. Must be a valid UserIdString (as described in ``value.proto``). Required unless authentication is used with a user token. In that case, the token's user-id will be used for the request's user_id. type: string parties: description: |- Non-empty list of parties whose data should be included. The stream shows only completions of commands for which at least one of the ``act_as`` parties is in the given set of parties. Must be a valid PartyIdString (as described in ``value.proto``). Required type: array items: type: string beginExclusive: description: |- This optional field indicates the minimum offset for completions. This can be used to resume an earlier completion stream. If not set the ledger uses the ledger begin offset instead. If specified, it must be a valid absolute offset (positive integer) or zero (ledger begin offset). If the ledger has been pruned, this parameter must be specified and greater than the pruning offset. type: integer format: int64 CompletionStreamResponse: title: CompletionStreamResponse type: object required: - completionResponse properties: completionResponse: $ref: '#/components/schemas/CompletionResponse' ConnectedSynchronizer: title: ConnectedSynchronizer type: object required: - synchronizerAlias - synchronizerId - permission properties: synchronizerAlias: type: string synchronizerId: type: string permission: type: string enum: - PARTICIPANT_PERMISSION_UNSPECIFIED - PARTICIPANT_PERMISSION_SUBMISSION - PARTICIPANT_PERMISSION_CONFIRMATION - PARTICIPANT_PERMISSION_OBSERVATION CostEstimation: title: CostEstimation description: |- Estimation of the cost of submitting the prepared transaction The estimation is done against the synchronizer chosen during preparation of the transaction (or the one explicitly requested). The cost of re-assigning contracts to another synchronizer when necessary is not included in the estimation. type: object required: - confirmationRequestTrafficCostEstimation - confirmationResponseTrafficCostEstimation - totalTrafficCostEstimation properties: estimationTimestamp: description: Timestamp at which the estimation was made type: string confirmationRequestTrafficCostEstimation: description: Estimated traffic cost of the confirmation request associated with the transaction type: integer format: int64 confirmationResponseTrafficCostEstimation: description: |- Estimated traffic cost of the confirmation response associated with the transaction This field can also be used as an indication of the cost that other potential confirming nodes of the party will incur to approve or reject the transaction type: integer format: int64 totalTrafficCostEstimation: description: Sum of the fields above type: integer format: int64 CostEstimationHints: title: CostEstimationHints description: Hints to improve cost estimation precision of a prepared transaction type: object required: - disabled properties: disabled: description: |- Disable cost estimation Default (not set) is false type: boolean expectedSignatures: description: |- Details on the keys that will be used to sign the transaction (how many and of which type). Signature size impacts the cost of the transaction. If empty, the signature sizes will be approximated with threshold-many signatures (where threshold is defined in the PartyToKeyMapping of the external party), using keys in the order they are registered. Optional (empty list is equivalent to not providing this field) type: array items: type: string enum: - SIGNING_ALGORITHM_SPEC_UNSPECIFIED - SIGNING_ALGORITHM_SPEC_ED25519 - SIGNING_ALGORITHM_SPEC_EC_DSA_SHA_256 - SIGNING_ALGORITHM_SPEC_EC_DSA_SHA_384 CreateAndExerciseCommand: title: CreateAndExerciseCommand description: Create a contract and exercise a choice on it in the same transaction. type: object required: - templateId - createArguments - choice - choiceArgument properties: templateId: description: |- The template of the contract the client wants to create. Both package-name and package-id reference identifier formats for the template-id are supported. Note: The package-id reference identifier format is deprecated. We plan to end support for this format in version 3.4. Required type: string createArguments: description: |- The arguments required for creating a contract from this template. Required choice: description: |- The name of the choice the client wants to exercise. Must be a valid NameString (as described in ``value.proto``). Required type: string choiceArgument: description: |- The argument for this choice. Required CreateCommand: title: CreateCommand description: Create a new contract instance based on a template. type: object required: - templateId - createArguments properties: templateId: description: |- The template of contract the client wants to create. Both package-name and package-id reference identifier formats for the template-id are supported. Note: The package-id reference identifier format is deprecated. We plan to end support for this format in version 3.4. Required type: string createArguments: description: |- The arguments required for creating a contract from this template. Required CreateIdentityProviderConfigRequest: title: CreateIdentityProviderConfigRequest type: object properties: identityProviderConfig: $ref: '#/components/schemas/IdentityProviderConfig' description: Required CreateIdentityProviderConfigResponse: title: CreateIdentityProviderConfigResponse type: object properties: identityProviderConfig: $ref: '#/components/schemas/IdentityProviderConfig' description: '' CreateUserRequest: title: CreateUserRequest description: |2- RPC requests and responses /////////////////////////// Required authorization: ``HasRight(ParticipantAdmin) OR IsAuthenticatedIdentityProviderAdmin(user.identity_provider_id)`` type: object properties: user: $ref: '#/components/schemas/User' description: |- The user to create. Required rights: description: |- The rights to be assigned to the user upon creation, which SHOULD include appropriate rights for the ``user.primary_party``. Optional type: array items: $ref: '#/components/schemas/Right' CreateUserResponse: title: CreateUserResponse type: object properties: user: $ref: '#/components/schemas/User' description: Created user. CreatedEvent: title: CreatedEvent description: Records that a contract has been created, and choices may now be exercised on it. type: object required: - offset - nodeId - contractId - templateId - createdEventBlob - createdAt - packageName - representativePackageId - acsDelta properties: offset: description: |- The offset of origin, which has contextual meaning, please see description at messages that include a CreatedEvent. Offsets are managed by the participant nodes. Transactions can thus NOT be assumed to have the same offsets on different participant nodes. Required, it is a valid absolute offset (positive integer) type: integer format: int64 nodeId: description: |- The position of this event in the originating transaction or reassignment. The origin has contextual meaning, please see description at messages that include a CreatedEvent. Node IDs are not necessarily equal across participants, as these may see different projections/parts of transactions. Required, must be valid node ID (non-negative integer) type: integer format: int32 contractId: description: |- The ID of the created contract. Must be a valid LedgerString (as described in ``value.proto``). Required type: string templateId: description: |- The template of the created contract. The identifier uses the package-id reference format. Required type: string contractKey: description: |- The key of the created contract. This will be set if and only if ``template_id`` defines a contract key. Optional createArgument: {} createdEventBlob: description: |- Opaque representation of contract create event payload intended for forwarding to an API server as a contract disclosed as part of a command submission. Optional type: string interfaceViews: description: |- Interface views specified in the transaction filter. Includes an ``InterfaceView`` for each interface for which there is a ``InterfaceFilter`` with - its party in the ``witness_parties`` of this event, - and which is implemented by the template of this event, - and which has ``include_interface_view`` set. Optional type: array items: $ref: '#/components/schemas/JsInterfaceView' witnessParties: description: |- The parties that are notified of this event. When a ``CreatedEvent`` is returned as part of a transaction tree or ledger-effects transaction, this will include all the parties specified in the ``TransactionFilter`` that are witnesses of the event (the stakeholders of the contract and all informees of all the ancestors of this create action that this participant knows about). If served as part of a ACS delta transaction those will be limited to all parties specified in the ``TransactionFilter`` that are stakeholders of the contract (i.e. either signatories or observers). If the ``CreatedEvent`` is returned as part of an AssignedEvent, ActiveContract or IncompleteUnassigned (so the event is related to an assignment or unassignment): this will include all parties of the ``TransactionFilter`` that are stakeholders of the contract. The behavior of reading create events visible to parties not hosted on the participant node serving the Ledger API is undefined. Concretely, there is neither a guarantee that the participant node will serve all their create events on the ACS stream, nor is there a guarantee that matching archive events are delivered for such create events. For most clients this is not a problem, as they only read events for parties that are hosted on the participant node. If you need to read events for parties that may not be hosted at all times on the participant node, subscribe to the ``TopologyEvent``s for that party by setting a corresponding ``UpdateFormat``. Using these events, query the ACS as-of an offset where the party is hosted on the participant node, and ignore create events at offsets where the party is not hosted on the participant node. Required type: array items: type: string signatories: description: |- The signatories for this contract as specified by the template. Required type: array items: type: string observers: description: |- The observers for this contract as specified explicitly by the template or implicitly as choice controllers. This field never contains parties that are signatories. Required type: array items: type: string createdAt: description: |- Ledger effective time of the transaction that created the contract. Required type: string packageName: description: |- The package name of the created contract. Required type: string representativePackageId: description: |- A package-id present in the participant package store that typechecks the contract's argument. This may differ from the package-id of the template used to create the contract. For contracts created before Canton 3.4, this field matches the contract's creation package-id. NOTE: Experimental, server internal concept, not for client consumption. Subject to change without notice. Required type: string acsDelta: description: |- Whether this event would be part of respective ACS_DELTA shaped stream, and should therefore considered when tracking contract activeness on the client-side. Required type: boolean CreatedTreeEvent: title: CreatedTreeEvent type: object required: - value properties: value: $ref: '#/components/schemas/CreatedEvent' CumulativeFilter: title: CumulativeFilter description: |- A filter that matches all contracts that are either an instance of one of the ``template_filters`` or that match one of the ``interface_filters``. type: object required: - identifierFilter properties: identifierFilter: $ref: '#/components/schemas/IdentifierFilter' DeduplicationDuration: title: DeduplicationDuration type: object required: - value properties: value: $ref: '#/components/schemas/Duration' DeduplicationDuration1: title: DeduplicationDuration type: object required: - value properties: value: $ref: '#/components/schemas/Duration' DeduplicationDuration2: title: DeduplicationDuration type: object required: - value properties: value: $ref: '#/components/schemas/Duration' DeduplicationOffset: title: DeduplicationOffset type: object required: - value properties: value: type: integer format: int64 DeduplicationOffset1: title: DeduplicationOffset type: object required: - value properties: value: type: integer format: int64 DeduplicationOffset2: title: DeduplicationOffset type: object required: - value properties: value: type: integer format: int64 DeduplicationPeriod: title: DeduplicationPeriod description: |- Specifies the deduplication period for the change ID. If omitted, the participant will assume the configured maximum deduplication time. oneOf: - type: object required: - DeduplicationDuration properties: DeduplicationDuration: $ref: '#/components/schemas/DeduplicationDuration' - type: object required: - DeduplicationOffset properties: DeduplicationOffset: $ref: '#/components/schemas/DeduplicationOffset' - type: object required: - Empty properties: Empty: $ref: '#/components/schemas/Empty' DeduplicationPeriod1: title: DeduplicationPeriod description: |- The actual deduplication window used for the submission, which is derived from ``Commands.deduplication_period``. The ledger may convert the deduplication period into other descriptions and extend the period in implementation-specified ways. Used to audit the deduplication guarantee described in ``commands.proto``. Optional; the deduplication guarantee applies even if the completion omits this field. oneOf: - type: object required: - DeduplicationDuration properties: DeduplicationDuration: $ref: '#/components/schemas/DeduplicationDuration1' - type: object required: - DeduplicationOffset properties: DeduplicationOffset: $ref: '#/components/schemas/DeduplicationOffset1' - type: object required: - Empty properties: Empty: $ref: '#/components/schemas/Empty3' DeduplicationPeriod2: title: DeduplicationPeriod oneOf: - type: object required: - DeduplicationDuration properties: DeduplicationDuration: $ref: '#/components/schemas/DeduplicationDuration2' - type: object required: - DeduplicationOffset properties: DeduplicationOffset: $ref: '#/components/schemas/DeduplicationOffset2' - type: object required: - Empty properties: Empty: $ref: '#/components/schemas/Empty10' DeleteIdentityProviderConfigResponse: title: DeleteIdentityProviderConfigResponse description: Does not (yet) contain any data. type: object DisclosedContract: title: DisclosedContract description: |- An additional contract that is used to resolve contract & contract key lookups. type: object required: - contractId - createdEventBlob - synchronizerId properties: templateId: description: |- The template id of the contract. The identifier uses the package-id reference format. If provided, used to validate the template id of the contract serialized in the created_event_blob. Optional type: string contractId: description: |- The contract id If provided, used to validate the contract id of the contract serialized in the created_event_blob. Optional type: string createdEventBlob: description: |- Opaque byte string containing the complete payload required by the Daml engine to reconstruct a contract not known to the receiving participant. Required type: string synchronizerId: description: |- The ID of the synchronizer where the contract is currently assigned Optional type: string Duration: title: Duration type: object required: - seconds - nanos properties: seconds: type: integer format: int64 nanos: type: integer format: int32 unknownFields: $ref: '#/components/schemas/UnknownFieldSet' description: This field is automatically added as part of protobuf to json mapping Empty: title: Empty type: object Empty1: title: Empty type: object Empty10: title: Empty type: object Empty2: title: Empty type: object Empty3: title: Empty type: object Empty4: title: Empty type: object Empty5: title: Empty type: object Empty6: title: Empty type: object Empty7: title: Empty type: object Empty8: title: Empty type: object Empty9: title: Empty type: object Event: title: Event description: |- Events in transactions can have two primary shapes: - ACS delta: events can be CreatedEvent or ArchivedEvent - ledger effects: events can be CreatedEvent or ExercisedEvent In the update service the events are restricted to the events visible for the parties specified in the transaction filter. Each event message type below contains a ``witness_parties`` field which indicates the subset of the requested parties that can see the event in question. oneOf: - type: object required: - ArchivedEvent properties: ArchivedEvent: $ref: '#/components/schemas/ArchivedEvent' - type: object required: - CreatedEvent properties: CreatedEvent: $ref: '#/components/schemas/CreatedEvent' - type: object required: - ExercisedEvent properties: ExercisedEvent: $ref: '#/components/schemas/ExercisedEvent' EventFormat: title: EventFormat description: |- A format for events which defines both which events should be included and what data should be computed and included for them. Note that some of the filtering behavior depends on the `TransactionShape`, which is expected to be specified alongside usages of `EventFormat`. type: object required: - filtersByParty - verbose properties: filtersByParty: $ref: '#/components/schemas/Map_Filters' description: |- Each key must be a valid PartyIdString (as described in ``value.proto``). The interpretation of the filter depends on the transaction-shape being filtered: 1. For **ledger-effects** create and exercise events are returned, for which the witnesses include at least one of the listed parties and match the per-party filter. 2. For **transaction and active-contract-set streams** create and archive events are returned for all contracts whose stakeholders include at least one of the listed parties and match the per-party filter. Optional filtersForAnyParty: $ref: '#/components/schemas/Filters' description: |- Wildcard filters that apply to all the parties existing on the participant. The interpretation of the filters is the same with the per-party filter as described above. Optional verbose: description: |- If enabled, values served over the API will contain more information than strictly necessary to interpret the data. In particular, setting the verbose flag to true triggers the ledger to include labels for record fields. Optional type: boolean ExecuteSubmissionAndWaitResponse: title: ExecuteSubmissionAndWaitResponse type: object required: - updateId - completionOffset properties: updateId: description: |- The id of the transaction that resulted from the submitted command. Must be a valid LedgerString (as described in ``value.proto``). Required type: string completionOffset: description: |- The details of the offset field are described in ``community/ledger-api/README.md``. Required type: integer format: int64 ExecuteSubmissionResponse: title: ExecuteSubmissionResponse type: object ExerciseByKeyCommand: title: ExerciseByKeyCommand description: Exercise a choice on an existing contract specified by its key. type: object required: - templateId - contractKey - choice - choiceArgument properties: templateId: description: |- The template of contract the client wants to exercise. Both package-name and package-id reference identifier formats for the template-id are supported. Note: The package-id reference identifier format is deprecated. We plan to end support for this format in version 3.4. Required type: string contractKey: description: |- The key of the contract the client wants to exercise upon. Required choice: description: |- The name of the choice the client wants to exercise. Must be a valid NameString (as described in ``value.proto``) Required type: string choiceArgument: description: |- The argument for this choice. Required ExerciseCommand: title: ExerciseCommand description: Exercise a choice on an existing contract. type: object required: - templateId - contractId - choice - choiceArgument properties: templateId: description: |- The template or interface of the contract the client wants to exercise. Both package-name and package-id reference identifier formats for the template-id are supported. Note: The package-id reference identifier format is deprecated. We plan to end support for this format in version 3.4. To exercise a choice on an interface, specify the interface identifier in the template_id field. Required type: string contractId: description: |- The ID of the contract the client wants to exercise upon. Must be a valid LedgerString (as described in ``value.proto``). Required type: string choice: description: |- The name of the choice the client wants to exercise. Must be a valid NameString (as described in ``value.proto``) Required type: string choiceArgument: description: |- The argument for this choice. Required ExercisedEvent: title: ExercisedEvent description: Records that a choice has been exercised on a target contract. type: object required: - offset - nodeId - contractId - templateId - choice - choiceArgument - consuming - lastDescendantNodeId - exerciseResult - packageName - acsDelta properties: offset: description: |- The offset of origin. Offsets are managed by the participant nodes. Transactions can thus NOT be assumed to have the same offsets on different participant nodes. Required, it is a valid absolute offset (positive integer) type: integer format: int64 nodeId: description: |- The position of this event in the originating transaction or reassignment. Node IDs are not necessarily equal across participants, as these may see different projections/parts of transactions. Required, must be valid node ID (non-negative integer) type: integer format: int32 contractId: description: |- The ID of the target contract. Must be a valid LedgerString (as described in ``value.proto``). Required type: string templateId: description: |- Identifies the template that defines the executed choice. This template's package-id may differ from the target contract's package-id if the target contract has been upgraded or downgraded. The identifier uses the package-id reference format. Required type: string interfaceId: description: |- The interface where the choice is defined, if inherited. If defined, the identifier uses the package-id reference format. Optional type: string choice: description: |- The choice that was exercised on the target contract. Must be a valid NameString (as described in ``value.proto``). Required type: string choiceArgument: description: |- The argument of the exercised choice. Required actingParties: description: |- The parties that exercised the choice. Each element must be a valid PartyIdString (as described in ``value.proto``). Required type: array items: type: string consuming: description: |- If true, the target contract may no longer be exercised. Required type: boolean witnessParties: description: |- The parties that are notified of this event. The witnesses of an exercise node will depend on whether the exercise was consuming or not. If consuming, the witnesses are the union of the stakeholders, the actors and all informees of all the ancestors of this event this participant knows about. If not consuming, the witnesses are the union of the signatories, the actors and all informees of all the ancestors of this event this participant knows about. In both cases the witnesses are limited to the querying parties, or not limited in case anyParty filters are used. Note that the actors might not necessarily be observers and thus stakeholders. This is the case when the controllers of a choice are specified using "flexible controllers", using the ``choice ... controller`` syntax, and said controllers are not explicitly marked as observers. Each element must be a valid PartyIdString (as described in ``value.proto``). Required type: array items: type: string lastDescendantNodeId: description: |- Specifies the upper boundary of the node ids of the events in the same transaction that appeared as a result of this ``ExercisedEvent``. This allows unambiguous identification of all the members of the subtree rooted at this node. A full subtree can be constructed when all descendant nodes are present in the stream. If nodes are heavily filtered, it is only possible to determine if a node is in a consequent subtree or not. Required type: integer format: int32 exerciseResult: description: |- The result of exercising the choice. Required packageName: description: |- The package name of the contract. Required type: string implementedInterfaces: description: |- If the event is consuming, the interfaces implemented by the target template that have been matched from the interface filter query. Populated only in case interface filters with include_interface_view set. The identifier uses the package-id reference format. Optional type: array items: type: string acsDelta: description: |- Whether this event would be part of respective ACS_DELTA shaped stream, and should therefore considered when tracking contract activeness on the client-side. Required type: boolean ExercisedTreeEvent: title: ExercisedTreeEvent type: object required: - value properties: value: $ref: '#/components/schemas/ExercisedEvent' ExperimentalCommandInspectionService: title: ExperimentalCommandInspectionService description: Whether the Ledger API supports command inspection service type: object required: - supported properties: supported: description: '' type: boolean ExperimentalFeatures: title: ExperimentalFeatures description: See the feature message definitions for descriptions. type: object properties: staticTime: $ref: '#/components/schemas/ExperimentalStaticTime' description: '' commandInspectionService: $ref: '#/components/schemas/ExperimentalCommandInspectionService' description: '' ExperimentalStaticTime: title: ExperimentalStaticTime description: Ledger is in the static time mode and exposes a time service. type: object required: - supported properties: supported: description: '' type: boolean FeaturesDescriptor: title: FeaturesDescriptor type: object properties: experimental: $ref: '#/components/schemas/ExperimentalFeatures' description: |- Features under development or features that are used for ledger implementation testing purposes only. Daml applications SHOULD not depend on these in production. userManagement: $ref: '#/components/schemas/UserManagementFeature' description: |- If set, then the Ledger API server supports user management. It is recommended that clients query this field to gracefully adjust their behavior for ledgers that do not support user management. partyManagement: $ref: '#/components/schemas/PartyManagementFeature' description: |- If set, then the Ledger API server supports party management configurability. It is recommended that clients query this field to gracefully adjust their behavior to maximum party page size. offsetCheckpoint: $ref: '#/components/schemas/OffsetCheckpointFeature' description: It contains the timeouts related to the periodic offset checkpoint emission packageFeature: $ref: '#/components/schemas/PackageFeature' description: |- If set, then the Ledger API server supports package listing configurability. It is recommended that clients query this field to gracefully adjust their behavior to maximum package listing page size. Field: title: Field type: object properties: varint: type: array items: type: integer format: int64 fixed64: type: array items: type: integer format: int64 fixed32: type: array items: type: integer format: int32 lengthDelimited: type: array items: type: string FieldMask: title: FieldMask type: object required: - unknownFields properties: paths: type: array items: type: string unknownFields: $ref: '#/components/schemas/UnknownFieldSet' Filters: title: Filters description: The union of a set of template filters, interface filters, or a wildcard. type: object properties: cumulative: description: |- Every filter in the cumulative list expands the scope of the resulting stream. Each interface, template or wildcard filter means additional events that will match the query. The impact of include_interface_view and include_created_event_blob fields in the filters will also be accumulated. A template or an interface SHOULD NOT appear twice in the accumulative field. A wildcard filter SHOULD NOT be defined more than once in the accumulative field. Optional, if no ``CumulativeFilter`` defined, the default of a single ``WildcardFilter`` with include_created_event_blob unset is used. type: array items: $ref: '#/components/schemas/CumulativeFilter' GenerateExternalPartyTopologyRequest: title: GenerateExternalPartyTopologyRequest type: object required: - synchronizer - partyHint - localParticipantObservationOnly - confirmationThreshold properties: synchronizer: description: |- TODO(#27670) support synchronizer aliases Required: synchronizer-id for which we are building this request. type: string partyHint: description: 'Required: the actual party id will be constructed from this hint and a fingerprint of the public key' type: string publicKey: $ref: '#/components/schemas/SigningPublicKey' description: 'Required: public key' localParticipantObservationOnly: description: 'Optional: if true, then the local participant will only be observing, not confirming. Default false.' type: boolean otherConfirmingParticipantUids: description: 'Optional: other participant ids which should be confirming for this party' type: array items: type: string confirmationThreshold: description: 'Optional: Confirmation threshold >= 1 for the party. Defaults to all available confirmers (or if set to 0).' type: integer format: int32 observingParticipantUids: description: 'Optional: other observing participant ids for this party' type: array items: type: string GenerateExternalPartyTopologyResponse: title: GenerateExternalPartyTopologyResponse description: Response message with topology transactions and the multi-hash to be signed. type: object required: - partyId - publicKeyFingerprint - multiHash properties: partyId: description: the generated party id type: string publicKeyFingerprint: description: the fingerprint of the supplied public key type: string topologyTransactions: description: |- The serialized topology transactions which need to be signed and submitted as part of the allocate party process Note that the serialization includes the versioning information. Therefore, the transaction here is serialized as an `UntypedVersionedMessage` which in turn contains the serialized `TopologyTransaction` in the version supported by the synchronizer. type: array items: type: string multiHash: description: the multi-hash which may be signed instead of each individual transaction type: string GetActiveContractsRequest: title: GetActiveContractsRequest description: |- If the given offset is different than the ledger end, and there are (un)assignments in-flight at the given offset, the snapshot may fail with "FAILED_PRECONDITION/PARTICIPANT_PRUNED_DATA_ACCESSED". Note that it is ok to request acs snapshots for party migration with offsets other than ledger end, because party migration is not concerned with incomplete (un)assignments. type: object required: - verbose - activeAtOffset properties: filter: $ref: '#/components/schemas/TransactionFilter' description: |- Provided for backwards compatibility, it will be removed in the Canton version 3.5.0. Templates to include in the served snapshot, per party. Optional, if specified event_format must be unset, if not specified event_format must be set. verbose: description: |- Provided for backwards compatibility, it will be removed in the Canton version 3.5.0. If enabled, values served over the API will contain more information than strictly necessary to interpret the data. In particular, setting the verbose flag to true triggers the ledger to include labels for record fields. Optional, if specified event_format must be unset. type: boolean activeAtOffset: description: |- The offset at which the snapshot of the active contracts will be computed. Must be no greater than the current ledger end offset. Must be greater than or equal to the last pruning offset. Required, must be a valid absolute offset (positive integer) or ledger begin offset (zero). If zero, the empty set will be returned. type: integer format: int64 eventFormat: $ref: '#/components/schemas/EventFormat' description: |- Format of the contract_entries in the result. In case of CreatedEvent the presentation will be of TRANSACTION_SHAPE_ACS_DELTA. Optional for backwards compatibility, defaults to an EventFormat where: - filters_by_party is the filter.filters_by_party from this request - filters_for_any_party is the filter.filters_for_any_party from this request - verbose is the verbose field from this request GetConnectedSynchronizersResponse: title: GetConnectedSynchronizersResponse type: object properties: connectedSynchronizers: description: '' type: array items: $ref: '#/components/schemas/ConnectedSynchronizer' GetEventsByContractIdRequest: title: GetEventsByContractIdRequest type: object required: - contractId properties: contractId: description: |- The contract id being queried. Required type: string eventFormat: $ref: '#/components/schemas/EventFormat' description: |- Format of the events in the result, the presentation will be of TRANSACTION_SHAPE_ACS_DELTA. Required GetIdentityProviderConfigResponse: title: GetIdentityProviderConfigResponse type: object properties: identityProviderConfig: $ref: '#/components/schemas/IdentityProviderConfig' description: '' GetLatestPrunedOffsetsResponse: title: GetLatestPrunedOffsetsResponse type: object required: - participantPrunedUpToInclusive - allDivulgedContractsPrunedUpToInclusive properties: participantPrunedUpToInclusive: description: |- It will always be a non-negative integer. If positive, the absolute offset up to which the ledger has been pruned, disregarding the state of all divulged contracts pruning. If zero, the ledger has not been pruned yet. type: integer format: int64 allDivulgedContractsPrunedUpToInclusive: description: |- It will always be a non-negative integer. If positive, the absolute offset up to which all divulged events have been pruned on the ledger. It can be at or before the ``participant_pruned_up_to_inclusive`` offset. For more details about all divulged events pruning, see ``PruneRequest.prune_all_divulged_contracts`` in ``participant_pruning_service.proto``. If zero, the divulged events have not been pruned yet. type: integer format: int64 GetLedgerApiVersionResponse: title: GetLedgerApiVersionResponse type: object required: - version properties: version: description: The version of the ledger API. type: string features: $ref: '#/components/schemas/FeaturesDescriptor' description: |- The features supported by this Ledger API endpoint. Daml applications CAN use the feature descriptor on top of version constraints on the Ledger API version to determine whether a given Ledger API endpoint supports the features required to run the application. See the feature descriptions themselves for the relation between Ledger API versions and feature presence. GetLedgerEndResponse: title: GetLedgerEndResponse type: object required: - offset properties: offset: description: |- It will always be a non-negative integer. If zero, the participant view of the ledger is empty. If positive, the absolute offset of the ledger as viewed by the participant. type: integer format: int64 GetPackageStatusResponse: title: GetPackageStatusResponse type: object required: - packageStatus properties: packageStatus: description: The status of the package. type: string enum: - PACKAGE_STATUS_UNSPECIFIED - PACKAGE_STATUS_REGISTERED GetParticipantIdResponse: title: GetParticipantIdResponse type: object required: - participantId properties: participantId: description: |- Identifier of the participant, which SHOULD be globally unique. Must be a valid LedgerString (as describe in ``value.proto``). type: string GetPartiesResponse: title: GetPartiesResponse type: object properties: partyDetails: description: |- The details of the requested Daml parties by the participant, if known. The party details may not be in the same order as requested. Required type: array items: $ref: '#/components/schemas/PartyDetails' GetPreferredPackageVersionResponse: title: GetPreferredPackageVersionResponse type: object properties: packagePreference: $ref: '#/components/schemas/PackagePreference' description: |- Not populated when no preferred package is found Optional GetPreferredPackagesRequest: title: GetPreferredPackagesRequest type: object required: - synchronizerId properties: packageVettingRequirements: description: |- 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 type: array items: $ref: '#/components/schemas/PackageVettingRequirement' synchronizerId: description: |- 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 type: string vettingValidAt: description: |- 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 type: string GetPreferredPackagesResponse: title: GetPreferredPackagesResponse type: object required: - synchronizerId properties: packageReferences: description: |- 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 type: array items: $ref: '#/components/schemas/PackageReference' synchronizerId: description: |- 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 type: string GetTransactionByIdRequest: title: GetTransactionByIdRequest description: Provided for backwards compatibility, it will be removed in the Canton version 3.5.0. type: object required: - updateId properties: updateId: description: |- The ID of a particular transaction. Must be a valid LedgerString (as described in ``value.proto``). Required type: string requestingParties: description: |- Provided for backwards compatibility, it will be removed in the Canton version 3.5.0. The parties whose events the client expects to see. Events that are not visible for the parties in this collection will not be present in the response. Each element must be a valid PartyIdString (as described in ``value.proto``). Optional for backwards compatibility for GetTransactionById request: if defined transaction_format must be unset (falling back to defaults). type: array items: type: string transactionFormat: $ref: '#/components/schemas/TransactionFormat' description: |- Optional for GetTransactionById request for backwards compatibility: defaults to a transaction_format, where: - event_format.filters_by_party will have template-wildcard filters for all the requesting_parties - event_format.filters_for_any_party is unset - event_format.verbose = true - transaction_shape = TRANSACTION_SHAPE_ACS_DELTA GetTransactionByOffsetRequest: title: GetTransactionByOffsetRequest description: Provided for backwards compatibility, it will be removed in the Canton version 3.5.0. type: object required: - offset properties: offset: description: |- The offset of the transaction being looked up. Must be a valid absolute offset (positive integer). Required type: integer format: int64 requestingParties: description: |- Provided for backwards compatibility, it will be removed in the Canton version 3.5.0. The parties whose events the client expects to see. Events that are not visible for the parties in this collection will not be present in the response. Each element must be a valid PartyIdString (as described in ``value.proto``). Optional for backwards compatibility for GetTransactionByOffset request: if defined transaction_format must be unset (falling back to defaults). type: array items: type: string transactionFormat: $ref: '#/components/schemas/TransactionFormat' description: |- Optional for GetTransactionByOffset request for backwards compatibility: defaults to a TransactionFormat, where: - event_format.filters_by_party will have template-wildcard filters for all the requesting_parties - event_format.filters_for_any_party is unset - event_format.verbose = true - transaction_shape = TRANSACTION_SHAPE_ACS_DELTA GetUpdateByIdRequest: title: GetUpdateByIdRequest type: object required: - updateId properties: updateId: description: |- The ID of a particular update. Must be a valid LedgerString (as described in ``value.proto``). Required type: string updateFormat: $ref: '#/components/schemas/UpdateFormat' description: |- The format for the update. Required GetUpdateByOffsetRequest: title: GetUpdateByOffsetRequest type: object required: - offset properties: offset: description: |- The offset of the update being looked up. Must be a valid absolute offset (positive integer). Required type: integer format: int64 updateFormat: $ref: '#/components/schemas/UpdateFormat' description: |- The format for the update. Required GetUpdatesRequest: title: GetUpdatesRequest type: object required: - beginExclusive - verbose properties: beginExclusive: description: |- Beginning of the requested ledger section (non-negative integer). The response will only contain transactions whose offset is strictly greater than this. If zero, the stream will start from the beginning of the ledger. If positive, the streaming will start after this absolute offset. If the ledger has been pruned, this parameter must be specified and be greater than the pruning offset. type: integer format: int64 endInclusive: description: |- End of the requested ledger section. The response will only contain transactions whose offset is less than or equal to this. Optional, if empty, the stream will not terminate. If specified, the stream will terminate after this absolute offset (positive integer) is reached. type: integer format: int64 filter: $ref: '#/components/schemas/TransactionFilter' description: |- Provided for backwards compatibility, it will be removed in the Canton version 3.5.0. Requesting parties with template filters. Template filters must be empty for GetUpdateTrees requests. Optional for backwards compatibility, if defined update_format must be unset verbose: description: |- Provided for backwards compatibility, it will be removed in the Canton version 3.5.0. If enabled, values served over the API will contain more information than strictly necessary to interpret the data. In particular, setting the verbose flag to true triggers the ledger to include labels, record and variant type ids for record fields. Optional for backwards compatibility, if defined update_format must be unset type: boolean updateFormat: $ref: '#/components/schemas/UpdateFormat' description: |- Must be unset for GetUpdateTrees request. Optional for backwards compatibility for GetUpdates request: defaults to an UpdateFormat where: - include_transactions.event_format.filters_by_party = the filter.filters_by_party on this request - include_transactions.event_format.filters_for_any_party = the filter.filters_for_any_party on this request - include_transactions.event_format.verbose = the same flag specified on this request - include_transactions.transaction_shape = TRANSACTION_SHAPE_ACS_DELTA - include_reassignments.filter = the same filter specified on this request - include_reassignments.verbose = the same flag specified on this request - include_topology_events.include_participant_authorization_events.parties = all the parties specified in filter GetUserResponse: title: GetUserResponse type: object properties: user: $ref: '#/components/schemas/User' description: Retrieved user. GrantUserRightsRequest: title: GrantUserRightsRequest description: |- Add the rights to the set of rights granted to the user. Required authorization: ``HasRight(ParticipantAdmin) OR IsAuthenticatedIdentityProviderAdmin(identity_provider_id)`` type: object required: - userId - identityProviderId properties: userId: description: |- The user to whom to grant rights. Required type: string rights: description: |- The rights to grant. Optional type: array items: $ref: '#/components/schemas/Right' identityProviderId: description: |- The id of the ``Identity Provider`` Optional, if not set, assume the user is managed by the default identity provider. type: string GrantUserRightsResponse: title: GrantUserRightsResponse type: object properties: newlyGrantedRights: description: The rights that were newly granted by the request. type: array items: $ref: '#/components/schemas/Right' Identifier: title: Identifier type: object required: - packageId - moduleName - entityName properties: packageId: type: string moduleName: type: string entityName: type: string IdentifierFilter: title: IdentifierFilter oneOf: - type: object required: - Empty properties: Empty: $ref: '#/components/schemas/Empty1' - type: object required: - InterfaceFilter properties: InterfaceFilter: $ref: '#/components/schemas/InterfaceFilter' - type: object required: - TemplateFilter properties: TemplateFilter: $ref: '#/components/schemas/TemplateFilter' - type: object required: - WildcardFilter properties: WildcardFilter: $ref: '#/components/schemas/WildcardFilter' IdentityProviderAdmin: title: IdentityProviderAdmin type: object required: - value properties: value: $ref: '#/components/schemas/IdentityProviderAdmin1' IdentityProviderAdmin1: title: IdentityProviderAdmin type: object IdentityProviderConfig: title: IdentityProviderConfig type: object required: - identityProviderId - isDeactivated - issuer - jwksUrl - audience properties: identityProviderId: description: |- The identity provider identifier Must be a valid LedgerString (as describe in ``value.proto``). Required type: string isDeactivated: description: |- When set, the callers using JWT tokens issued by this identity provider are denied all access to the Ledger API. Optional, Modifiable type: boolean issuer: description: |- Specifies the issuer of the JWT token. The issuer value is a case sensitive URL using the https scheme that contains scheme, host, and optionally, port number and path components and no query or fragment components. Required Modifiable type: string jwksUrl: description: |- The JWKS (JSON Web Key Set) URL. The Ledger API uses JWKs (JSON Web Keys) from the provided URL to verify that the JWT has been signed with the loaded JWK. Only RS256 (RSA Signature with SHA-256) signing algorithm is supported. Required Modifiable type: string audience: description: |- Specifies the audience of the JWT token. When set, the callers using JWT tokens issued by this identity provider are allowed to get an access only if the "aud" claim includes the string specified here Optional, Modifiable type: string InterfaceFilter: title: InterfaceFilter description: This filter matches contracts that implement a specific interface. type: object required: - value properties: value: $ref: '#/components/schemas/InterfaceFilter1' InterfaceFilter1: title: InterfaceFilter description: This filter matches contracts that implement a specific interface. type: object required: - includeInterfaceView - includeCreatedEventBlob properties: interfaceId: description: |- The interface that a matching contract must implement. The ``interface_id`` needs to be valid: corresponding interface should be defined in one of the available packages at the time of the query. Both package-name and package-id reference formats for the identifier are supported. Note: The package-id reference identifier format is deprecated. We plan to end support for this format in version 3.4. Required type: string includeInterfaceView: description: |- Whether to include the interface view on the contract in the returned ``CreatedEvent``. Use this to access contract data in a uniform manner in your API client. Optional type: boolean includeCreatedEventBlob: description: |- Whether to include a ``created_event_blob`` in the returned ``CreatedEvent``. Use this to access the contract create event payload in your API client for submitting it as a disclosed contract with future commands. Optional type: boolean JsActiveContract: title: JsActiveContract type: object required: - createdEvent - synchronizerId - reassignmentCounter properties: createdEvent: $ref: '#/components/schemas/CreatedEvent' description: |- Required The event as it appeared in the context of its last update (i.e. daml transaction or reassignment). In particular, the last offset, node_id pair is preserved. The last update is the most recent update created or assigned this contract on synchronizer_id synchronizer. The offset of the CreatedEvent might point to an already pruned update, therefore it cannot necessarily be used for lookups. synchronizerId: description: |- A valid synchronizer id Required type: string reassignmentCounter: description: |- Each corresponding assigned and unassigned event has the same reassignment_counter. This strictly increases with each unassign command for the same contract. Creation of the contract corresponds to reassignment_counter equals zero. This field will be the reassignment_counter of the latest observable activation event on this synchronizer, which is before the active_at_offset. Required type: integer format: int64 JsArchived: title: JsArchived type: object required: - archivedEvent - synchronizerId properties: archivedEvent: $ref: '#/components/schemas/ArchivedEvent' description: Required synchronizerId: description: |- Required The synchronizer which sequenced the archival of the contract type: string JsAssignedEvent: title: JsAssignedEvent description: Records that a contract has been assigned, and it can be used on the target synchronizer. type: object required: - source - target - reassignmentId - submitter - reassignmentCounter - createdEvent properties: source: description: |- The ID of the source synchronizer. Must be a valid synchronizer id. Required type: string target: description: |- The ID of the target synchronizer. Must be a valid synchronizer id. Required type: string reassignmentId: description: |- The ID from the unassigned event. For correlation capabilities. Must be a valid LedgerString (as described in ``value.proto``). Required type: string submitter: description: |- Party on whose behalf the assign command was executed. Empty if the assignment happened offline via the repair service. Must be a valid PartyIdString (as described in ``value.proto``). Optional type: string reassignmentCounter: description: |- Each corresponding assigned and unassigned event has the same reassignment_counter. This strictly increases with each unassign command for the same contract. Creation of the contract corresponds to reassignment_counter equals zero. Required type: integer format: int64 createdEvent: $ref: '#/components/schemas/CreatedEvent' description: |- Required The offset of this event refers to the offset of the assignment, while the node_id is the index of within the batch. JsAssignmentEvent: title: JsAssignmentEvent type: object required: - source - target - reassignmentId - submitter - reassignmentCounter - createdEvent properties: source: type: string target: type: string reassignmentId: type: string submitter: type: string reassignmentCounter: type: integer format: int64 createdEvent: $ref: '#/components/schemas/CreatedEvent' JsCantonError: title: JsCantonError type: object required: - code - cause - context - errorCategory properties: code: type: string cause: type: string correlationId: type: string traceId: type: string context: $ref: '#/components/schemas/Map_String' resources: type: array items: $ref: '#/components/schemas/Tuple2_String_String' errorCategory: type: integer format: int32 grpcCodeValue: type: integer format: int32 retryInfo: type: string definiteAnswer: type: boolean JsCommands: title: JsCommands description: A composite command that groups multiple commands together. type: object required: - commandId properties: commands: description: |- Individual elements of this atomic command. Must be non-empty. Required type: array items: $ref: '#/components/schemas/Command' commandId: description: |- Uniquely identifies the command. The triple (user_id, act_as, command_id) constitutes the change ID for the intended ledger change, where act_as is interpreted as a set of party names. The change ID can be used for matching the intended ledger changes with all their completions. Must be a valid LedgerString (as described in ``value.proto``). Required type: string actAs: description: |- Set of parties on whose behalf the command should be executed. If ledger API authorization is enabled, then the authorization metadata must authorize the sender of the request to act on behalf of each of the given parties. Each element must be a valid PartyIdString (as described in ``value.proto``). Required, must be non-empty. type: array items: type: string userId: description: |- Uniquely identifies the participant user that issued the command. Must be a valid UserIdString (as described in ``value.proto``). Required unless authentication is used with a user token. In that case, the token's user-id will be used for the request's user_id. type: string readAs: description: |- Set of parties on whose behalf (in addition to all parties listed in ``act_as``) contracts can be retrieved. This affects Daml operations such as ``fetch``, ``fetchByKey``, ``lookupByKey``, ``exercise``, and ``exerciseByKey``. Note: A participant node of a Daml network can host multiple parties. Each contract present on the participant node is only visible to a subset of these parties. A command can only use contracts that are visible to at least one of the parties in ``act_as`` or ``read_as``. This visibility check is independent from the Daml authorization rules for fetch operations. If ledger API authorization is enabled, then the authorization metadata must authorize the sender of the request to read contract data on behalf of each of the given parties. Optional type: array items: type: string workflowId: description: |- Identifier of the on-ledger workflow that this command is a part of. Must be a valid LedgerString (as described in ``value.proto``). Optional type: string deduplicationPeriod: $ref: '#/components/schemas/DeduplicationPeriod' minLedgerTimeAbs: description: |- Lower bound for the ledger time assigned to the resulting transaction. Note: The ledger time of a transaction is assigned as part of command interpretation. Use this property if you expect that command interpretation will take a considerate amount of time, such that by the time the resulting transaction is sequenced, its assigned ledger time is not valid anymore. Must not be set at the same time as min_ledger_time_rel. Optional type: string minLedgerTimeRel: $ref: '#/components/schemas/Duration' description: |- Same as min_ledger_time_abs, but specified as a duration, starting from the time the command is received by the server. Must not be set at the same time as min_ledger_time_abs. Optional submissionId: description: |- A unique identifier to distinguish completions for different submissions with the same change ID. Typically a random UUID. Applications are expected to use a different UUID for each retry of a submission with the same change ID. Must be a valid LedgerString (as described in ``value.proto``). If omitted, the participant or the committer may set a value of their choice. Optional type: string disclosedContracts: description: |- Additional contracts used to resolve contract & contract key lookups. Optional type: array items: $ref: '#/components/schemas/DisclosedContract' synchronizerId: description: |- Must be a valid synchronizer id Optional type: string packageIdSelectionPreference: description: |- The package-id selection preference of the client for resolving package names and interface instances in command submission and interpretation type: array items: type: string prefetchContractKeys: description: |- Fetches the contract keys into the caches to speed up the command processing. Should only contain contract keys that are expected to be resolved during interpretation of the commands. Keys of disclosed contracts do not need prefetching. Optional type: array items: $ref: '#/components/schemas/PrefetchContractKey' JsContractEntry: title: JsContractEntry description: |- For a contract there could be multiple contract_entry-s in the entire snapshot. These together define the state of one contract in the snapshot. A contract_entry is included in the result, if and only if there is at least one stakeholder party of the contract that is hosted on the synchronizer at the time of the event and the party satisfies the ``TransactionFilter`` in the query. oneOf: - type: object required: - JsActiveContract properties: JsActiveContract: $ref: '#/components/schemas/JsActiveContract' - type: object required: - JsEmpty properties: JsEmpty: $ref: '#/components/schemas/JsEmpty' - type: object required: - JsIncompleteAssigned properties: JsIncompleteAssigned: $ref: '#/components/schemas/JsIncompleteAssigned' - type: object required: - JsIncompleteUnassigned properties: JsIncompleteUnassigned: $ref: '#/components/schemas/JsIncompleteUnassigned' JsCreated: title: JsCreated type: object required: - createdEvent - synchronizerId properties: createdEvent: $ref: '#/components/schemas/CreatedEvent' description: |- Required The event as it appeared in the context of its original update (i.e. daml transaction or reassignment) on this participant node. You can use its offset and node_id to find the corresponding update and the node within it. synchronizerId: description: |- The synchronizer which sequenced the creation of the contract Required type: string JsEmpty: title: JsEmpty type: object JsExecuteSubmissionAndWaitForTransactionRequest: title: JsExecuteSubmissionAndWaitForTransactionRequest type: object required: - deduplicationPeriod - submissionId - userId - hashingSchemeVersion properties: preparedTransaction: description: |- the prepared transaction Typically this is the value of the `prepared_transaction` field in `PrepareSubmissionResponse` obtained from calling `prepareSubmission`. Required type: string partySignatures: $ref: '#/components/schemas/PartySignatures' description: |- The party(ies) signatures that authorize the prepared submission to be executed by this node. Each party can provide one or more signatures.. and one or more parties can sign. Note that currently, only single party submissions are supported. Required deduplicationPeriod: $ref: '#/components/schemas/DeduplicationPeriod2' submissionId: description: |- A unique identifier to distinguish completions for different submissions with the same change ID. Typically a random UUID. Applications are expected to use a different UUID for each retry of a submission with the same change ID. Must be a valid LedgerString (as described in ``value.proto``). Required type: string userId: description: |- See [PrepareSubmissionRequest.user_id] Optional type: string hashingSchemeVersion: description: |- The hashing scheme version used when building the hash Required type: string enum: - HASHING_SCHEME_VERSION_UNSPECIFIED - HASHING_SCHEME_VERSION_V2 minLedgerTime: $ref: '#/components/schemas/MinLedgerTime' description: |- If set will influence the chosen ledger effective time but will not result in a submission delay so any override should be scheduled to executed within the window allowed by synchronizer. Optional transactionFormat: $ref: '#/components/schemas/TransactionFormat' description: |- If no ``transaction_format`` is provided, a default will be used where ``transaction_shape`` is set to TRANSACTION_SHAPE_ACS_DELTA, ``event_format`` is defined with ``filters_by_party`` containing wildcard-template filter for all original ``act_as`` and ``read_as`` parties and the ``verbose`` flag is set. When the ``transaction_shape`` TRANSACTION_SHAPE_ACS_DELTA shape is used (explicitly or is defaulted to as explained above), events will only be returned if the submitting party is hosted on this node. Optional JsExecuteSubmissionAndWaitForTransactionResponse: title: JsExecuteSubmissionAndWaitForTransactionResponse type: object required: - transaction properties: transaction: $ref: '#/components/schemas/JsTransaction' description: |- The transaction that resulted from the submitted command. The transaction might contain no events (request conditions result in filtering out all of them). Required JsExecuteSubmissionAndWaitRequest: title: JsExecuteSubmissionAndWaitRequest type: object required: - deduplicationPeriod - submissionId - userId - hashingSchemeVersion properties: preparedTransaction: description: |- the prepared transaction Typically this is the value of the `prepared_transaction` field in `PrepareSubmissionResponse` obtained from calling `prepareSubmission`. Required type: string partySignatures: $ref: '#/components/schemas/PartySignatures' description: |- The party(ies) signatures that authorize the prepared submission to be executed by this node. Each party can provide one or more signatures.. and one or more parties can sign. Note that currently, only single party submissions are supported. Required deduplicationPeriod: $ref: '#/components/schemas/DeduplicationPeriod2' submissionId: description: |- A unique identifier to distinguish completions for different submissions with the same change ID. Typically a random UUID. Applications are expected to use a different UUID for each retry of a submission with the same change ID. Must be a valid LedgerString (as described in ``value.proto``). Required type: string userId: description: |- See [PrepareSubmissionRequest.user_id] Optional type: string hashingSchemeVersion: description: |- The hashing scheme version used when building the hash Required type: string enum: - HASHING_SCHEME_VERSION_UNSPECIFIED - HASHING_SCHEME_VERSION_V2 minLedgerTime: $ref: '#/components/schemas/MinLedgerTime' description: |- If set will influence the chosen ledger effective time but will not result in a submission delay so any override should be scheduled to executed within the window allowed by synchronizer. Optional JsExecuteSubmissionRequest: title: JsExecuteSubmissionRequest type: object required: - deduplicationPeriod - submissionId - userId - hashingSchemeVersion properties: preparedTransaction: description: |- the prepared transaction Typically this is the value of the `prepared_transaction` field in `PrepareSubmissionResponse` obtained from calling `prepareSubmission`. Required type: string partySignatures: $ref: '#/components/schemas/PartySignatures' description: |- The party(ies) signatures that authorize the prepared submission to be executed by this node. Each party can provide one or more signatures.. and one or more parties can sign. Note that currently, only single party submissions are supported. Required deduplicationPeriod: $ref: '#/components/schemas/DeduplicationPeriod2' submissionId: description: |- A unique identifier to distinguish completions for different submissions with the same change ID. Typically a random UUID. Applications are expected to use a different UUID for each retry of a submission with the same change ID. Must be a valid LedgerString (as described in ``value.proto``). Required type: string userId: description: |- See [PrepareSubmissionRequest.user_id] Optional type: string hashingSchemeVersion: description: |- The hashing scheme version used when building the hash Required type: string enum: - HASHING_SCHEME_VERSION_UNSPECIFIED - HASHING_SCHEME_VERSION_V2 minLedgerTime: $ref: '#/components/schemas/MinLedgerTime' description: |- If set will influence the chosen ledger effective time but will not result in a submission delay so any override should be scheduled to executed within the window allowed by synchronizer. Optional JsGetActiveContractsResponse: title: JsGetActiveContractsResponse type: object required: - workflowId - contractEntry properties: workflowId: description: |- The workflow ID used in command submission which corresponds to the contract_entry. Only set if the ``workflow_id`` for the command was set. Must be a valid LedgerString (as described in ``value.proto``). Optional type: string contractEntry: $ref: '#/components/schemas/JsContractEntry' JsGetEventsByContractIdResponse: title: JsGetEventsByContractIdResponse type: object properties: created: $ref: '#/components/schemas/JsCreated' description: |- The create event for the contract with the ``contract_id`` given in the request provided it exists and has not yet been pruned. Optional archived: $ref: '#/components/schemas/JsArchived' description: |- The archive event for the contract with the ``contract_id`` given in the request provided such an archive event exists and it has not yet been pruned. Optional JsGetTransactionResponse: title: JsGetTransactionResponse description: Provided for backwards compatibility, it will be removed in the Canton version 3.5.0. type: object required: - transaction properties: transaction: $ref: '#/components/schemas/JsTransaction' description: Required JsGetTransactionTreeResponse: title: JsGetTransactionTreeResponse description: Provided for backwards compatibility, it will be removed in the Canton version 3.5.0. type: object required: - transaction properties: transaction: $ref: '#/components/schemas/JsTransactionTree' description: Required JsGetUpdateResponse: title: JsGetUpdateResponse type: object required: - update properties: update: $ref: '#/components/schemas/Update' JsGetUpdateTreesResponse: title: JsGetUpdateTreesResponse description: Provided for backwards compatibility, it will be removed in the Canton version 3.5.0. type: object required: - update properties: update: $ref: '#/components/schemas/Update1' JsGetUpdatesResponse: title: JsGetUpdatesResponse type: object required: - update properties: update: $ref: '#/components/schemas/Update' JsIncompleteAssigned: title: JsIncompleteAssigned type: object required: - assignedEvent properties: assignedEvent: $ref: '#/components/schemas/JsAssignedEvent' description: Required JsIncompleteUnassigned: title: JsIncompleteUnassigned type: object required: - createdEvent - unassignedEvent properties: createdEvent: $ref: '#/components/schemas/CreatedEvent' description: |- Required The event as it appeared in the context of its last activation update (i.e. daml transaction or reassignment). In particular, the last activation offset, node_id pair is preserved. The last activation update is the most recent update created or assigned this contract on synchronizer_id synchronizer before the unassigned_event. The offset of the CreatedEvent might point to an already pruned update, therefore it cannot necessarily be used for lookups. unassignedEvent: $ref: '#/components/schemas/UnassignedEvent' description: Required JsInterfaceView: title: JsInterfaceView description: View of a create event matched by an interface filter. type: object required: - interfaceId - viewStatus properties: interfaceId: description: |- The interface implemented by the matched event. The identifier uses the package-id reference format. Required type: string viewStatus: $ref: '#/components/schemas/JsStatus' description: |- Whether the view was successfully computed, and if not, the reason for the error. The error is reported using the same rules for error codes and messages as the errors returned for API requests. Required viewValue: description: |- The value of the interface's view method on this event. Set if it was requested in the ``InterfaceFilter`` and it could be successfully computed. Optional JsPrepareSubmissionRequest: title: JsPrepareSubmissionRequest type: object required: - userId - commandId - synchronizerId - verboseHashing properties: userId: description: |- Uniquely identifies the participant user that prepares the transaction. Must be a valid UserIdString (as described in ``value.proto``). Required unless authentication is used with a user token. In that case, the token's user-id will be used for the request's user_id. Optional type: string commandId: description: |- Uniquely identifies the command. The triple (user_id, act_as, command_id) constitutes the change ID for the intended ledger change, where act_as is interpreted as a set of party names. The change ID can be used for matching the intended ledger changes with all their completions. Must be a valid LedgerString (as described in ``value.proto``). Required type: string commands: description: |- Individual elements of this atomic command. Must be non-empty. Limitation: Only single command transaction are currently supported by the API. The field is marked as repeated in preparation for future support of multiple commands. Required type: array items: $ref: '#/components/schemas/Command' minLedgerTime: $ref: '#/components/schemas/MinLedgerTime' description: Optional actAs: description: |- Set of parties on whose behalf the command should be executed, if submitted. If ledger API authorization is enabled, then the authorization metadata must authorize the sender of the request to **read** (not act) on behalf of each of the given parties. This is because this RPC merely prepares a transaction and does not execute it. Therefore read authorization is sufficient even for actAs parties. Note: This may change, and more specific authorization scope may be introduced in the future. Each element must be a valid PartyIdString (as described in ``value.proto``). Required, must be non-empty. type: array items: type: string readAs: description: |- Set of parties on whose behalf (in addition to all parties listed in ``act_as``) contracts can be retrieved. This affects Daml operations such as ``fetch``, ``fetchByKey``, ``lookupByKey``, ``exercise``, and ``exerciseByKey``. Note: A command can only use contracts that are visible to at least one of the parties in ``act_as`` or ``read_as``. This visibility check is independent from the Daml authorization rules for fetch operations. If ledger API authorization is enabled, then the authorization metadata must authorize the sender of the request to read contract data on behalf of each of the given parties. Optional type: array items: type: string disclosedContracts: description: |- Additional contracts used to resolve contract & contract key lookups. Optional type: array items: $ref: '#/components/schemas/DisclosedContract' synchronizerId: description: |- Must be a valid synchronizer id If not set, a suitable synchronizer that this node is connected to will be chosen Optional type: string packageIdSelectionPreference: description: |- The package-id selection preference of the client for resolving package names and interface instances in command submission and interpretation Optional type: array items: type: string verboseHashing: description: |- When true, the response will contain additional details on how the transaction was encoded and hashed This can be useful for troubleshooting of hash mismatches. Should only be used for debugging. Optional, default to false type: boolean prefetchContractKeys: description: |- Fetches the contract keys into the caches to speed up the command processing. Should only contain contract keys that are expected to be resolved during interpretation of the commands. Keys of disclosed contracts do not need prefetching. Optional type: array items: $ref: '#/components/schemas/PrefetchContractKey' maxRecordTime: description: |- Maximum timestamp at which the transaction can be recorded onto the ledger via the synchronizer specified in the `PrepareSubmissionResponse`. If submitted after it will be rejected even if otherwise valid, in which case it needs to be prepared and signed again with a new valid max_record_time. Use this to limit the time-to-life of a prepared transaction, which is useful to know when it can definitely not be accepted anymore and resorting to preparing another transaction for the same intent is safe again. Optional type: string estimateTrafficCost: $ref: '#/components/schemas/CostEstimationHints' description: |- Hints to improve the accuracy of traffic cost estimation. The estimation logic assumes that this node will be used for the execution of the transaction If another node is used instead, the estimation may be less precise. Request amplification is not accounted for in the estimation: each amplified request will result in the cost of the confirmation request to be charged additionally. Optional - Traffic cost estimation is enabled by default if this field is not set To turn off cost estimation, set the CostEstimationHints#disabled field to true JsPrepareSubmissionResponse: title: JsPrepareSubmissionResponse description: '[docs-entry-end: HashingSchemeVersion]' type: object required: - preparedTransactionHash - hashingSchemeVersion properties: preparedTransaction: description: |- The interpreted transaction, it represents the ledger changes necessary to execute the commands specified in the request. Clients MUST display the content of the transaction to the user for them to validate before signing the hash if the preparing participant is not trusted. type: string preparedTransactionHash: description: |- Hash of the transaction, this is what needs to be signed by the party to authorize the transaction. Only provided for convenience, clients MUST recompute the hash from the raw transaction if the preparing participant is not trusted. May be removed in future versions type: string hashingSchemeVersion: description: The hashing scheme version used when building the hash type: string enum: - HASHING_SCHEME_VERSION_UNSPECIFIED - HASHING_SCHEME_VERSION_V2 hashingDetails: description: |- Optional additional details on how the transaction was encoded and hashed. Only set if verbose_hashing = true in the request Note that there are no guarantees on the stability of the format or content of this field. Its content should NOT be parsed and should only be used for troubleshooting purposes. type: string costEstimation: $ref: '#/components/schemas/CostEstimation' description: |- Traffic cost estimation of the prepared transaction Optional JsReassignment: title: JsReassignment description: Complete view of an on-ledger reassignment. type: object required: - updateId - commandId - workflowId - offset - recordTime - synchronizerId properties: updateId: description: |- Assigned by the server. Useful for correlating logs. Must be a valid LedgerString (as described in ``value.proto``). Required type: string commandId: description: |- The ID of the command which resulted in this reassignment. Missing for everyone except the submitting party on the submitting participant. Must be a valid LedgerString (as described in ``value.proto``). Optional type: string workflowId: description: |- The workflow ID used in reassignment command submission. Only set if the ``workflow_id`` for the command was set. Must be a valid LedgerString (as described in ``value.proto``). Optional type: string offset: description: |- The participant's offset. The details of this field are described in ``community/ledger-api/README.md``. Required, must be a valid absolute offset (positive integer). type: integer format: int64 events: description: The collection of reassignment events. Required. type: array items: $ref: '#/components/schemas/JsReassignmentEvent' traceContext: $ref: '#/components/schemas/TraceContext' description: |- Optional; ledger API trace context The trace context transported in this message corresponds to the trace context supplied by the client application in a HTTP2 header of the original command submission. We typically use a header to transfer this type of information. Here we use message body, because it is used in gRPC streams which do not support per message headers. This field will be populated with the trace context contained in the original submission. If that was not provided, a unique ledger-api-server generated trace context will be used instead. recordTime: description: |- The time at which the reassignment was recorded. The record time refers to the source/target synchronizer for an unassign/assign event respectively. Required type: string synchronizerId: description: |- A valid synchronizer id. Identifies the synchronizer that synchronized this Reassignment. Required type: string JsReassignmentEvent: title: JsReassignmentEvent oneOf: - type: object required: - JsAssignmentEvent properties: JsAssignmentEvent: $ref: '#/components/schemas/JsAssignmentEvent' - type: object required: - JsUnassignedEvent properties: JsUnassignedEvent: $ref: '#/components/schemas/JsUnassignedEvent' JsStatus: title: JsStatus type: object required: - code - message properties: code: type: integer format: int32 message: type: string details: type: array items: $ref: '#/components/schemas/ProtoAny' JsSubmitAndWaitForReassignmentResponse: title: JsSubmitAndWaitForReassignmentResponse type: object required: - reassignment properties: reassignment: $ref: '#/components/schemas/JsReassignment' description: |- The reassignment that resulted from the submitted reassignment command. The reassignment might contain no events (request conditions result in filtering out all of them). Required JsSubmitAndWaitForTransactionRequest: title: JsSubmitAndWaitForTransactionRequest description: These commands are executed as a single atomic transaction. type: object required: - commands properties: commands: $ref: '#/components/schemas/JsCommands' description: |- The commands to be submitted. Required transactionFormat: $ref: '#/components/schemas/TransactionFormat' description: |- If no ``transaction_format`` is provided, a default will be used where ``transaction_shape`` is set to TRANSACTION_SHAPE_ACS_DELTA, ``event_format`` is defined with ``filters_by_party`` containing wildcard-template filter for all original ``act_as`` and ``read_as`` parties and the ``verbose`` flag is set. Optional JsSubmitAndWaitForTransactionResponse: title: JsSubmitAndWaitForTransactionResponse type: object required: - transaction properties: transaction: $ref: '#/components/schemas/JsTransaction' description: |- The transaction that resulted from the submitted command. The transaction might contain no events (request conditions result in filtering out all of them). Required JsSubmitAndWaitForTransactionTreeResponse: title: JsSubmitAndWaitForTransactionTreeResponse description: Provided for backwards compatibility, it will be removed in the Canton version 3.5.0. type: object required: - transactionTree properties: transactionTree: $ref: '#/components/schemas/JsTransactionTree' JsTopologyTransaction: title: JsTopologyTransaction type: object required: - updateId - offset - synchronizerId properties: updateId: description: |- Assigned by the server. Useful for correlating logs. Must be a valid LedgerString (as described in ``value.proto``). Required type: string offset: description: |- The absolute offset. The details of this field are described in ``community/ledger-api/README.md``. Required, it is a valid absolute offset (positive integer). type: integer format: int64 synchronizerId: description: |- A valid synchronizer id. Identifies the synchronizer that synchronized the topology transaction. Required type: string recordTime: description: |- The time at which the changes in the topology transaction become effective. There is a small delay between a topology transaction being sequenced and the changes it contains becoming effective. Topology transactions appear in order relative to a synchronizer based on their effective time rather than their sequencing time. Required type: string events: description: |- A non-empty list of topology events. Required type: array items: $ref: '#/components/schemas/TopologyEvent' traceContext: $ref: '#/components/schemas/TraceContext' description: |- Optional; ledger API trace context The trace context transported in this message corresponds to the trace context supplied by the client application in a HTTP2 header of the original command submission. We typically use a header to transfer this type of information. Here we use message body, because it is used in gRPC streams which do not support per message headers. This field will be populated with the trace context contained in the original submission. If that was not provided, a unique ledger-api-server generated trace context will be used instead. JsTransaction: title: JsTransaction description: Filtered view of an on-ledger transaction's create and archive events. type: object required: - updateId - commandId - workflowId - effectiveAt - offset - synchronizerId - recordTime properties: updateId: description: |- Assigned by the server. Useful for correlating logs. Must be a valid LedgerString (as described in ``value.proto``). Required type: string commandId: description: |- The ID of the command which resulted in this transaction. Missing for everyone except the submitting party. Must be a valid LedgerString (as described in ``value.proto``). Optional type: string workflowId: description: |- The workflow ID used in command submission. Must be a valid LedgerString (as described in ``value.proto``). Optional type: string effectiveAt: description: |- Ledger effective time. Required type: string events: description: |- The collection of events. Contains: - ``CreatedEvent`` or ``ArchivedEvent`` in case of ACS_DELTA transaction shape - ``CreatedEvent`` or ``ExercisedEvent`` in case of LEDGER_EFFECTS transaction shape Required type: array items: $ref: '#/components/schemas/Event' offset: description: |- The absolute offset. The details of this field are described in ``community/ledger-api/README.md``. Required, it is a valid absolute offset (positive integer). type: integer format: int64 synchronizerId: description: |- A valid synchronizer id. Identifies the synchronizer that synchronized the transaction. Required type: string traceContext: $ref: '#/components/schemas/TraceContext' description: |- Optional; ledger API trace context The trace context transported in this message corresponds to the trace context supplied by the client application in a HTTP2 header of the original command submission. We typically use a header to transfer this type of information. Here we use message body, because it is used in gRPC streams which do not support per message headers. This field will be populated with the trace context contained in the original submission. If that was not provided, a unique ledger-api-server generated trace context will be used instead. recordTime: description: |- The time at which the transaction was recorded. The record time refers to the synchronizer which synchronized the transaction. Required type: string externalTransactionHash: description: |- For transaction externally signed, contains the external transaction hash signed by the external party. Can be used to correlate an external submission with a committed transaction. Optional type: string JsTransactionTree: title: JsTransactionTree description: |- Provided for backwards compatibility, it will be removed in the Canton version 3.5.0. Complete view of an on-ledger transaction. type: object required: - updateId - commandId - workflowId - offset - eventsById - synchronizerId - recordTime properties: updateId: description: |- Assigned by the server. Useful for correlating logs. Must be a valid LedgerString (as described in ``value.proto``). Required type: string commandId: description: |- The ID of the command which resulted in this transaction. Missing for everyone except the submitting party. Must be a valid LedgerString (as described in ``value.proto``). Optional type: string workflowId: description: |- The workflow ID used in command submission. Only set if the ``workflow_id`` for the command was set. Must be a valid LedgerString (as described in ``value.proto``). Optional type: string effectiveAt: description: |- Ledger effective time. Required type: string offset: description: |- The absolute offset. The details of this field are described in ``community/ledger-api/README.md``. Required, it is a valid absolute offset (positive integer). type: integer format: int64 eventsById: $ref: '#/components/schemas/Map_Int_TreeEvent' description: |- Changes to the ledger that were caused by this transaction. Nodes of the transaction tree. Each key must be a valid node ID (non-negative integer). Required synchronizerId: description: |- A valid synchronizer id. Identifies the synchronizer that synchronized the transaction. Required type: string traceContext: $ref: '#/components/schemas/TraceContext' description: |- Optional; ledger API trace context The trace context transported in this message corresponds to the trace context supplied by the client application in a HTTP2 header of the original command submission. We typically use a header to transfer this type of information. Here we use message body, because it is used in gRPC streams which do not support per message headers. This field will be populated with the trace context contained in the original submission. If that was not provided, a unique ledger-api-server generated trace context will be used instead. recordTime: description: |- The time at which the transaction was recorded. The record time refers to the synchronizer which synchronized the transaction. Required type: string JsUnassignedEvent: title: JsUnassignedEvent description: Records that a contract has been unassigned, and it becomes unusable on the source synchronizer type: object required: - value properties: value: $ref: '#/components/schemas/UnassignedEvent' Kind: title: Kind description: Required oneOf: - type: object required: - CanActAs properties: CanActAs: $ref: '#/components/schemas/CanActAs' - type: object required: - CanExecuteAs properties: CanExecuteAs: $ref: '#/components/schemas/CanExecuteAs' - type: object required: - CanExecuteAsAnyParty properties: CanExecuteAsAnyParty: $ref: '#/components/schemas/CanExecuteAsAnyParty' - type: object required: - CanReadAs properties: CanReadAs: $ref: '#/components/schemas/CanReadAs' - type: object required: - CanReadAsAnyParty properties: CanReadAsAnyParty: $ref: '#/components/schemas/CanReadAsAnyParty' - type: object required: - Empty properties: Empty: $ref: '#/components/schemas/Empty8' - type: object required: - IdentityProviderAdmin properties: IdentityProviderAdmin: $ref: '#/components/schemas/IdentityProviderAdmin' - type: object required: - ParticipantAdmin properties: ParticipantAdmin: $ref: '#/components/schemas/ParticipantAdmin' ListIdentityProviderConfigsResponse: title: ListIdentityProviderConfigsResponse type: object properties: identityProviderConfigs: description: '' type: array items: $ref: '#/components/schemas/IdentityProviderConfig' ListKnownPartiesResponse: title: ListKnownPartiesResponse type: object required: - nextPageToken properties: partyDetails: description: |- The details of all Daml parties known by the participant. Required type: array items: $ref: '#/components/schemas/PartyDetails' nextPageToken: description: |- Pagination token to retrieve the next page. Empty, if there are no further results. type: string ListPackagesResponse: title: ListPackagesResponse type: object properties: packageIds: description: |- The IDs of all Daml-LF packages supported by the server. Each element must be a valid PackageIdString (as described in ``value.proto``). Required type: array items: type: string ListUserRightsResponse: title: ListUserRightsResponse type: object properties: rights: description: All rights of the user. type: array items: $ref: '#/components/schemas/Right' ListUsersResponse: title: ListUsersResponse type: object required: - nextPageToken properties: users: description: A subset of users of the participant node that fit into this page. type: array items: $ref: '#/components/schemas/User' nextPageToken: description: |- Pagination token to retrieve the next page. Empty, if there are no further results. type: string ListVettedPackagesRequest: title: ListVettedPackagesRequest type: object required: - pageToken - pageSize properties: packageMetadataFilter: $ref: '#/components/schemas/PackageMetadataFilter' description: |- The package metadata filter the returned vetted packages set must satisfy. Optional topologyStateFilter: $ref: '#/components/schemas/TopologyStateFilter' description: |- The topology filter the returned vetted packages set must satisfy. Optional pageToken: description: |- Pagination token to determine the specific page to fetch. Using the token guarantees that ``VettedPackages`` on a subsequent page are all greater (``VettedPackages`` are sorted by synchronizer ID then participant ID) than the last ``VettedPackages`` on a previous page. The server does not store intermediate results between calls chained by a series of page tokens. As a consequence, if new vetted packages are being added and a page is requested twice using the same token, more packages can be returned on the second call. Leave unspecified (i.e. as empty string) to fetch the first page. Optional type: string pageSize: description: |- Maximum number of ``VettedPackages`` results to return in a single page. If the page_size is unspecified (i.e. left as 0), the server will decide the number of results to be returned. If the page_size exceeds the maximum supported by the server, an error will be returned. To obtain the server's maximum consult the PackageService descriptor available in the VersionService. Optional type: integer format: int32 ListVettedPackagesResponse: title: ListVettedPackagesResponse type: object required: - nextPageToken properties: vettedPackages: description: |- All ``VettedPackages`` that contain at least one ``VettedPackage`` matching both a ``PackageMetadataFilter`` and a ``TopologyStateFilter``. Sorted by synchronizer_id then participant_id. type: array items: $ref: '#/components/schemas/VettedPackages' nextPageToken: description: |- Pagination token to retrieve the next page. Empty string if there are no further results. type: string Map_Filters: title: Map_Filters type: object additionalProperties: $ref: '#/components/schemas/Filters' Map_Int_Field: title: Map_Int_Field type: object additionalProperties: $ref: '#/components/schemas/Field' Map_Int_TreeEvent: title: Map_Int_TreeEvent type: object additionalProperties: $ref: '#/components/schemas/TreeEvent' Map_String: title: Map_String type: object additionalProperties: type: string MinLedgerTime: title: MinLedgerTime type: object required: - time properties: time: $ref: '#/components/schemas/Time' MinLedgerTimeAbs: title: MinLedgerTimeAbs type: object required: - value properties: value: type: string MinLedgerTimeRel: title: MinLedgerTimeRel type: object required: - value properties: value: $ref: '#/components/schemas/Duration' NoPrior: title: NoPrior type: object ObjectMeta: title: ObjectMeta description: |- Represents metadata corresponding to a participant resource (e.g. a participant user or participant local information about a party). Based on ``ObjectMeta`` meta used in Kubernetes API. See https://github.com/kubernetes/apimachinery/blob/master/pkg/apis/meta/v1/generated.proto#L640 type: object required: - resourceVersion - annotations properties: resourceVersion: description: |- An opaque, non-empty value, populated by a participant server which represents the internal version of the resource this ``ObjectMeta`` message is attached to. The participant server will change it to a unique value each time the corresponding resource is updated. You must not rely on the format of resource version. The participant server might change it without notice. You can obtain the newest resource version value by issuing a read request. You may use it for concurrent change detection by passing it back unmodified in an update request. The participant server will then compare the passed value with the value maintained by the system to determine if any other updates took place since you had read the resource version. Upon a successful update you are guaranteed that no other update took place during your read-modify-write sequence. However, if another update took place during your read-modify-write sequence then your update will fail with an appropriate error. Concurrent change control is optional. It will be applied only if you include a resource version in an update request. When creating a new instance of a resource you must leave the resource version empty. Its value will be populated by the participant server upon successful resource creation. Optional type: string annotations: $ref: '#/components/schemas/Map_String' description: |- A set of modifiable key-value pairs that can be used to represent arbitrary, client-specific metadata. Constraints: 1. The total size over all keys and values cannot exceed 256kb in UTF-8 encoding. 2. Keys are composed of an optional prefix segment and a required name segment such that: - key prefix, when present, must be a valid DNS subdomain with at most 253 characters, followed by a '/' (forward slash) character, - name segment must have at most 63 characters that are either alphanumeric ([a-z0-9A-Z]), or a '.' (dot), '-' (dash) or '_' (underscore); and it must start and end with an alphanumeric character. 3. Values can be any non-empty strings. Keys with empty prefix are reserved for end-users. Properties set by external tools or internally by the participant server must use non-empty key prefixes. Duplicate keys are disallowed by the semantics of the protobuf3 maps. See: https://developers.google.com/protocol-buffers/docs/proto3#maps Annotations may be a part of a modifiable resource. Use the resource's update RPC to update its annotations. In order to add a new annotation or update an existing one using an update RPC, provide the desired annotation in the update request. In order to remove an annotation using an update RPC, provide the target annotation's key but set its value to the empty string in the update request. Optional Modifiable OffsetCheckpoint: title: OffsetCheckpoint description: |- OffsetCheckpoints may be used to: - detect time out of commands. - provide an offset which can be used to restart consumption. type: object required: - value properties: value: $ref: '#/components/schemas/OffsetCheckpoint1' OffsetCheckpoint1: title: OffsetCheckpoint description: |- OffsetCheckpoints may be used to: - detect time out of commands. - provide an offset which can be used to restart consumption. type: object required: - offset properties: offset: description: |- The participant's offset, the details of the offset field are described in ``community/ledger-api/README.md``. Required, must be a valid absolute offset (positive integer). type: integer format: int64 synchronizerTimes: description: '' type: array items: $ref: '#/components/schemas/SynchronizerTime' OffsetCheckpoint2: title: OffsetCheckpoint description: |- OffsetCheckpoints may be used to: - detect time out of commands. - provide an offset which can be used to restart consumption. type: object required: - value properties: value: $ref: '#/components/schemas/OffsetCheckpoint1' OffsetCheckpoint3: title: OffsetCheckpoint description: |- OffsetCheckpoints may be used to: - detect time out of commands. - provide an offset which can be used to restart consumption. type: object required: - value properties: value: $ref: '#/components/schemas/OffsetCheckpoint1' OffsetCheckpointFeature: title: OffsetCheckpointFeature type: object properties: maxOffsetCheckpointEmissionDelay: $ref: '#/components/schemas/Duration' description: The maximum delay to emmit a new OffsetCheckpoint if it exists Operation: title: Operation oneOf: - type: object required: - Empty properties: Empty: $ref: '#/components/schemas/Empty5' - type: object required: - Unvet properties: Unvet: $ref: '#/components/schemas/Unvet' - type: object required: - Vet properties: Vet: $ref: '#/components/schemas/Vet' PackageFeature: title: PackageFeature type: object required: - maxVettedPackagesPageSize properties: maxVettedPackagesPageSize: description: |- The maximum number of vetted packages the server can return in a single response (page) when listing them. type: integer format: int32 PackageMetadataFilter: title: PackageMetadataFilter description: |- Filter the VettedPackages by package metadata. A PackageMetadataFilter without package_ids and without package_name_prefixes matches any vetted package. Non-empty fields specify candidate values of which at least one must match. If both fields are set, then a candidate is returned if it matches one of the fields. type: object properties: packageIds: description: |- If this list is non-empty, any vetted package with a package ID in this list will match the filter. type: array items: type: string packageNamePrefixes: description: |- If this list is non-empty, any vetted package with a name matching at least one prefix in this list will match the filter. type: array items: type: string PackagePreference: title: PackagePreference type: object required: - synchronizerId properties: packageReference: $ref: '#/components/schemas/PackageReference' description: |- The package reference of the preferred package. Required synchronizerId: description: |- The synchronizer for which the preferred package was computed. If the synchronizer_id was specified in the request, then it matches the request synchronizer_id. Required type: string PackageReference: title: PackageReference type: object required: - packageId - packageName - packageVersion properties: packageId: description: Required type: string packageName: description: Required type: string packageVersion: description: Required type: string PackageVettingRequirement: title: PackageVettingRequirement description: Defines a package-name for which the commonly vetted package with the highest version must be found. type: object required: - packageName properties: parties: description: |- The parties whose participants' vetting state should be considered when resolving the preferred package. Required type: array items: type: string packageName: description: |- The package-name for which the preferred package should be resolved. Required type: string ParticipantAdmin: title: ParticipantAdmin type: object required: - value properties: value: $ref: '#/components/schemas/ParticipantAdmin1' ParticipantAdmin1: title: ParticipantAdmin type: object ParticipantAuthorizationAdded: title: ParticipantAuthorizationAdded type: object required: - value properties: value: $ref: '#/components/schemas/ParticipantAuthorizationAdded1' ParticipantAuthorizationAdded1: title: ParticipantAuthorizationAdded type: object required: - partyId - participantId - participantPermission properties: partyId: description: Required type: string participantId: description: Required type: string participantPermission: description: Required type: string enum: - PARTICIPANT_PERMISSION_UNSPECIFIED - PARTICIPANT_PERMISSION_SUBMISSION - PARTICIPANT_PERMISSION_CONFIRMATION - PARTICIPANT_PERMISSION_OBSERVATION ParticipantAuthorizationChanged: title: ParticipantAuthorizationChanged type: object required: - value properties: value: $ref: '#/components/schemas/ParticipantAuthorizationChanged1' ParticipantAuthorizationChanged1: title: ParticipantAuthorizationChanged type: object required: - partyId - participantId - participantPermission properties: partyId: description: Required type: string participantId: description: Required type: string participantPermission: description: Required type: string enum: - PARTICIPANT_PERMISSION_UNSPECIFIED - PARTICIPANT_PERMISSION_SUBMISSION - PARTICIPANT_PERMISSION_CONFIRMATION - PARTICIPANT_PERMISSION_OBSERVATION ParticipantAuthorizationRevoked: title: ParticipantAuthorizationRevoked type: object required: - value properties: value: $ref: '#/components/schemas/ParticipantAuthorizationRevoked1' ParticipantAuthorizationRevoked1: title: ParticipantAuthorizationRevoked type: object required: - partyId - participantId properties: partyId: description: Required type: string participantId: description: Required type: string ParticipantAuthorizationTopologyFormat: title: ParticipantAuthorizationTopologyFormat description: A format specifying which participant authorization topology transactions to include and how to render them. type: object properties: parties: description: |- List of parties for which the topology transactions should be sent. Empty means: for all parties. type: array items: type: string PartyDetails: title: PartyDetails type: object required: - party - isLocal - identityProviderId properties: party: description: |- The stable unique identifier of a Daml party. Must be a valid PartyIdString (as described in ``value.proto``). Required type: string isLocal: description: |- true if party is hosted by the participant and the party shares the same identity provider as the user issuing the request. Optional type: boolean localMetadata: $ref: '#/components/schemas/ObjectMeta' description: |- Participant-local metadata of this party. Optional, Modifiable identityProviderId: description: |- The id of the ``Identity Provider`` Optional, if not set, there could be 3 options: 1. the party is managed by the default identity provider. 2. party is not hosted by the participant. 3. party is hosted by the participant, but is outside of the user's identity provider. type: string PartyManagementFeature: title: PartyManagementFeature type: object required: - maxPartiesPageSize properties: maxPartiesPageSize: description: The maximum number of parties the server can return in a single response (page). type: integer format: int32 PartySignatures: title: PartySignatures description: Additional signatures provided by the submitting parties type: object properties: signatures: description: |- Additional signatures provided by all individual parties Required type: array items: $ref: '#/components/schemas/SinglePartySignatures' PrefetchContractKey: title: PrefetchContractKey description: Preload contracts type: object required: - contractKey properties: templateId: description: |- The template of contract the client wants to prefetch. Both package-name and package-id reference identifier formats for the template-id are supported. Note: The package-id reference identifier format is deprecated. We plan to end support for this format in version 3.4. Required type: string contractKey: description: |- The key of the contract the client wants to prefetch. Required Prior: title: Prior type: object required: - value properties: value: type: integer format: int32 PriorTopologySerial: title: PriorTopologySerial description: |- The serial of last ``VettedPackages`` topology transaction on a given participant and synchronizer. type: object required: - serial properties: serial: $ref: '#/components/schemas/Serial' ProtoAny: title: ProtoAny type: object required: - typeUrl - value - unknownFields properties: typeUrl: type: string value: type: string unknownFields: $ref: '#/components/schemas/UnknownFieldSet' valueDecoded: type: string Reassignment: title: Reassignment description: Complete view of an on-ledger reassignment. type: object required: - value properties: value: $ref: '#/components/schemas/JsReassignment' Reassignment1: title: Reassignment description: Complete view of an on-ledger reassignment. type: object required: - value properties: value: $ref: '#/components/schemas/JsReassignment' ReassignmentCommand: title: ReassignmentCommand type: object required: - command properties: command: $ref: '#/components/schemas/Command1' ReassignmentCommands: title: ReassignmentCommands type: object required: - workflowId - userId - commandId - submitter - submissionId properties: workflowId: description: |- Identifier of the on-ledger workflow that this command is a part of. Must be a valid LedgerString (as described in ``value.proto``). Optional type: string userId: description: |- Uniquely identifies the participant user that issued the command. Must be a valid UserIdString (as described in ``value.proto``). Required unless authentication is used with a user token. In that case, the token's user-id will be used for the request's user_id. type: string commandId: description: |- Uniquely identifies the command. The triple (user_id, submitter, command_id) constitutes the change ID for the intended ledger change. The change ID can be used for matching the intended ledger changes with all their completions. Must be a valid LedgerString (as described in ``value.proto``). Required type: string submitter: description: |- Party on whose behalf the command should be executed. If ledger API authorization is enabled, then the authorization metadata must authorize the sender of the request to act on behalf of the given party. Must be a valid PartyIdString (as described in ``value.proto``). Required type: string submissionId: description: |- A unique identifier to distinguish completions for different submissions with the same change ID. Typically a random UUID. Applications are expected to use a different UUID for each retry of a submission with the same change ID. Must be a valid LedgerString (as described in ``value.proto``). If omitted, the participant or the committer may set a value of their choice. Optional type: string commands: description: Individual elements of this reassignment. Must be non-empty. type: array items: $ref: '#/components/schemas/ReassignmentCommand' RevokeUserRightsRequest: title: RevokeUserRightsRequest description: |- Remove the rights from the set of rights granted to the user. Required authorization: ``HasRight(ParticipantAdmin) OR IsAuthenticatedIdentityProviderAdmin(identity_provider_id)`` type: object required: - userId - identityProviderId properties: userId: description: |- The user from whom to revoke rights. Required type: string rights: description: |- The rights to revoke. Optional type: array items: $ref: '#/components/schemas/Right' identityProviderId: description: |- The id of the ``Identity Provider`` Optional, if not set, assume the user is managed by the default identity provider. type: string RevokeUserRightsResponse: title: RevokeUserRightsResponse type: object properties: newlyRevokedRights: description: The rights that were actually revoked by the request. type: array items: $ref: '#/components/schemas/Right' Right: title: Right description: A right granted to a user. type: object required: - kind properties: kind: $ref: '#/components/schemas/Kind' Serial: title: Serial oneOf: - type: object required: - Empty properties: Empty: $ref: '#/components/schemas/Empty6' - type: object required: - NoPrior properties: NoPrior: $ref: '#/components/schemas/NoPrior' - type: object required: - Prior properties: Prior: $ref: '#/components/schemas/Prior' Signature: title: Signature type: object required: - format - signature - signedBy - signingAlgorithmSpec properties: format: description: '' type: string signature: description: '' type: string signedBy: description: The fingerprint/id of the keypair used to create this signature and needed to verify. type: string signingAlgorithmSpec: description: The signing algorithm specification used to produce this signature type: string SignedTransaction: title: SignedTransaction type: object required: - transaction properties: transaction: type: string signatures: type: array items: $ref: '#/components/schemas/Signature' SigningPublicKey: title: SigningPublicKey type: object required: - format - keyData - keySpec properties: format: description: The serialization format of the public key example: CRYPTO_KEY_FORMAT_DER_X509_SUBJECT_PUBLIC_KEY_INFO type: string keyData: description: Serialized public key in the format specified above type: string keySpec: description: The key specification example: SIGNING_KEY_SPEC_EC_CURVE25519 type: string SinglePartySignatures: title: SinglePartySignatures description: Signatures provided by a single party type: object required: - party properties: party: description: |- Submitting party Required type: string signatures: description: |- Signatures Required type: array items: $ref: '#/components/schemas/Signature' SubmitAndWaitForReassignmentRequest: title: SubmitAndWaitForReassignmentRequest description: This reassignment is executed as a single atomic update. type: object properties: reassignmentCommands: $ref: '#/components/schemas/ReassignmentCommands' description: |- The reassignment commands to be submitted. Required eventFormat: $ref: '#/components/schemas/EventFormat' description: |- Optional If no event_format provided, the result will contain no events. The events in the result, will take shape TRANSACTION_SHAPE_ACS_DELTA. SubmitAndWaitResponse: title: SubmitAndWaitResponse type: object required: - updateId - completionOffset properties: updateId: description: |- The id of the transaction that resulted from the submitted command. Must be a valid LedgerString (as described in ``value.proto``). Required type: string completionOffset: description: |- The details of the offset field are described in ``community/ledger-api/README.md``. Required type: integer format: int64 SubmitReassignmentRequest: title: SubmitReassignmentRequest type: object properties: reassignmentCommands: $ref: '#/components/schemas/ReassignmentCommands' description: |- The reassignment command to be submitted. Required SubmitReassignmentResponse: title: SubmitReassignmentResponse type: object SubmitResponse: title: SubmitResponse type: object SynchronizerTime: title: SynchronizerTime type: object required: - synchronizerId properties: synchronizerId: description: |- The id of the synchronizer. Required type: string recordTime: description: |- All commands with a maximum record time below this value MUST be considered lost if their completion has not arrived before this checkpoint. Required type: string TemplateFilter: title: TemplateFilter description: This filter matches contracts of a specific template. type: object required: - value properties: value: $ref: '#/components/schemas/TemplateFilter1' TemplateFilter1: title: TemplateFilter description: This filter matches contracts of a specific template. type: object required: - includeCreatedEventBlob properties: templateId: description: |- A template for which the payload should be included in the response. The ``template_id`` needs to be valid: corresponding template should be defined in one of the available packages at the time of the query. Both package-name and package-id reference formats for the identifier are supported. Note: The package-id reference identifier format is deprecated. We plan to end support for this format in version 3.4. Required type: string includeCreatedEventBlob: description: |- Whether to include a ``created_event_blob`` in the returned ``CreatedEvent``. Use this to access the contract event payload in your API client for submitting it as a disclosed contract with future commands. Optional type: boolean Time: title: Time oneOf: - type: object required: - Empty properties: Empty: $ref: '#/components/schemas/Empty9' - type: object required: - MinLedgerTimeAbs properties: MinLedgerTimeAbs: $ref: '#/components/schemas/MinLedgerTimeAbs' - type: object required: - MinLedgerTimeRel properties: MinLedgerTimeRel: $ref: '#/components/schemas/MinLedgerTimeRel' TopologyEvent: title: TopologyEvent type: object required: - event properties: event: $ref: '#/components/schemas/TopologyEventEvent' TopologyEventEvent: title: TopologyEventEvent oneOf: - type: object required: - Empty properties: Empty: $ref: '#/components/schemas/Empty7' - type: object required: - ParticipantAuthorizationAdded properties: ParticipantAuthorizationAdded: $ref: '#/components/schemas/ParticipantAuthorizationAdded' - type: object required: - ParticipantAuthorizationChanged properties: ParticipantAuthorizationChanged: $ref: '#/components/schemas/ParticipantAuthorizationChanged' - type: object required: - ParticipantAuthorizationRevoked properties: ParticipantAuthorizationRevoked: $ref: '#/components/schemas/ParticipantAuthorizationRevoked' TopologyFormat: title: TopologyFormat description: A format specifying which topology transactions to include and how to render them. type: object properties: includeParticipantAuthorizationEvents: $ref: '#/components/schemas/ParticipantAuthorizationTopologyFormat' description: |- Include participant authorization topology events in streams. Optional, if unset no participant authorization topology events are emitted in the stream. TopologyStateFilter: title: TopologyStateFilter description: |- Filter the vetted packages by the participant and synchronizer that they are hosted on. Empty fields are ignored, such that a ``TopologyStateFilter`` without participant_ids and without synchronizer_ids matches a vetted package hosted on any participant and synchronizer. Non-empty fields specify candidate values of which at least one must match. If both fields are set then at least one candidate value must match from each field. type: object properties: participantIds: description: |- If this list is non-empty, only vetted packages hosted on participants listed in this field match the filter. Query the current Ledger API's participant's ID via the public ``GetParticipantId`` command in ``PartyManagementService``. type: array items: type: string synchronizerIds: description: |- If this list is non-empty, only vetted packages from the topology state of the synchronizers in this list match the filter. type: array items: type: string TopologyTransaction: title: TopologyTransaction type: object required: - value properties: value: $ref: '#/components/schemas/JsTopologyTransaction' TraceContext: title: TraceContext type: object properties: traceparent: description: https://www.w3.org/TR/trace-context/ type: string tracestate: description: '' type: string Transaction: title: Transaction description: Filtered view of an on-ledger transaction's create and archive events. type: object required: - value properties: value: $ref: '#/components/schemas/JsTransaction' TransactionFilter: title: TransactionFilter description: |- Provided for backwards compatibility, it will be removed in the Canton version 3.5.0. Used both for filtering create and archive events as well as for filtering transaction trees. type: object required: - filtersByParty properties: filtersByParty: $ref: '#/components/schemas/Map_Filters' description: |- Each key must be a valid PartyIdString (as described in ``value.proto``). The interpretation of the filter depends on the transaction-shape being filtered: 1. For **transaction trees** (used in GetUpdateTreesResponse for backwards compatibility) all party keys used as wildcard filters, and all subtrees whose root has one of the listed parties as an informee are returned. If there are ``CumulativeFilter``s, those will control returned ``CreatedEvent`` fields where applicable, but will not be used for template/interface filtering. 2. For **ledger-effects** create and exercise events are returned, for which the witnesses include at least one of the listed parties and match the per-party filter. 3. For **transaction and active-contract-set streams** create and archive events are returned for all contracts whose stakeholders include at least one of the listed parties and match the per-party filter. filtersForAnyParty: $ref: '#/components/schemas/Filters' description: |- Wildcard filters that apply to all the parties existing on the participant. The interpretation of the filters is the same with the per-party filter as described above. TransactionFormat: title: TransactionFormat description: |- A format that specifies what events to include in Daml transactions and what data to compute and include for them. type: object required: - transactionShape properties: eventFormat: $ref: '#/components/schemas/EventFormat' description: Required transactionShape: description: |- What transaction shape to use for interpreting the filters of the event format. Required type: string enum: - TRANSACTION_SHAPE_UNSPECIFIED - TRANSACTION_SHAPE_ACS_DELTA - TRANSACTION_SHAPE_LEDGER_EFFECTS TransactionTree: title: TransactionTree description: |- Provided for backwards compatibility, it will be removed in the Canton version 3.5.0. Complete view of an on-ledger transaction. type: object required: - value properties: value: $ref: '#/components/schemas/JsTransactionTree' TreeEvent: title: TreeEvent description: |- Provided for backwards compatibility, it will be removed in the Canton version 3.5.0. Each tree event message type below contains a ``witness_parties`` field which indicates the subset of the requested parties that can see the event in question. Note that transaction trees might contain events with _no_ witness parties, which were included simply because they were children of events which have witnesses. oneOf: - type: object required: - CreatedTreeEvent properties: CreatedTreeEvent: $ref: '#/components/schemas/CreatedTreeEvent' - type: object required: - ExercisedTreeEvent properties: ExercisedTreeEvent: $ref: '#/components/schemas/ExercisedTreeEvent' Tuple2_String_String: title: Tuple2_String_String type: array maxItems: 2 minItems: 2 items: type: string UnassignCommand: title: UnassignCommand description: Unassign a contract type: object required: - value properties: value: $ref: '#/components/schemas/UnassignCommand1' UnassignCommand1: title: UnassignCommand description: Unassign a contract type: object required: - contractId - source - target properties: contractId: description: |- The ID of the contract the client wants to unassign. Must be a valid LedgerString (as described in ``value.proto``). Required type: string source: description: |- The ID of the source synchronizer Must be a valid synchronizer id Required type: string target: description: |- The ID of the target synchronizer Must be a valid synchronizer id Required type: string UnassignedEvent: title: UnassignedEvent description: Records that a contract has been unassigned, and it becomes unusable on the source synchronizer type: object required: - reassignmentId - contractId - source - target - submitter - reassignmentCounter - packageName - offset - nodeId properties: reassignmentId: description: |- The ID of the unassignment. This needs to be used as an input for a assign ReassignmentCommand. Must be a valid LedgerString (as described in ``value.proto``). Required type: string contractId: description: |- The ID of the reassigned contract. Must be a valid LedgerString (as described in ``value.proto``). Required type: string templateId: description: |- The template of the reassigned contract. The identifier uses the package-id reference format. Required type: string source: description: |- The ID of the source synchronizer Must be a valid synchronizer id Required type: string target: description: |- The ID of the target synchronizer Must be a valid synchronizer id Required type: string submitter: description: |- Party on whose behalf the unassign command was executed. Empty if the unassignment happened offline via the repair service. Must be a valid PartyIdString (as described in ``value.proto``). Optional type: string reassignmentCounter: description: |- Each corresponding assigned and unassigned event has the same reassignment_counter. This strictly increases with each unassign command for the same contract. Creation of the contract corresponds to reassignment_counter equals zero. Required type: integer format: int64 assignmentExclusivity: description: |- Assignment exclusivity Before this time (measured on the target synchronizer), only the submitter of the unassignment can initiate the assignment Defined for reassigning participants. Optional type: string witnessParties: description: |- The parties that are notified of this event. Required type: array items: type: string packageName: description: |- The package name of the contract. Required type: string offset: description: |- The offset of origin. Offsets are managed by the participant nodes. Reassignments can thus NOT be assumed to have the same offsets on different participant nodes. Required, it is a valid absolute offset (positive integer) type: integer format: int64 nodeId: description: |- The position of this event in the originating reassignment. Node IDs are not necessarily equal across participants, as these may see different projections/parts of reassignments. Required, must be valid node ID (non-negative integer) type: integer format: int32 UnknownFieldSet: title: UnknownFieldSet type: object required: - fields properties: fields: $ref: '#/components/schemas/Map_Int_Field' Unvet: title: Unvet type: object required: - value properties: value: $ref: '#/components/schemas/Unvet1' Unvet1: title: Unvet type: object properties: packages: type: array items: $ref: '#/components/schemas/VettedPackagesRef' Update: title: Update oneOf: - type: object required: - OffsetCheckpoint properties: OffsetCheckpoint: $ref: '#/components/schemas/OffsetCheckpoint2' - type: object required: - Reassignment properties: Reassignment: $ref: '#/components/schemas/Reassignment' - type: object required: - TopologyTransaction properties: TopologyTransaction: $ref: '#/components/schemas/TopologyTransaction' - type: object required: - Transaction properties: Transaction: $ref: '#/components/schemas/Transaction' Update1: title: Update oneOf: - type: object required: - OffsetCheckpoint properties: OffsetCheckpoint: $ref: '#/components/schemas/OffsetCheckpoint3' - type: object required: - Reassignment properties: Reassignment: $ref: '#/components/schemas/Reassignment1' - type: object required: - TransactionTree properties: TransactionTree: $ref: '#/components/schemas/TransactionTree' UpdateFormat: title: UpdateFormat description: A format specifying what updates to include and how to render them. type: object properties: includeTransactions: $ref: '#/components/schemas/TransactionFormat' description: |- Include Daml transactions in streams. Optional, if unset, no transactions are emitted in the stream. includeReassignments: $ref: '#/components/schemas/EventFormat' description: |- Include (un)assignments in the stream. The events in the result take the shape TRANSACTION_SHAPE_ACS_DELTA. Optional, if unset, no (un)assignments are emitted in the stream. includeTopologyEvents: $ref: '#/components/schemas/TopologyFormat' description: |- Include topology events in streams. Optional, if unset no topology events are emitted in the stream. UpdateIdentityProviderConfigRequest: title: UpdateIdentityProviderConfigRequest type: object properties: identityProviderConfig: $ref: '#/components/schemas/IdentityProviderConfig' description: |- The identity provider config to update. Required, Modifiable updateMask: $ref: '#/components/schemas/FieldMask' description: |- An update mask specifies how and which properties of the ``IdentityProviderConfig`` message are to be updated. An update mask consists of a set of update paths. A valid update path points to a field or a subfield relative to the ``IdentityProviderConfig`` message. A valid update mask must: 1. contain at least one update path, 2. contain only valid update paths. Fields that can be updated are marked as ``Modifiable``. For additional information see the documentation for standard protobuf3's ``google.protobuf.FieldMask``. Required UpdateIdentityProviderConfigResponse: title: UpdateIdentityProviderConfigResponse type: object properties: identityProviderConfig: $ref: '#/components/schemas/IdentityProviderConfig' description: Updated identity provider config UpdatePartyDetailsRequest: title: UpdatePartyDetailsRequest description: 'Required authorization: ``HasRight(ParticipantAdmin) OR IsAuthenticatedIdentityProviderAdmin(party_details.identity_provider_id)``' type: object properties: partyDetails: $ref: '#/components/schemas/PartyDetails' description: |- Party to be updated Required, Modifiable updateMask: $ref: '#/components/schemas/FieldMask' description: |- An update mask specifies how and which properties of the ``PartyDetails`` message are to be updated. An update mask consists of a set of update paths. A valid update path points to a field or a subfield relative to the ``PartyDetails`` message. A valid update mask must: 1. contain at least one update path, 2. contain only valid update paths. Fields that can be updated are marked as ``Modifiable``. An update path can also point to non-``Modifiable`` fields such as 'party' and 'local_metadata.resource_version' because they are used: 1. to identify the party details resource subject to the update, 2. for concurrent change control. An update path can also point to non-``Modifiable`` fields such as 'is_local' as long as the values provided in the update request match the server values. Examples of update paths: 'local_metadata.annotations', 'local_metadata'. For additional information see the documentation for standard protobuf3's ``google.protobuf.FieldMask``. For similar Ledger API see ``com.daml.ledger.api.v2.admin.UpdateUserRequest``. Required UpdatePartyDetailsResponse: title: UpdatePartyDetailsResponse type: object properties: partyDetails: $ref: '#/components/schemas/PartyDetails' description: Updated party details UpdateUserIdentityProviderIdRequest: title: UpdateUserIdentityProviderIdRequest description: 'Required authorization: ``HasRight(ParticipantAdmin)``' type: object required: - userId - sourceIdentityProviderId - targetIdentityProviderId properties: userId: description: User to update type: string sourceIdentityProviderId: description: Current identity provider ID of the user type: string targetIdentityProviderId: description: Target identity provider ID of the user type: string UpdateUserIdentityProviderIdResponse: title: UpdateUserIdentityProviderIdResponse type: object UpdateUserRequest: title: UpdateUserRequest description: 'Required authorization: ``HasRight(ParticipantAdmin) OR IsAuthenticatedIdentityProviderAdmin(user.identity_provider_id)``' type: object properties: user: $ref: '#/components/schemas/User' description: |- The user to update. Required, Modifiable updateMask: $ref: '#/components/schemas/FieldMask' description: |- An update mask specifies how and which properties of the ``User`` message are to be updated. An update mask consists of a set of update paths. A valid update path points to a field or a subfield relative to the ``User`` message. A valid update mask must: 1. contain at least one update path, 2. contain only valid update paths. Fields that can be updated are marked as ``Modifiable``. An update path can also point to a non-``Modifiable`` fields such as 'id' and 'metadata.resource_version' because they are used: 1. to identify the user resource subject to the update, 2. for concurrent change control. Examples of valid update paths: 'primary_party', 'metadata', 'metadata.annotations'. For additional information see the documentation for standard protobuf3's ``google.protobuf.FieldMask``. For similar Ledger API see ``com.daml.ledger.api.v2.admin.UpdatePartyDetailsRequest``. Required UpdateUserResponse: title: UpdateUserResponse type: object properties: user: $ref: '#/components/schemas/User' description: Updated user UpdateVettedPackagesRequest: title: UpdateVettedPackagesRequest type: object required: - dryRun - synchronizerId properties: changes: description: |- 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. type: array items: $ref: '#/components/schemas/VettedPackagesChange' dryRun: description: |- 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. type: boolean synchronizerId: description: |- 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 type: string expectedTopologySerial: $ref: '#/components/schemas/PriorTopologySerial' description: |- 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: description: |- Controls whether potentially unsafe vetting updates are allowed. Optional, defaults to FORCE_FLAG_UNSPECIFIED. type: array items: type: string enum: - UPDATE_VETTED_PACKAGES_FORCE_FLAG_UNSPECIFIED - UPDATE_VETTED_PACKAGES_FORCE_FLAG_ALLOW_VET_INCOMPATIBLE_UPGRADES - UPDATE_VETTED_PACKAGES_FORCE_FLAG_ALLOW_UNVETTED_DEPENDENCIES UpdateVettedPackagesResponse: title: UpdateVettedPackagesResponse type: object properties: pastVettedPackages: $ref: '#/components/schemas/VettedPackages' description: |- All vetted packages on this participant and synchronizer, before the specified changes. Empty if no vetting state existed beforehand. newVettedPackages: $ref: '#/components/schemas/VettedPackages' description: All vetted packages on this participant and synchronizer, after the specified changes. UploadDarFileResponse: title: UploadDarFileResponse description: A message that is received when the upload operation succeeded. type: object User: title: User description: |2- Users and rights ///////////////// Users are used to dynamically manage the rights given to Daml applications. They are stored and managed per participant node. type: object required: - id - primaryParty - isDeactivated - identityProviderId properties: id: description: |- The user identifier, which must be a non-empty string of at most 128 characters that are either alphanumeric ASCII characters or one of the symbols "@^$.!`-#+'~_|:". Required type: string primaryParty: description: |- The primary party as which this user reads and acts by default on the ledger *provided* it has the corresponding ``CanReadAs(primary_party)`` or ``CanActAs(primary_party)`` rights. Ledger API clients SHOULD set this field to a non-empty value for all users to enable the users to act on the ledger using their own Daml party. Users for participant administrators MAY have an associated primary party. Optional, Modifiable type: string isDeactivated: description: |- When set, then the user is denied all access to the Ledger API. Otherwise, the user has access to the Ledger API as per the user's rights. Optional, Modifiable type: boolean metadata: $ref: '#/components/schemas/ObjectMeta' description: |- The metadata of this user. Note that the ``metadata.resource_version`` tracks changes to the properties described by the ``User`` message and not the user's rights. Optional, Modifiable identityProviderId: description: |- The ID of the identity provider configured by ``Identity Provider Config`` Optional, if not set, assume the user is managed by the default identity provider. type: string UserManagementFeature: title: UserManagementFeature type: object required: - supported - maxRightsPerUser - maxUsersPageSize properties: supported: description: Whether the Ledger API server provides the user management service. type: boolean maxRightsPerUser: description: |- The maximum number of rights that can be assigned to a single user. Servers MUST support at least 100 rights per user. A value of 0 means that the server enforces no rights per user limit. type: integer format: int32 maxUsersPageSize: description: |- The maximum number of users the server can return in a single response (page). Servers MUST support at least a 100 users per page. A value of 0 means that the server enforces no page size limit. type: integer format: int32 Vet: title: Vet type: object required: - value properties: value: $ref: '#/components/schemas/Vet1' Vet1: title: Vet type: object properties: packages: type: array items: $ref: '#/components/schemas/VettedPackagesRef' newValidFromInclusive: type: string newValidUntilExclusive: type: string VettedPackage: title: VettedPackage description: |- A package that is vetting on a given participant and synchronizer, modelled after ``VettedPackage`` in `topology.proto `_, enriched with the package name and version. type: object required: - packageId - packageName - packageVersion properties: packageId: description: Package ID of this package. Always present. type: string validFromInclusive: description: |- The time from which this package is vetted. Empty if vetting time has no lower bound. type: string validUntilExclusive: description: |- The time until which this package is vetted. Empty if vetting time has no upper bound. type: string packageName: description: |- Name of this package. Only available if the package has been uploaded to the current participant. If unavailable, is empty string. type: string packageVersion: description: |- Version of this package. Only available if the package has been uploaded to the current participant. If unavailable, is empty string. type: string VettedPackages: title: VettedPackages description: |- The list of packages vetted on a given participant and synchronizer, modelled after ``VettedPackages`` in `topology.proto `_. The list only contains packages that matched a filter in the query that originated it. type: object required: - participantId - synchronizerId - topologySerial properties: packages: description: |- Sorted by package_name and package_version where known, and package_id as a last resort. type: array items: $ref: '#/components/schemas/VettedPackage' participantId: description: Participant on which these packages are vetted. Always present. type: string synchronizerId: description: Synchronizer on which these packages are vetted. Always present. type: string topologySerial: description: |- Serial of last ``VettedPackages`` topology transaction of this participant and on this synchronizer. Always present. type: integer format: int32 VettedPackagesChange: title: VettedPackagesChange description: A change to the set of vetted packages. type: object required: - operation properties: operation: $ref: '#/components/schemas/Operation' VettedPackagesRef: title: VettedPackagesRef description: |- A reference to identify one or more packages. A reference matches a package if its ``package_id`` matches the package's ID, its ``package_name`` matches the package's name, and its ``package_version`` matches the package's version. If an attribute in the reference is left unspecified (i.e. as an empty string), that attribute is treated as a wildcard. At a minimum, ``package_id`` or the ``package_name`` must be specified. If a reference does not match any package, the reference is considered unresolved and the entire update request is rejected. type: object required: - packageId - packageName - packageVersion properties: packageId: description: |- Package's package id must be the same as this field. Optional type: string packageName: description: |- Package's name must be the same as this field. Optional type: string packageVersion: description: |- Package's version must be the same as this field. Optional type: string WildcardFilter: title: WildcardFilter description: This filter matches all templates. type: object required: - value properties: value: $ref: '#/components/schemas/WildcardFilter1' WildcardFilter1: title: WildcardFilter description: This filter matches all templates. type: object required: - includeCreatedEventBlob properties: includeCreatedEventBlob: description: |- Whether to include a ``created_event_blob`` in the returned ``CreatedEvent``. Use this to access the contract create event payload in your API client for submitting it as a disclosed contract with future commands. Optional type: boolean securitySchemes: apiKeyAuth: type: apiKey description: Ledger API standard JWT token (websocket) name: Sec-WebSocket-Protocol in: header httpAuth: type: http description: Ledger API standard JWT token scheme: bearer