Skip to content

Import a dropped or pasted file as an artifact

POST
/v1/home/import
curl --request POST \
--url https://shareout.site/v1/home/import \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "name": "example", "content": "example", "encoding": "utf8", "html": "example", "url": "example", "folder": "example", "lang": "en" }'

One-step import from the Studio Home. Publishes a document (HTML, CSV, Markdown, JSON, text, PDF, Word .docx/.doc/.odt, or a spreadsheet .xlsx/.xls/.ods), pasted HTML, or a Claude / ChatGPT / Gemini share link (best-effort fetch) as a private artifact in the current workspace and folder. Word files become Markdown and spreadsheets one CSV per sheet. Slide decks (.pptx/.ppt/.odp) become a PDF on instances with the optional LibreOffice converter (SLIDES_CONVERTER); without it they answer 422 CONVERT_UNAVAILABLE. All of these keep the original file for download and must be sent base64-encoded. Images, video and other files belong in Assets (/v1/assets). Inside a workspace the caller must be an internal member. Counts toward the daily publish limit and the storage cap. Agent (sot_) tokens are refused.

workspace
string

Workspace id (ignored on a workspace subdomain, which pins it).

Media typeapplication/json
object
name

File name; its extension picks the artifact type.

string
content
string
encoding
string
Allowed values: utf8 base64
html

Pasted HTML source.

string
url

A Claude, ChatGPT or Gemini share link.

string
folder

Folder id to publish into.

string
lang
string
Allowed values: en es

Published

Media typeapplication/json
object
ok
boolean
artifactId
string
slug
string
name
string
type
string
Examplegenerated
{
"ok": true,
"artifactId": "example",
"slug": "example",
"name": "example",
"type": "example"
}

Invalid request

Media typeapplication/json
object
success
required
boolean
error
required

Human-readable message.

string
code
required

Machine-readable error code.

string
request_id

Correlation id (also the X-Request-Id header). Quote it in support tickets.

string
reason

Finer cause under code. For UNAUTHORIZED: missing, invalid, revoked or expired.

string
hint

What to do next, in plain words.

string
suggestion
string
param

The request field at fault.

string
docs

Doc page for this error.

string
redirect_url
string
support

Present on 5xx — how to reach a human.

object
how
string
include
Array<string>
Example
{
"success": false,
"support": {
"how": "POST /v1/support/tickets",
"include": [
"request_id"
]
}
}

Authentication required

Media typeapplication/json
object
success
required
boolean
error
required

Human-readable message.

string
code
required

Machine-readable error code.

string
request_id

Correlation id (also the X-Request-Id header). Quote it in support tickets.

string
reason

Finer cause under code. For UNAUTHORIZED: missing, invalid, revoked or expired.

string
hint

What to do next, in plain words.

string
suggestion
string
param

The request field at fault.

string
docs

Doc page for this error.

string
redirect_url
string
support

Present on 5xx — how to reach a human.

object
how
string
include
Array<string>
Example
{
"success": false,
"support": {
"how": "POST /v1/support/tickets",
"include": [
"request_id"
]
}
}

Access denied

Media typeapplication/json
object
success
required
boolean
error
required

Human-readable message.

string
code
required

Machine-readable error code.

string
request_id

Correlation id (also the X-Request-Id header). Quote it in support tickets.

string
reason

Finer cause under code. For UNAUTHORIZED: missing, invalid, revoked or expired.

string
hint

What to do next, in plain words.

string
suggestion
string
param

The request field at fault.

string
docs

Doc page for this error.

string
redirect_url
string
support

Present on 5xx — how to reach a human.

object
how
string
include
Array<string>
Example
{
"success": false,
"support": {
"how": "POST /v1/support/tickets",
"include": [
"request_id"
]
}
}

Folder not found

File too large, spreadsheet too large to convert, or storage limit reached

File type belongs in Assets

Share link could not be read (login wall or JS-rendered), or an Office file or slide deck could not be converted (CONVERT_FAILED, CONVERT_TIMEOUT, CONVERT_UNAVAILABLE)

Daily publish limit reached