Create a page
Creates a new page in the workspace (team_id) under a specified space (project).
Pages can be associated with a template for efficient creation and can include a title,
content, icon, and optional hierarchy settings.
curl --request POST \
--url https://api.superthread.com/v1/{team_id}/pages \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"project_id": "3",
"title": "Team Page",
"content": "<string>",
"content_format": "html",
"file_ids": [
"<string>"
],
"schema": 1,
"font": "<string>",
"parent_page_id": "44",
"position": 3,
"is_public": false
}
'import requests
url = "https://api.superthread.com/v1/{team_id}/pages"
payload = {
"project_id": "3",
"title": "Team Page",
"content": "<string>",
"content_format": "html",
"file_ids": ["<string>"],
"schema": 1,
"font": "<string>",
"parent_page_id": "44",
"position": 3,
"is_public": False
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
project_id: '3',
title: 'Team Page',
content: '<string>',
content_format: 'html',
file_ids: ['<string>'],
schema: 1,
font: '<string>',
parent_page_id: '44',
position: 3,
is_public: false
})
};
fetch('https://api.superthread.com/v1/{team_id}/pages', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.superthread.com/v1/{team_id}/pages",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'project_id' => '3',
'title' => 'Team Page',
'content' => '<string>',
'content_format' => 'html',
'file_ids' => [
'<string>'
],
'schema' => 1,
'font' => '<string>',
'parent_page_id' => '44',
'position' => 3,
'is_public' => false
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.superthread.com/v1/{team_id}/pages"
payload := strings.NewReader("{\n \"project_id\": \"3\",\n \"title\": \"Team Page\",\n \"content\": \"<string>\",\n \"content_format\": \"html\",\n \"file_ids\": [\n \"<string>\"\n ],\n \"schema\": 1,\n \"font\": \"<string>\",\n \"parent_page_id\": \"44\",\n \"position\": 3,\n \"is_public\": false\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.superthread.com/v1/{team_id}/pages")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"project_id\": \"3\",\n \"title\": \"Team Page\",\n \"content\": \"<string>\",\n \"content_format\": \"html\",\n \"file_ids\": [\n \"<string>\"\n ],\n \"schema\": 1,\n \"font\": \"<string>\",\n \"parent_page_id\": \"44\",\n \"position\": 3,\n \"is_public\": false\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.superthread.com/v1/{team_id}/pages")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"project_id\": \"3\",\n \"title\": \"Team Page\",\n \"content\": \"<string>\",\n \"content_format\": \"html\",\n \"file_ids\": [\n \"<string>\"\n ],\n \"schema\": 1,\n \"font\": \"<string>\",\n \"parent_page_id\": \"44\",\n \"position\": 3,\n \"is_public\": false\n}"
response = http.request(request)
puts response.read_body{
"page": {
"id": "43",
"alias_id": "93738022-c193-494e-95a4-fc3e4346b5e1",
"title": "Team Page",
"icon": {
"src": "data:image/png;base64, iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==",
"id": "<string>",
"blurhash": "LEHV6nWB2yk8pyoJadR*.7kCMdnj",
"color": "black",
"emoji": "thumbsup"
},
"content": "<string>",
"schema": 1,
"collaboration": {
"token": "<string>"
},
"project_id": "1",
"standalone": false,
"cover_image": {
"src": "data:image/png;base64, iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==",
"id": "<string>",
"blurhash": "LEHV6nWB2yk8pyoJadR*.7kCMdnj",
"color": "black",
"emoji": "thumbsup",
"positionY": 123
},
"user_id": "u-dsu0j19",
"user_id_updated": "u-dsu0j19",
"user": {
"user_id": "uDsu0j19",
"type": "user",
"source": {
"type": "oauth",
"client_id": "oczapier",
"import_id": "bf1b9f76-3f95-42fc-bd7f-050b2f5f4197",
"agent_id": "bf1b9f76-3f95-42fc-bd7f-050b2f5f4197",
"email_addr": "somebody@example.com",
"email_verified": false,
"on_behalf_of": "<string>"
}
},
"user_updated": {
"user_id": "uDsu0j19",
"type": "user",
"source": {
"type": "oauth",
"client_id": "oczapier",
"import_id": "bf1b9f76-3f95-42fc-bd7f-050b2f5f4197",
"agent_id": "bf1b9f76-3f95-42fc-bd7f-050b2f5f4197",
"email_addr": "somebody@example.com",
"email_verified": false,
"on_behalf_of": "<string>"
}
},
"team_id": "teu-dsu0j19",
"time_created": 1608742037016,
"time_updated": 1608742037016,
"members": [
{
"user_id": "u-dsu0j19",
"assigned_date": 1608742037016
}
],
"bookmarked": false,
"archived": {
"user_id": "uDsu0j19",
"time_archived": 1608742037016,
"parent_page_id": "<string>"
},
"is_public": false,
"public_settings": {
"url": "https://pages.superthread.com/t/team/p/1",
"robots": []
},
"total_comments": 3,
"is_watching": true,
"is_bookmarked": true,
"hide_table_of_contents": true,
"hide_subpages": true
}
}{
"error": {
"id": "err5f744ab",
"code": 403,
"sec": "SEC:000-00014",
"message": "You do not have access to this resource",
"date": 1608742037016
}
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
Team ID is an alphanumerical string that identifies a Team. This is externally referred to as a "Workspace".
Body
Page object that needs to be created
"3"
"Team Page"
102400Format of the content field. When set to 'markdown', the server converts the content from GitHub Flavored Markdown to HTML before storage. Defaults to 'html'.
html, markdown Existing file IDs to duplicate and associate with the created page. Use for files already uploaded to this workspace, such as files attached to an agent run.
1
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Parent page ID this page should be placed under. Send an empty string to place the page at the root of the project
"44"
a position where the page should be placed in relation to its siblings
3
false
Response
page created
Show child attributes
Show child attributes
curl --request POST \
--url https://api.superthread.com/v1/{team_id}/pages \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"project_id": "3",
"title": "Team Page",
"content": "<string>",
"content_format": "html",
"file_ids": [
"<string>"
],
"schema": 1,
"font": "<string>",
"parent_page_id": "44",
"position": 3,
"is_public": false
}
'import requests
url = "https://api.superthread.com/v1/{team_id}/pages"
payload = {
"project_id": "3",
"title": "Team Page",
"content": "<string>",
"content_format": "html",
"file_ids": ["<string>"],
"schema": 1,
"font": "<string>",
"parent_page_id": "44",
"position": 3,
"is_public": False
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
project_id: '3',
title: 'Team Page',
content: '<string>',
content_format: 'html',
file_ids: ['<string>'],
schema: 1,
font: '<string>',
parent_page_id: '44',
position: 3,
is_public: false
})
};
fetch('https://api.superthread.com/v1/{team_id}/pages', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.superthread.com/v1/{team_id}/pages",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'project_id' => '3',
'title' => 'Team Page',
'content' => '<string>',
'content_format' => 'html',
'file_ids' => [
'<string>'
],
'schema' => 1,
'font' => '<string>',
'parent_page_id' => '44',
'position' => 3,
'is_public' => false
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.superthread.com/v1/{team_id}/pages"
payload := strings.NewReader("{\n \"project_id\": \"3\",\n \"title\": \"Team Page\",\n \"content\": \"<string>\",\n \"content_format\": \"html\",\n \"file_ids\": [\n \"<string>\"\n ],\n \"schema\": 1,\n \"font\": \"<string>\",\n \"parent_page_id\": \"44\",\n \"position\": 3,\n \"is_public\": false\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.superthread.com/v1/{team_id}/pages")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"project_id\": \"3\",\n \"title\": \"Team Page\",\n \"content\": \"<string>\",\n \"content_format\": \"html\",\n \"file_ids\": [\n \"<string>\"\n ],\n \"schema\": 1,\n \"font\": \"<string>\",\n \"parent_page_id\": \"44\",\n \"position\": 3,\n \"is_public\": false\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.superthread.com/v1/{team_id}/pages")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"project_id\": \"3\",\n \"title\": \"Team Page\",\n \"content\": \"<string>\",\n \"content_format\": \"html\",\n \"file_ids\": [\n \"<string>\"\n ],\n \"schema\": 1,\n \"font\": \"<string>\",\n \"parent_page_id\": \"44\",\n \"position\": 3,\n \"is_public\": false\n}"
response = http.request(request)
puts response.read_body{
"page": {
"id": "43",
"alias_id": "93738022-c193-494e-95a4-fc3e4346b5e1",
"title": "Team Page",
"icon": {
"src": "data:image/png;base64, iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==",
"id": "<string>",
"blurhash": "LEHV6nWB2yk8pyoJadR*.7kCMdnj",
"color": "black",
"emoji": "thumbsup"
},
"content": "<string>",
"schema": 1,
"collaboration": {
"token": "<string>"
},
"project_id": "1",
"standalone": false,
"cover_image": {
"src": "data:image/png;base64, iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==",
"id": "<string>",
"blurhash": "LEHV6nWB2yk8pyoJadR*.7kCMdnj",
"color": "black",
"emoji": "thumbsup",
"positionY": 123
},
"user_id": "u-dsu0j19",
"user_id_updated": "u-dsu0j19",
"user": {
"user_id": "uDsu0j19",
"type": "user",
"source": {
"type": "oauth",
"client_id": "oczapier",
"import_id": "bf1b9f76-3f95-42fc-bd7f-050b2f5f4197",
"agent_id": "bf1b9f76-3f95-42fc-bd7f-050b2f5f4197",
"email_addr": "somebody@example.com",
"email_verified": false,
"on_behalf_of": "<string>"
}
},
"user_updated": {
"user_id": "uDsu0j19",
"type": "user",
"source": {
"type": "oauth",
"client_id": "oczapier",
"import_id": "bf1b9f76-3f95-42fc-bd7f-050b2f5f4197",
"agent_id": "bf1b9f76-3f95-42fc-bd7f-050b2f5f4197",
"email_addr": "somebody@example.com",
"email_verified": false,
"on_behalf_of": "<string>"
}
},
"team_id": "teu-dsu0j19",
"time_created": 1608742037016,
"time_updated": 1608742037016,
"members": [
{
"user_id": "u-dsu0j19",
"assigned_date": 1608742037016
}
],
"bookmarked": false,
"archived": {
"user_id": "uDsu0j19",
"time_archived": 1608742037016,
"parent_page_id": "<string>"
},
"is_public": false,
"public_settings": {
"url": "https://pages.superthread.com/t/team/p/1",
"robots": []
},
"total_comments": 3,
"is_watching": true,
"is_bookmarked": true,
"hide_table_of_contents": true,
"hide_subpages": true
}
}{
"error": {
"id": "err5f744ab",
"code": 403,
"sec": "SEC:000-00014",
"message": "You do not have access to this resource",
"date": 1608742037016
}
}