curl --request PATCH \
--url https://api.wondeya.com/v1/projects/{projectId}/brand/chrome \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"navLinks": [
{
"label": {
"es": "<string>",
"en": "<string>"
},
"href": "<string>",
"variant": "link"
}
],
"footerGroups": [
{
"title": {
"es": "<string>",
"en": "<string>"
},
"links": [
{
"label": {
"es": "<string>",
"en": "<string>"
},
"href": "<string>",
"variant": "link"
}
]
}
],
"socials": [
{
"href": "<string>"
}
],
"legalName": {
"es": "<string>",
"en": "<string>"
},
"contact": {
"email": "<string>",
"addressLines": [
"<string>"
]
}
}
'import requests
url = "https://api.wondeya.com/v1/projects/{projectId}/brand/chrome"
payload = {
"navLinks": [
{
"label": {
"es": "<string>",
"en": "<string>"
},
"href": "<string>",
"variant": "link"
}
],
"footerGroups": [
{
"title": {
"es": "<string>",
"en": "<string>"
},
"links": [
{
"label": {
"es": "<string>",
"en": "<string>"
},
"href": "<string>",
"variant": "link"
}
]
}
],
"socials": [{ "href": "<string>" }],
"legalName": {
"es": "<string>",
"en": "<string>"
},
"contact": {
"email": "<string>",
"addressLines": ["<string>"]
}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
navLinks: [{label: {es: '<string>', en: '<string>'}, href: '<string>', variant: 'link'}],
footerGroups: [
{
title: {es: '<string>', en: '<string>'},
links: [{label: {es: '<string>', en: '<string>'}, href: '<string>', variant: 'link'}]
}
],
socials: [{href: '<string>'}],
legalName: {es: '<string>', en: '<string>'},
contact: {email: '<string>', addressLines: ['<string>']}
})
};
fetch('https://api.wondeya.com/v1/projects/{projectId}/brand/chrome', 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.wondeya.com/v1/projects/{projectId}/brand/chrome",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'navLinks' => [
[
'label' => [
'es' => '<string>',
'en' => '<string>'
],
'href' => '<string>',
'variant' => 'link'
]
],
'footerGroups' => [
[
'title' => [
'es' => '<string>',
'en' => '<string>'
],
'links' => [
[
'label' => [
'es' => '<string>',
'en' => '<string>'
],
'href' => '<string>',
'variant' => 'link'
]
]
]
],
'socials' => [
[
'href' => '<string>'
]
],
'legalName' => [
'es' => '<string>',
'en' => '<string>'
],
'contact' => [
'email' => '<string>',
'addressLines' => [
'<string>'
]
]
]),
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.wondeya.com/v1/projects/{projectId}/brand/chrome"
payload := strings.NewReader("{\n \"navLinks\": [\n {\n \"label\": {\n \"es\": \"<string>\",\n \"en\": \"<string>\"\n },\n \"href\": \"<string>\",\n \"variant\": \"link\"\n }\n ],\n \"footerGroups\": [\n {\n \"title\": {\n \"es\": \"<string>\",\n \"en\": \"<string>\"\n },\n \"links\": [\n {\n \"label\": {\n \"es\": \"<string>\",\n \"en\": \"<string>\"\n },\n \"href\": \"<string>\",\n \"variant\": \"link\"\n }\n ]\n }\n ],\n \"socials\": [\n {\n \"href\": \"<string>\"\n }\n ],\n \"legalName\": {\n \"es\": \"<string>\",\n \"en\": \"<string>\"\n },\n \"contact\": {\n \"email\": \"<string>\",\n \"addressLines\": [\n \"<string>\"\n ]\n }\n}")
req, _ := http.NewRequest("PATCH", 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.patch("https://api.wondeya.com/v1/projects/{projectId}/brand/chrome")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"navLinks\": [\n {\n \"label\": {\n \"es\": \"<string>\",\n \"en\": \"<string>\"\n },\n \"href\": \"<string>\",\n \"variant\": \"link\"\n }\n ],\n \"footerGroups\": [\n {\n \"title\": {\n \"es\": \"<string>\",\n \"en\": \"<string>\"\n },\n \"links\": [\n {\n \"label\": {\n \"es\": \"<string>\",\n \"en\": \"<string>\"\n },\n \"href\": \"<string>\",\n \"variant\": \"link\"\n }\n ]\n }\n ],\n \"socials\": [\n {\n \"href\": \"<string>\"\n }\n ],\n \"legalName\": {\n \"es\": \"<string>\",\n \"en\": \"<string>\"\n },\n \"contact\": {\n \"email\": \"<string>\",\n \"addressLines\": [\n \"<string>\"\n ]\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.wondeya.com/v1/projects/{projectId}/brand/chrome")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"navLinks\": [\n {\n \"label\": {\n \"es\": \"<string>\",\n \"en\": \"<string>\"\n },\n \"href\": \"<string>\",\n \"variant\": \"link\"\n }\n ],\n \"footerGroups\": [\n {\n \"title\": {\n \"es\": \"<string>\",\n \"en\": \"<string>\"\n },\n \"links\": [\n {\n \"label\": {\n \"es\": \"<string>\",\n \"en\": \"<string>\"\n },\n \"href\": \"<string>\",\n \"variant\": \"link\"\n }\n ]\n }\n ],\n \"socials\": [\n {\n \"href\": \"<string>\"\n }\n ],\n \"legalName\": {\n \"es\": \"<string>\",\n \"en\": \"<string>\"\n },\n \"contact\": {\n \"email\": \"<string>\",\n \"addressLines\": [\n \"<string>\"\n ]\n }\n}"
response = http.request(request)
puts response.read_body{
"navLinks": [
{
"label": "<string>",
"href": "<string>",
"variant": "link"
}
],
"footerGroups": [
{
"title": "<string>",
"links": [
{
"label": "<string>",
"href": "<string>",
"variant": "link"
}
]
}
],
"socials": [
{
"network": "x",
"href": "<string>"
}
],
"legalName": {
"es": "<string>",
"en": "<string>"
},
"contact": {
"addressLines": [
"<string>"
],
"email": "<string>"
}
}Edit the site's navbar and footer
Partial with replace-by-list semantics: a list present REPLACES the stored one, [] clears it, an absent key touches nothing. Texts are per language (D-44). Every href is an absolute http(s) URL or a same-site path.
curl --request PATCH \
--url https://api.wondeya.com/v1/projects/{projectId}/brand/chrome \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"navLinks": [
{
"label": {
"es": "<string>",
"en": "<string>"
},
"href": "<string>",
"variant": "link"
}
],
"footerGroups": [
{
"title": {
"es": "<string>",
"en": "<string>"
},
"links": [
{
"label": {
"es": "<string>",
"en": "<string>"
},
"href": "<string>",
"variant": "link"
}
]
}
],
"socials": [
{
"href": "<string>"
}
],
"legalName": {
"es": "<string>",
"en": "<string>"
},
"contact": {
"email": "<string>",
"addressLines": [
"<string>"
]
}
}
'import requests
url = "https://api.wondeya.com/v1/projects/{projectId}/brand/chrome"
payload = {
"navLinks": [
{
"label": {
"es": "<string>",
"en": "<string>"
},
"href": "<string>",
"variant": "link"
}
],
"footerGroups": [
{
"title": {
"es": "<string>",
"en": "<string>"
},
"links": [
{
"label": {
"es": "<string>",
"en": "<string>"
},
"href": "<string>",
"variant": "link"
}
]
}
],
"socials": [{ "href": "<string>" }],
"legalName": {
"es": "<string>",
"en": "<string>"
},
"contact": {
"email": "<string>",
"addressLines": ["<string>"]
}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
navLinks: [{label: {es: '<string>', en: '<string>'}, href: '<string>', variant: 'link'}],
footerGroups: [
{
title: {es: '<string>', en: '<string>'},
links: [{label: {es: '<string>', en: '<string>'}, href: '<string>', variant: 'link'}]
}
],
socials: [{href: '<string>'}],
legalName: {es: '<string>', en: '<string>'},
contact: {email: '<string>', addressLines: ['<string>']}
})
};
fetch('https://api.wondeya.com/v1/projects/{projectId}/brand/chrome', 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.wondeya.com/v1/projects/{projectId}/brand/chrome",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'navLinks' => [
[
'label' => [
'es' => '<string>',
'en' => '<string>'
],
'href' => '<string>',
'variant' => 'link'
]
],
'footerGroups' => [
[
'title' => [
'es' => '<string>',
'en' => '<string>'
],
'links' => [
[
'label' => [
'es' => '<string>',
'en' => '<string>'
],
'href' => '<string>',
'variant' => 'link'
]
]
]
],
'socials' => [
[
'href' => '<string>'
]
],
'legalName' => [
'es' => '<string>',
'en' => '<string>'
],
'contact' => [
'email' => '<string>',
'addressLines' => [
'<string>'
]
]
]),
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.wondeya.com/v1/projects/{projectId}/brand/chrome"
payload := strings.NewReader("{\n \"navLinks\": [\n {\n \"label\": {\n \"es\": \"<string>\",\n \"en\": \"<string>\"\n },\n \"href\": \"<string>\",\n \"variant\": \"link\"\n }\n ],\n \"footerGroups\": [\n {\n \"title\": {\n \"es\": \"<string>\",\n \"en\": \"<string>\"\n },\n \"links\": [\n {\n \"label\": {\n \"es\": \"<string>\",\n \"en\": \"<string>\"\n },\n \"href\": \"<string>\",\n \"variant\": \"link\"\n }\n ]\n }\n ],\n \"socials\": [\n {\n \"href\": \"<string>\"\n }\n ],\n \"legalName\": {\n \"es\": \"<string>\",\n \"en\": \"<string>\"\n },\n \"contact\": {\n \"email\": \"<string>\",\n \"addressLines\": [\n \"<string>\"\n ]\n }\n}")
req, _ := http.NewRequest("PATCH", 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.patch("https://api.wondeya.com/v1/projects/{projectId}/brand/chrome")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"navLinks\": [\n {\n \"label\": {\n \"es\": \"<string>\",\n \"en\": \"<string>\"\n },\n \"href\": \"<string>\",\n \"variant\": \"link\"\n }\n ],\n \"footerGroups\": [\n {\n \"title\": {\n \"es\": \"<string>\",\n \"en\": \"<string>\"\n },\n \"links\": [\n {\n \"label\": {\n \"es\": \"<string>\",\n \"en\": \"<string>\"\n },\n \"href\": \"<string>\",\n \"variant\": \"link\"\n }\n ]\n }\n ],\n \"socials\": [\n {\n \"href\": \"<string>\"\n }\n ],\n \"legalName\": {\n \"es\": \"<string>\",\n \"en\": \"<string>\"\n },\n \"contact\": {\n \"email\": \"<string>\",\n \"addressLines\": [\n \"<string>\"\n ]\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.wondeya.com/v1/projects/{projectId}/brand/chrome")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"navLinks\": [\n {\n \"label\": {\n \"es\": \"<string>\",\n \"en\": \"<string>\"\n },\n \"href\": \"<string>\",\n \"variant\": \"link\"\n }\n ],\n \"footerGroups\": [\n {\n \"title\": {\n \"es\": \"<string>\",\n \"en\": \"<string>\"\n },\n \"links\": [\n {\n \"label\": {\n \"es\": \"<string>\",\n \"en\": \"<string>\"\n },\n \"href\": \"<string>\",\n \"variant\": \"link\"\n }\n ]\n }\n ],\n \"socials\": [\n {\n \"href\": \"<string>\"\n }\n ],\n \"legalName\": {\n \"es\": \"<string>\",\n \"en\": \"<string>\"\n },\n \"contact\": {\n \"email\": \"<string>\",\n \"addressLines\": [\n \"<string>\"\n ]\n }\n}"
response = http.request(request)
puts response.read_body{
"navLinks": [
{
"label": "<string>",
"href": "<string>",
"variant": "link"
}
],
"footerGroups": [
{
"title": "<string>",
"links": [
{
"label": "<string>",
"href": "<string>",
"variant": "link"
}
]
}
],
"socials": [
{
"network": "x",
"href": "<string>"
}
],
"legalName": {
"es": "<string>",
"en": "<string>"
},
"contact": {
"addressLines": [
"<string>"
],
"email": "<string>"
}
}Authorizations
A workspace API key: wdy_live_… / wdy_test_…. Created at POST /workspaces/{tenantId}/keys and shown exactly once.
Path Parameters
Body
6Show child attributes
Show child attributes
4Show child attributes
Show child attributes
8Show child attributes
Show child attributes
The name in the copyright line, per language (at most 120 characters each). Empty falls back to the business name, and if that is empty too the line is omitted. An absent language is auto-translated after the save; "" takes that language's text off.
Show child attributes
Show child attributes
The support email and optional postal address (D-67). A PRESENT object replaces the whole thing; an absent key leaves it alone.
Show child attributes
Show child attributes
Response
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
The support email and optional postal address (D-67). Empty means no contact block.
Show child attributes
Show child attributes