Skip to content

Publishing artifacts

import { Aside } from ‘@astrojs/starlight/components’;

An artifact is a versioned bundle of files served at a live URL. Publishing the same slug again creates a new version — the old ones stay reachable.

POST /v1/publish with your files:

{
"name": "My App",
"slug": "my-app",
"entrypoint": "index.html",
"visibility": "public",
"files": [
{ "path": "index.html", "content": "<!DOCTYPE html>…", "mime": "text/html", "encoding": "utf8" }
]
}

Omit slug and ShareOut generates one. See the full schema in the API reference.

ValueWho can view
publicAnyone with the link; discoverable
unlistedAnyone with the link; not listed
privateOnly collaborators with viewer+

Add people by email with a role:

Terminal window
curl -X POST https://shareout.site/v1/artifacts/art_abc123/collaborators \
-H "Authorization: Bearer $TOKEN" -H 'Content-Type: application/json' \
-d '{ "emails": ["teammate@example.com"], "role": "editor" }'
ActionOwnerEditorViewer
View
Edit & publish
Manage collaborators
Delete
Transfer ownership

Set og:title, og:description, and og:image in your entrypoint <head> and ShareOut serves them for Slack, WhatsApp, and iMessage unfurls. Override per artifact with PATCH /v1/artifacts/{id} (social_title, social_description, social_image_url).

URLServes
/a/{slug}/Entrypoint (auto mobile detection)
/a/{slug}/{path}A specific asset
/a/{slug}/{path}?_rawRaw content for iframe embedding