Goal
A Goal is what a Thing is trying to achieve: an objective with one or more Key Results.
Every Startup holds one Goal it must reach: its Minimum Success Criteria.
Properties
| Property | Type | Required | Description |
|---|---|---|---|
objective | text | required | The qualitative outcome. |
horizon | string | One of day, week, quarter, year, or three-years. |
Object
{
"$id": "https: //api.sb/ shiftnote.app/ goals/ goal_1",
"$type": "Goal",
"objective": "Example objective",
"horizon": "day"
}Relationships
- A Goal is advanced by many Campaigns: a Campaign spends its budget and window toward one Goal.
advancedBy, inverseadvances. - A Goal is held by one Thing: every Thing pursues Goals, such as a Startup’s quarterly objective or a Team’s weekly target.
heldBy, inverseaimsFor. - A Goal has many Key Results: a Goal is met when its Key Results reach their targets.
keyResults, inversemeasures. - A Goal has many Projects: a Project’s work serves one Goal.
projects, inverseadvances.
Verbs
createCreates a Goal.POST /{namespace}/goalsgetReturns one Goal by id.GET /{namespace}/goals/{id}listReturns Goals, newest first, one page at a time.GET /{namespace}/goalsupdateChanges the given properties of a Goal.PATCH /{namespace}/goals/{id}deleteDeletes a Goal; its history is kept.DELETE /{namespace}/goals/{id}
Permissions
Which Access level may call each Verb. One-way Verbs wait their delay window.
| Operation | owner | admin | member | viewer |
|---|---|---|---|---|
Goal.create | Yes | Yes | Yes | No |
Goal.get | Yes | Yes | Yes | Yes |
Goal.list | Yes | Yes | Yes | Yes |
Goal.update | Yes | Yes | Yes | No |
Goal.delete | Yes | Yes | Yes | No |
Call it
Add a goal to RouteWise.Example
A clinic-reminder SaaS holds a Goal with the objective "cut no-shows for 200 clinics" and horizon:. Its one Key Result moves paid clinics from 35 to 200.