---
title: "POST /v2/interactive-submission/execute"
method: POST
path: "/v2/interactive-submission/execute"
---

# POST /v2/interactive-submission/execute

`POST /v2/interactive-submission/execute`

Execute a prepared submission _asynchronously_ on the ledger.
Requires `actAs` or `executeAs` scope for the submitting party when LAPI User authorization is enabled
Requires a signature of the transaction from the submitting external party.

## Request body

- JsExecuteSubmissionRequest
  - `preparedTransaction` string, required — the prepared transaction Typically this is the value of the `prepared_transaction` field in `PrepareSubmissionResponse` obtained from calling `prepareSubmission`. Required
  - `partySignatures` PartySignatures, required — Additional signatures provided by the submitting parties
    - `signatures` SinglePartySignatures[], required — Additional signatures provided by all individual parties Required: must be non-empty
      - `party` string, required — Submitting party Required
      - `signatures` Signature[], required — Signatures Required: must be non-empty
        - `format` string, required — Required
        - `signature` string, required — Required: must be non-empty
        - `signedBy` string, required — The fingerprint/id of the keypair used to create this signature and needed to verify. Required
        - `signingAlgorithmSpec` string, required — The signing algorithm specification used to produce this signature Required
  - `deduplicationPeriod` union
    - object
      - `DeduplicationDuration` DeduplicationDuration2, required
        - `value` Duration, required
          - `seconds` integer, required
          - `nanos` integer, required
          - `unknownFields` UnknownFieldSet
            - `fields` MapIntField, required
    - object
      - `DeduplicationOffset` DeduplicationOffset2, required
        - `value` integer, required
    - object
      - `Empty` Empty10, required
  - `submissionId` string, required — 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
  - `userId` string — See [PrepareSubmissionRequest.user_id] Optional
  - `hashingSchemeVersion` 'HASHING_SCHEME_VERSION_UNSPECIFIED' | 'HASHING_SCHEME_VERSION_V2' | 'HASHING_SCHEME_VERSION_V3', required — The hashing scheme version used when building the hash Required
  - `minLedgerTime` MinLedgerTime
    - `time` union — Required
      - object
        - `Empty` Empty9, required
      - object
        - `MinLedgerTimeAbs` MinLedgerTimeAbs, required
          - `value` string, required
      - object
        - `MinLedgerTimeRel` MinLedgerTimeRel, required
          - `value` Duration, required
            - `seconds` integer, required
            - `nanos` integer, required
            - `unknownFields` UnknownFieldSet
              - …

## Response `200`

- ExecuteSubmissionResponse

## Other responses

- `400` — Invalid value, Invalid value for: body
- `default`

---

[API](https://skmtc.dev/canton/apis/json-ledger-api-http-endpoints.md) · [All operations](https://skmtc.dev/canton/apis/json-ledger-api-http-endpoints/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/canton/json-ledger-api-http-endpoints/revisions/296292e8b8f1/schema)
