Skip to content

Renewal

A Renewal is the Deal for a term Subscription’s next term, opened before the term ends and closed renewed, expanded, contracted, or churned.

Properties

PropertyTypeRequiredDescription
termEndsAtdatetimerequiredWhen the current term ends, read from the Subscription.
openedAtdatetimerequiredWhen it opened: by default 90 days before the term ends.
usageReviewtextUsage against each Entitlement over the term, written before any Quote.
noticeSentAtdatetimeWhen the renewal notice the legal floor requires went out, with the date, Price and cancel link.
saveOffertextThe one save offer shown on cancel; it never blocks the cancel.
outcomestringOne of renewed, expanded, contracted, or churned, computed from the Subscription’s Events at the term end.
Inherited from Deal: 6 properties
PropertyTypeRequiredDescription
statusstringrequiredOne of Open, Qualified, Proposed, Won, or Lost.
valuemoneyWhat the Deal is worth if won.
ownerWorkerThe Worker who runs it.
closesOndateThe date the buyer expects to decide.
statusSincedatetimeWhen it entered its current status, computed from its Events.
nextSteptextThe next dated step agreed with the buyer.

Object

JSON
{
  "$id": "https://api.sb/tutorloop.com/renewals/renewal_1",
  "$type": "Renewal",
  "status": "Open",
  "value": {
    "amount": 60,
    "currency": "USD"
  },
  "owner": "worker_1",
  "closesOn": "2026-10-22",
  "statusSince": "2026-10-22T12:00:00Z",
  "nextStep": "Example next step",
  "termEndsAt": "2026-10-22T12:00:00Z",
  "openedAt": "2026-10-22T12:00:00Z",
  "usageReview": "Example usage review",
  "noticeSentAt": "2026-10-22T12:00:00Z",
  "saveOffer": "Example save offer",
  "outcome": "renewed"
}

Relationships

Verbs

  1. createCreates a Renewal.
    POST /{namespace}/renewalsdoRenewal.created
  2. getReturns one Renewal by id.
    GET /{namespace}/renewals/{id}readNo Event
  3. listReturns Renewals, newest first, one page at a time.
    GET /{namespace}/renewalsreadNo Event
  4. updateChanges the given properties of a Renewal.
    PATCH /{namespace}/renewals/{id}doRenewal.updated
  5. deleteDeletes a Renewal; its history is kept.
    DELETE /{namespace}/renewals/{id}doRenewal.deleted
  6. openOpen starts the Renewal for a term Subscription before its term ends, with a usage review and any notice the legal floor requires.
    POST /{namespace}/renewals/opendoRenewal.opened

Permissions

Which Access level may call each Verb. One-way Verbs wait their delay window.

Operationowneradminmemberviewer
Renewal.createYesYesYesNo
Renewal.getYesYesYesYes
Renewal.listYesYesYesYes
Renewal.updateYesYesYesNo
Renewal.deleteYesYesYesNo
Renewal.openYesYesYesNo

Call it

Text
Open the latest renewal with a subscription.

Example

A 12-seat litigation team's Renewal opens 90 days before its term ends, and the usage review shows 9 seats active. The Success Manager sends a 10-seat Quote, the team accepts it, and the Renewal closes contracted.