Publication
A Publication is the branded package a Startup’s Customers use: Domain, Interfaces, packages, docs and Portal, compiled from its Brand and a Version.
Nothing inside it names the platform.
Properties
| Property | Type | Required | Description |
|---|---|---|---|
brand | Brand | required | The Brand every surface carries. |
version | Version | required | The Version it compiles from; a restyle compiles a new Publication and leaves the API version alone. |
domain | Domain | required | The canonical Domain every surface answers on. |
api | url | required | Where the API answers: / on the Domain. api. on the Domain is an alias that serves the same API. |
mcp | url | required | Where the MCP server answers: / on the Domain. |
docs | url | required | The docs, with llms.txt and Markdown per page. |
statusPage | url | The status page, with every Incident that touched an Interface. | |
portal | url | The Portal, where a Customer manages keys, usage, billing and Tenant settings. | |
packages | json | The SDK, CLI and MCP package names, one per language and package registry. | |
keyPrefix | string | The Brand prefix on every API key, ahead of the fixed pattern secret scanners match. | |
envPrefix | string | The prefix of the key variable the SDK and CLI read, such as TRANSCRIBE_API_KEY. | |
webhookHeader | string | The signature header on every webhook delivery to a Customer. | |
errorNamespace | url | The base of every error type a Customer reads, on the Domain. |
Object
{
"$id": "https: //api.sb/ petpantry.shop/ publications/ publication_1",
"$type": "Publication",
"brand": "brand_1",
"version": "version_1",
"domain": "domain_1",
"api": "https: //transcribe.fm/ api",
"mcp": "https: //transcribe.fm/ mcp",
"docs": "https: //transcribe.fm/ docs",
"statusPage": "https: //transcribe.fm/ status",
"portal": "https: //transcribe.fm/ portal",
"packages": {
"npm": "transcribe",
"pypi": "transcribe"
},
"keyPrefix": "transcribe_sk_live_",
"envPrefix": "TRANSCRIBE_",
"webhookHeader": "Transcribe-Signature",
"errorNamespace": "https: //transcribe.fm/ errors"
}Relationships
- A Publication publishes one Product: a Product reaches its Customers through one Publication; nothing inside it names the platform.
publishes, inversepublication.
Verbs
getReturns one Publication by id.GET /{namespace}/publications/{id}listReturns Publications, newest first, one page at a time.GET /{namespace}/publications
A Publication 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 |
|---|---|---|---|---|
Publication.get | Yes | Yes | Yes | Yes |
Publication.list | Yes | Yes | Yes | Yes |
Call it
Show me the latest publication.Example
{
"$id": "https: //api.sb/ transcribe.fm/ publications/ publication_1",
"$type": "Publication",
"domain": "domain_1",
"api": "https: //transcribe.fm/ api",
"mcp": "https: //transcribe.fm/ mcp",
"docs": "https: //transcribe.fm/ docs",
"statusPage": "https: //transcribe.fm/ status",
"portal": "https: //transcribe.fm/ portal",
"packages": { "npm": "transcribe", "pypi": "transcribe" },
"keyPrefix": "transcribe_sk_live_",
"envPrefix": "TRANSCRIBE_",
"webhookHeader": "Transcribe-Signature",
"errorNamespace": "https: //transcribe.fm/ errors"
}