Software
Software is a Product a Customer uses through Interfaces, from a headless API to a full App.
Properties
| Property | Type | Required | Description |
|---|---|---|---|
headless | boolean | True when it ships without screens of its own. |
Inherited from Product: 3 properties
| Property | Type | Required | Description |
|---|---|---|---|
name | string | required | The name of the Product. |
promise | text | required | What the Customer can rely on. |
status | string | required | One of draft, selling or retired, set by its Offers. |
Object
{
"$id": "https: //api.sb/ patentpad.com/ software/ software_1",
"$type": "Software",
"name": "PatentPad",
"promise": "A filing-ready draft within two days.",
"status": "draft",
"headless": true
}Relationships
- A Software packages many Systems: Software ships Systems to its Customers as one Product, headless or with an App.
packages, inversepackagedAs.
Verbs
createCreates a Software.POST /{namespace}/softwaregetReturns one Software by id.GET /{namespace}/software/{id}listReturns Software, newest first, one page at a time.GET /{namespace}/softwareupdateChanges the given properties of a Software.PATCH /{namespace}/software/{id}deleteDeletes a Software; its history is kept.DELETE /{namespace}/software/{id}
Permissions
Which Access level may call each Verb. One-way Verbs wait their delay window.
| Operation | owner | admin | member | viewer |
|---|---|---|---|---|
Software.create | Yes | Yes | Yes | No |
Software.get | Yes | Yes | Yes | Yes |
Software.list | Yes | Yes | Yes | Yes |
Software.update | Yes | Yes | Yes | No |
Software.delete | Yes | Yes | Yes | No |
Call it
Add a software to ShiftNote.Example
An invoicing API is Software. Customers call it headless, and the same Product adds an App for bookkeepers.