Agreement
An Agreement is a contract between two or more Parties, with its term, liability, and economics, that travels with the Startup.
The holding Company signs it.
Properties
| Property | Type | Required | Description |
|---|---|---|---|
term | text | How long it runs and how it ends. | |
signedAt | datetime | When the last Party signed. | |
terminatedAt | datetime | When it ended under its term; it stays on record. | |
payoutSchedule | string | For a Supplier’s Agreement: how often the released earned balance pays out. | |
clearanceDays | integer | For a Supplier’s Agreement: days an Order’s earnings wait after confirmation before they can pay out. | |
status | string | required | One of draft, signed or terminated. |
Object
{
"$id": "https: //api.sb/ quietcopy.com/ agreements/ agreement_1",
"$type": "Agreement",
"term": "Example term",
"signedAt": "2026-10-22T12: 00: 00Z",
"terminatedAt": "2026-10-22T12: 00: 00Z",
"payoutSchedule": "daily",
"clearanceDays": 1,
"status": "draft"
}Relationships
- An Agreement binds many Parties: the Parties the Agreement holds to its terms, each from the moment it signs.
binds, inverseboundBy. - An Agreement covers many Startups: the Agreements a Startup operates under travel with it when it graduates or sells.
covers, inverseoperatesUnder.
Lifecycle
| State | Meaning | Moves to |
|---|---|---|
draft (first) | Its terms are written, and not every Party has signed. | signed by Agreement.sign |
signed | Every Party signed, and it binds them under its term. | terminated by Agreement.terminate |
terminated | Ended under its own term, with the reason and date recorded and the signed copy kept. | None: it ends here. |
Verbs
createCreates an Agreement.POST /{namespace}/agreementsgetReturns one Agreement by id.GET /{namespace}/agreements/{id}listReturns Agreements, newest first, one page at a time.GET /{namespace}/agreementsupdateChanges the given properties of an Agreement.PATCH /{namespace}/agreements/{id}signSign executes an Agreement for one Party and records the signature, the signer and the time.POST /{namespace}/agreements/{agreement}/signterminateTerminate ends an Agreement under its own term, records the reason and the date, and keeps the signed record.POST /{namespace}/agreements/{agreement}/terminate
An Agreement is never deleted: it ends by Agreement.terminate, and its records stay.
Permissions
Which Access level may call each Verb. One-way Verbs wait their delay window.
| Operation | owner | admin | member | viewer |
|---|---|---|---|---|
Agreement.create | Yes | Yes | Yes | No |
Agreement.get | Yes | Yes | Yes | Yes |
Agreement.list | Yes | Yes | Yes | Yes |
Agreement.update | Yes | Yes | Yes | No |
Agreement.sign | Yes | No | No | No |
Agreement.terminate | Yes | No | No | No |
Call it
Sign the latest agreement.Example
A practice-management Startup signs an Agreement with a court-filings API: a three-year term, liability capped at annual fees, and 20% of referred first-year revenue. When the Startup sells, the Agreement moves with it.