A brand's guidelines, in a portal
const url = 'http://localhost:3000/api/v1/portal/example/brands/example';const options = {method: 'GET'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url http://localhost:3000/api/v1/portal/example/brands/exampleThe rules of one of the portal’s brands as its latest publish has them, read-only, behind the same door as the portal (see GET /api/v1/portal/{slug}); a brand never published is a 404. A rule’s assets are listed only when they may be used, and load from /a/{id} with the signature in signed; images in a rule’s text come signed. updatedAt is when it was published.
No key needed.
Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”The portal’s address
One of its brands, by slug
Query Parameters
Section titled “Query Parameters”Resolve for one context, e.g. dark-background
Responses
Section titled “Responses”The guidelines
object
object
Its rules in page order; a rule’s assets only when they may be used
object
The brand’s slug
Dotted, e.g. color.primary
The heading readers see; null: the key, in words
Null: the default
object
Pixels
400 regular, 700 bold
Assets it points at, in order: /a/{id}, or /a/{id}/{rendition} when it names one
Contexts some rule is scoped to, for ?context=
Each listed asset’s signature: /a/{id}/{rendition}?s={it} loads it for the visitor
object
Example
{ "data": [ { "type": "color" } ]}Not in yet: how to get in
object
object
object
object
A URL on this host: the portal’s, else its first brand’s mark, else its organization’s
The portal’s, else its first brand’s color, else its organization’s
The organization’s, for the browser tab
What the organization calls the product
Example
{ "error": { "code": "password", "detail": { "access": "password" } }}default
Section titled “default”An error
object
object
Examplegenerated
{ "error": { "code": "example", "message": "example", "detail": "example" }}