mirror of
https://github.com/versia-pub/server.git
synced 2025-12-06 16:38:19 +01:00
64 lines
1.6 KiB
Markdown
64 lines
1.6 KiB
Markdown
# Mastodon API Extensions
|
|
|
|
Extra attributes have been added to some Mastodon API routes. Changes are documented in this document.
|
|
|
|
## `/api/v1/instance`
|
|
|
|
Three extra attributes have been added to the `/api/v1/instance` endpoint:
|
|
|
|
```ts
|
|
{
|
|
// ...
|
|
banner: string | null;
|
|
lysand_version: string;
|
|
sso: {
|
|
forced: boolean;
|
|
providers: {
|
|
id: string;
|
|
name: string;
|
|
icon?: string;
|
|
}[];
|
|
}
|
|
}
|
|
```
|
|
|
|
### `banner`
|
|
|
|
The URL of the instance's banner image. `null` if there is no banner set.
|
|
|
|
### `lysand_version`
|
|
|
|
The version of the Lysand instance.
|
|
|
|
The normal `version` field is always set to `"4.3.0+glitch"` or similar, to not confuse clients that expect a Mastodon instance.
|
|
|
|
### `sso`
|
|
|
|
Single Sign-On (SSO) settings for the instance. This object contains two fields:
|
|
|
|
- `forced`: If this is enabled, normal identifier/password login is disabled and login must be done through SSO.
|
|
- `providers`: An array of external OpenID Connect providers that users can link their accounts to. Each provider object contains the following fields:
|
|
- `id`: The issuer ID of the OpenID Connect provider.
|
|
- `name`: The name of the provider.
|
|
- `icon`: The URL of the provider's icon. Optional.
|
|
|
|
## `/api/v2/instance`
|
|
|
|
Contains the same extensions as `/api/v1/instance`, except `banner` which uses the normal Mastodon API attribute.
|
|
|
|
## `Account`
|
|
|
|
(`/api/v1/accounts/:id`, `/api/v1/accounts/verify_credentials`, ...)
|
|
|
|
An extra attribute has been adding to all returned account objects:
|
|
|
|
```ts
|
|
{
|
|
// ...
|
|
roles: LysandRoles[];
|
|
}
|
|
```
|
|
|
|
### `roles`
|
|
|
|
An array of roles from [Lysand Roles](./roles.md). |