Skip to content

Commit

Permalink
Merge pull request #2663 from matrix-org/rei/pushrules_define_enabled
Browse files Browse the repository at this point in the history
MSC2663: Errors for dealing with non-existent push rules
  • Loading branch information
turt2live authored Jul 29, 2020
2 parents 012f0b1 + 3dd5bc4 commit 0973e88
Showing 1 changed file with 44 additions and 0 deletions.
44 changes: 44 additions & 0 deletions proposals/2663-errors-nonexistent-push-rules.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
# MSC2663: Errors for dealing with non-existent push rules

This MSC proposes that homeservers respond with a HTTP 404 ('Not Found') status
code and an `errcode` of `M_NOT_FOUND` when a client attempts to read or write
the `enabled` status or `actions` of a non-existent push rule.

## Background

The current revision of the Client-Server specification does not make clear what
a homeserver implementation is meant to do when getting or setting the `enabled`
or `actions` properties of a supposed push rule that does not exist.

## Motivation

This change is considered minor and the proposed error code is deemed
unsurprising as it matches the remainder of the specification.

## Proposal

The following endpoints of the Client-Server specification are affected:

- `GET /_matrix/client/r0/pushrules/{scope}/{kind}/{ruleId}`
- `DELETE /_matrix/client/r0/pushrules/{scope}/{kind}/{ruleId}`
- `PUT /_matrix/client/r0/pushrules/{scope}/{kind}/{ruleId}`
- `GET /_matrix/client/r0/pushrules/{scope}/{kind}/{ruleId}/enabled`
- `PUT /_matrix/client/r0/pushrules/{scope}/{kind}/{ruleId}/enabled`
- `GET /_matrix/client/r0/pushrules/{scope}/{kind}/{ruleId}/actions`
- `PUT /_matrix/client/r0/pushrules/{scope}/{kind}/{ruleId}/actions`

The affected endpoints will have the following response status code added:

**Status code 404:**

The push rule does not exist.

**Example**
```json
{
"errcode": "M_NOT_FOUND"
}
```

This error response is to be returned when the push rule represented by
`{scope}/{kind}/{ruleId}` does not exist.

0 comments on commit 0973e88

Please sign in to comment.