summaryrefslogtreecommitdiff
path: root/docs/api/channels-messages.md
diff options
context:
space:
mode:
Diffstat (limited to 'docs/api/channels-messages.md')
-rw-r--r--docs/api/channels-messages.md23
1 files changed, 21 insertions, 2 deletions
diff --git a/docs/api/channels-messages.md b/docs/api/channels-messages.md
index 9854d22..2aa8ac5 100644
--- a/docs/api/channels-messages.md
+++ b/docs/api/channels-messages.md
@@ -64,6 +64,14 @@ The request must have the following fields:
|:-------|:-------|:--|
| `name` | string | The channel's name. |
+The proposed `name` must be valid. The precise definition of valid is still up in the air, but, at minimum:
+
+* It must be non-empty.
+* It must not be "too long." (Currently, 64 characters is too long.)
+* It must begin with a printing character.
+* It must end with a printing character.
+* It must not contain runs of multiple whitespace characters.
+
### Success
This endpoint will respond with a status of `202 Accepted` when successful. The body of the response will be a JSON object describing the new channel:
@@ -86,7 +94,11 @@ The returned name may not be identical to the name requested, as the name will b
When completed, the service will emit a [channel created](events.md#channel-created) event with the channel's ID.
-### Duplicate channel name
+### Name not valid
+
+This endpoint will respond with a status of `400 Bad Request` if the proposed `name` is not valid.
+
+### Channel name in use
This endpoint will respond with a status of `409 Conflict` if a channel with the requested name already exists.
@@ -152,7 +164,7 @@ This endpoint will respond with a status of `404 Not Found` if the channel ID is
Deletes a channel.
-Deleting a channel prevents it from receiving any further messages, and deletes the messages it contains at that point.
+Deleting a channel prevents it from receiving any further messages. The channel must be empty; to delete a channel with messages in it, delete the messages first (or wait for them to expire).
This endpoint requires the following path parameter:
@@ -178,6 +190,9 @@ The response will have the following fields:
When completed, the service will emit a [message deleted](events.md#message-deleted) event for each message in the channel, followed by a [channel deleted](events.md#channel-deleted) event with the channel's ID.
+### Channel not empty
+
+This endpoint will respond with a status of `409 Conflict` if the channel contains messages.
### Invalid channel ID
@@ -215,3 +230,7 @@ When completed, the service will emit a [message deleted](events.md#message-dele
### Invalid message ID
This endpoint will respond with a status of `404 Not Found` if the message ID is not valid.
+
+### Not the sender
+
+This endpoint will respond with a status of `403 Forbidden` if the message was sent by a different login.