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.

A table is private to its artifact by default. On a Teams workspace, the owning artifact can share one of its tables so other artifacts in the same workspace read or write it — one page collects, another displays. The data stays in the owner artifact; sharing is an opt-in grant at read or readwrite level.

Terminal window
# Owner shares its "leads" table read-only with the workspace
curl -X POST https://shareout.site/v1/data/art_form/workspace/_share \
-H "Authorization: Bearer $TOKEN" -H 'Content-Type: application/json' \
-d '{ "table": "leads", "as": "leads", "access": "read" }'
# Another artifact reads it by its shared name (same table query API)
curl -X POST https://shareout.site/v1/data/art_dashboard/workspace/tables/leads/query \
-H 'Content-Type: application/json' -d '{}'
# List everything shared into a workspace
curl -H "Authorization: Bearer $TOKEN" \
https://shareout.site/v1/workspaces/wsp_123/shared-tables

Writing to a read-only shared table returns 403 FORBIDDEN. From the browser SDK this is sdk.workspace.table(name) / sdk.workspace.shareTable(...) — see Tables → Share a table across artifacts.

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.