Skip to main content
POST
Create a new signer group

Authorizations

x-api-key
string
header
required

Headers

x-idempotency-key
string<uuid>
required

Unique key (UUID) to ensure request idempotency on POST, PUT and PATCH requests.

A key is scoped to your client, the HTTP method and the path, and is remembered for 24 hours after a successful (below 400) response. Repeating the same request (same JSON body, whatever the key order or whitespace) with the same key within that window returns the original response with X-Idempotent-Replayed: true instead of executing the request again. Using the same key on the same endpoint with a different body returns 422 with problem type idempotency-key-reused; the request is not executed. Error responses (4xx and 5xx) are not remembered, so a request refused for a fixable reason can be corrected and retried under the same key. Request bodies that are not JSON (for example file uploads) are not compared.

Body

application/json

Request to create a new signer group

name
string
required

Name of the signer group

member_keys
string[]
required

Public keys of the members that make up the signer group. At most 64 keys: each key is parsed and checked against the platform's managed signing identities before the group is created, so an unbounded list would let one request drive unbounded work.

Minimum array length: 1

The signer public key

Response

Signer Group created successfully

Group of signers that dictates who can sign transactions for a wallet

id
string
required

KSUID is a 27-character globally unique ID that combines a timestamp with a random component. Used for all entity identifiers in the Dakota platform.

Required string length: 27
Pattern: ^[0-9A-Za-z]{27}$
Example:

"1NFHrqBHb3cTfLVkFSGmHZqdDPi"

client_id
string
required

KSUID is a 27-character globally unique ID that combines a timestamp with a random component. Used for all entity identifiers in the Dakota platform.

Required string length: 27
Pattern: ^[0-9A-Za-z]{27}$
Example:

"1NFHrqBHb3cTfLVkFSGmHZqdDPi"

name
string
required

The wallet name

Example:

"My Wallet"

members
object[]
required

Members that make up the signer group

removed_members
object[]

Signers previously in this group that have since been removed. Populated only when the request sets include_removed=true; each entry carries its removed_at timestamp. Omitted otherwise.