# Sign a program for a multisig account

## POST

/v1/multisig/signprogram

Start a multisig signature, or add a signature to a partially completed multisig signature object.

## Authorizations

- **[api_key](https://dev.algorand.co/reference/rest-api/kmd/#api_key)**

## Request Body

The list of MIME types the operation can consume: application/json

APIV1POSTMultisigProgramSignRequest is the request for `POST /v1/multisig/signprogram`

object

- **address**  
  string

- **data**  
  string 
  format: byte

- **partial_multisig**  
  MultisigSig is the structure that holds multiple Subsigs

object

- **Subsigs**  
    Array<object>

MultisigSubsig is a struct that holds a pair of public key and signatures  
    signatures may be empty

object

- **Key**  
      PublicKey is an exported ed25519PublicKey
      Array<integer>

- **Sig**  
      _Classical signatures_  
      A Signature is a cryptographic signature. It proves that a message was produced by a holder of a cryptographic secret.
      Array<integer>

- **Threshold**  
      integer  
      format: uint8

- **Version**  
      integer  
      format: uint8

- **public_key**  
      PublicKey is an exported ed25519PublicKey
      Array<integer>

- **wallet_handle_token**  
  string

- **wallet_password**  
  string

## Responses

### 200

Response to `POST /v1/multisig/signdata`

The list of MIME types the operation can produce: application/json

APIV1POSTMultisigProgramSignResponse is the response to `POST /v1/multisig/signdata`

object

- **error**  
  boolean

- **message**  
  string

- **multisig**  
  string 
  format: byte
