Creates or updates the default my site
Creates or updates the default my site for the current company.
Each company has a single default my site, so this call upserts it. Favorites and links
are managed through default_favorites_attributes and default_links_attributes: pass an
existing id to update an entry, _destroy: true to remove it, or omit id to add one.
Favorites without a favoriteable_type or favoriteable_id, and links without url or
text, are ignored. forwarding must be none or custom (defaults to none);
forwarding_url is required when it is custom. The attributes may also be sent wrapped
in a default_my_site object.
Requires a company admin Bearer token with update access to my site themes. Returns the saved default my site, or 422 with field errors when validation fails.
curl --request POST \
--url https://api.fluid.app/api/default_my_sites \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"forwarding": "none",
"active": true,
"theme_id": 3107,
"default_favorites_attributes": [
{
"favoriteable_type": "Product",
"favoriteable_id": 58217,
"order": 1
},
{
"favoriteable_type": "Collection",
"favoriteable_id": 7342,
"order": 2
}
],
"default_links_attributes": [
{
"url": "https://shop.dundermifflin.com/pages/paper-savings",
"text": "Paper savings calculator",
"order": 1
}
]
}
'import requests
url = "https://api.fluid.app/api/default_my_sites"
payload = {
"forwarding": "none",
"active": True,
"theme_id": 3107,
"default_favorites_attributes": [
{
"favoriteable_type": "Product",
"favoriteable_id": 58217,
"order": 1
},
{
"favoriteable_type": "Collection",
"favoriteable_id": 7342,
"order": 2
}
],
"default_links_attributes": [
{
"url": "https://shop.dundermifflin.com/pages/paper-savings",
"text": "Paper savings calculator",
"order": 1
}
]
}
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({
forwarding: 'none',
active: true,
theme_id: 3107,
default_favorites_attributes: [
{favoriteable_type: 'Product', favoriteable_id: 58217, order: 1},
{favoriteable_type: 'Collection', favoriteable_id: 7342, order: 2}
],
default_links_attributes: [
{
url: 'https://shop.dundermifflin.com/pages/paper-savings',
text: 'Paper savings calculator',
order: 1
}
]
})
};
fetch('https://api.fluid.app/api/default_my_sites', 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.fluid.app/api/default_my_sites",
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([
'forwarding' => 'none',
'active' => true,
'theme_id' => 3107,
'default_favorites_attributes' => [
[
'favoriteable_type' => 'Product',
'favoriteable_id' => 58217,
'order' => 1
],
[
'favoriteable_type' => 'Collection',
'favoriteable_id' => 7342,
'order' => 2
]
],
'default_links_attributes' => [
[
'url' => 'https://shop.dundermifflin.com/pages/paper-savings',
'text' => 'Paper savings calculator',
'order' => 1
]
]
]),
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.fluid.app/api/default_my_sites"
payload := strings.NewReader("{\n \"forwarding\": \"none\",\n \"active\": true,\n \"theme_id\": 3107,\n \"default_favorites_attributes\": [\n {\n \"favoriteable_type\": \"Product\",\n \"favoriteable_id\": 58217,\n \"order\": 1\n },\n {\n \"favoriteable_type\": \"Collection\",\n \"favoriteable_id\": 7342,\n \"order\": 2\n }\n ],\n \"default_links_attributes\": [\n {\n \"url\": \"https://shop.dundermifflin.com/pages/paper-savings\",\n \"text\": \"Paper savings calculator\",\n \"order\": 1\n }\n ]\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.fluid.app/api/default_my_sites")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"forwarding\": \"none\",\n \"active\": true,\n \"theme_id\": 3107,\n \"default_favorites_attributes\": [\n {\n \"favoriteable_type\": \"Product\",\n \"favoriteable_id\": 58217,\n \"order\": 1\n },\n {\n \"favoriteable_type\": \"Collection\",\n \"favoriteable_id\": 7342,\n \"order\": 2\n }\n ],\n \"default_links_attributes\": [\n {\n \"url\": \"https://shop.dundermifflin.com/pages/paper-savings\",\n \"text\": \"Paper savings calculator\",\n \"order\": 1\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.fluid.app/api/default_my_sites")
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 \"forwarding\": \"none\",\n \"active\": true,\n \"theme_id\": 3107,\n \"default_favorites_attributes\": [\n {\n \"favoriteable_type\": \"Product\",\n \"favoriteable_id\": 58217,\n \"order\": 1\n },\n {\n \"favoriteable_type\": \"Collection\",\n \"favoriteable_id\": 7342,\n \"order\": 2\n }\n ],\n \"default_links_attributes\": [\n {\n \"url\": \"https://shop.dundermifflin.com/pages/paper-savings\",\n \"text\": \"Paper savings calculator\",\n \"order\": 1\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"default_my_site": {
"id": 48213,
"forwarding": "none",
"forwarding_url": null,
"active": true,
"theme_id": 3107,
"default_favorites": [
{
"id": 90214,
"title": "Dunder Mifflin 20lb Copy Paper",
"favoriteable_type": "Product",
"favoriteable_id": 58217,
"order": 1,
"image_url": "https://cdn.fluid.app/dunder-mifflin/products/20lb-copy-paper.jpg"
},
{
"id": 90215,
"title": "Office Essentials",
"favoriteable_type": "Collection",
"favoriteable_id": 7342,
"order": 2,
"image_url": "https://cdn.fluid.app/dunder-mifflin/collections/office-essentials.jpg"
}
],
"default_links": [
{
"id": 31876,
"url": "https://shop.dundermifflin.com/pages/paper-savings",
"text": "Paper savings calculator",
"order": 1
}
]
},
"meta": {
"request_id": "7f3c2a91-5d4e-4b8a-9c61-2e8f0d3b4a17",
"timestamp": "2026-09-14T15:32:08Z"
}
}{
"message": "<string>",
"error": "<string>",
"error_message": "<string>",
"errors": "<string>",
"meta": {
"request_id": "<string>",
"timestamp": "2023-11-07T05:31:56Z"
}
}Authorizations
Bearer token authentication
Body
Type of forwarding for the site. 'none' means no forwarding, 'custom' means a custom URL is provided.
The URL to which the site will forward if forwarding is set to 'custom'.
Indicates whether the default my site is active.
ID of the theme to be used for the default my site.
Show child attributes
Show child attributes
Show child attributes
Show child attributes
curl --request POST \
--url https://api.fluid.app/api/default_my_sites \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"forwarding": "none",
"active": true,
"theme_id": 3107,
"default_favorites_attributes": [
{
"favoriteable_type": "Product",
"favoriteable_id": 58217,
"order": 1
},
{
"favoriteable_type": "Collection",
"favoriteable_id": 7342,
"order": 2
}
],
"default_links_attributes": [
{
"url": "https://shop.dundermifflin.com/pages/paper-savings",
"text": "Paper savings calculator",
"order": 1
}
]
}
'import requests
url = "https://api.fluid.app/api/default_my_sites"
payload = {
"forwarding": "none",
"active": True,
"theme_id": 3107,
"default_favorites_attributes": [
{
"favoriteable_type": "Product",
"favoriteable_id": 58217,
"order": 1
},
{
"favoriteable_type": "Collection",
"favoriteable_id": 7342,
"order": 2
}
],
"default_links_attributes": [
{
"url": "https://shop.dundermifflin.com/pages/paper-savings",
"text": "Paper savings calculator",
"order": 1
}
]
}
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({
forwarding: 'none',
active: true,
theme_id: 3107,
default_favorites_attributes: [
{favoriteable_type: 'Product', favoriteable_id: 58217, order: 1},
{favoriteable_type: 'Collection', favoriteable_id: 7342, order: 2}
],
default_links_attributes: [
{
url: 'https://shop.dundermifflin.com/pages/paper-savings',
text: 'Paper savings calculator',
order: 1
}
]
})
};
fetch('https://api.fluid.app/api/default_my_sites', 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.fluid.app/api/default_my_sites",
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([
'forwarding' => 'none',
'active' => true,
'theme_id' => 3107,
'default_favorites_attributes' => [
[
'favoriteable_type' => 'Product',
'favoriteable_id' => 58217,
'order' => 1
],
[
'favoriteable_type' => 'Collection',
'favoriteable_id' => 7342,
'order' => 2
]
],
'default_links_attributes' => [
[
'url' => 'https://shop.dundermifflin.com/pages/paper-savings',
'text' => 'Paper savings calculator',
'order' => 1
]
]
]),
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.fluid.app/api/default_my_sites"
payload := strings.NewReader("{\n \"forwarding\": \"none\",\n \"active\": true,\n \"theme_id\": 3107,\n \"default_favorites_attributes\": [\n {\n \"favoriteable_type\": \"Product\",\n \"favoriteable_id\": 58217,\n \"order\": 1\n },\n {\n \"favoriteable_type\": \"Collection\",\n \"favoriteable_id\": 7342,\n \"order\": 2\n }\n ],\n \"default_links_attributes\": [\n {\n \"url\": \"https://shop.dundermifflin.com/pages/paper-savings\",\n \"text\": \"Paper savings calculator\",\n \"order\": 1\n }\n ]\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.fluid.app/api/default_my_sites")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"forwarding\": \"none\",\n \"active\": true,\n \"theme_id\": 3107,\n \"default_favorites_attributes\": [\n {\n \"favoriteable_type\": \"Product\",\n \"favoriteable_id\": 58217,\n \"order\": 1\n },\n {\n \"favoriteable_type\": \"Collection\",\n \"favoriteable_id\": 7342,\n \"order\": 2\n }\n ],\n \"default_links_attributes\": [\n {\n \"url\": \"https://shop.dundermifflin.com/pages/paper-savings\",\n \"text\": \"Paper savings calculator\",\n \"order\": 1\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.fluid.app/api/default_my_sites")
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 \"forwarding\": \"none\",\n \"active\": true,\n \"theme_id\": 3107,\n \"default_favorites_attributes\": [\n {\n \"favoriteable_type\": \"Product\",\n \"favoriteable_id\": 58217,\n \"order\": 1\n },\n {\n \"favoriteable_type\": \"Collection\",\n \"favoriteable_id\": 7342,\n \"order\": 2\n }\n ],\n \"default_links_attributes\": [\n {\n \"url\": \"https://shop.dundermifflin.com/pages/paper-savings\",\n \"text\": \"Paper savings calculator\",\n \"order\": 1\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"default_my_site": {
"id": 48213,
"forwarding": "none",
"forwarding_url": null,
"active": true,
"theme_id": 3107,
"default_favorites": [
{
"id": 90214,
"title": "Dunder Mifflin 20lb Copy Paper",
"favoriteable_type": "Product",
"favoriteable_id": 58217,
"order": 1,
"image_url": "https://cdn.fluid.app/dunder-mifflin/products/20lb-copy-paper.jpg"
},
{
"id": 90215,
"title": "Office Essentials",
"favoriteable_type": "Collection",
"favoriteable_id": 7342,
"order": 2,
"image_url": "https://cdn.fluid.app/dunder-mifflin/collections/office-essentials.jpg"
}
],
"default_links": [
{
"id": 31876,
"url": "https://shop.dundermifflin.com/pages/paper-savings",
"text": "Paper savings calculator",
"order": 1
}
]
},
"meta": {
"request_id": "7f3c2a91-5d4e-4b8a-9c61-2e8f0d3b4a17",
"timestamp": "2026-09-14T15:32:08Z"
}
}{
"message": "<string>",
"error": "<string>",
"error_message": "<string>",
"errors": "<string>",
"meta": {
"request_id": "<string>",
"timestamp": "2023-11-07T05:31:56Z"
}
}