# Instance Metadata

Metadata about a Versia instance, such as its capabilities and public key.

Contains metadata about a Versia instance, such as its capabilities and public key. It is served by the instance it describes, has no `id`, and needs no [signature](/signatures), so that other instances can read the public key from it.

## Definition

- Type: `"InstanceMetadata"`

- Fetch: `GET /.versia/v0.7/instance`

- Collections:

  - `moderators`: [Collection](/structures/collection) of instance moderators ([Users](/entities/user)).
  - `admins`: [Collection](/structures/collection) of instance administrators ([Users](/entities/user)).

**Fields**

- `name` (`string`, required): Friendly name of the instance, for humans.

- `software` (`Software`, required): Information about the software running the instance.

  - `name` (`string`, required): Name of the software.
  - `version` (`string`, required): Version of the software. **SHOULD** use [SemVer](https://semver.org/).

- `compatibility` (`Compatibility`, required): Information about the compatibility of the instance. Supported Versia Protocol versions are listed at the [well-known endpoint](/federation/endpoints#well-known).

  - `extensions` (`string[]`, required): Supported extensions, each with its [version](/extensions#versions), such as `pub.versia:likes@1`. **MUST** include every extension that a listed one [requires](/extensions#requirements).

- `description` (`string`): Long description of the instance, for humans.

- `domain` (`Domain`, required): Domain of the instance, used for federation.

- `public_key` (`PublicKey`, required): Public key of the instance.

  - `algorithm` (`string`, required): Algorithm used for the public key. **MUST** be `ed25519`.
  - `key` (`string`, required): Instance public key, in [SPKI-encoded base64](/signatures#exporting-the-public-key).

- `logo` (`Media`): Logo of the instance. **MUST** be an image (`image/*`).

- `banner` (`Media`): Banner of the instance. **MUST** be an image (`image/*`).

Inherited from [Entity](/entities):

- [`type`](/entities#entity-type) (`string`, required)
- [`created_at`](/entities#entity-created-at) (`RFC3339`, required)
- [`extensions`](/entities#entity-extensions) (`Extensions`)

```jsonc title="InstanceMetadata"
{
    "type": "InstanceMetadata",
    "name": "Jim's Jolly Jimjams",
    "software": {
        "name": "Versia Server",
        "version": "1.2.0-beta.3"
    },
    "compatibility": {
        "extensions": [
            "pub.versia:social@1",
            "pub.versia:reactions@1",
            "pub.versia:polls@1",
            "pub.versia:reports@1"
        ]
    },
    "description": "Server for Jim's Jolly Jimjams, a social network for fans of Jimjams.",
    "domain": "social.example",
    "public_key": {
        "algorithm": "ed25519",
        "key": "MCowBQYDK2VwAyEA9zhEMtQZetRl4QrLcz99i7jOa6ZVjX7aLfRUsMuKByI="
    },
    "logo": {
        "url": "https://social.example/files/logo.webp",
        "media_type": "image/webp"
    },
    "created_at": "2021-07-01T00:00:00Z",
    "extensions": {
        "com.example:stats": {
            "monthly_active_users": 1000
        }
    }
}
```
