Content visibility

Every post, gist and project you publish has a visibility status. It lets you take something
down for a while, or keep it out of the public lists, without deleting it. News articles carry the
same status, set by administrators.

The four statuses#

Status Listed in feeds, searches, topics, profiles and the sitemap Opens by direct link Who can open it
Published (default) Yes Yes Everyone
Hidden No Yes Everyone who has the link (not indexed by search engines)
Offline No Owner and administrators only You and administrators; everyone else gets a "not found" page
Draft No Owner and administrators only You and administrators; reserved for a future drafting flow

Everything you create is Published unless you choose otherwise. Draft is part of the
specification and accepted by the API, but the website only offers Published, Hidden and Offline.

Changing it#

  • When you create a post, gist or project, use the Visibility menu in the form.
  • When you edit it, the same Visibility menu is in the edit form next to the other fields.
    Leaving it out of an API edit keeps the current value.
  • Through Devii, ask "set my post to offline"; it uses the visibility field of the create and
    edit tools.
  • Through the API, send visibility on create and edit, see
    Posts, Comments, Projects, Gists & News.
  • News articles are set by administrators from the admin news page.

Only the owner can change the visibility of their own content. Changing it back to Published
lists it again everywhere; nothing is lost while it was away.

Backwards compatibility#

The visibility field is optional everywhere, so existing API clients, scripts and bots keep
working without any change:

  • Create (POST /posts/create, /gists/create, /projects/create): leave it out and the item is
    published.
  • Edit (POST /posts/edit/{slug}, /gists/edit/{slug}, /projects/edit/{slug}): leave it out and
    the current visibility is kept, so an old client editing the text of a hidden or offline item
    never publishes it by accident.
  • Items created before this feature have no stored value and read as published.
  • Accepted values are published, hidden, offline and draft (case-insensitive); anything else is
    rejected with a validation error. JSON bodies and form bodies behave the same.
  • Responses now carry a visibility key on each post, gist and project; clients that ignore unknown
    keys are unaffected.

What other people see#

  • A hidden or offline item disappears from the feed, topics, listings, search, your profile (for
    visitors), the sitemap, related and next-post links, and public counters.
  • You still see all of your own items on your profile and your own listings.
  • An offline or draft item cannot be commented on, voted on, reacted to, bookmarked or noted by
    anyone but you and administrators, because they cannot open it.
  • Mentions inside an item created as offline or draft do not notify anyone, and publishing it
    later does not send them retroactively.
  • Existing comments, votes and files stay attached and return with the item when you publish it.

Relation to private projects#

A project's Private switch is separate and stricter: it controls who may see the project and its
files at all. Visibility is checked first. A project that is both private and hidden stays
private; making it public does not publish it again.