Skip to content

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

PropertyTypeRequiredDescription
termtextHow long it runs and how it ends.
signedAtdatetimeWhen the last Party signed.
terminatedAtdatetimeWhen it ended under its term; it stays on record.
payoutSchedulestringFor a Supplier’s Agreement: how often the released earned balance pays out.
clearanceDaysintegerFor a Supplier’s Agreement: days an Order’s earnings wait after confirmation before they can pay out.
statusstringrequiredOne of draft, signed or terminated.

Object

JSON
{
  "$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, inverse boundBy.
  • An Agreement covers many Startups: the Agreements a Startup operates under travel with it when it graduates or sells. covers, inverse operatesUnder.

Lifecycle

Agreement lifecycle: draft, signed, terminated (ends)draft → signed: Agreement.signsigned → terminated: Agreement.terminatedraftsignedterminated
StateMeaningMoves to
draft (first)Its terms are written, and not every Party has signed.signed by Agreement.sign
signedEvery Party signed, and it binds them under its term.terminated by Agreement.terminate
terminatedEnded under its own term, with the reason and date recorded and the signed copy kept.None: it ends here.

Verbs

  1. createCreates an Agreement.
    POST /{namespace}/agreementsdoAgreement.created
  2. getReturns one Agreement by id.
    GET /{namespace}/agreements/{id}readNo Event
  3. listReturns Agreements, newest first, one page at a time.
    GET /{namespace}/agreementsreadNo Event
  4. updateChanges the given properties of an Agreement.
    PATCH /{namespace}/agreements/{id}doAgreement.updated
  5. signSign executes an Agreement for one Party and records the signature, the signer and the time.
    POST /{namespace}/agreements/{agreement}/signdoAgreement.signed
  6. terminateTerminate ends an Agreement under its own term, records the reason and the date, and keeps the signed record.
    POST /{namespace}/agreements/{agreement}/terminatedoAgreement.terminated

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.

Operationowneradminmemberviewer
Agreement.createYesYesYesNo
Agreement.getYesYesYesYes
Agreement.listYesYesYesYes
Agreement.updateYesYesYesNo
Agreement.signYesNoNoNo
Agreement.terminateYesNoNoNo

Call it

Text
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.