curl --request PUT \
--url https://api.bsy.sh/v1/link/update \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"favicon": "<string>",
"title": "<string>",
"custom_link": "<string>",
"tags": [
"<string>"
],
"has_utm": true,
"utm_source": "<string>",
"utm_medium": "<string>",
"utm_campaign": "<string>",
"utm_term": "<string>",
"utm_content": "<string>",
"has_opengraph": true,
"meta_title": "<string>",
"meta_description": "<string>",
"meta_image": "<string>",
"has_android_targeting": true,
"android_target_url": "<string>",
"has_ios_targeting": true,
"ios_target_url": "<string>",
"has_windows_targeting": true,
"windows_target_url": "<string>",
"has_linux_targeting": true,
"linux_target_url": "<string>",
"has_geo_targeting": true,
"geo_targets": [
{
"target_url": "<string>"
}
],
"has_cloaking": true,
"has_password": true,
"password": "<string>",
"password_logo": "<string>",
"has_expiration": true,
"expiration": "2023-11-07T05:31:56Z",
"expiration_clicks": "<string>"
}
'import requests
url = "https://api.bsy.sh/v1/link/update"
payload = {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"favicon": "<string>",
"title": "<string>",
"custom_link": "<string>",
"tags": ["<string>"],
"has_utm": True,
"utm_source": "<string>",
"utm_medium": "<string>",
"utm_campaign": "<string>",
"utm_term": "<string>",
"utm_content": "<string>",
"has_opengraph": True,
"meta_title": "<string>",
"meta_description": "<string>",
"meta_image": "<string>",
"has_android_targeting": True,
"android_target_url": "<string>",
"has_ios_targeting": True,
"ios_target_url": "<string>",
"has_windows_targeting": True,
"windows_target_url": "<string>",
"has_linux_targeting": True,
"linux_target_url": "<string>",
"has_geo_targeting": True,
"geo_targets": [{ "target_url": "<string>" }],
"has_cloaking": True,
"has_password": True,
"password": "<string>",
"password_logo": "<string>",
"has_expiration": True,
"expiration": "2023-11-07T05:31:56Z",
"expiration_clicks": "<string>"
}
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({
id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
favicon: '<string>',
title: '<string>',
custom_link: '<string>',
tags: ['<string>'],
has_utm: true,
utm_source: '<string>',
utm_medium: '<string>',
utm_campaign: '<string>',
utm_term: '<string>',
utm_content: '<string>',
has_opengraph: true,
meta_title: '<string>',
meta_description: '<string>',
meta_image: '<string>',
has_android_targeting: true,
android_target_url: '<string>',
has_ios_targeting: true,
ios_target_url: '<string>',
has_windows_targeting: true,
windows_target_url: '<string>',
has_linux_targeting: true,
linux_target_url: '<string>',
has_geo_targeting: true,
geo_targets: [{target_url: '<string>'}],
has_cloaking: true,
has_password: true,
password: '<string>',
password_logo: '<string>',
has_expiration: true,
expiration: '2023-11-07T05:31:56Z',
expiration_clicks: '<string>'
})
};
fetch('https://api.bsy.sh/v1/link/update', 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.bsy.sh/v1/link/update",
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([
'id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'favicon' => '<string>',
'title' => '<string>',
'custom_link' => '<string>',
'tags' => [
'<string>'
],
'has_utm' => true,
'utm_source' => '<string>',
'utm_medium' => '<string>',
'utm_campaign' => '<string>',
'utm_term' => '<string>',
'utm_content' => '<string>',
'has_opengraph' => true,
'meta_title' => '<string>',
'meta_description' => '<string>',
'meta_image' => '<string>',
'has_android_targeting' => true,
'android_target_url' => '<string>',
'has_ios_targeting' => true,
'ios_target_url' => '<string>',
'has_windows_targeting' => true,
'windows_target_url' => '<string>',
'has_linux_targeting' => true,
'linux_target_url' => '<string>',
'has_geo_targeting' => true,
'geo_targets' => [
[
'target_url' => '<string>'
]
],
'has_cloaking' => true,
'has_password' => true,
'password' => '<string>',
'password_logo' => '<string>',
'has_expiration' => true,
'expiration' => '2023-11-07T05:31:56Z',
'expiration_clicks' => '<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.bsy.sh/v1/link/update"
payload := strings.NewReader("{\n \"id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"favicon\": \"<string>\",\n \"title\": \"<string>\",\n \"custom_link\": \"<string>\",\n \"tags\": [\n \"<string>\"\n ],\n \"has_utm\": true,\n \"utm_source\": \"<string>\",\n \"utm_medium\": \"<string>\",\n \"utm_campaign\": \"<string>\",\n \"utm_term\": \"<string>\",\n \"utm_content\": \"<string>\",\n \"has_opengraph\": true,\n \"meta_title\": \"<string>\",\n \"meta_description\": \"<string>\",\n \"meta_image\": \"<string>\",\n \"has_android_targeting\": true,\n \"android_target_url\": \"<string>\",\n \"has_ios_targeting\": true,\n \"ios_target_url\": \"<string>\",\n \"has_windows_targeting\": true,\n \"windows_target_url\": \"<string>\",\n \"has_linux_targeting\": true,\n \"linux_target_url\": \"<string>\",\n \"has_geo_targeting\": true,\n \"geo_targets\": [\n {\n \"target_url\": \"<string>\"\n }\n ],\n \"has_cloaking\": true,\n \"has_password\": true,\n \"password\": \"<string>\",\n \"password_logo\": \"<string>\",\n \"has_expiration\": true,\n \"expiration\": \"2023-11-07T05:31:56Z\",\n \"expiration_clicks\": \"<string>\"\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.bsy.sh/v1/link/update")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"favicon\": \"<string>\",\n \"title\": \"<string>\",\n \"custom_link\": \"<string>\",\n \"tags\": [\n \"<string>\"\n ],\n \"has_utm\": true,\n \"utm_source\": \"<string>\",\n \"utm_medium\": \"<string>\",\n \"utm_campaign\": \"<string>\",\n \"utm_term\": \"<string>\",\n \"utm_content\": \"<string>\",\n \"has_opengraph\": true,\n \"meta_title\": \"<string>\",\n \"meta_description\": \"<string>\",\n \"meta_image\": \"<string>\",\n \"has_android_targeting\": true,\n \"android_target_url\": \"<string>\",\n \"has_ios_targeting\": true,\n \"ios_target_url\": \"<string>\",\n \"has_windows_targeting\": true,\n \"windows_target_url\": \"<string>\",\n \"has_linux_targeting\": true,\n \"linux_target_url\": \"<string>\",\n \"has_geo_targeting\": true,\n \"geo_targets\": [\n {\n \"target_url\": \"<string>\"\n }\n ],\n \"has_cloaking\": true,\n \"has_password\": true,\n \"password\": \"<string>\",\n \"password_logo\": \"<string>\",\n \"has_expiration\": true,\n \"expiration\": \"2023-11-07T05:31:56Z\",\n \"expiration_clicks\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.bsy.sh/v1/link/update")
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 \"id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"favicon\": \"<string>\",\n \"title\": \"<string>\",\n \"custom_link\": \"<string>\",\n \"tags\": [\n \"<string>\"\n ],\n \"has_utm\": true,\n \"utm_source\": \"<string>\",\n \"utm_medium\": \"<string>\",\n \"utm_campaign\": \"<string>\",\n \"utm_term\": \"<string>\",\n \"utm_content\": \"<string>\",\n \"has_opengraph\": true,\n \"meta_title\": \"<string>\",\n \"meta_description\": \"<string>\",\n \"meta_image\": \"<string>\",\n \"has_android_targeting\": true,\n \"android_target_url\": \"<string>\",\n \"has_ios_targeting\": true,\n \"ios_target_url\": \"<string>\",\n \"has_windows_targeting\": true,\n \"windows_target_url\": \"<string>\",\n \"has_linux_targeting\": true,\n \"linux_target_url\": \"<string>\",\n \"has_geo_targeting\": true,\n \"geo_targets\": [\n {\n \"target_url\": \"<string>\"\n }\n ],\n \"has_cloaking\": true,\n \"has_password\": true,\n \"password\": \"<string>\",\n \"password_logo\": \"<string>\",\n \"has_expiration\": true,\n \"expiration\": \"2023-11-07T05:31:56Z\",\n \"expiration_clicks\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"status": "success",
"message": "<string>"
}{
"status": "failure",
"message": "<string>"
}{
"status": "failure",
"message": "<string>"
}{
"status": "failure",
"message": "<string>"
}{
"status": "failure",
"message": "<string>",
"errors": {
"formErrors": [
"<string>"
],
"fieldErrors": {}
}
}{
"status": "error",
"message": "<string>"
}Update Bitsy Link
Update an existing Bitsy Link
curl --request PUT \
--url https://api.bsy.sh/v1/link/update \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"favicon": "<string>",
"title": "<string>",
"custom_link": "<string>",
"tags": [
"<string>"
],
"has_utm": true,
"utm_source": "<string>",
"utm_medium": "<string>",
"utm_campaign": "<string>",
"utm_term": "<string>",
"utm_content": "<string>",
"has_opengraph": true,
"meta_title": "<string>",
"meta_description": "<string>",
"meta_image": "<string>",
"has_android_targeting": true,
"android_target_url": "<string>",
"has_ios_targeting": true,
"ios_target_url": "<string>",
"has_windows_targeting": true,
"windows_target_url": "<string>",
"has_linux_targeting": true,
"linux_target_url": "<string>",
"has_geo_targeting": true,
"geo_targets": [
{
"target_url": "<string>"
}
],
"has_cloaking": true,
"has_password": true,
"password": "<string>",
"password_logo": "<string>",
"has_expiration": true,
"expiration": "2023-11-07T05:31:56Z",
"expiration_clicks": "<string>"
}
'import requests
url = "https://api.bsy.sh/v1/link/update"
payload = {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"favicon": "<string>",
"title": "<string>",
"custom_link": "<string>",
"tags": ["<string>"],
"has_utm": True,
"utm_source": "<string>",
"utm_medium": "<string>",
"utm_campaign": "<string>",
"utm_term": "<string>",
"utm_content": "<string>",
"has_opengraph": True,
"meta_title": "<string>",
"meta_description": "<string>",
"meta_image": "<string>",
"has_android_targeting": True,
"android_target_url": "<string>",
"has_ios_targeting": True,
"ios_target_url": "<string>",
"has_windows_targeting": True,
"windows_target_url": "<string>",
"has_linux_targeting": True,
"linux_target_url": "<string>",
"has_geo_targeting": True,
"geo_targets": [{ "target_url": "<string>" }],
"has_cloaking": True,
"has_password": True,
"password": "<string>",
"password_logo": "<string>",
"has_expiration": True,
"expiration": "2023-11-07T05:31:56Z",
"expiration_clicks": "<string>"
}
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({
id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
favicon: '<string>',
title: '<string>',
custom_link: '<string>',
tags: ['<string>'],
has_utm: true,
utm_source: '<string>',
utm_medium: '<string>',
utm_campaign: '<string>',
utm_term: '<string>',
utm_content: '<string>',
has_opengraph: true,
meta_title: '<string>',
meta_description: '<string>',
meta_image: '<string>',
has_android_targeting: true,
android_target_url: '<string>',
has_ios_targeting: true,
ios_target_url: '<string>',
has_windows_targeting: true,
windows_target_url: '<string>',
has_linux_targeting: true,
linux_target_url: '<string>',
has_geo_targeting: true,
geo_targets: [{target_url: '<string>'}],
has_cloaking: true,
has_password: true,
password: '<string>',
password_logo: '<string>',
has_expiration: true,
expiration: '2023-11-07T05:31:56Z',
expiration_clicks: '<string>'
})
};
fetch('https://api.bsy.sh/v1/link/update', 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.bsy.sh/v1/link/update",
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([
'id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'favicon' => '<string>',
'title' => '<string>',
'custom_link' => '<string>',
'tags' => [
'<string>'
],
'has_utm' => true,
'utm_source' => '<string>',
'utm_medium' => '<string>',
'utm_campaign' => '<string>',
'utm_term' => '<string>',
'utm_content' => '<string>',
'has_opengraph' => true,
'meta_title' => '<string>',
'meta_description' => '<string>',
'meta_image' => '<string>',
'has_android_targeting' => true,
'android_target_url' => '<string>',
'has_ios_targeting' => true,
'ios_target_url' => '<string>',
'has_windows_targeting' => true,
'windows_target_url' => '<string>',
'has_linux_targeting' => true,
'linux_target_url' => '<string>',
'has_geo_targeting' => true,
'geo_targets' => [
[
'target_url' => '<string>'
]
],
'has_cloaking' => true,
'has_password' => true,
'password' => '<string>',
'password_logo' => '<string>',
'has_expiration' => true,
'expiration' => '2023-11-07T05:31:56Z',
'expiration_clicks' => '<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.bsy.sh/v1/link/update"
payload := strings.NewReader("{\n \"id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"favicon\": \"<string>\",\n \"title\": \"<string>\",\n \"custom_link\": \"<string>\",\n \"tags\": [\n \"<string>\"\n ],\n \"has_utm\": true,\n \"utm_source\": \"<string>\",\n \"utm_medium\": \"<string>\",\n \"utm_campaign\": \"<string>\",\n \"utm_term\": \"<string>\",\n \"utm_content\": \"<string>\",\n \"has_opengraph\": true,\n \"meta_title\": \"<string>\",\n \"meta_description\": \"<string>\",\n \"meta_image\": \"<string>\",\n \"has_android_targeting\": true,\n \"android_target_url\": \"<string>\",\n \"has_ios_targeting\": true,\n \"ios_target_url\": \"<string>\",\n \"has_windows_targeting\": true,\n \"windows_target_url\": \"<string>\",\n \"has_linux_targeting\": true,\n \"linux_target_url\": \"<string>\",\n \"has_geo_targeting\": true,\n \"geo_targets\": [\n {\n \"target_url\": \"<string>\"\n }\n ],\n \"has_cloaking\": true,\n \"has_password\": true,\n \"password\": \"<string>\",\n \"password_logo\": \"<string>\",\n \"has_expiration\": true,\n \"expiration\": \"2023-11-07T05:31:56Z\",\n \"expiration_clicks\": \"<string>\"\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.bsy.sh/v1/link/update")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"favicon\": \"<string>\",\n \"title\": \"<string>\",\n \"custom_link\": \"<string>\",\n \"tags\": [\n \"<string>\"\n ],\n \"has_utm\": true,\n \"utm_source\": \"<string>\",\n \"utm_medium\": \"<string>\",\n \"utm_campaign\": \"<string>\",\n \"utm_term\": \"<string>\",\n \"utm_content\": \"<string>\",\n \"has_opengraph\": true,\n \"meta_title\": \"<string>\",\n \"meta_description\": \"<string>\",\n \"meta_image\": \"<string>\",\n \"has_android_targeting\": true,\n \"android_target_url\": \"<string>\",\n \"has_ios_targeting\": true,\n \"ios_target_url\": \"<string>\",\n \"has_windows_targeting\": true,\n \"windows_target_url\": \"<string>\",\n \"has_linux_targeting\": true,\n \"linux_target_url\": \"<string>\",\n \"has_geo_targeting\": true,\n \"geo_targets\": [\n {\n \"target_url\": \"<string>\"\n }\n ],\n \"has_cloaking\": true,\n \"has_password\": true,\n \"password\": \"<string>\",\n \"password_logo\": \"<string>\",\n \"has_expiration\": true,\n \"expiration\": \"2023-11-07T05:31:56Z\",\n \"expiration_clicks\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.bsy.sh/v1/link/update")
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 \"id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"favicon\": \"<string>\",\n \"title\": \"<string>\",\n \"custom_link\": \"<string>\",\n \"tags\": [\n \"<string>\"\n ],\n \"has_utm\": true,\n \"utm_source\": \"<string>\",\n \"utm_medium\": \"<string>\",\n \"utm_campaign\": \"<string>\",\n \"utm_term\": \"<string>\",\n \"utm_content\": \"<string>\",\n \"has_opengraph\": true,\n \"meta_title\": \"<string>\",\n \"meta_description\": \"<string>\",\n \"meta_image\": \"<string>\",\n \"has_android_targeting\": true,\n \"android_target_url\": \"<string>\",\n \"has_ios_targeting\": true,\n \"ios_target_url\": \"<string>\",\n \"has_windows_targeting\": true,\n \"windows_target_url\": \"<string>\",\n \"has_linux_targeting\": true,\n \"linux_target_url\": \"<string>\",\n \"has_geo_targeting\": true,\n \"geo_targets\": [\n {\n \"target_url\": \"<string>\"\n }\n ],\n \"has_cloaking\": true,\n \"has_password\": true,\n \"password\": \"<string>\",\n \"password_logo\": \"<string>\",\n \"has_expiration\": true,\n \"expiration\": \"2023-11-07T05:31:56Z\",\n \"expiration_clicks\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"status": "success",
"message": "<string>"
}{
"status": "failure",
"message": "<string>"
}{
"status": "failure",
"message": "<string>"
}{
"status": "failure",
"message": "<string>"
}{
"status": "failure",
"message": "<string>",
"errors": {
"formErrors": [
"<string>"
],
"fieldErrors": {}
}
}{
"status": "error",
"message": "<string>"
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
Update the details of a Bitsy Link
The unique identifier for the Bitsy Link to be updated.
URL of the favicon for the link.
Title of the link, up to 150 characters.
150Custom slug for the link, between 3 and 50 characters.
3 - 50Array of tags associated with the link.
1Indicates if UTM parameters are used.
UTM source for tracking.
200UTM medium for tracking.
200UTM campaign for tracking.
200UTM term for paid search.
200UTM content for differentiating ads.
200Indicates if OpenGraph metadata is included.
Meta title for the link, up to 150 characters.
150Meta description for the link, up to 250 characters.
250URL of the image to use for the link's metadata.
Indicates if there is a target URL for Android.
Target URL for Android devices.
Indicates if there is a target URL for iOS.
Target URL for iOS devices.
Indicates if there is a target URL for Windows.
Target URL for Windows devices.
Indicates if there is a target URL for Linux.
Target URL for Linux devices.
Indicates if geo-targeting is used.
Array of geo-targeting rules.
Show child attributes
Show child attributes
Indicates if cloaking is enabled.
Indicates if a password is required to access the link.
Password required to access the link.
URL of the logo to display on the password prompt.
Indicates if the link has an expiration date or expiration clicks.
Expiration date for the link in ISO 8601 format.
Maximum number of clicks before the link expires.
Was this page helpful?
