Capability
A Capability is a named set of Verbs on one Noun family that every Startup reaches through api.sb with one key, metered, limited, and logged.
Properties
| Property | Type | Required | Description |
|---|---|---|---|
name | string | required | The name, such as Workflows or Search. |
nouns | list of Noun | required | The Nouns it exposes, each with its Verbs. |
modes | json | The Mode each Verb accepts; a stateless Verb is try only. | |
upstream | string | Who performs it behind api.sb, held as data and swappable without a caller noticing. |
Object
{
"$id": "https: //api.sb/ quietcopy.com/ capabilities/ capability_1",
"$type": "Capability",
"name": "QuietCopy",
"nouns": [
"noun_1"
],
"modes": {},
"upstream": "Example upstream"
}Relationships
- A Capability exposes many Nouns: a Capability exposes Verbs on one Noun family, metered, limited and logged under one key.
exposes, inverseexposedBy. - A Capability has many Recovery Objectives: the Capability the objective restores.
recoveryObjectives, inversecapability. - A Capability runs many Systems: a System is built on Capabilities, such as Workflows or Search, that every Startup reaches with one key.
runs, inverserunsOn.
Verbs
getReturns one Capability by id.GET /{namespace}/capabilities/{id}listReturns Capabilities, newest first, one page at a time.GET /{namespace}/capabilities
A Capability is kept forever and never edited: it has no update or delete.
Permissions
Which Access level may call each Verb. One-way Verbs wait their delay window.
| Operation | owner | admin | member | viewer |
|---|---|---|---|---|
Capability.get | Yes | Yes | Yes | Yes |
Capability.list | Yes | Yes | Yes | Yes |
Call it
Show me the latest capability.Example
A clinic-reminder SaaS sends 9,000 text reminders a day through the messaging Capability. It uses the key it uses for payments and search, every send is metered, and its Limit stops sends past 12,000 a day.