Execute a prepared operation on the ledger with the wallet’s signatures (local ledger configuration only).
POST /api/v1/operations/{operationId}/submit. Execute a prepared operation on the ledger with the wallet’s signatures (local ledger configuration only).
Request
POST /api/v1/operations/{operationId}/submit
Authentication is required. Supported credentials: a signed-in customer session token in Authorization: Bearer …. This route does not accept customer API keys.
Parameters
| Name | In | Type | Required | Constraints | Description |
|---|---|---|---|---|---|
operationId | path | string | Yes | format: uuid; pattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$ | — |
X-Service-Act-As | header | string | No | min length: 3; max length: 512 | Service-principal path only (local and devnet stages; refused by configuration on mainnet). With an OAuth client-credentials bearer token from the validator, names the allow-listed Party the client acts as. Missing: 400 SERVICE_ACT_AS_REQUIRED; not allow-listed: 403 SERVICE_PARTY_NOT_ALLOWED. Ignored for customer session tokens. |
X-Request-Id | header | string | No | min length: 8; max length: 128; pattern: ^[A-Za-z0-9._:-]+$ | Optional client correlation identifier. The server always generates a separate authoritative request ID and retains a valid supplied value only as secondary audit correlation metadata. |
Request body
A body is required.
Content type: application/json
Type: object.
| Field | Type | Required | Constraints | Description |
|---|---|---|---|---|
partySignatures | object · Schema 1 | No | — | — |
walletSubmission | object · Schema 2 | No | — | — |
Additional fields are not allowed.
cURL
Create request.json using the request-body schema. The example sends the file bytes unchanged.
Set OPERATION_ID to the path and required query values before running this example. URL-encode path values as needed.
curl --fail-with-body --silent --show-error \
--request POST \
--url "https://launch-api.supanova.app/api/v1/operations/${OPERATION_ID}/submit" \
--header "Authorization: Bearer $SUPANOVA_SESSION_TOKEN" \
--header "Content-Type: application/json" \
--data-binary @request.jsonResponses
201
The operation after ledger execution.
| Header | Type | Description |
|---|---|---|
X-Request-Id | string | Server-generated request correlation identifier to retain for support and reconciliation. |
Content type: application/json
Type: object.
| Field | Type | Required | Constraints | Description |
|---|---|---|---|---|
cantonCommandId | string or null | Yes | — | — |
cantonUpdateId | string or null | Yes | — | The ledger update that completed the operation, when it is the only operation that update completed. Always null for swap.execute operations of trade orders and user-signed trades: their status follows the order or trade (submitted, confirmed, rejected, cancelled, expired) and the update id, offset and record time are in result.ledgerExecution, since one batch-fill update settles many orders. |
completedAt | one or more variants · Schema 3 | Yes | — | — |
correlationId | string | Yes | format: uuid; pattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$ | — |
createdAt | string | Yes | format: date-time; pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$ | — |
error | one or more variants · Schema 4 | Yes | — | — |
expiresAt | one or more variants · Schema 3 | Yes | — | — |
id | string | Yes | format: uuid; pattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$ | — |
networkId | string | Yes | pattern: ^canton:[-_a-zA-Z0-9]{1,32}$ | — |
result | one or more variants · Schema 5 | Yes | — | Status-specific evidence: ledgerExecution (updateId, offset, recordTime) for a confirmed operation, ledgerPreparation while a signature is awaited, expiredAt or cancelledAt for those terminal states, walletReport for a wallet-reported outcome, else null. |
status | string | Yes | allowed: "received", "validating", "awaiting_signature", "ready", "submitted", "confirmed", "failed", "rejected", "expired", "cancelled" | — |
type | string | Yes | min length: 1; max length: 128 | — |
updatedAt | string | Yes | format: date-time; pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$ | — |
Additional fields are not allowed.
400
The request is malformed or failed validation. Codes: VALIDATION_FAILED, AMBIGUOUS_CREDENTIALS, SERVICE_ACT_AS_REQUIRED.
| Header | Type | Description |
|---|---|---|
X-Request-Id | string | Server-generated request correlation identifier to retain for support and reconciliation. |
Content type: application/json
Standard envelope: error.code, error.message, optional error.details, and requestId. See error handling and the full code registry.
401
Credentials are missing, malformed, expired or revoked. Codes: AUTHENTICATION_REQUIRED, INVALID_AUTHORIZATION_HEADER, INVALID_ACCESS_TOKEN, SESSION_REVOKED.
| Header | Type | Description |
|---|---|---|
X-Request-Id | string | Server-generated request correlation identifier to retain for support and reconciliation. |
Content type: application/json
Standard envelope: error.code, error.message, optional error.details, and requestId. See error handling and the full code registry.
403
The credential may not call this route. Codes: ACCOUNT_RESTRICTED, ANONYMOUS_ACCOUNT_NOT_ALLOWED, API_KEY_ROUTE_NOT_ALLOWED, SERVICE_PARTY_NOT_ALLOWED, SERVICE_PRINCIPAL_NOT_ALLOWED, SIGNUP_NOT_INVITED.
| Header | Type | Description |
|---|---|---|
X-Request-Id | string | Server-generated request correlation identifier to retain for support and reconciliation. |
Content type: application/json
Standard envelope: error.code, error.message, optional error.details, and requestId. See error handling and the full code registry.
404
No resource the caller may see matches the path.
| Header | Type | Description |
|---|---|---|
X-Request-Id | string | Server-generated request correlation identifier to retain for support and reconciliation. |
Content type: application/json
Standard envelope: error.code, error.message, optional error.details, and requestId. See error handling and the full code registry.
413
The request body exceeds the size limit.
| Header | Type | Description |
|---|---|---|
X-Request-Id | string | Server-generated request correlation identifier to retain for support and reconciliation. |
Content type: application/json
Standard envelope: error.code, error.message, optional error.details, and requestId. See error handling and the full code registry.
428
The signed-in account must accept the current product terms first. Codes: PRODUCT_LEGAL_ACCEPTANCE_REQUIRED.
| Header | Type | Description |
|---|---|---|
X-Request-Id | string | Server-generated request correlation identifier to retain for support and reconciliation. |
Content type: application/json
Standard envelope: error.code, error.message, optional error.details, and requestId. See error handling and the full code registry.
429
The caller exceeded an IP or principal request budget.
| Header | Type | Description |
|---|---|---|
Retry-After | integer | Whole seconds to wait before retrying a rate-limited request. |
X-Request-Id | string | Server-generated request correlation identifier to retain for support and reconciliation. |
Content type: application/json
Standard envelope: error.code, error.message, optional error.details, and requestId. See error handling and the full code registry.
503
A dependency is unavailable or the feature is not enabled on this deployment. Codes: AUTHENTICATION_UNAVAILABLE, AUTHORIZATION_UNAVAILABLE.
| Header | Type | Description |
|---|---|---|
X-Request-Id | string | Server-generated request correlation identifier to retain for support and reconciliation. |
Content type: application/json
Standard envelope: error.code, error.message, optional error.details, and requestId. See error handling and the full code registry.
default
Machine-readable API error. The HTTP status identifies the error class.
| Header | Type | Description |
|---|---|---|
X-Request-Id | string | Server-generated request correlation identifier to retain for support and reconciliation. |
Content type: application/json
Standard envelope: error.code, error.message, optional error.details, and requestId. See error handling and the full code registry.
Nested schemas
Field links above lead to the complete nested object, array, and variant definitions below. Required fields are scoped to their containing object.
Schema 1
Request body.partySignatures
Type: object.
| Field | Type | Required | Constraints | Description |
|---|---|---|---|---|
signatures | array of object · Schema 6 | Yes | min items: 1; max items: 2 | — |
Additional fields are not allowed.
Schema 2
Request body.walletSubmission
Type: object.
| Field | Type | Required | Constraints | Description |
|---|---|---|---|---|
commandId | string | Yes | min length: 1; max length: 255 | — |
submissionId | string | No | min length: 1; max length: 255 | — |
Additional fields are not allowed.
Schema 3
Response 201.completedAt
Type: one or more variants.
At least one of these variants must match:
- Variant 1: string. format:
date-time; pattern:^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$ - Variant 2: null.
Schema 4
Response 201.error
Type: one or more variants.
At least one of these variants must match:
- Variant 1: object · Schema 7.
- Variant 2: null.
Schema 5
Response 201.result
Type: one or more variants.
Status-specific evidence: ledgerExecution (updateId, offset, recordTime) for a confirmed operation, ledgerPreparation while a signature is awaited, expiredAt or cancelledAt for those terminal states, walletReport for a wallet-reported outcome, else null.
At least one of these variants must match:
- Variant 1: one or more variants · Schema 8.
- Variant 2: null.
Schema 6
Request body.partySignatures.signatures
Type: array of object.
min items: 1; max items: 2
Array items: object · Schema 9.
Schema 7
Response 201.error variant 1
Type: object.
| Field | Type | Required | Constraints | Description |
|---|---|---|---|---|
code | string | Yes | — | — |
message | string or null | Yes | — | — |
Additional fields are not allowed.
Schema 8
Response 201.result variant 1
Type: one or more variants.
At least one of these variants must match:
- Variant 1: object · Schema 10.
- Variant 2: object · Schema 11.
- Variant 3: object · Schema 12.
- Variant 4: object · Schema 13.
- Variant 5: object · Schema 14.
- Variant 6: object · Schema 15.
Schema 9
Request body.partySignatures.signatures item
Type: object.
| Field | Type | Required | Constraints | Description |
|---|---|---|---|---|
party | string | Yes | min length: 1; max length: 512 | — |
signatures | array of object · Schema 16 | Yes | min items: 1; max items: 4 | — |
Additional fields are not allowed.
Schema 10
Response 201.result variant 1 variant 1
Type: object.
| Field | Type | Required | Constraints | Description |
|---|---|---|---|---|
ledgerPreparation | object · Schema 17 | Yes | — | — |
Additional fields are not allowed.
Schema 11
Response 201.result variant 1 variant 2
Type: object.
| Field | Type | Required | Constraints | Description |
|---|---|---|---|---|
ledgerExecution | object · Schema 18 | Yes | — | — |
Additional fields are not allowed.
Schema 12
Response 201.result variant 1 variant 3
Type: object.
| Field | Type | Required | Constraints | Description |
|---|---|---|---|---|
walletReport | object · Schema 19 | Yes | — | — |
Additional fields are not allowed.
Schema 13
Response 201.result variant 1 variant 4
Type: object.
| Field | Type | Required | Constraints | Description |
|---|---|---|---|---|
confirmed | true | Yes | — | — |
execution | "simulated" | Yes | — | — |
Additional fields are not allowed.
Schema 14
Response 201.result variant 1 variant 5
Type: object.
| Field | Type | Required | Constraints | Description |
|---|---|---|---|---|
expiredAt | string | Yes | format: date-time; pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$ | — |
reason | "operation_deadline_elapsed" | Yes | — | — |
Additional fields are not allowed.
Schema 15
Response 201.result variant 1 variant 6
Type: object.
| Field | Type | Required | Constraints | Description |
|---|---|---|---|---|
cancelledAt | string | Yes | format: date-time; pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$ | — |
reason | string | Yes | allowed: "account_closed_before_submission", "order_cancelled" | — |
Additional fields are not allowed.
Schema 16
Request body.partySignatures.signatures item.signatures
Type: array of object.
min items: 1; max items: 4
Array items: object · Schema 20.
Schema 17
Response 201.result variant 1 variant 1.ledgerPreparation
Type: object.
| Field | Type | Required | Constraints | Description |
|---|---|---|---|---|
kind | string | Yes | allowed: "application-submission", "interactive-submission", "wallet-submission" | — |
commandId | string | Yes | min length: 1; max length: 255 | — |
actAs | array of string · Schema 21 | Yes | min items: 1; max items: 8 | — |
synchronizerId | string | Yes | min length: 1; max length: 512 | — |
hashingSchemeVersion | string | Yes | min length: 1; max length: 64 | — |
preparedAt | string | Yes | format: date-time; pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$ | — |
signedBy | one or more variants · Schema 22 | Yes | — | — |
preparedTransaction | one or more variants · Schema 23 | Yes | — | — |
preparedTransactionHash | one or more variants · Schema 24 | Yes | — | — |
applicationChoice | one or more variants · Schema 25 | Yes | — | — |
applicationPolicy | one or more variants · Schema 25 | Yes | — | — |
disclosedContracts | one or more variants · Schema 26 | No | — | — |
submissionAttempt | one or more variants · Schema 27 | Yes | — | — |
Additional fields are not allowed.
Schema 18
Response 201.result variant 1 variant 2.ledgerExecution
Type: object.
| Field | Type | Required | Constraints | Description |
|---|---|---|---|---|
updateId | string | Yes | min length: 1; max length: 255 | — |
offset | string | Yes | min length: 1; max length: 64 | — |
recordTime | one or more variants · Schema 28 | Yes | — | — |
synchronizerId | one or more variants · Schema 29 | Yes | — | — |
recovered | boolean | Yes | — | — |
exercised | object · Schema 30 | Yes | — | — |
Additional fields are not allowed.
Schema 19
Response 201.result variant 1 variant 3.walletReport
Type: object.
| Field | Type | Required | Constraints | Description |
|---|---|---|---|---|
commandId | one or more variants · Schema 29 | Yes | — | — |
errorCode | one or more variants · Schema 31 | Yes | — | — |
reportedAt | string | Yes | format: date-time; pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$ | — |
source | "wallet" | Yes | — | — |
status | string | Yes | allowed: "submitted", "rejected" | — |
updateId | one or more variants · Schema 29 | Yes | — | — |
Additional fields are not allowed.
Schema 20
Request body.partySignatures.signatures item.signatures item
Type: object.
| Field | Type | Required | Constraints | Description |
|---|---|---|---|---|
signature | string | Yes | min length: 16; max length: 8192 | — |
signedBy | string | Yes | min length: 4; max length: 160 | — |
format | "SIGNATURE_FORMAT_RAW" | Yes | — | — |
signingAlgorithmSpec | "SIGNING_ALGORITHM_SPEC_ED25519" | Yes | — | — |
Additional fields are not allowed.
Schema 21
Response 201.result variant 1 variant 1.ledgerPreparation.actAs
Type: array of string.
min items: 1; max items: 8
Array items: string. min length: 1; max length: 512
Schema 22
Response 201.result variant 1 variant 1.ledgerPreparation.signedBy
Type: one or more variants.
At least one of these variants must match:
- Variant 1: string. min length:
4; max length:160 - Variant 2: null.
Schema 23
Response 201.result variant 1 variant 1.ledgerPreparation.preparedTransaction
Type: one or more variants.
At least one of these variants must match:
- Variant 1: string. max length:
4194304 - Variant 2: null.
Schema 24
Response 201.result variant 1 variant 1.ledgerPreparation.preparedTransactionHash
Type: one or more variants.
At least one of these variants must match:
- Variant 1: string. max length:
512 - Variant 2: null.
Schema 25
Response 201.result variant 1 variant 1.ledgerPreparation.applicationChoice
Type: one or more variants.
At least one of these variants must match:
- Variant 1: object · Schema 30.
- Variant 2: null.
Schema 26
Response 201.result variant 1 variant 1.ledgerPreparation.disclosedContracts
Type: one or more variants.
At least one of these variants must match:
- Variant 1: array of object · Schema 32. max items:
64 - Variant 2: null.
Schema 27
Response 201.result variant 1 variant 1.ledgerPreparation.submissionAttempt
Type: one or more variants.
At least one of these variants must match:
- Variant 1: object · Schema 33.
- Variant 2: null.
Schema 28
Response 201.result variant 1 variant 2.ledgerExecution.recordTime
Type: one or more variants.
At least one of these variants must match:
- Variant 1: string. max length:
64 - Variant 2: null.
Schema 29
Response 201.result variant 1 variant 2.ledgerExecution.synchronizerId
Type: one or more variants.
At least one of these variants must match:
- Variant 1: string. min length:
1; max length:512 - Variant 2: null.
Schema 30
Response 201.result variant 1 variant 2.ledgerExecution.exercised
Type: object.
Additional field values: any value.
Schema 31
Response 201.result variant 1 variant 3.walletReport.errorCode
Type: one or more variants.
At least one of these variants must match:
- Variant 1: string. min length:
1; max length:128 - Variant 2: null.
Schema 32
Response 201.result variant 1 variant 1.ledgerPreparation.disclosedContracts variant 1
Type: array of object.
max items: 64
Array items: object · Schema 34.
Schema 33
Response 201.result variant 1 variant 1.ledgerPreparation.submissionAttempt variant 1
Type: object.
| Field | Type | Required | Constraints | Description |
|---|---|---|---|---|
submissionId | string | Yes | min length: 1; max length: 255 | — |
beginExclusive | integer | Yes | minimum: 0; maximum: 9007199254740991 | — |
startedAt | string | Yes | format: date-time; pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$ | — |
Additional fields are not allowed.
Schema 34
Response 201.result variant 1 variant 1.ledgerPreparation.disclosedContracts variant 1 item
Type: object.
| Field | Type | Required | Constraints | Description |
|---|---|---|---|---|
contractId | string | Yes | min length: 1; max length: 255 | — |
createdEventBlob | string | Yes | min length: 1 | — |
synchronizerId | string | Yes | min length: 1; max length: 512 | — |
templateId | string | Yes | min length: 1; max length: 255 | — |
Additional fields are not allowed.
Source contract
This page is generated from the checked-in customer OpenAPI snapshot. Download JSON, download YAML, or compare the live API reference. Snapshot provenance records the retrieval date and checksum.