1
0
mirror of https://github.com/mastodon/documentation synced 2025-04-11 22:56:17 +02:00
documentation/content/en/entities/ScheduledStatus.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.7 KiB

title description menu aliases
ScheduledStatus Represents a status that will be published at a future scheduled date.
docs
parent
entities
/entities/scheduledstatus
/entities/ScheduledStatus
/api/entities/scheduledstatus
/api/entities/ScheduledStatus

Example

Returned from POST /api/v1/statuses?status=test post&scheduled_at=2022-09-29

{
  "id": "1",
  "scheduled_at": "2022-09-29T00:00:00.000Z",
  "params": {
    "text": "test post",
    "media_ids": null,
    "sensitive": null,
    "spoiler_text": null,
    "visibility": null,
    "language": null,
    "scheduled_at": null,
    "poll": null,
    "idempotency": null,
    "with_rate_limit": false,
    "in_reply_to_id": null,
    "application_id": 3
  },
  "media_attachments": []
}

Returned from GET /api/v1/scheduled_statuses:

{
  "id": "1",
  "scheduled_at": "2022-09-29T00:00:00.000Z",
  "params": {
    "poll": null,
    "text": "test post",
    "language": null,
    "media_ids": null,
    "sensitive": null,
    "visibility": null,
    "idempotency": null,
    "scheduled_at": null,
    "spoiler_text": null,
    "application_id": 3,
    "in_reply_to_id": null,
    "with_rate_limit": false
  },
  "media_attachments": []
}

Attributes

id

Description: ID of the scheduled status in the database.
Type: String (cast from an integer but not guaranteed to be a number)
Version history:
2.7.0 - added

scheduled_at

Description: The timestamp for when the status will be posted.
Type: String (Datetime)
Version history:
2.7.0 - added

params

Description: The parameters that were used when scheduling the status, to be used when the status is posted.
Type: Hash
Version history:
2.7.0 - added

params[text]

Description: Text to be used as status content.
Type: String
Version history:
2.7.0 - added

params[poll]

Description: Poll to be attached to the status.
Type: {{}} Hash
Version history:
2.8.0 - added

params[poll][options[]]

Description: The poll options to be used.
Type: Array of String
Version history:
2.8.0 - added

params[poll][expires_in]

Description: How many seconds the poll should last before closing.
Type: String (cast from integer)
Version history:
2.8.0 - added

params[poll][multiple]

Description: Whether the poll allows multiple choices.
Type: {{}} Boolean
Version history:
2.8.0 - added

params[poll][hide_totals]

Description: Whether the poll should hide total votes until after voting has ended.
Type: {{}} Boolean
Version history:
2.8.0 - added

params[media_ids]

Description: IDs of the MediaAttachments that will be attached to the status.
Type: {{}} Array of String
Version history:
2.7.0 - added

params[sensitive]

Description: Whether the status will be marked as sensitive.
Type: {{}} Boolean
Version history:
2.7.0 - added

params[spoiler_text]

Description: The text of the content warning or summary for the status.
Type: {{}} String
Version history:
2.7.0 - added

params[visibility]

Description: The visibility that the status will have once it is posted.
Type: String (Enumerable oneOf)
public = Visible to everyone, shown in public timelines.
unlisted = Visible to public, but not included in public timelines.
private = Visible to followers only, and to any mentioned users.
direct = Visible only to mentioned users.
Version history:
2.7.0 - added

params[in_reply_to_id]

Description: ID of the Status that will be replied to.
Type: {{}} Integer
Version history:
2.7.0 - added

params[language]

Description: The language that will be used for the status.
Type: {{}} String (ISO 639-1 two-letter language code)
Version history:
2.7.0 - added

params[application_id]

Description: ID of the Application that posted the status.
Type: Integer
Version history:
2.7.0 - added

params[scheduled_at]

Description: When the status will be scheduled. This will be null because the status is only scheduled once.
Type: {{}} Null
Version history:
2.7.0 - added

params[idempotency]

Description: Idempotency key to prevent duplicate statuses.
Type: {{}} String
Version history:
2.7.0 - added

params[with_rate_limit]

Description: Whether the status should be rate limited .
Type: Boolean
Version history:
2.7.0 - added

media_attachments

Description: Media that will be attached when the status is posted.
Type: Array of [MediaAttachment]({{< relref "entities/MediaAttachment" >}})
Version history:
2.7.0 - added

See also

{{< page-relref ref="methods/statuses#create" caption="POST /api/v1/statuses (with scheduled_at parameter)" >}}

{{< page-relref ref="methods/scheduled_statuses" caption="scheduled_statuses API methods" >}}

{{< caption-link url="https://github.com/mastodon/mastodon/blob/main/app/serializers/rest/scheduled_status_serializer.rb" caption="app/serializers/rest/scheduled_status_serializer.rb" >}}