1
0
mirror of https://github.com/mastodon/documentation synced 2025-04-11 22:56:17 +02:00
documentation/content/en/methods/scheduled_statuses.md
Nik Clayton 49868155b9
feat: Document datetime and date formats (#1565)
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
2024-11-27 15:08:51 +00:00

5.6 KiB

title description menu aliases
scheduled_statuses API methods Manage statuses that were scheduled to be published at a future date.
docs
weight name parent identifier
30 scheduled_statuses methods-statuses methods-scheduled_statuses
/methods/scheduled_statuses
/api/methods/scheduled_statuses
/methods/statuses/scheduled_statuses

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" >}}