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.
Publish
Section titled “Publish”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.
Visibility
Section titled “Visibility”| Value | Who can view |
|---|---|
public | Anyone with the link; discoverable |
unlisted | Anyone with the link; not listed |
private | Only collaborators with viewer+ |
Collaborators
Section titled “Collaborators”Add people by email with a role:
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" }'| Action | Owner | Editor | Viewer |
|---|---|---|---|
| View | ✓ | ✓ | ✓ |
| Edit & publish | ✓ | ✓ | ✗ |
| Manage collaborators | ✓ | ✓ | ✗ |
| Delete | ✓ | ✗ | ✗ |
| Transfer ownership | ✓ | ✗ | ✗ |
Link previews
Section titled “Link previews”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).
Serving
Section titled “Serving”| URL | Serves |
|---|---|
/a/{slug}/ | Entrypoint (auto mobile detection) |
/a/{slug}/{path} | A specific asset |
/a/{slug}/{path}?_raw | Raw content for iframe embedding |