Skip to main content
POST
/
v2
/
parties
/
external
/
generate-topology
/v2/parties/external/generate-topology
curl --request POST \
  --url https://api.example.com/v2/parties/external/generate-topology \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "synchronizer": "<string>",
  "partyHint": "<string>",
  "publicKey": {
    "format": "CRYPTO_KEY_FORMAT_DER_X509_SUBJECT_PUBLIC_KEY_INFO",
    "keyData": "<string>",
    "keySpec": "SIGNING_KEY_SPEC_EC_CURVE25519"
  },
  "localParticipantObservationOnly": true,
  "otherConfirmingParticipantUids": [
    "<string>"
  ],
  "confirmationThreshold": 123,
  "observingParticipantUids": [
    "<string>"
  ]
}
'
{
  "partyId": "<string>",
  "publicKeyFingerprint": "<string>",
  "topologyTransactions": [
    "<string>"
  ],
  "multiHash": "<string>"
}

Documentation Index

Fetch the complete documentation index at: https://docs.canton.network/llms.txt

Use this file to discover all available pages before exploring further.

Authorizations

Authorization
string
header
required

Ledger API standard JWT token

Body

application/json
synchronizer
string
required

Synchronizer-id for which we are building this request. TODO(#27670) support synchronizer aliases

Required

partyHint
string
required

The actual party id will be constructed from this hint and a fingerprint of the public key

Required

publicKey
SigningPublicKey · object
required

Public key

Required

localParticipantObservationOnly
boolean

If true, then the local participant will only be observing, not confirming. Default false.

Optional

otherConfirmingParticipantUids
string[]

Other participant ids which should be confirming for this party

Optional: can be empty

confirmationThreshold
integer<int32>

Confirmation threshold >= 1 for the party. Defaults to all available confirmers (or if set to 0).

Optional

observingParticipantUids
string[]

Other observing participant ids for this party

Optional: can be empty

Response

Response message with topology transactions and the multi-hash to be signed.

partyId
string
required

The generated party id

Required

publicKeyFingerprint
string
required

The fingerprint of the supplied public key

Required

topologyTransactions
string[]
required

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.

Required: must be non-empty

multiHash
string
required

the multi-hash which may be signed instead of each individual transaction

Required: must be non-empty