
Add a new document that precisely describes the string representation of datetime and date types. The previous description of them as "ISO 8601 Datetime" was very imprecise, as ISO 8601 describes many different ways of representing a datetime and date. Specify the datetime format precisely as the ISO 8601 profile described in RFC 3339, and the date format precisely as the "Complete date" format from the W3C note on date and time formats. Adjust all the references to ISO 8601 datetimes or dates to link back to the definition. Fixes #1420
5.6 KiB
title | description | menu | aliases | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
scheduled_statuses API methods | Manage statuses that were scheduled to be published at a future date. |
|
|
View scheduled statuses
GET /api/v1/scheduled_statuses HTTP/1.1
Returns: Array of [ScheduledStatus]({{< relref "entities/scheduledstatus" >}})
OAuth: User token + read:statuses
Version history:
2.7.0 - added
3.3.0 - both min_id
and max_id
can be used at the same time now
Request
Headers
- Authorization
- {{}} Provide this header with
Bearer <user_token>
to gain authorized access to this API method.
Query parameters
- max_id
- String. All results returned will be lesser than this ID. In effect, sets an upper bound on results.
- since_id
- String. All results returned will be greater than this ID. In effect, sets a lower bound on results.
- min_id
- String. Returns results immediately newer than this ID. In effect, sets a cursor at this ID and paginates forward.
- limit
- Integer. Maximum number of results to return. Defaults to 20 statuses. Max 40 statuses.
Response
200: OK
[
{
"id": "3221",
"scheduled_at": "2019-12-05T12:33:01.000Z",
"params": {
"poll": null,
"text": "test content",
"media_ids": null,
"sensitive": null,
"visibility": null,
"idempotency": null,
"scheduled_at": null,
"spoiler_text": null,
"application_id": 596551,
"in_reply_to_id": null
},
"media_attachments": []
}
]
401: Unauthorized
Invalid or missing Authorization header.
{
"error": "The access token is invalid"
}
View a single scheduled status
GET /api/v1/scheduled_statuses/:id HTTP/1.1
Returns: [ScheduledStatus]({{< relref "entities/scheduledstatus" >}})
OAuth: User token + read:statuses
Version history:
2.7.0 - added
Request
Path parameters
- :id
- {{}} String. The ID of the ScheduledStatus in the database.
Headers
- Authorization
- {{}} Provide this header with
Bearer <user_token>
to gain authorized access to this API method.
Response
200: OK
{
"id": "3221",
"scheduled_at": "2019-12-05T12:33:01.000Z",
"params": {
"poll": null,
"text": "test content",
"media_ids": null,
"sensitive": null,
"visibility": null,
"idempotency": null,
"scheduled_at": null,
"spoiler_text": null,
"application_id": 596551,
"in_reply_to_id": null
},
"media_attachments": []
}
401: Unauthorized
Invalid or missing Authorization header.
{
"error": "The access token is invalid"
}
404: Not found
ScheduledStatus is not owned by you or does not exist
{
"error": "Record not found"
}
Update a scheduled status's publishing date
PUT /api/v1/scheduled_statuses/:id HTTP/1.1
Returns: [ScheduledStatus]({{< relref "entities/scheduledstatus" >}})
OAuth: User token + write:statuses
Version history:
2.7.0 - added
Request
Path parameters
- :id
- {{}} String. The ID of the ScheduledStatus in the database.
Headers
- Authorization
- {{}} Provide this header with
Bearer <user_token>
to gain authorized access to this API method.
Form data parameters
- scheduled_at
- String. Datetime at which the status will be published. Must be at least 5 minutes into the future.
Response
200: OK
{
"id": "3221",
"scheduled_at": "2019-12-05T13:33:01.000Z",
"params": {
"poll": null,
"text": "test content",
"media_ids": null,
"sensitive": null,
"visibility": null,
"idempotency": null,
"scheduled_at": null,
"spoiler_text": null,
"application_id": 596551,
"in_reply_to_id": null
},
"media_attachments": []
}
401: Unauthorized
Invalid or missing Authorization header.
{
"error": "The access token is invalid"
}
404: Not found
ScheduledStatus is not owned by you or does not exist
{
"error": "Record not found"
}
422: Unprocessable entity
{
"error": "Validation failed: Scheduled at The scheduled date must be in the future"
}
Cancel a scheduled status
DELETE /api/v1/scheduled_statuses/:id HTTP/1.1
Returns: Empty
OAuth: User token + write:statuses
Version history:
2.7.0 - added
Request
Path parameters
- :id
- {{}} String. The ID of the ScheduledStatus in the database.
Headers
- Authorization
- {{}} Provide this header with
Bearer <user_token>
to gain authorized access to this API method.
Response
200: OK
{}
401: Unauthorized
Invalid or missing Authorization header.
{
"error": "The access token is invalid"
}
404: Not found
ScheduledStatus is not owned by you or does not exist
{
"error": "Record not found"
}
See also
{{< page-relref ref="methods/statuses#create" caption="POST /api/v1/statuses (scheduled_at
parameter)" >}}
{{< caption-link url="https://github.com/mastodon/mastodon/blob/main/app/controllers/api/v1/scheduled_statuses_controller.rb" caption="app/controllers/api/v1/scheduled_statuses_controller.rb" >}}