Save a brand kit's landing-page / website assets (favicon, logo, images,
curl --request PUT \
--url https://api.parallellabs.app/api/v0/brand-kits \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"companyId": "<string>",
"brandKitId": "<string>",
"webArtifacts": {},
"globalStyles": "<string>",
"headScripts": "<string>",
"brandGuidelines": "<string>",
"colorPalette": {},
"name": "<string>",
"landingPageId": "<string>",
"isDefault": true
}
'import requests
url = "https://api.parallellabs.app/api/v0/brand-kits"
payload = {
"companyId": "<string>",
"brandKitId": "<string>",
"webArtifacts": {},
"globalStyles": "<string>",
"headScripts": "<string>",
"brandGuidelines": "<string>",
"colorPalette": {},
"name": "<string>",
"landingPageId": "<string>",
"isDefault": True
}
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
companyId: '<string>',
brandKitId: '<string>',
webArtifacts: {},
globalStyles: '<string>',
headScripts: '<string>',
brandGuidelines: '<string>',
colorPalette: {},
name: '<string>',
landingPageId: '<string>',
isDefault: true
})
};
fetch('https://api.parallellabs.app/api/v0/brand-kits', 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.parallellabs.app/api/v0/brand-kits",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'companyId' => '<string>',
'brandKitId' => '<string>',
'webArtifacts' => [
],
'globalStyles' => '<string>',
'headScripts' => '<string>',
'brandGuidelines' => '<string>',
'colorPalette' => [
],
'name' => '<string>',
'landingPageId' => '<string>',
'isDefault' => true
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-Key: <api-key>"
],
]);
$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.parallellabs.app/api/v0/brand-kits"
payload := strings.NewReader("{\n \"companyId\": \"<string>\",\n \"brandKitId\": \"<string>\",\n \"webArtifacts\": {},\n \"globalStyles\": \"<string>\",\n \"headScripts\": \"<string>\",\n \"brandGuidelines\": \"<string>\",\n \"colorPalette\": {},\n \"name\": \"<string>\",\n \"landingPageId\": \"<string>\",\n \"isDefault\": true\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("X-API-Key", "<api-key>")
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.put("https://api.parallellabs.app/api/v0/brand-kits")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"companyId\": \"<string>\",\n \"brandKitId\": \"<string>\",\n \"webArtifacts\": {},\n \"globalStyles\": \"<string>\",\n \"headScripts\": \"<string>\",\n \"brandGuidelines\": \"<string>\",\n \"colorPalette\": {},\n \"name\": \"<string>\",\n \"landingPageId\": \"<string>\",\n \"isDefault\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.parallellabs.app/api/v0/brand-kits")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["X-API-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"companyId\": \"<string>\",\n \"brandKitId\": \"<string>\",\n \"webArtifacts\": {},\n \"globalStyles\": \"<string>\",\n \"headScripts\": \"<string>\",\n \"brandGuidelines\": \"<string>\",\n \"colorPalette\": {},\n \"name\": \"<string>\",\n \"landingPageId\": \"<string>\",\n \"isDefault\": true\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"name": "<string>",
"favicon": {},
"logo": {},
"images": [
{}
],
"globalStyles": "<string>",
"headScripts": "<string>",
"brandGuidelines": "<string>",
"colorPalette": {},
"isDefault": true
}{
"error": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}Brand Kit
Save a brand kit's landing-page / website assets (favicon, logo, images,
CSS, head scripts, guidelines), with automatic S3 upload for images.
PUT
/
api
/
v0
/
brand-kits
Save a brand kit's landing-page / website assets (favicon, logo, images,
curl --request PUT \
--url https://api.parallellabs.app/api/v0/brand-kits \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"companyId": "<string>",
"brandKitId": "<string>",
"webArtifacts": {},
"globalStyles": "<string>",
"headScripts": "<string>",
"brandGuidelines": "<string>",
"colorPalette": {},
"name": "<string>",
"landingPageId": "<string>",
"isDefault": true
}
'import requests
url = "https://api.parallellabs.app/api/v0/brand-kits"
payload = {
"companyId": "<string>",
"brandKitId": "<string>",
"webArtifacts": {},
"globalStyles": "<string>",
"headScripts": "<string>",
"brandGuidelines": "<string>",
"colorPalette": {},
"name": "<string>",
"landingPageId": "<string>",
"isDefault": True
}
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
companyId: '<string>',
brandKitId: '<string>',
webArtifacts: {},
globalStyles: '<string>',
headScripts: '<string>',
brandGuidelines: '<string>',
colorPalette: {},
name: '<string>',
landingPageId: '<string>',
isDefault: true
})
};
fetch('https://api.parallellabs.app/api/v0/brand-kits', 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.parallellabs.app/api/v0/brand-kits",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'companyId' => '<string>',
'brandKitId' => '<string>',
'webArtifacts' => [
],
'globalStyles' => '<string>',
'headScripts' => '<string>',
'brandGuidelines' => '<string>',
'colorPalette' => [
],
'name' => '<string>',
'landingPageId' => '<string>',
'isDefault' => true
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-Key: <api-key>"
],
]);
$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.parallellabs.app/api/v0/brand-kits"
payload := strings.NewReader("{\n \"companyId\": \"<string>\",\n \"brandKitId\": \"<string>\",\n \"webArtifacts\": {},\n \"globalStyles\": \"<string>\",\n \"headScripts\": \"<string>\",\n \"brandGuidelines\": \"<string>\",\n \"colorPalette\": {},\n \"name\": \"<string>\",\n \"landingPageId\": \"<string>\",\n \"isDefault\": true\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("X-API-Key", "<api-key>")
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.put("https://api.parallellabs.app/api/v0/brand-kits")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"companyId\": \"<string>\",\n \"brandKitId\": \"<string>\",\n \"webArtifacts\": {},\n \"globalStyles\": \"<string>\",\n \"headScripts\": \"<string>\",\n \"brandGuidelines\": \"<string>\",\n \"colorPalette\": {},\n \"name\": \"<string>\",\n \"landingPageId\": \"<string>\",\n \"isDefault\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.parallellabs.app/api/v0/brand-kits")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["X-API-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"companyId\": \"<string>\",\n \"brandKitId\": \"<string>\",\n \"webArtifacts\": {},\n \"globalStyles\": \"<string>\",\n \"headScripts\": \"<string>\",\n \"brandGuidelines\": \"<string>\",\n \"colorPalette\": {},\n \"name\": \"<string>\",\n \"landingPageId\": \"<string>\",\n \"isDefault\": true\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"name": "<string>",
"favicon": {},
"logo": {},
"images": [
{}
],
"globalStyles": "<string>",
"headScripts": "<string>",
"brandGuidelines": "<string>",
"colorPalette": {},
"isDefault": true
}{
"error": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}Authorizations
CompanyApiKeyBearerAuth & CompanyId
Company API key - scoped to a specific company. Generate from the Integrations page in your dashboard.
Body
application/json
Brand kit landing-page assets
Request body for saving a brand kit
Company ID
Specific brand kit to update
Brand kit asset data (favicon, logo, images)
Global CSS
Scripts to inject into head
Brand guidelines
Brand colors by role (primary, secondary, accent, background, surface, text) as #RRGGBB
Name for this brand kit
Link to a landing page
Whether this is the default kit
Response
Updated brand kit
Brand kit object
Brand kit ID
Brand kit name
Favicon data
Logo data
Custom images
Global CSS
Head scripts
Brand guidelines
Brand colors by role as #RRGGBB
Whether default kit

