System
A System is the headless software for one job, such as CRM or billing, that every Startup runs on shared data.
Properties
| Property | Type | Required | Description |
|---|---|---|---|
job | string | required | The one job it does. |
Object
{
"$id": "https: //api.sb/ routewise.dev/ systems/ system_1",
"$type": "System",
"job": "Example job"
}Relationships
- A System is connected via many Integrations: an Integration connects an outside Source to one System, with credentials at Studio, Startup or Customer scope.
connectedVia, inverseconnects. - A System defines many Nouns: the Nouns a System keeps records of; several Systems can share one Noun.
defines, inversedefinedIn. - A System is packaged as many Software Products: Software ships Systems to its Customers as one Product, headless or with an App.
packagedAs, inversepackages. - A System is run by many Startups: a Startup runs its work on headless Systems, such as CRM or billing, that every Startup shares.
runBy, inverseruns. - A System runs on many Capabilities: a System is built on Capabilities, such as Workflows or Search, that every Startup reaches with one key.
runsOn, inverseruns.
Verbs
createCreates a System.POST /{namespace}/systemsgetReturns one System by id.GET /{namespace}/systems/{id}listReturns Systems, newest first, one page at a time.GET /{namespace}/systemsupdateChanges the given properties of a System.PATCH /{namespace}/systems/{id}deleteDeletes a System; its history is kept.DELETE /{namespace}/systems/{id}
Permissions
Which Access level may call each Verb. One-way Verbs wait their delay window.
| Operation | owner | admin | member | viewer |
|---|---|---|---|---|
System.create | Yes | Yes | Yes | No |
System.get | Yes | Yes | Yes | Yes |
System.list | Yes | Yes | Yes | Yes |
System.update | Yes | Yes | Yes | No |
System.delete | Yes | Yes | Yes | No |
Call it
Add a system to LedgerLark.Example
The CRM System holds Contacts, Deals, and Quotes for every Startup in the Studio, each Startup seeing only its own.