title: domain_allows API methods description: Allow certain domains to federate. menu: docs:
name: domain_allows
parent: methods-admin
identifier: methods-admin-domain_allows
aliases: [
"/methods/admin/domain_allows",
"/api/methods/admin/domain_allows",
GET /api/v1/admin/domain_allows HTTP/1.1
Show information about all allowed domains.
Returns: Array of Admin::DomainAllow\
OAuth: User token + admin:read:domain_allows
\
Permissions: Manage Federation\
Version history:\
4.0.0 - added
Authorization
: {{}} Provide this header with Bearer <user token>
to gain authorized access to this API method.
max_id
: Internal parameter. Use HTTP Link
header for pagination.
since_id
: Internal parameter. Use HTTP Link
header for pagination.
min_id
: Internal parameter. Use HTTP Link
header for pagination.
limit : Integer. Maximum number of results to return. Defaults to 100 allows. Max 200 allows.
[
{
"id": "2",
"domain": "mastodon",
"created_at": "2022-09-14T21:24:15.360Z"
},
{
"id": "1",
"domain": "mastodon.social",
"created_at": "2022-09-14T21:23:02.755Z"
}
]
Because DomainAllow IDs are generally not exposed via any API responses, you will have to parse the HTTP Link
header to load older or newer results. See Paginating through API responses for more information.
Link: <http://mastodon.example/api/v1/admin/domain_allows?limit=2&max_id=2>; rel="next", <http://mastodon.example/api/v1/admin/domain_allows?limit=2&since_id=1>; rel="prev"
Authorized user is not allowed to perform this action, or invalid or missing Authorization header
{
"error": "This action is not allowed"
}
GET /api/v1/admin/domain_allows/:id HTTP/1.1
Show information about a single allowed domain.
Returns: Admin::DomainAllow\
OAuth: User token + admin:read:domain_allows
\
Permissions: Manage Federation\
Version history:\
4.0.0 - added
:id : {{}} String. The ID of the DomainAllow in the database.
Authorization
: {{}} Provide this header with Bearer <user token>
to gain authorized access to this API method.
{
"id": "1",
"domain": "mastodon.social",
"created_at": "2022-09-14T21:23:02.755Z"
}
Authorized user is not allowed to perform this action, or invalid or missing Authorization header
{
"error": "This action is not allowed"
}
DomainAllow with the given ID does not exist
{
"error": "Record not found"
}
POST /api/v1/admin/domain_allows HTTP/1.1
Add a domain to the list of domains allowed to federate, to be used when the instance is in allow-list federation mode.
Returns: Admin::DomainAllow\
OAuth: User token + admin:write:domain_allows
\
Permissions: Manage Federation\
Version history:\
4.0.0 - added
Authorization
: {{}} Provide this header with Bearer <user token>
to gain authorized access to this API method.
domain : {{}} String. The domain to allow federation with.
Domain has been allowed to federate, or was already allowed to federate
{
"id": "1",
"domain": "mastodon.social",
"created_at": "2022-09-14T21:23:02.755Z"
}
Authorized user is not allowed to perform this action, or invalid or missing Authorization header
{
"error": "This action is not allowed"
}
The domain parameter was not provided or was invalid
{
"error": "Validation failed: Domain can't be blank"
}
DELETE /api/v1/admin/domain_allows/:id HTTP/1.1
Delete a domain from the allowed domains list.
Returns: Admin::DomainAllow\
OAuth: User token + admin:write:domain_allows
\
Permissions: Manage Federation\
Version history:\
4.0.0 - added
:id : {{}} String. The ID of the DomainAllow in the database.
Authorization
: {{}} Provide this header with Bearer <user token>
to gain authorized access to this API method.
The allowed domain has been removed from the allow list
{
"id": "4",
"domain": "*",
"created_at": "2022-09-14T21:32:44.945Z"
}
Authorized user is not allowed to perform this action, or invalid or missing Authorization header
{
"error": "This action is not allowed"
}
DomainAllow with the given ID does not exist
{
"error": "Record not found"
}
{{< caption-link url="https://github.com/mastodon/mastodon/blob/main/app/controllers/api/v1/admin/domain_allows_controller.rb" caption="app/controllers/api/v1/admin/domain_allows_controller.rb" >}}