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
visibilityfield of the create and
edit tools. - Through the API, send
visibilityon 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,offlineanddraft(case-insensitive); anything else is
rejected with a validation error. JSON bodies and form bodies behave the same. - Responses now carry a
visibilitykey 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.