Skip to content

App

An App is an Interface where people work with a Product’s Nouns and Verbs through screens, backed by its API.

Properties

PropertyTypeRequiredDescription
personaslist of PersonaThe Personas it serves.
viewslist of DashboardIts Dashboards, compiled by default from the Persona’s Role: a list and record per Noun, a form per Verb.
slotsjsonNamed places where a Component replaces a default part, such as a record header or the ask control.
Inherited from Interface: 3 properties
PropertyTypeRequiredDescription
kindstringrequiredOne of api, mcp, cli, sdk, site, app, docs, or webhooks.
pathstringWhere it is mounted on its Domain, such as /api.
conformsTojsonThe Standards it also speaks, each mapping the Standard’s operations onto the Product’s Verbs.

Object

JSON
{
  "$id": "https://api.sb/routewise.dev/apps/app_1",
  "$type": "App",
  "kind": "api",
  "path": "/",
  "conformsTo": {
    "standard": "openai-chat",
    "operations": {
      "chat.completions.create": "Listing.write"
    }
  },
  "personas": [
    "persona_1"
  ],
  "views": [
    "dashboard_1"
  ],
  "slots": {}
}

Relationships

Verbs

  1. publishPublish releases an App to its Customers, so each Tenant runs its newest build.
    POST /{namespace}/apps/{app}/publishdoApp.published

Permissions

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

Operationowneradminmemberviewer
App.publishYesYesYesNo

Call it

Text
Publish the app “Grain-free kibble, 12 lb”.

Example

The App of an invoicing Software Product shows each Invoice on a screen with bill and void buttons. Each button calls the same API a script calls.