Skip to content

Create a Team Space folder

POST
/v1/workspaces/{workspaceId}/folders
curl --request POST \
--url https://shareout.site/v1/workspaces/example/folders \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "name": "example", "slug": "example", "description": "example", "parent_id": "example", "readme": "example", "visibility": "inherit" }'

Owners/admins always; members while the workspace setting members_can_create_folders is on (the default), otherwise 403 ADMIN_REQUIRED.

workspaceId
required
string

Workspace ID or slug.

Media typeapplication/json
object
name
required
string
slug

Auto-generated from name if omitted.

string
description
string
parent_id
string
readme

Markdown folder guide.

string
visibility

A label for the folder, not enforced on its contents: each artifact and file keeps its own visibility.

string
default: inherit
Allowed values: inherit public workspace private

Created

Media typeapplication/json
object
id
string
name
string
slug
string
description
string | null
artifact_count
integer
parent_id

Team Space folders only.

string | null
visibility

Team Space folders only.

string
Allowed values: inherit public workspace private
subfolder_count

Team Space folders only.

integer
path

Slug path; single-folder Team Space responses only.

string
readme

Single-folder Team Space responses only.

string | null
effective_visibility

Single-folder Team Space responses only.

string
created_at
string format: date-time
Example
{
"visibility": "inherit"
}

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"
]
}
}

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"
]
}
}

Parent_id not found (PARENT_NOT_FOUND)

Slug taken or version conflict

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"
]
}
}