Skip to content

Storing data

Every artifact has its own storage — no separate database to provision. Three shapes, one base path: /v1/data/{artifactId}.

A single JSON document per artifact. Good for settings, small state, content.

Terminal window
# Read
curl -H "Authorization: Bearer $TOKEN" \
https://shareout.site/v1/data/art_abc123/json
# Replace
curl -X PUT https://shareout.site/v1/data/art_abc123/json \
-H "Authorization: Bearer $TOKEN" -H 'Content-Type: application/json' \
-d '{ "theme": "dark", "views": 42 }'

Structured rows for lists, submissions, and records. List the tables on an artifact:

Terminal window
curl -H "Authorization: Bearer $TOKEN" \
https://shareout.site/v1/data/art_abc123/tables

Tables also power row-level access policies — filter rows per viewer so each customer sees only their own data. Set access_policy on publish.

Upload images, video, audio, and documents as multipart/form-data:

Terminal window
curl -X POST https://shareout.site/v1/data/art_abc123/blobs \
-H "Authorization: Bearer $TOKEN" \
-F file=@chart.png
ConstraintValue
Per file50 MB
Per artifact500 MB
Max blobs1000

Allowed types: PNG, JPEG, GIF, WebP, SVG; MP4, WebM; MP3, WAV, OGG; PDF, TXT, CSV, Markdown.

See the full endpoints in the API reference.