Skip to content

What's new in a portal's brand

GET
/api/v1/portal/{slug}/updates
curl --request GET \
--url http://localhost:3000/api/v1/portal/example/updates

One of its brands’ latest publishes, newest first, up to 20, with what each changed for readers. A publish’s picture is in media, signed, while it may be used.

No key needed.

slug
required
string

The portal’s address

brand
string

One of its brands, by slug; the first when left out

Its publishes

Media typeapplication/json
object
data
required
Array<object>
object
version
required
integer
>= -9007199254740991 <= 9007199254740991
publishedAt
required
string format: date-time
/^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$/
publishedBy
required
string | null
note
required

What changed, in the publisher’s words

string | null
image
required
Any of:
string format: uuid
/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/
changes
required

What it changed for readers since the publish before it

object
rules
required

By key

object
added
required
Array<string>
changed
required
Array<string>
removed
required
Array<string>
pages
required

Pages readers can reach: a hidden one is left out

object
added
required
Array<object>
object
slug
required
string
title
required
string
changed
required
Array<object>
object
slug
required
string
title
required
string
removed
required
Array<object>
object
slug
required
string
title
required
string
media
required
object
key
additional properties
object
id
required
string format: uuid
/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/
filename
required
string
title
required
string | null
description
required
string | null
creator
required
string | null
copyright
required
string | null
mime
required
string
size
required
integer
>= -9007199254740991 <= 9007199254740991
width
required
Any of:
integer
>= -9007199254740991 <= 9007199254740991
height
required
Any of:
integer
>= -9007199254740991 <= 9007199254740991
thumbnail
required

A URL on this host

string | null
preview
required

Larger, for a closer look

string | null
downloads
required
Array<object>
object
preset
required
string
Allowed values: web social story print png original
label
required
string
hint
required
string
url
required
string
filename
required
string
original
required

The file as uploaded

string
focus
required
Any of:
object
x
required
number
y
required
number
updatedAt
required
string format: date-time
/^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$/
Example
{
"media": {
"additionalProperty": {
"downloads": [
{
"preset": "web"
}
]
}
}
}

Not in yet: how to get in

Media typeapplication/json
object
error
required
object
code
required
string
Allowed value: password
message
required
string
detail
required
object
name
required
string
access
required
string
Allowed values: password members
theme
required
object
logo
required

A URL on this host: the portal’s, else its first brand’s mark, else its organization’s

string | null
accent
required

The portal’s, else its first brand’s color, else its organization’s

string | null
background
required
string | null
icon
required

The organization’s, for the browser tab

string | null
product
required

What the organization calls the product

string
Example
{
"error": {
"code": "password",
"detail": {
"access": "password"
}
}
}

An error

Media typeapplication/json
object
error
required
object
code
required
string
message
required
string
detail
Examplegenerated
{
"error": {
"code": "example",
"message": "example",
"detail": "example"
}
}