title: canonical_email_blocks API methods description: Block certain email addresses by their hash. menu: docs:
name: canonical_email_blocks
parent: methods-admin
identifier: methods-admin-canonical_email_blocks
aliases: [ "/methods/admin/canonical_email_blocks", "/api/methods/admin/canonical_email_blocks",
GET /api/v1/admin/canonical_email_blocks HTTP/1.1
Returns: Array of Admin::CanonicalEmailBlock\
OAuth: User token + admin:read:canonical_email_blocks
\
Permissions: Manage Blocks\
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 blocks. Max 200 blocks.
[
{
"id": "1",
"canonical_email_hash": "b344e55d11b3fc25d0d53194e0475838bf17e9be67ce3e6469956222d9a34f9c"
},
// ...
]
Because CanonicalEmailBlock 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/canonical_email_blocks?limit=2&max_id=2>; rel="next", <http://mastodon.example/api/v1/admin/canonical_email_blocks?limit=2&since_id=1>; rel="prev"
Authorized user is missing a permission, or invalid or missing Authorization header
{
"error": "This action is not allowed"
}
GET /api/v1/admin/canonical_email_blocks/:id HTTP/1.1
Returns: Admin::CanonicalEmailBlock\
OAuth: User token + admin:read:canonical_email_blocks
\
Permissions: Manage Blocks\
Version history:\
4.0.0 - added
:id : {{}} String. The ID of the Admin::CanonicalEmailBlock in the database.
Authorization
: {{}} Provide this header with Bearer <user token>
to gain authorized access to this API method.
{
"id": "1",
"canonical_email_hash": "b344e55d11b3fc25d0d53194e0475838bf17e9be67ce3e6469956222d9a34f9c"
}
Authorized user is missing a permission, or invalid or missing Authorization header
{
"error": "This action is not allowed"
}
Canonical email block does not exist or was already deleted
{
"error": "Record not found"
}
POST /api/v1/admin/canonical_email_blocks/test HTTP/1.1
Canoniocalize and hash an email address.
Returns: Array of Admin::CanonicalEmailBlock\
OAuth: User token + admin:read:canonical_email_blocks
\
Permissions: Manage Blocks\
Version history:\
4.0.0 - added
Authorization
: {{}} Provide this header with Bearer <user token>
to gain authorized access to this API method.
email : {{}} String. The email to canonicalize and hash.
All matching canonical email blocks are returned.
[
{
"id": "1",
"canonical_email_hash": "b344e55d11b3fc25d0d53194e0475838bf17e9be67ce3e6469956222d9a34f9c"
}
]
Authorized user is missing a permission, or invalid or missing Authorization header
{
"error": "This action is not allowed"
}
No email was provided
POST /api/v1/admin/canonical_email_blocks HTTP/1.1
Returns: Admin::CanonicalEmailBlock\
OAuth: User token + admin:write:canonical_email_blocks
\
Permissions: Manage Blocks\
Version history:\
4.0.0 - added
Authorization
: {{}} Provide this header with Bearer <user token>
to gain authorized access to this API method.
email
: {{}} String. The email to canonicalize, hash, and block. If this parameter is provided, canonical_email_hash
will be ignored.
canonical_email_hash
: String. The hash to test against. If email
is not provided, this parameter is required.
Canonical email has been successfully blocked
{
"id": "1",
"canonical_email_hash": "b344e55d11b3fc25d0d53194e0475838bf17e9be67ce3e6469956222d9a34f9c"
}
Authorized user is missing a permission, or invalid or missing Authorization header
{
"error": "This action is not allowed"
}
Canonical email hash is already blocked
{
"error":"Validation failed: Canonical email hash has already been taken"
}
DELETE /api/v1/admin/canonical_email_blocks/:id HTTP/1.1
Returns: Admin::CanonicalEmailBlock\
OAuth: User token + admin:write:canonical_email_blocks
\
Permissions: Manage Blocks\
Version history:\
4.0.0 - added
:id : {{}} String. The ID of the Admin::CanonicalEmailBlock in the database.
Authorization
: {{}} Provide this header with Bearer <user token>
to gain authorized access to this API method.
Canonical email block successfully deleted.
{}
Authorized user is missing a permission, or invalid or missing Authorization header
{
"error": "This action is not allowed"
}
Canonical email block does not exist or was already deleted
{
"error": "Record not found"
}
{{< caption-link url="https://github.com/mastodon/mastodon/blob/main/app/controllers/api/v1/admin/canonical_email_blocks_controller.rb" caption="app/controllers/api/v1/admin/canonical_email_blocks_controller.rb" >}}