cURL
curl --request POST \
--url 'https://api.kloo.li/v1/links/{link_id}' \
--header 'Authorization: Bearer {api_key}' \
--header 'Content-Type: multipart/form-data' \
--form 'location_url=https://example.com/new-landing' \
--form 'is_enabled=1'
const formData = new FormData();
formData.append('location_url', 'https://example.com/new-landing');
formData.append('is_enabled', '1');
const response = await fetch('https://api.kloo.li/v1/links/{link_id}', {
method: 'POST',
headers: { Authorization: 'Bearer {api_key}' },
body: formData
});
const data = await response.json();
console.log(data);
import requests
url = 'https://api.kloo.li/v1/links/{link_id}'
headers = {'Authorization': 'Bearer {api_key}'}
data = {
'location_url': 'https://example.com/new-landing',
'is_enabled': '1'
}
response = requests.request('POST', url, headers=headers, data=data)
print(response.json())
<?php
$ch = curl_init('https://api.kloo.li/v1/links/{link_id}');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_HTTPHEADER => ['Authorization: Bearer {api_key}'],
CURLOPT_POSTFIELDS => [
'location_url' => 'https://example.com/new-landing',
'is_enabled' => '1'
],
]);
echo curl_exec($ch);
curl_close($ch);
package main
import (
"bytes"
"fmt"
"io"
"mime/multipart"
"net/http"
)
func main() {
var body bytes.Buffer
writer := multipart.NewWriter(&body)
_ = writer.WriteField("location_url", "https://example.com/new-landing")
_ = writer.WriteField("is_enabled", "1")
_ = writer.Close()
req, _ := http.NewRequest("POST", "https://api.kloo.li/v1/links/{link_id}", &body)
req.Header.Set("Authorization", "Bearer {api_key}")
req.Header.Set("Content-Type", writer.FormDataContentType())
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
data, _ := io.ReadAll(res.Body)
fmt.Println(string(data))
}
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.kloo.li/v1/links/{link_id}"))
.header("Authorization", "Bearer {api_key}")
.header("Content-Type", "application/x-www-form-urlencoded")
.method("POST", HttpRequest.BodyPublishers.ofString("location_url=https://example.com/new-landing&is_enabled=1"))
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
client.DefaultRequestHeaders.Add("Authorization", "Bearer {api_key}");
var content = new FormUrlEncodedContent(new Dictionary<string, string> { { "location_url", "https://example.com/new-landing" }, { "is_enabled", "1" } });
var request = new HttpRequestMessage(HttpMethod.Post, "https://api.kloo.li/v1/links/{link_id}") { Content = content };
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require 'net/http'
require 'uri'
uri = URI('https://api.kloo.li/v1/links/{link_id}')
req = Net::HTTP::Post.new(uri)
req['Authorization'] = 'Bearer {api_key}'
req.set_form_data('location_url' => 'https://example.com/new-landing', 'is_enabled' => '1')
res = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) { |http| http.request(req) }
puts res.body
{
"data": {
"id": 1
}
}
Links and pages
Update short link
Links and pages — Update short link. POST /links/{link_id}
POST
/
links
/
{link_id}
cURL
curl --request POST \
--url 'https://api.kloo.li/v1/links/{link_id}' \
--header 'Authorization: Bearer {api_key}' \
--header 'Content-Type: multipart/form-data' \
--form 'location_url=https://example.com/new-landing' \
--form 'is_enabled=1'
const formData = new FormData();
formData.append('location_url', 'https://example.com/new-landing');
formData.append('is_enabled', '1');
const response = await fetch('https://api.kloo.li/v1/links/{link_id}', {
method: 'POST',
headers: { Authorization: 'Bearer {api_key}' },
body: formData
});
const data = await response.json();
console.log(data);
import requests
url = 'https://api.kloo.li/v1/links/{link_id}'
headers = {'Authorization': 'Bearer {api_key}'}
data = {
'location_url': 'https://example.com/new-landing',
'is_enabled': '1'
}
response = requests.request('POST', url, headers=headers, data=data)
print(response.json())
<?php
$ch = curl_init('https://api.kloo.li/v1/links/{link_id}');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_HTTPHEADER => ['Authorization: Bearer {api_key}'],
CURLOPT_POSTFIELDS => [
'location_url' => 'https://example.com/new-landing',
'is_enabled' => '1'
],
]);
echo curl_exec($ch);
curl_close($ch);
package main
import (
"bytes"
"fmt"
"io"
"mime/multipart"
"net/http"
)
func main() {
var body bytes.Buffer
writer := multipart.NewWriter(&body)
_ = writer.WriteField("location_url", "https://example.com/new-landing")
_ = writer.WriteField("is_enabled", "1")
_ = writer.Close()
req, _ := http.NewRequest("POST", "https://api.kloo.li/v1/links/{link_id}", &body)
req.Header.Set("Authorization", "Bearer {api_key}")
req.Header.Set("Content-Type", writer.FormDataContentType())
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
data, _ := io.ReadAll(res.Body)
fmt.Println(string(data))
}
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.kloo.li/v1/links/{link_id}"))
.header("Authorization", "Bearer {api_key}")
.header("Content-Type", "application/x-www-form-urlencoded")
.method("POST", HttpRequest.BodyPublishers.ofString("location_url=https://example.com/new-landing&is_enabled=1"))
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
client.DefaultRequestHeaders.Add("Authorization", "Bearer {api_key}");
var content = new FormUrlEncodedContent(new Dictionary<string, string> { { "location_url", "https://example.com/new-landing" }, { "is_enabled", "1" } });
var request = new HttpRequestMessage(HttpMethod.Post, "https://api.kloo.li/v1/links/{link_id}") { Content = content };
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require 'net/http'
require 'uri'
uri = URI('https://api.kloo.li/v1/links/{link_id}')
req = Net::HTTP::Post.new(uri)
req['Authorization'] = 'Bearer {api_key}'
req.set_form_data('location_url' => 'https://example.com/new-landing', 'is_enabled' => '1')
res = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) { |http| http.request(req) }
puts res.body
{
"data": {
"id": 1
}
}
Update an existing short link (
type=link). Send only the fields you want to change.
Paste your API key in the Authorization field as
Bearer {api_key}.string
required
Link id.
string
Destination URL (must include scheme).
string
Custom alias.
integer
Domain id. Use
0 for the main domain.integer
Project id owned by the authenticated user.
boolean
Enable or disable the link (
0 or 1).cURL
curl --request POST \
--url 'https://api.kloo.li/v1/links/{link_id}' \
--header 'Authorization: Bearer {api_key}' \
--header 'Content-Type: multipart/form-data' \
--form 'location_url=https://example.com/new-landing' \
--form 'is_enabled=1'
const formData = new FormData();
formData.append('location_url', 'https://example.com/new-landing');
formData.append('is_enabled', '1');
const response = await fetch('https://api.kloo.li/v1/links/{link_id}', {
method: 'POST',
headers: { Authorization: 'Bearer {api_key}' },
body: formData
});
const data = await response.json();
console.log(data);
import requests
url = 'https://api.kloo.li/v1/links/{link_id}'
headers = {'Authorization': 'Bearer {api_key}'}
data = {
'location_url': 'https://example.com/new-landing',
'is_enabled': '1'
}
response = requests.request('POST', url, headers=headers, data=data)
print(response.json())
<?php
$ch = curl_init('https://api.kloo.li/v1/links/{link_id}');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_HTTPHEADER => ['Authorization: Bearer {api_key}'],
CURLOPT_POSTFIELDS => [
'location_url' => 'https://example.com/new-landing',
'is_enabled' => '1'
],
]);
echo curl_exec($ch);
curl_close($ch);
package main
import (
"bytes"
"fmt"
"io"
"mime/multipart"
"net/http"
)
func main() {
var body bytes.Buffer
writer := multipart.NewWriter(&body)
_ = writer.WriteField("location_url", "https://example.com/new-landing")
_ = writer.WriteField("is_enabled", "1")
_ = writer.Close()
req, _ := http.NewRequest("POST", "https://api.kloo.li/v1/links/{link_id}", &body)
req.Header.Set("Authorization", "Bearer {api_key}")
req.Header.Set("Content-Type", writer.FormDataContentType())
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
data, _ := io.ReadAll(res.Body)
fmt.Println(string(data))
}
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.kloo.li/v1/links/{link_id}"))
.header("Authorization", "Bearer {api_key}")
.header("Content-Type", "application/x-www-form-urlencoded")
.method("POST", HttpRequest.BodyPublishers.ofString("location_url=https://example.com/new-landing&is_enabled=1"))
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using var client = new HttpClient();
client.DefaultRequestHeaders.Add("Authorization", "Bearer {api_key}");
var content = new FormUrlEncodedContent(new Dictionary<string, string> { { "location_url", "https://example.com/new-landing" }, { "is_enabled", "1" } });
var request = new HttpRequestMessage(HttpMethod.Post, "https://api.kloo.li/v1/links/{link_id}") { Content = content };
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require 'net/http'
require 'uri'
uri = URI('https://api.kloo.li/v1/links/{link_id}')
req = Net::HTTP::Post.new(uri)
req['Authorization'] = 'Bearer {api_key}'
req.set_form_data('location_url' => 'https://example.com/new-landing', 'is_enabled' => '1')
res = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) { |http| http.request(req) }
puts res.body
{
"data": {
"id": 1
}
}
⌘I

