Update an app instance (PUT compatibility)
curl --request PUT \
--url https://api.contactbutton.com/v1/workspaces/{workspace}/apps/{app} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"catalog_slug": "<string>",
"title": "<string>",
"fields": {},
"desktop": true,
"tablet": true,
"mobile": true,
"status": true,
"resource_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
'import requests
url = "https://api.contactbutton.com/v1/workspaces/{workspace}/apps/{app}"
payload = {
"catalog_slug": "<string>",
"title": "<string>",
"fields": {},
"desktop": True,
"tablet": True,
"mobile": True,
"status": True,
"resource_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
catalog_slug: '<string>',
title: '<string>',
fields: {},
desktop: true,
tablet: true,
mobile: true,
status: true,
resource_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a'
})
};
fetch('https://api.contactbutton.com/v1/workspaces/{workspace}/apps/{app}', 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}/apps/{app}",
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([
'catalog_slug' => '<string>',
'title' => '<string>',
'fields' => [
],
'desktop' => true,
'tablet' => true,
'mobile' => true,
'status' => true,
'resource_id' => '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}/apps/{app}"
payload := strings.NewReader("{\n \"catalog_slug\": \"<string>\",\n \"title\": \"<string>\",\n \"fields\": {},\n \"desktop\": true,\n \"tablet\": true,\n \"mobile\": true,\n \"status\": true,\n \"resource_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n}")
req, _ := http.NewRequest("PUT", 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.put("https://api.contactbutton.com/v1/workspaces/{workspace}/apps/{app}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"catalog_slug\": \"<string>\",\n \"title\": \"<string>\",\n \"fields\": {},\n \"desktop\": true,\n \"tablet\": true,\n \"mobile\": true,\n \"status\": true,\n \"resource_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.contactbutton.com/v1/workspaces/{workspace}/apps/{app}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"catalog_slug\": \"<string>\",\n \"title\": \"<string>\",\n \"fields\": {},\n \"desktop\": true,\n \"tablet\": true,\n \"mobile\": true,\n \"status\": true,\n \"resource_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n}"
response = http.request(request)
puts response.read_body{
"data": "<unknown>",
"meta": {
"request_id": "<string>",
"next_cursor": "<string>"
}
}Update an app instance (PUT compatibility)
deprecated
Compatibility alias for PATCH. PATCH is preferred because updates are partial.
PUT
/
workspaces
/
{workspace}
/
apps
/
{app}
Update an app instance (PUT compatibility)
curl --request PUT \
--url https://api.contactbutton.com/v1/workspaces/{workspace}/apps/{app} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"catalog_slug": "<string>",
"title": "<string>",
"fields": {},
"desktop": true,
"tablet": true,
"mobile": true,
"status": true,
"resource_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
'import requests
url = "https://api.contactbutton.com/v1/workspaces/{workspace}/apps/{app}"
payload = {
"catalog_slug": "<string>",
"title": "<string>",
"fields": {},
"desktop": True,
"tablet": True,
"mobile": True,
"status": True,
"resource_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
catalog_slug: '<string>',
title: '<string>',
fields: {},
desktop: true,
tablet: true,
mobile: true,
status: true,
resource_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a'
})
};
fetch('https://api.contactbutton.com/v1/workspaces/{workspace}/apps/{app}', 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}/apps/{app}",
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([
'catalog_slug' => '<string>',
'title' => '<string>',
'fields' => [
],
'desktop' => true,
'tablet' => true,
'mobile' => true,
'status' => true,
'resource_id' => '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}/apps/{app}"
payload := strings.NewReader("{\n \"catalog_slug\": \"<string>\",\n \"title\": \"<string>\",\n \"fields\": {},\n \"desktop\": true,\n \"tablet\": true,\n \"mobile\": true,\n \"status\": true,\n \"resource_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n}")
req, _ := http.NewRequest("PUT", 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.put("https://api.contactbutton.com/v1/workspaces/{workspace}/apps/{app}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"catalog_slug\": \"<string>\",\n \"title\": \"<string>\",\n \"fields\": {},\n \"desktop\": true,\n \"tablet\": true,\n \"mobile\": true,\n \"status\": true,\n \"resource_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.contactbutton.com/v1/workspaces/{workspace}/apps/{app}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"catalog_slug\": \"<string>\",\n \"title\": \"<string>\",\n \"fields\": {},\n \"desktop\": true,\n \"tablet\": true,\n \"mobile\": true,\n \"status\": true,\n \"resource_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\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
application/json
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
Available options:
form, list, null Related topics
Update a button (PUT compatibility)Update a form (PUT compatibility)Update an app instanceUpdate a call flowGet an app instanceWas this page helpful?
⌘I