curl --request PATCH \
--url https://api.contactbutton.com/v1/workspaces/{workspace}/buttons/{button} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"title": "<string>",
"texts": {},
"colors": {
"outside_color": "<string>",
"button_background_type": "solid_color",
"button_opacity": 100,
"button_gradient_top_color": "<string>",
"button_gradient_top_opacity": 100,
"button_gradient_bottom_color": "<string>",
"button_gradient_bottom_opacity": 100,
"menu_bar_background_type": "solid_color",
"menu_bar_color": "<string>",
"menu_bar_gradient_top_color": "<string>",
"menu_bar_gradient_top_opacity": 100,
"menu_bar_gradient_bottom_color": "<string>",
"menu_bar_gradient_bottom_opacity": 100
},
"panel": {
"tabs": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"label": "<string>",
"destination": {
"type": "app",
"app_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
}
],
"header": {
"separator": {},
"padding": {}
}
},
"backgrounds": {},
"desktop": true,
"tablet": true,
"mobile": true,
"status": true,
"launcher": {
"version": 1,
"width": 122,
"height": 70,
"background": {
"color": "<string>",
"colors": [
"<string>"
],
"angle": 180
},
"border": {
"width": 4,
"color": "<string>",
"ring_width": 4,
"ring_color": "<string>"
},
"icon": {
"size": 32,
"color": "<string>"
},
"device_overrides": {},
"attention": {
"animation": "none",
"delay_ms": 0,
"play": "once_per_page"
},
"text": {
"hide_after_ms": 150500
}
},
"app_ids": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"page_ids": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
]
}
'import requests
url = "https://api.contactbutton.com/v1/workspaces/{workspace}/buttons/{button}"
payload = {
"title": "<string>",
"texts": {},
"colors": {
"outside_color": "<string>",
"button_background_type": "solid_color",
"button_opacity": 100,
"button_gradient_top_color": "<string>",
"button_gradient_top_opacity": 100,
"button_gradient_bottom_color": "<string>",
"button_gradient_bottom_opacity": 100,
"menu_bar_background_type": "solid_color",
"menu_bar_color": "<string>",
"menu_bar_gradient_top_color": "<string>",
"menu_bar_gradient_top_opacity": 100,
"menu_bar_gradient_bottom_color": "<string>",
"menu_bar_gradient_bottom_opacity": 100
},
"panel": {
"tabs": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"label": "<string>",
"destination": {
"type": "app",
"app_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
}
],
"header": {
"separator": {},
"padding": {}
}
},
"backgrounds": {},
"desktop": True,
"tablet": True,
"mobile": True,
"status": True,
"launcher": {
"version": 1,
"width": 122,
"height": 70,
"background": {
"color": "<string>",
"colors": ["<string>"],
"angle": 180
},
"border": {
"width": 4,
"color": "<string>",
"ring_width": 4,
"ring_color": "<string>"
},
"icon": {
"size": 32,
"color": "<string>"
},
"device_overrides": {},
"attention": {
"animation": "none",
"delay_ms": 0,
"play": "once_per_page"
},
"text": { "hide_after_ms": 150500 }
},
"app_ids": ["3c90c3cc-0d44-4b50-8888-8dd25736052a"],
"page_ids": ["3c90c3cc-0d44-4b50-8888-8dd25736052a"]
}
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({
title: '<string>',
texts: {},
colors: {
outside_color: '<string>',
button_background_type: 'solid_color',
button_opacity: 100,
button_gradient_top_color: '<string>',
button_gradient_top_opacity: 100,
button_gradient_bottom_color: '<string>',
button_gradient_bottom_opacity: 100,
menu_bar_background_type: 'solid_color',
menu_bar_color: '<string>',
menu_bar_gradient_top_color: '<string>',
menu_bar_gradient_top_opacity: 100,
menu_bar_gradient_bottom_color: '<string>',
menu_bar_gradient_bottom_opacity: 100
},
panel: {
tabs: [
{
id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
label: '<string>',
destination: {type: 'app', app_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a'}
}
],
header: {separator: {}, padding: {}}
},
backgrounds: {},
desktop: true,
tablet: true,
mobile: true,
status: true,
launcher: {
version: 1,
width: 122,
height: 70,
background: {color: '<string>', colors: ['<string>'], angle: 180},
border: {width: 4, color: '<string>', ring_width: 4, ring_color: '<string>'},
icon: {size: 32, color: '<string>'},
device_overrides: {},
attention: {animation: 'none', delay_ms: 0, play: 'once_per_page'},
text: {hide_after_ms: 150500}
},
app_ids: ['3c90c3cc-0d44-4b50-8888-8dd25736052a'],
page_ids: ['3c90c3cc-0d44-4b50-8888-8dd25736052a']
})
};
fetch('https://api.contactbutton.com/v1/workspaces/{workspace}/buttons/{button}', 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.contactbutton.com/v1/workspaces/{workspace}/buttons/{button}",
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([
'title' => '<string>',
'texts' => [
],
'colors' => [
'outside_color' => '<string>',
'button_background_type' => 'solid_color',
'button_opacity' => 100,
'button_gradient_top_color' => '<string>',
'button_gradient_top_opacity' => 100,
'button_gradient_bottom_color' => '<string>',
'button_gradient_bottom_opacity' => 100,
'menu_bar_background_type' => 'solid_color',
'menu_bar_color' => '<string>',
'menu_bar_gradient_top_color' => '<string>',
'menu_bar_gradient_top_opacity' => 100,
'menu_bar_gradient_bottom_color' => '<string>',
'menu_bar_gradient_bottom_opacity' => 100
],
'panel' => [
'tabs' => [
[
'id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'label' => '<string>',
'destination' => [
'type' => 'app',
'app_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a'
]
]
],
'header' => [
'separator' => [
],
'padding' => [
]
]
],
'backgrounds' => [
],
'desktop' => true,
'tablet' => true,
'mobile' => true,
'status' => true,
'launcher' => [
'version' => 1,
'width' => 122,
'height' => 70,
'background' => [
'color' => '<string>',
'colors' => [
'<string>'
],
'angle' => 180
],
'border' => [
'width' => 4,
'color' => '<string>',
'ring_width' => 4,
'ring_color' => '<string>'
],
'icon' => [
'size' => 32,
'color' => '<string>'
],
'device_overrides' => [
],
'attention' => [
'animation' => 'none',
'delay_ms' => 0,
'play' => 'once_per_page'
],
'text' => [
'hide_after_ms' => 150500
]
],
'app_ids' => [
'3c90c3cc-0d44-4b50-8888-8dd25736052a'
],
'page_ids' => [
'3c90c3cc-0d44-4b50-8888-8dd25736052a'
]
]),
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.contactbutton.com/v1/workspaces/{workspace}/buttons/{button}"
payload := strings.NewReader("{\n \"title\": \"<string>\",\n \"texts\": {},\n \"colors\": {\n \"outside_color\": \"<string>\",\n \"button_background_type\": \"solid_color\",\n \"button_opacity\": 100,\n \"button_gradient_top_color\": \"<string>\",\n \"button_gradient_top_opacity\": 100,\n \"button_gradient_bottom_color\": \"<string>\",\n \"button_gradient_bottom_opacity\": 100,\n \"menu_bar_background_type\": \"solid_color\",\n \"menu_bar_color\": \"<string>\",\n \"menu_bar_gradient_top_color\": \"<string>\",\n \"menu_bar_gradient_top_opacity\": 100,\n \"menu_bar_gradient_bottom_color\": \"<string>\",\n \"menu_bar_gradient_bottom_opacity\": 100\n },\n \"panel\": {\n \"tabs\": [\n {\n \"id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"label\": \"<string>\",\n \"destination\": {\n \"type\": \"app\",\n \"app_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n }\n }\n ],\n \"header\": {\n \"separator\": {},\n \"padding\": {}\n }\n },\n \"backgrounds\": {},\n \"desktop\": true,\n \"tablet\": true,\n \"mobile\": true,\n \"status\": true,\n \"launcher\": {\n \"version\": 1,\n \"width\": 122,\n \"height\": 70,\n \"background\": {\n \"color\": \"<string>\",\n \"colors\": [\n \"<string>\"\n ],\n \"angle\": 180\n },\n \"border\": {\n \"width\": 4,\n \"color\": \"<string>\",\n \"ring_width\": 4,\n \"ring_color\": \"<string>\"\n },\n \"icon\": {\n \"size\": 32,\n \"color\": \"<string>\"\n },\n \"device_overrides\": {},\n \"attention\": {\n \"animation\": \"none\",\n \"delay_ms\": 0,\n \"play\": \"once_per_page\"\n },\n \"text\": {\n \"hide_after_ms\": 150500\n }\n },\n \"app_ids\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"page_ids\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\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.contactbutton.com/v1/workspaces/{workspace}/buttons/{button}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"title\": \"<string>\",\n \"texts\": {},\n \"colors\": {\n \"outside_color\": \"<string>\",\n \"button_background_type\": \"solid_color\",\n \"button_opacity\": 100,\n \"button_gradient_top_color\": \"<string>\",\n \"button_gradient_top_opacity\": 100,\n \"button_gradient_bottom_color\": \"<string>\",\n \"button_gradient_bottom_opacity\": 100,\n \"menu_bar_background_type\": \"solid_color\",\n \"menu_bar_color\": \"<string>\",\n \"menu_bar_gradient_top_color\": \"<string>\",\n \"menu_bar_gradient_top_opacity\": 100,\n \"menu_bar_gradient_bottom_color\": \"<string>\",\n \"menu_bar_gradient_bottom_opacity\": 100\n },\n \"panel\": {\n \"tabs\": [\n {\n \"id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"label\": \"<string>\",\n \"destination\": {\n \"type\": \"app\",\n \"app_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n }\n }\n ],\n \"header\": {\n \"separator\": {},\n \"padding\": {}\n }\n },\n \"backgrounds\": {},\n \"desktop\": true,\n \"tablet\": true,\n \"mobile\": true,\n \"status\": true,\n \"launcher\": {\n \"version\": 1,\n \"width\": 122,\n \"height\": 70,\n \"background\": {\n \"color\": \"<string>\",\n \"colors\": [\n \"<string>\"\n ],\n \"angle\": 180\n },\n \"border\": {\n \"width\": 4,\n \"color\": \"<string>\",\n \"ring_width\": 4,\n \"ring_color\": \"<string>\"\n },\n \"icon\": {\n \"size\": 32,\n \"color\": \"<string>\"\n },\n \"device_overrides\": {},\n \"attention\": {\n \"animation\": \"none\",\n \"delay_ms\": 0,\n \"play\": \"once_per_page\"\n },\n \"text\": {\n \"hide_after_ms\": 150500\n }\n },\n \"app_ids\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"page_ids\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.contactbutton.com/v1/workspaces/{workspace}/buttons/{button}")
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 \"title\": \"<string>\",\n \"texts\": {},\n \"colors\": {\n \"outside_color\": \"<string>\",\n \"button_background_type\": \"solid_color\",\n \"button_opacity\": 100,\n \"button_gradient_top_color\": \"<string>\",\n \"button_gradient_top_opacity\": 100,\n \"button_gradient_bottom_color\": \"<string>\",\n \"button_gradient_bottom_opacity\": 100,\n \"menu_bar_background_type\": \"solid_color\",\n \"menu_bar_color\": \"<string>\",\n \"menu_bar_gradient_top_color\": \"<string>\",\n \"menu_bar_gradient_top_opacity\": 100,\n \"menu_bar_gradient_bottom_color\": \"<string>\",\n \"menu_bar_gradient_bottom_opacity\": 100\n },\n \"panel\": {\n \"tabs\": [\n {\n \"id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"label\": \"<string>\",\n \"destination\": {\n \"type\": \"app\",\n \"app_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n }\n }\n ],\n \"header\": {\n \"separator\": {},\n \"padding\": {}\n }\n },\n \"backgrounds\": {},\n \"desktop\": true,\n \"tablet\": true,\n \"mobile\": true,\n \"status\": true,\n \"launcher\": {\n \"version\": 1,\n \"width\": 122,\n \"height\": 70,\n \"background\": {\n \"color\": \"<string>\",\n \"colors\": [\n \"<string>\"\n ],\n \"angle\": 180\n },\n \"border\": {\n \"width\": 4,\n \"color\": \"<string>\",\n \"ring_width\": 4,\n \"ring_color\": \"<string>\"\n },\n \"icon\": {\n \"size\": 32,\n \"color\": \"<string>\"\n },\n \"device_overrides\": {},\n \"attention\": {\n \"animation\": \"none\",\n \"delay_ms\": 0,\n \"play\": \"once_per_page\"\n },\n \"text\": {\n \"hide_after_ms\": 150500\n }\n },\n \"app_ids\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"page_ids\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"data": "<unknown>",
"meta": {
"request_id": "<string>",
"next_cursor": "<string>"
}
}Update a button
curl --request PATCH \
--url https://api.contactbutton.com/v1/workspaces/{workspace}/buttons/{button} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"title": "<string>",
"texts": {},
"colors": {
"outside_color": "<string>",
"button_background_type": "solid_color",
"button_opacity": 100,
"button_gradient_top_color": "<string>",
"button_gradient_top_opacity": 100,
"button_gradient_bottom_color": "<string>",
"button_gradient_bottom_opacity": 100,
"menu_bar_background_type": "solid_color",
"menu_bar_color": "<string>",
"menu_bar_gradient_top_color": "<string>",
"menu_bar_gradient_top_opacity": 100,
"menu_bar_gradient_bottom_color": "<string>",
"menu_bar_gradient_bottom_opacity": 100
},
"panel": {
"tabs": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"label": "<string>",
"destination": {
"type": "app",
"app_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
}
],
"header": {
"separator": {},
"padding": {}
}
},
"backgrounds": {},
"desktop": true,
"tablet": true,
"mobile": true,
"status": true,
"launcher": {
"version": 1,
"width": 122,
"height": 70,
"background": {
"color": "<string>",
"colors": [
"<string>"
],
"angle": 180
},
"border": {
"width": 4,
"color": "<string>",
"ring_width": 4,
"ring_color": "<string>"
},
"icon": {
"size": 32,
"color": "<string>"
},
"device_overrides": {},
"attention": {
"animation": "none",
"delay_ms": 0,
"play": "once_per_page"
},
"text": {
"hide_after_ms": 150500
}
},
"app_ids": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"page_ids": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
]
}
'import requests
url = "https://api.contactbutton.com/v1/workspaces/{workspace}/buttons/{button}"
payload = {
"title": "<string>",
"texts": {},
"colors": {
"outside_color": "<string>",
"button_background_type": "solid_color",
"button_opacity": 100,
"button_gradient_top_color": "<string>",
"button_gradient_top_opacity": 100,
"button_gradient_bottom_color": "<string>",
"button_gradient_bottom_opacity": 100,
"menu_bar_background_type": "solid_color",
"menu_bar_color": "<string>",
"menu_bar_gradient_top_color": "<string>",
"menu_bar_gradient_top_opacity": 100,
"menu_bar_gradient_bottom_color": "<string>",
"menu_bar_gradient_bottom_opacity": 100
},
"panel": {
"tabs": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"label": "<string>",
"destination": {
"type": "app",
"app_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
}
],
"header": {
"separator": {},
"padding": {}
}
},
"backgrounds": {},
"desktop": True,
"tablet": True,
"mobile": True,
"status": True,
"launcher": {
"version": 1,
"width": 122,
"height": 70,
"background": {
"color": "<string>",
"colors": ["<string>"],
"angle": 180
},
"border": {
"width": 4,
"color": "<string>",
"ring_width": 4,
"ring_color": "<string>"
},
"icon": {
"size": 32,
"color": "<string>"
},
"device_overrides": {},
"attention": {
"animation": "none",
"delay_ms": 0,
"play": "once_per_page"
},
"text": { "hide_after_ms": 150500 }
},
"app_ids": ["3c90c3cc-0d44-4b50-8888-8dd25736052a"],
"page_ids": ["3c90c3cc-0d44-4b50-8888-8dd25736052a"]
}
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({
title: '<string>',
texts: {},
colors: {
outside_color: '<string>',
button_background_type: 'solid_color',
button_opacity: 100,
button_gradient_top_color: '<string>',
button_gradient_top_opacity: 100,
button_gradient_bottom_color: '<string>',
button_gradient_bottom_opacity: 100,
menu_bar_background_type: 'solid_color',
menu_bar_color: '<string>',
menu_bar_gradient_top_color: '<string>',
menu_bar_gradient_top_opacity: 100,
menu_bar_gradient_bottom_color: '<string>',
menu_bar_gradient_bottom_opacity: 100
},
panel: {
tabs: [
{
id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
label: '<string>',
destination: {type: 'app', app_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a'}
}
],
header: {separator: {}, padding: {}}
},
backgrounds: {},
desktop: true,
tablet: true,
mobile: true,
status: true,
launcher: {
version: 1,
width: 122,
height: 70,
background: {color: '<string>', colors: ['<string>'], angle: 180},
border: {width: 4, color: '<string>', ring_width: 4, ring_color: '<string>'},
icon: {size: 32, color: '<string>'},
device_overrides: {},
attention: {animation: 'none', delay_ms: 0, play: 'once_per_page'},
text: {hide_after_ms: 150500}
},
app_ids: ['3c90c3cc-0d44-4b50-8888-8dd25736052a'],
page_ids: ['3c90c3cc-0d44-4b50-8888-8dd25736052a']
})
};
fetch('https://api.contactbutton.com/v1/workspaces/{workspace}/buttons/{button}', 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.contactbutton.com/v1/workspaces/{workspace}/buttons/{button}",
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([
'title' => '<string>',
'texts' => [
],
'colors' => [
'outside_color' => '<string>',
'button_background_type' => 'solid_color',
'button_opacity' => 100,
'button_gradient_top_color' => '<string>',
'button_gradient_top_opacity' => 100,
'button_gradient_bottom_color' => '<string>',
'button_gradient_bottom_opacity' => 100,
'menu_bar_background_type' => 'solid_color',
'menu_bar_color' => '<string>',
'menu_bar_gradient_top_color' => '<string>',
'menu_bar_gradient_top_opacity' => 100,
'menu_bar_gradient_bottom_color' => '<string>',
'menu_bar_gradient_bottom_opacity' => 100
],
'panel' => [
'tabs' => [
[
'id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'label' => '<string>',
'destination' => [
'type' => 'app',
'app_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a'
]
]
],
'header' => [
'separator' => [
],
'padding' => [
]
]
],
'backgrounds' => [
],
'desktop' => true,
'tablet' => true,
'mobile' => true,
'status' => true,
'launcher' => [
'version' => 1,
'width' => 122,
'height' => 70,
'background' => [
'color' => '<string>',
'colors' => [
'<string>'
],
'angle' => 180
],
'border' => [
'width' => 4,
'color' => '<string>',
'ring_width' => 4,
'ring_color' => '<string>'
],
'icon' => [
'size' => 32,
'color' => '<string>'
],
'device_overrides' => [
],
'attention' => [
'animation' => 'none',
'delay_ms' => 0,
'play' => 'once_per_page'
],
'text' => [
'hide_after_ms' => 150500
]
],
'app_ids' => [
'3c90c3cc-0d44-4b50-8888-8dd25736052a'
],
'page_ids' => [
'3c90c3cc-0d44-4b50-8888-8dd25736052a'
]
]),
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.contactbutton.com/v1/workspaces/{workspace}/buttons/{button}"
payload := strings.NewReader("{\n \"title\": \"<string>\",\n \"texts\": {},\n \"colors\": {\n \"outside_color\": \"<string>\",\n \"button_background_type\": \"solid_color\",\n \"button_opacity\": 100,\n \"button_gradient_top_color\": \"<string>\",\n \"button_gradient_top_opacity\": 100,\n \"button_gradient_bottom_color\": \"<string>\",\n \"button_gradient_bottom_opacity\": 100,\n \"menu_bar_background_type\": \"solid_color\",\n \"menu_bar_color\": \"<string>\",\n \"menu_bar_gradient_top_color\": \"<string>\",\n \"menu_bar_gradient_top_opacity\": 100,\n \"menu_bar_gradient_bottom_color\": \"<string>\",\n \"menu_bar_gradient_bottom_opacity\": 100\n },\n \"panel\": {\n \"tabs\": [\n {\n \"id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"label\": \"<string>\",\n \"destination\": {\n \"type\": \"app\",\n \"app_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n }\n }\n ],\n \"header\": {\n \"separator\": {},\n \"padding\": {}\n }\n },\n \"backgrounds\": {},\n \"desktop\": true,\n \"tablet\": true,\n \"mobile\": true,\n \"status\": true,\n \"launcher\": {\n \"version\": 1,\n \"width\": 122,\n \"height\": 70,\n \"background\": {\n \"color\": \"<string>\",\n \"colors\": [\n \"<string>\"\n ],\n \"angle\": 180\n },\n \"border\": {\n \"width\": 4,\n \"color\": \"<string>\",\n \"ring_width\": 4,\n \"ring_color\": \"<string>\"\n },\n \"icon\": {\n \"size\": 32,\n \"color\": \"<string>\"\n },\n \"device_overrides\": {},\n \"attention\": {\n \"animation\": \"none\",\n \"delay_ms\": 0,\n \"play\": \"once_per_page\"\n },\n \"text\": {\n \"hide_after_ms\": 150500\n }\n },\n \"app_ids\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"page_ids\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\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.contactbutton.com/v1/workspaces/{workspace}/buttons/{button}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"title\": \"<string>\",\n \"texts\": {},\n \"colors\": {\n \"outside_color\": \"<string>\",\n \"button_background_type\": \"solid_color\",\n \"button_opacity\": 100,\n \"button_gradient_top_color\": \"<string>\",\n \"button_gradient_top_opacity\": 100,\n \"button_gradient_bottom_color\": \"<string>\",\n \"button_gradient_bottom_opacity\": 100,\n \"menu_bar_background_type\": \"solid_color\",\n \"menu_bar_color\": \"<string>\",\n \"menu_bar_gradient_top_color\": \"<string>\",\n \"menu_bar_gradient_top_opacity\": 100,\n \"menu_bar_gradient_bottom_color\": \"<string>\",\n \"menu_bar_gradient_bottom_opacity\": 100\n },\n \"panel\": {\n \"tabs\": [\n {\n \"id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"label\": \"<string>\",\n \"destination\": {\n \"type\": \"app\",\n \"app_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n }\n }\n ],\n \"header\": {\n \"separator\": {},\n \"padding\": {}\n }\n },\n \"backgrounds\": {},\n \"desktop\": true,\n \"tablet\": true,\n \"mobile\": true,\n \"status\": true,\n \"launcher\": {\n \"version\": 1,\n \"width\": 122,\n \"height\": 70,\n \"background\": {\n \"color\": \"<string>\",\n \"colors\": [\n \"<string>\"\n ],\n \"angle\": 180\n },\n \"border\": {\n \"width\": 4,\n \"color\": \"<string>\",\n \"ring_width\": 4,\n \"ring_color\": \"<string>\"\n },\n \"icon\": {\n \"size\": 32,\n \"color\": \"<string>\"\n },\n \"device_overrides\": {},\n \"attention\": {\n \"animation\": \"none\",\n \"delay_ms\": 0,\n \"play\": \"once_per_page\"\n },\n \"text\": {\n \"hide_after_ms\": 150500\n }\n },\n \"app_ids\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"page_ids\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.contactbutton.com/v1/workspaces/{workspace}/buttons/{button}")
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 \"title\": \"<string>\",\n \"texts\": {},\n \"colors\": {\n \"outside_color\": \"<string>\",\n \"button_background_type\": \"solid_color\",\n \"button_opacity\": 100,\n \"button_gradient_top_color\": \"<string>\",\n \"button_gradient_top_opacity\": 100,\n \"button_gradient_bottom_color\": \"<string>\",\n \"button_gradient_bottom_opacity\": 100,\n \"menu_bar_background_type\": \"solid_color\",\n \"menu_bar_color\": \"<string>\",\n \"menu_bar_gradient_top_color\": \"<string>\",\n \"menu_bar_gradient_top_opacity\": 100,\n \"menu_bar_gradient_bottom_color\": \"<string>\",\n \"menu_bar_gradient_bottom_opacity\": 100\n },\n \"panel\": {\n \"tabs\": [\n {\n \"id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"label\": \"<string>\",\n \"destination\": {\n \"type\": \"app\",\n \"app_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n }\n }\n ],\n \"header\": {\n \"separator\": {},\n \"padding\": {}\n }\n },\n \"backgrounds\": {},\n \"desktop\": true,\n \"tablet\": true,\n \"mobile\": true,\n \"status\": true,\n \"launcher\": {\n \"version\": 1,\n \"width\": 122,\n \"height\": 70,\n \"background\": {\n \"color\": \"<string>\",\n \"colors\": [\n \"<string>\"\n ],\n \"angle\": 180\n },\n \"border\": {\n \"width\": 4,\n \"color\": \"<string>\",\n \"ring_width\": 4,\n \"ring_color\": \"<string>\"\n },\n \"icon\": {\n \"size\": 32,\n \"color\": \"<string>\"\n },\n \"device_overrides\": {},\n \"attention\": {\n \"animation\": \"none\",\n \"delay_ms\": 0,\n \"play\": \"once_per_page\"\n },\n \"text\": {\n \"hide_after_ms\": 150500\n }\n },\n \"app_ids\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"page_ids\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"data": "<unknown>",
"meta": {
"request_id": "<string>",
"next_cursor": "<string>"
}
}Authorizations
A Contact Button scoped bearer key. Send Authorization: Bearer <token>.
Token abilities are enforced independently of workspace membership; both checks must pass.
OAuth 2.0 authorization-code flows are not currently available.
Body
columns, rows, stacked_buttons, icons_only, single_app bottom_right, bottom_left, top_right, top_left text_button, closed_circle, button_with_text Launcher button and menu bar appearance. Existing buttons default to solid, fully opaque colors.
Show child attributes
Show child attributes
Optional panel styling and owner-configured Messenger shell. A null layout preserves saved tabs while the legacy panel remains active.
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Visible from 768px through 1023px. Defaults to mobile for legacy payloads.
Viewport visibility using mobile below 768px, tablet from 768px through 1023px, and desktop at 1024px or wider.
Show child attributes
Show child attributes
Versioned launcher appearance. Legacy buttons are projected into this shape without opting into the new renderer.
Show child attributes
Show child attributes
Unique app IDs in flat order. Supplying this without navigation creates a flat root menu.
Authoritative button-local tree. When app_ids is also supplied, the unique app sets must match. The configured safety cap applies to the total number of nodes across all levels.
Show child attributes
Show child attributes
Related topics
Update a button (PUT compatibility)Update a pageUpdate a call flowUpdate a formUpdate a workspaceWas this page helpful?