How to Get Multiple Signatures on One Contract
Plenty of contracts need more than one signature. A lease with two tenants. A partnership with three founders. Or Nordlys Renovation's latest job: a kitchen for Birgitte and Jonas Holm, who own the house together, so both of them sign, and so does Nordlys.
That's three signatures on one contract. This is part 3 of Start to Signed, and it covers how to set that up so each person signs only their own line and everyone ends up with the same signed PDF.
How multi-signer contracts work
The short version:
- Add as many signers as you need. You pay $0.25 per contract, not per signer, so three signatures cost the same as one.
- Everyone is emailed at once. When you send, every signer gets their own signing link at the same moment.
- They can sign in any order. Jonas can sign on Tuesday morning and Birgitte on Wednesday night.
- Each signer sees only their own fields. Birgitte draws her signature on her line, Jonas on his.
- It's complete when the last person signs. The final PDF lists every signature with the signer's name and the date they signed, and everyone receives a copy.
The one thing you have to get right is the second-to-last point: every signer needs their own signature field.
1. Give every signer their own signature field
A signature field is a variable in the template whose type is Signature and whose filler is the signer. One per person. For the Holm kitchen, the end of the template looks like this:
**Homeowner**
Signature: {{homeowner_1_signature}}
Name: {{homeowner_1_name}}
**Homeowner**
Signature: {{homeowner_2_signature}}
Name: {{homeowner_2_name}}
**Contractor, Nordlys Renovation**
Signature: {{contractor_signature}}
Name: {{contractor_name}}
Date: {{contractor_signed_at}}
In the template's Variables tab, set the three _signature fields to Signature, the _name fields to Signer Name, and {{contractor_signed_at}} to Timestamp. A signer-name field fills itself in with the name of whoever signs it, and a timestamp fills itself in with the moment they sign. Neither asks the signer to type anything.
Name the fields after roles, not people. {{homeowner_1_signature}} works for every couple who ever hires Nordlys; {{birgitte_signature}} works once.
2. Add the signers
Go to Contracts → New contract, choose the template, then on the Signers step enter the first signer's name and email and click Add Another Signer for each of the others.
If you sign too, and for most two-party contracts you do, add yourself here like anyone else. APISign doesn't assume the sender is a signer.
The order of the list is the order signers are displayed in. It doesn't control who gets the email first; more on that below.
3. Assign each field to a signer
On the Variables step, under Assign to signers, every signer field has a Select a signer dropdown. For the Holm kitchen:
| Field | Assigned to |
|---|---|
homeowner_1_signature, homeowner_1_name | Birgitte Holm |
homeowner_2_signature, homeowner_2_name | Jonas Holm |
contractor_signature, contractor_name, contractor_signed_at | Nordlys Renovation |
Two rules are checked before the contract can be created:
- Every signer needs at least one signature field. A signer with nothing to sign can't complete the contract.
- No signature field can belong to two signers. If Birgitte and Jonas shared a field, whoever signed second would replace the other's signature.
If either rule is broken, you'll get an error that names the signer or the field, so it's quick to fix.
4. Send, and watch the signatures come in
Send it the usual way: Send for signature, then Send · $0.25. The tracker on the contract page has a Signatures step that fills in as each person signs, and Opened shows who has at least looked at it.
If someone is slow, Resend emails everyone who hasn't signed yet. People who already signed aren't bothered, and their signatures are kept. A resend costs $0.25, the same as a send. Part 4 is about following up without nagging, and when not to resend at all.
When the last signature lands, the contract becomes Signed, and every signer and your organization get the finished PDF by email.
When signing order matters
Sometimes it does matter who goes first. A manager approves a quote before the client sees it, or a tenant signs before the landlord countersigns.
APISign doesn't enforce signing order. Every signer is notified the moment you send. If your process needs a strict sequence, split it into separate contracts:
- Send the first contract to the people who go first.
- When it's signed, send the second contract to the people who go next.
In the dashboard you do step 2 by hand when the first contract shows Completed. From code, you can trigger it automatically: the contract_completed webhook fires the moment the last signature arrives, and your handler sends the next contract. We'll build exactly that kind of handler in part 7.
Doing it from the API
If you create contracts in code, each signer in the signers array gets a signerFields list of the fields they complete. With two or more signers, every signer needs one, and each list needs a signature field no one else has:
{
"name": "Kitchen renovation, 9 Havnegade",
"template_id": "your-template-id",
"variables": {
"property_address": "9 Havnegade",
"total_price": "185,000 DKK"
},
"signers": [
{
"name": "Birgitte Holm",
"email": "birgitte@example.com",
"signing_order": 1,
"signerFields": ["homeowner_1_signature", "homeowner_1_name"]
},
{
"name": "Jonas Holm",
"email": "jonas@example.com",
"signing_order": 2,
"signerFields": ["homeowner_2_signature", "homeowner_2_name"]
},
{
"name": "Nordlys Renovation",
"email": "jobs@nordlys.example",
"signing_order": 3,
"signerFields": ["contractor_signature", "contractor_name", "contractor_signed_at"]
}
]
}
signing_order is required and must be unique, but like the list in the dashboard it only sets the display order. The Contracts API docs have the full signer object.
Common setups
| Situation | Signers | Signature fields |
|---|---|---|
| Client and contractor | Client, you | One each |
| Two tenants and a landlord | Each tenant, the landlord | One per tenant, one for the landlord |
| Three co-founders | Each founder | One per founder |
| Mutual NDA | Both companies | One per company |
Whatever the setup, the recipe is the same: one signature field per person, one signer per person, and each field assigned to its owner.
Ready to try it? Sign up and send a test with yourself in every role: test contracts are free, and every signing email comes to you.
