curl --request GET \
--url https://api.1club.ai/v1/platform/website \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.1club.ai/v1/platform/website"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.1club.ai/v1/platform/website', 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.1club.ai/v1/platform/website",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.1club.ai/v1/platform/website"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.1club.ai/v1/platform/website")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.1club.ai/v1/platform/website")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"id": 123,
"name": "<string>",
"slug": "<string>",
"domain": "<string>",
"isDefault": true,
"isActive": true,
"clubId": 123,
"url": "<string>",
"previewUrl": "<string>",
"published": true,
"activeReleaseVersion": 123,
"lastPublishedAt": "2023-11-07T05:31:56Z",
"themeSupport": "both",
"defaultTheme": "light",
"supportedLocales": [
"<string>"
],
"defaultLocale": "<string>",
"seoSettings": {
"siteDescription": "<string>",
"defaultOgImage": "<string>",
"verification": {
"google": "<string>",
"bing": "<string>"
}
},
"pages": [
{
"slug": "<string>",
"title": "<string>",
"isHomepage": true,
"sectionCount": 123,
"sectionTypes": [
"<string>"
],
"sections": [
{
"type": "<string>",
"htmlId": "<string>",
"config": {},
"translations": {}
}
],
"metaTitle": "<string>",
"metaDescription": "<string>",
"ogImage": "<string>",
"noindex": true,
"translations": {},
"seo": {
"metaTitle": "<string>",
"metaDescription": "<string>",
"ogImage": "<string>",
"canonicalUrl": "<string>",
"indexable": true,
"notIndexableReason": "page_noindex",
"localizedLocales": [
"<string>"
]
},
"url": "<string>"
}
],
"layout": {
"header": {
"type": "<string>",
"htmlId": "<string>",
"config": {},
"translations": {}
},
"footer": {
"type": "<string>",
"htmlId": "<string>",
"config": {},
"translations": {}
}
},
"hasCustomCss": true,
"updatedAt": "2023-11-07T05:31:56Z"
}{
"error": "<string>",
"code": "<string>",
"details": {}
}{
"error": "<string>",
"code": "<string>",
"details": {}
}{
"error": "<string>",
"code": "<string>",
"details": {}
}{
"error": "<string>",
"code": "<string>",
"details": {}
}Get the website
Returns one website with its page list, layout, publish state and public URLs. Omit siteId for the organization’s default website.
previewUrl renders the unpublished draft, which is how you review edits made through this API before publishing them; url is what the public sees and only reflects the last published release.
curl --request GET \
--url https://api.1club.ai/v1/platform/website \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.1club.ai/v1/platform/website"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.1club.ai/v1/platform/website', 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.1club.ai/v1/platform/website",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.1club.ai/v1/platform/website"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.1club.ai/v1/platform/website")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.1club.ai/v1/platform/website")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"id": 123,
"name": "<string>",
"slug": "<string>",
"domain": "<string>",
"isDefault": true,
"isActive": true,
"clubId": 123,
"url": "<string>",
"previewUrl": "<string>",
"published": true,
"activeReleaseVersion": 123,
"lastPublishedAt": "2023-11-07T05:31:56Z",
"themeSupport": "both",
"defaultTheme": "light",
"supportedLocales": [
"<string>"
],
"defaultLocale": "<string>",
"seoSettings": {
"siteDescription": "<string>",
"defaultOgImage": "<string>",
"verification": {
"google": "<string>",
"bing": "<string>"
}
},
"pages": [
{
"slug": "<string>",
"title": "<string>",
"isHomepage": true,
"sectionCount": 123,
"sectionTypes": [
"<string>"
],
"sections": [
{
"type": "<string>",
"htmlId": "<string>",
"config": {},
"translations": {}
}
],
"metaTitle": "<string>",
"metaDescription": "<string>",
"ogImage": "<string>",
"noindex": true,
"translations": {},
"seo": {
"metaTitle": "<string>",
"metaDescription": "<string>",
"ogImage": "<string>",
"canonicalUrl": "<string>",
"indexable": true,
"notIndexableReason": "page_noindex",
"localizedLocales": [
"<string>"
]
},
"url": "<string>"
}
],
"layout": {
"header": {
"type": "<string>",
"htmlId": "<string>",
"config": {},
"translations": {}
},
"footer": {
"type": "<string>",
"htmlId": "<string>",
"config": {},
"translations": {}
}
},
"hasCustomCss": true,
"updatedAt": "2023-11-07T05:31:56Z"
}{
"error": "<string>",
"code": "<string>",
"details": {}
}{
"error": "<string>",
"code": "<string>",
"details": {}
}{
"error": "<string>",
"code": "<string>",
"details": {}
}{
"error": "<string>",
"code": "<string>",
"details": {}
}Authorizations
Organization-scoped bearer credential: a customer API key (1club_sk_live_...) or an MCP OAuth access token.
Query Parameters
Which website, when the organization has more than one. Defaults to its default website.
Response
The website, its pages and its layout
A website belonging to the organization. Page content, layout and theme tokens describe the draft. url, published, activeReleaseVersion and lastPublishedAt describe what the public is currently being served. name and clubId are live row fields — they take effect without a publish.
Platform host label - the site answers on <slug>.1club.me.
Custom domain, when one is pointed at this site.
True for the site an organization-wide caller means by "the website". Exactly one per organization.
False means the site is switched off and serves nothing publicly, whatever the draft contains.
Club this website represents. When set, the header and footer use that club's logo instead of the organization's. Live, like name.
Public URL - the custom domain when set, else the platform host.
The same site rendered from the unpublished draft - the link to review edits before publishing. Carries a signed grant that expires 24 hours after this response was generated; read the website again for a fresh one. Anyone holding the link can view the draft, so it is shareable without a login but should be treated as sensitive.
Whether the site has ever been published. False means nothing is publicly reachable yet.
both, light, dark light, dark, system Locales the site serves, which is what its hreflang alternates and sitemap.xml advertise. Organization-level - see PATCH /v1/platform/website.
Locale served at the site root. Organization-level.
Site-wide SEO defaults. Each field is a fallback a page can override.
Show child attributes
Show child attributes
Present when fetching one website; omitted from the site list.
Show child attributes
Show child attributes
Header and footer, rendered on every page.
Show child attributes
Show child attributes
Was this page helpful?