diff --git a/content/en/entities/Instance.md b/content/en/entities/Instance.md index 0ffead068..a1f53a857 100644 --- a/content/en/entities/Instance.md +++ b/content/en/entities/Instance.md @@ -142,6 +142,20 @@ aliases: [ "translation": { "enabled": true }, + "timelines_access": { + "live_feeds": { + "local": "public", + "remote": "public" + }, + "hashtag_feeds": { + "local": "public", + "remote": "public" + }, + "trending_link_feeds": { + "local": "public", + "remote": "public" + } + } "limited_federation": false }, "registrations": { @@ -740,6 +754,94 @@ aliases: [ **Version history:**\ 4.0.0 - added +#### `configuration[timeline_access]` {#timeline_access} + +**Description:** Access restrictions on different timelines.\ +**Type:** Hash\ +**Version history:**\ +4.5.0 - added + +#### `configuration[timeline_access][live_feeds]` {#timeline_access-live_feeds} + +**Description:** Access restrictions on [public “firehose” feeds]({{< relref "methods/timelines#public" >}}).\ +**Type:** Hash\ +**Version history:**\ +4.5.0 - added + +#### `configuration[timeline_access][live_feeds][local]` {#timeline_access-live_feeds-local} + +**Description:** Access restrictions for local posts in the public “firehose” feed.\ +**Type:** String (Enumerable oneOf)\ +- `public` = Access to local posts in the public “firehose” feed is available to both visitors and logged-in users.\ +- `authenticated` = Access to local posts in the public “firehose” feed requires authentication.\ +- `disabled` = Access to local posts in the public “firehose” feed is only possible for users with the “View live and topic feeds” [permission]({{< relref "entities/Role#permissions" >}}).\ +**Version history:**\ +4.5.0 - added + +#### `configuration[timeline_access][live_feeds][remote]` {#timeline_access-live_feeds-remote} + +**Description:** Access restrictions for remote posts in the public “firehose” feed.\ +**Type:** String (Enumerable oneOf)\ +- `public` = Access to remote posts in the public “firehose” feed is available to both visitors and logged-in users.\ +- `authenticated` = Access to remote posts in the public “firehose” feed requires authentication.\ +- `disabled` = Access to remote posts in the public “firehose” feed is only possible for users with the “View live and topic feeds” [permission]({{< relref "entities/Role#permissions" >}}).\ +**Version history:**\ +4.5.0 - added + +#### `configuration[timeline_access][hashtag_feeds]` {#timeline_access-hashtag_feeds} + +**Description:** Access restrictions on [hashtag feeds]({{< relref "methods/timelines#tag" >}}).\ +**Type:** Hash\ +**Version history:**\ +4.5.0 - added + +#### `configuration[timeline_access][hashtag_feeds][local]` {#timeline_access-hashtag_feeds-local} + +**Description:** Access restrictions for local posts in hashtag feeds.\ +**Type:** String (Enumerable oneOf)\ +- `public` = Access to local posts in hashtag feeds is available to both visitors and logged-in users.\ +- `authenticated` = Access to local posts in hashtag feeds requires authentication.\ +- `disabled` = Access to local posts in hashtag feeds is only possible for users with the “View live and topic feeds” [permission]({{< relref "entities/Role#permissions" >}}).\ +**Version history:**\ +4.5.0 - added + +#### `configuration[timeline_access][hashtag_feeds][remote]` {#timeline_access-hashtag_feeds-remote} + +**Description:** Access restrictions for remote posts in hashtag feeds.\ +**Type:** String (Enumerable oneOf)\ +- `public` = Access to remote posts in hashtag feeds is available to both visitors and logged-in users.\ +- `authenticated` = Access to remote posts in hashtag feeds requires authentication.\ +- `disabled` = Access to remote posts in hashtag feeds is only possible for users with the “View live and topic feeds” [permission]({{< relref "entities/Role#permissions" >}}).\ +**Version history:**\ +4.5.0 - added + +#### `configuration[timeline_access][trending_link_feeds]` {#timeline_access-trending_link_feeds} + +**Description:** Access restrictions on [trending link feeds]({{< relref "methods/timelines#link" >}}).\ +**Type:** Hash\ +**Version history:**\ +4.5.0 - added + +#### `configuration[timeline_access][trending_link_feeds][local]` {#timeline_access-trending_link_feeds-local} + +**Description:** Access restrictions for local posts in the trending link feeds.\ +**Type:** String (Enumerable oneOf)\ +- `public` = Access to local posts in trending link feeds is available to both visitors and logged-in users.\ +- `authenticated` = Access to local posts in trending link feeds requires authentication.\ +- `disabled` = Access to local posts in trending link feeds is only possible for users with the “View live and topic feeds” [permission]({{< relref "entities/Role#permissions" >}}).\ +**Version history:**\ +4.5.0 - added + +#### `configuration[timeline_access][trending_link_feeds][remote]` {#timeline_access-trending_link_feeds-remote} + +**Description:** Access restrictions for remote posts in trending link feeds.\ +**Type:** String (Enumerable oneOf)\ +- `public` = Access to remote posts in trending link feeds is available to both visitors and logged-in users.\ +- `authenticated` = Access to remote posts in trending link feeds requires authentication.\ +- `disabled` = Access to remote posts in trending link feeds is only possible for users with the “View live and topic feeds” [permission]({{< relref "entities/Role#permissions" >}}).\ +**Version history:**\ +4.5.0 - added + #### `configuration[limited_federation]` {#limited-federation} **Description:** Whether federation is limited to explicitly allowed domains.\ diff --git a/content/en/entities/Role.md b/content/en/entities/Role.md index 645554675..a00651c71 100644 --- a/content/en/entities/Role.md +++ b/content/en/entities/Role.md @@ -125,6 +125,9 @@ To determine the permissions available to a certain role, convert the `permissio 0x80000 : **Delete User Data**. Allows users to delete other users' data without delay. +0x100000 +: **View live and topic feeds**. Allows users to view publice “firehose”, hashtag and link feeds even when those are disabled. + ## See also {{< caption-link url="https://github.com/mastodon/mastodon/blob/main/app/serializers/rest/role_serializer.rb" caption="app/serializers/rest/role_serializer.rb" >}} diff --git a/content/en/methods/timelines.md b/content/en/methods/timelines.md index 9b82e21cb..1b67b5996 100644 --- a/content/en/methods/timelines.md +++ b/content/en/methods/timelines.md @@ -89,6 +89,16 @@ Sample API call with limit=2 ] ``` +##### 401: Unauthorized + +Invalid or missing Authorization header when the server is configured to disable unauthenticated access to the public timeline. When unauthenticated access to remote statuses in this timeline are disabled, unauthenticated requests to this endpoint will fail with a 401 unless `local` is set to true. Likewise for unauthenticated access to local posts and the `remote` parameter. + +```json +{ + "error": "The access token is invalid" +} +``` + --- ## View hashtag timeline {#tag} @@ -227,6 +237,16 @@ Hashtag does not exist --- +##### 401: Unauthorized + +Invalid or missing Authorization header when the server is configured to disable unauthenticated access to hashtag timelines. + +```json +{ + "error": "The access token is invalid" +} +``` + ## View home timeline {#home} ```http @@ -349,6 +369,16 @@ The provided URL is not currently trending. } ``` +##### 401: Unauthorized + +Invalid or missing Authorization header when the server is configured to disable unauthenticated access to link timelines. + +```json +{ + "error": "The access token is invalid" +} +``` + --- ## View list timeline {#list}