Authentication
Mutes endpoints require user authentication to access private mute lists:| Method | Description |
|---|---|
| OAuth 2.0 Authorization Code with PKCE | Recommended for new applications |
| OAuth 1.0a User Context | Legacy support |
Required scopes (OAuth 2.0)
| Scope | Required for |
|---|---|
mute.read | Retrieving muted accounts |
mute.write | Muting and unmuting accounts |
users.read | Required with mute scopes |
Endpoints overview
| Method | Endpoint | Description |
|---|---|---|
| GET | /2/users/:id/muting | Get list of muted accounts |
| POST | /2/users/:id/muting | Mute an account |
| DELETE | /2/users/:source_user_id/muting/:target_user_id | Unmute an account |
Fields and expansions
Default response
Available fields
user.fields
user.fields
| Field | Description |
|---|---|
created_at | Account creation date |
description | User bio |
profile_image_url | Avatar URL |
public_metrics | Follower/following counts |
verified | Verification status |
expansions
expansions
| Expansion | Description |
|---|---|
pinned_tweet_id | User’s pinned Post |
Example with fields
cURL
Pagination
For users with large mute lists, results are paginated:cURL
Pagination guide
Learn more about pagination
Behavior differences
Muting vs Blocking
| Feature | Mute | Block |
|---|---|---|
| See their Posts | No (hidden) | No |
| They see your Posts | Yes | No |
| They follow you | Yes (can follow) | No (removed) |
| They can DM you | Yes | No |
| Notification sent | No | No |
Error handling
| Status | Error | Solution |
|---|---|---|
| 400 | Invalid request | Check user ID format |
| 401 | Unauthorized | Verify access token |
| 403 | Forbidden | Check scopes and permissions |
| 404 | Not Found | User doesn’t exist |
| 429 | Too Many Requests | Wait and retry |