Edit a draft
Edit a draft on the server. The edit will be automatically
synchronized to other clients via drafts
events.
PATCH https://z.labs.greyorange.com/api/v1/drafts/{draft_id}
Usage examples
curl -sSX PATCH https://z.labs.greyorange.com/api/v1/drafts/2 \
-u BOT_EMAIL_ADDRESS:BOT_API_KEY \
--data-urlencode 'draft={"content": "how tough is a Lamy Safari?", "timestamp": 1595479019, "to": [1], "topic": "questions", "type": "stream"}'
Parameters
draft_id integer required in path
Example: 2
The ID of the draft to be edited.
draft object required
Example: {"type": "stream", "to": [1], "topic": "questions", "content": "how tough is a Lamy Safari?", "timestamp": 1595479019}
A JSON-encoded object containing a replacement draft object for this ID.
draft object details:
-
id
: integer optional The unique ID of the draft. It will only used whenever the drafts are
fetched. This field should not be specified when the draft is being
created or edited.
-
type
: string required The type of the draft. Either unaddressed (empty string), "stream",
or "private" (for PMs and private group messages).
Must be one of: ""
, "stream"
, "private"
.
-
to
: (integer)[] required An array of the tentative target audience IDs. For "stream"
messages, this should contain exactly 1 ID, the ID of the
target stream. For private messages, this should be an array
of target user IDs. For unaddressed drafts, this is ignored,
and clients should send an empty array.
-
topic
: string required For stream message drafts, the tentative topic name. For private
or unaddressed messages, this will be ignored and should ideally
be the empty string. Should not contain null bytes.
-
content
: string required The body of the draft. Should not contain null bytes.
-
timestamp
: number optional A Unix timestamp (seconds only) representing when the draft was
last edited. When creating a draft, this key need not be present
and it will be filled in automatically by the server.
Example: 1595479019
Response
Example response
A typical successful JSON response may look like:
{
"msg": "",
"result": "success"
}
JSON response for when no draft exists with the provided ID.
{
"msg": "Draft does not exist",
"result": "error"
}