Instance Metadata
Contains metadata about a Versia instance, such as capabilities and endpoints.
The null
Author
On some entities that have an author
field, the author
can be null
to represent the instance itself as the author (like ActivityPub's Server Actors). In this case, the instance's public key should be used to verify the entity. To know which instance's public key to use, the entity signature should be used.
Check the entity's documentation page to see if it supports this (it will be noted in the author
field).
Entity Definition
- Name
id
- Type
- null
- Description
This entity does not have an ID.
- Name
uri
- Type
- null
- Description
This entity does not have a URI.
- Name
name
- Required
- Required
- Type
- string
- Description
Friendly name of the instance, for humans.
- Name
software
- Required
- Required
- Type
- Software
- Description
Information about the software running the instance.
type Software = { name: string; version: string; }
name
: Name of the software.version
: Version of the software. Should use SemVer.
- Name
compatibility
- Required
- Required
- Type
- Compatibility
- Description
Information about the compatibility of the instance.
type Compatibility = { versions: string[]; extensions: string[]; }
versions
: Supported Versia Protocol versions.- Versions marked as "Working Draft X" are represented as
0.X
.
- Versions marked as "Working Draft X" are represented as
extensions
: Supported extensions.
- Name
description
- Type
- string
- Description
Long description of the instance, for humans. Should be around 100-200 words.
- Name
host
- Required
- Required
- Type
- string
- Description
Hostname of the instance. Includes the port if it is not the default (i.e.
443
for HTTPS).
- Name
shared_inbox
- Type
- URI
- Description
URI to the instance's shared inbox, if supported.
- Name
public_key
- Required
- Required
- Type
- PublicKey
- Description
Public key of the instance.
type PublicKey = { algorithm: string; key: string; }
algorithm
: Algorithm used for the public key. Can only beed25519
for now.key
: Instance public key, in SPKI-encoded base64 (from raw bytes, not a PEM format).
- Name
moderators
- Type
- URI
- Description
URI to Collection of instance moderators.
This is for human consumption (such as moderator contact), not for any kind of protocol authorization.
- Name
admins
- Type
- URI
- Description
URI to Collection of instance administrators.
This is for human consumption (such as admin contact), not for any kind of protocol authorization.
- Name
logo
- Type
- ContentFormat
- Description
Logo of the instance. Must be an image format (
image/*
).
- Name
banner
- Type
- ContentFormat
- Description
Banner of the instance. Must be an image format (
image/*
).
InstanceMetadata
{
"type": "InstanceMetadata",
"name": "Jim's Jolly Jimjams",
"software": {
"name": "Versia Server",
"version": "1.2.0-beta.3"
},
"compatibility": {
"versions": [
"0.3.0",
"0.4.0"
],
"extensions": [
"pub.versia:reactions",
"pub.versia:polls",
"pub.versia:reports"
]
},
"description": "Server for Jim's Jolly Jimjams, a social network for fans of Jimjams.",
"host": "social.jimjams.com",
"shared_inbox": "https://social.jimjams.com/inbox",
"moderators": "https://social.jimjams.com/moderators",
"admins": "https://social.jimjams.com/admins",
"logo": {
"image/png": {
"content": "https://social.jimjams.com/files/logo.png"
},
"image/webp": {
"content": "https://social.jimjams.com/files/logo.webp"
}
},
"public_key": {
"algorithm": "ed25519",
"key": "MCowBQYDK2VwAyEA9zhEMtQZetRl4QrLcz99i7jOa6ZVjX7aLfRUsMuKByI="
},
"banner": null,
"created_at": "2021-07-01T00:00:00Z",
"extensions": {
"example.extension:monthly_active_users": 1000
}
}