# User Mutes

## Get muted users

> Returns a paginated list of users muted by the authenticated user.\
> Supports filtering by a single address or multiple addresses.<br>

```json
{"openapi":"3.0.0","info":{"title":"Social Service API","version":"1.0.0"},"servers":[{"url":"https://social-api.decentraland.org","description":"Production server"},{"url":"https://social-api.decentraland.zone","description":"Development server"}],"security":[{"SignedFetch":[]}],"components":{"securitySchemes":{"SignedFetch":{"type":"apiKey","in":"header","name":"Authorization","description":"Signed Fetch authentication.\nSee ADR-44 for more details about the authentication mechanism.\n"}}},"paths":{"/v1/mutes":{"get":{"operationId":"getUserMutes","summary":"Get muted users","description":"Returns a paginated list of users muted by the authenticated user.\nSupports filtering by a single address or multiple addresses.\n","parameters":[{"name":"limit","in":"query","schema":{"type":"integer","default":10},"description":"Number of results per page"},{"name":"offset","in":"query","schema":{"type":"integer","default":0},"description":"Number of results to skip"},{"name":"address","in":"query","schema":{"type":"string"},"description":"Filter by a single muted address"},{"name":"addresses","in":"query","schema":{"type":"array","items":{"type":"string"}},"style":"form","explode":true,"description":"Filter by multiple muted addresses (e.g. `?addresses=0x1&addresses=0x2`)"}],"responses":{"200":{"description":"List of muted users","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"allOf":[{"type":"object","required":["results","total","limit","offset"],"properties":{"results":{"type":"array","items":{"type":"object"}},"total":{"type":"integer","description":"Total number of items"},"limit":{"type":"integer","description":"Number of items per page"},"offset":{"type":"integer","description":"Number of items skipped"},"page":{"type":"integer","description":"Current page number (1-indexed)"},"pages":{"type":"integer","description":"Total number of pages"}}},{"type":"object","properties":{"results":{"type":"array","items":{"type":"object","required":["address","muted_at"],"properties":{"address":{"type":"string","description":"Ethereum address of the muted user"},"muted_at":{"type":"string","format":"date-time","description":"When the user was muted"}}}}}}]}}}}}},"400":{"description":"Missing authentication","content":{"application/json":{"schema":{"type":"object","required":["message","error"],"properties":{"message":{"type":"string","description":"A message describing the error"},"error":{"type":"string","description":"Error code (e.g. Not Found, Invalid Request, Unauthorized, etc.)"}}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","required":["message","error"],"properties":{"message":{"type":"string","description":"A message describing the error"},"error":{"type":"string","description":"Error code (e.g. Not Found, Invalid Request, Unauthorized, etc.)"}}}}}}},"tags":["User Mutes"]}}}}
```

## Mute a user

> Mutes a user by adding a mute record. The muter is identified via Signed Fetch authentication.\
> Muting yourself returns a 400 error. Muting an already-muted user is idempotent (returns 204).<br>

```json
{"openapi":"3.0.0","info":{"title":"Social Service API","version":"1.0.0"},"servers":[{"url":"https://social-api.decentraland.org","description":"Production server"},{"url":"https://social-api.decentraland.zone","description":"Development server"}],"security":[{"SignedFetch":[]}],"components":{"securitySchemes":{"SignedFetch":{"type":"apiKey","in":"header","name":"Authorization","description":"Signed Fetch authentication.\nSee ADR-44 for more details about the authentication mechanism.\n"}}},"paths":{"/v1/mutes":{"post":{"operationId":"addUserMute","summary":"Mute a user","description":"Mutes a user by adding a mute record. The muter is identified via Signed Fetch authentication.\nMuting yourself returns a 400 error. Muting an already-muted user is idempotent (returns 204).\n","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["muted_address"],"properties":{"muted_address":{"type":"string","description":"Ethereum address of the user to mute"}}}}}},"responses":{"204":{"description":"User muted successfully"},"400":{"description":"Invalid request (invalid address, self-mute, or missing authentication)","content":{"application/json":{"schema":{"type":"object","required":["message","error"],"properties":{"message":{"type":"string","description":"A message describing the error"},"error":{"type":"string","description":"Error code (e.g. Not Found, Invalid Request, Unauthorized, etc.)"}}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","required":["message","error"],"properties":{"message":{"type":"string","description":"A message describing the error"},"error":{"type":"string","description":"Error code (e.g. Not Found, Invalid Request, Unauthorized, etc.)"}}}}}}},"tags":["User Mutes"]}}}}
```

## Unmute a user

> Removes a mute record for a user. The muter is identified via Signed Fetch authentication.\
> Unmuting a user that is not muted is a no-op (returns 204).<br>

```json
{"openapi":"3.0.0","info":{"title":"Social Service API","version":"1.0.0"},"servers":[{"url":"https://social-api.decentraland.org","description":"Production server"},{"url":"https://social-api.decentraland.zone","description":"Development server"}],"security":[{"SignedFetch":[]}],"components":{"securitySchemes":{"SignedFetch":{"type":"apiKey","in":"header","name":"Authorization","description":"Signed Fetch authentication.\nSee ADR-44 for more details about the authentication mechanism.\n"}}},"paths":{"/v1/mutes":{"delete":{"operationId":"removeUserMute","summary":"Unmute a user","description":"Removes a mute record for a user. The muter is identified via Signed Fetch authentication.\nUnmuting a user that is not muted is a no-op (returns 204).\n","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["muted_address"],"properties":{"muted_address":{"type":"string","description":"Ethereum address of the user to unmute"}}}}}},"responses":{"204":{"description":"User unmuted successfully"},"400":{"description":"Invalid request (invalid address or missing authentication)","content":{"application/json":{"schema":{"type":"object","required":["message","error"],"properties":{"message":{"type":"string","description":"A message describing the error"},"error":{"type":"string","description":"Error code (e.g. Not Found, Invalid Request, Unauthorized, etc.)"}}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","required":["message","error"],"properties":{"message":{"type":"string","description":"A message describing the error"},"error":{"type":"string","description":"Error code (e.g. Not Found, Invalid Request, Unauthorized, etc.)"}}}}}}},"tags":["User Mutes"]}}}}
```
