cURL
curl --request POST \
--url 'https://api.kloo.li/v1/links' \
--header 'Authorization: Bearer {api_key}' \
--header 'Content-Type: multipart/form-data' \
--form 'type=link' \
--form 'url=promo' \
--form 'location_url=https://example.com/landing'
const formData = new FormData();
formData.append('type', 'link');
formData.append('url', 'promo');
formData.append('location_url', 'https://example.com/landing');
const response = await fetch('https://api.kloo.li/v1/links', {
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'
headers = {'Authorization': 'Bearer {api_key}'}
data = {
'type': 'link',
'url': 'promo',
'location_url': 'https://example.com/landing'
}
response = requests.request('POST', url, headers=headers, data=data)
print(response.json())
<?php
$ch = curl_init('https://api.kloo.li/v1/links');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_HTTPHEADER => ['Authorization: Bearer {api_key}'],
CURLOPT_POSTFIELDS => [
'type' => 'link',
'url' => 'promo',
'location_url' => 'https://example.com/landing'
],
]);
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("type", "link")
_ = writer.WriteField("url", "promo")
_ = writer.WriteField("location_url", "https://example.com/landing")
_ = writer.Close()
req, _ := http.NewRequest("POST", "https://api.kloo.li/v1/links", &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"))
.header("Authorization", "Bearer {api_key}")
.header("Content-Type", "application/x-www-form-urlencoded")
.method("POST", HttpRequest.BodyPublishers.ofString("type=link&url=promo&location_url=https://example.com/landing"))
.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> { { "type", "link" }, { "url", "promo" }, { "location_url", "https://example.com/landing" } });
var request = new HttpRequestMessage(HttpMethod.Post, "https://api.kloo.li/v1/links") { 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')
req = Net::HTTP::Post.new(uri)
req['Authorization'] = 'Bearer {api_key}'
req.set_form_data('type' => 'link', 'url' => 'promo', 'location_url' => 'https://example.com/landing')
res = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) { |http| http.request(req) }
puts res.body
{
"data": {
"id": 1
}
}
Liens et pages
Créer un lien court
Liens et pages — Créer un lien court. POST /links
POST
/
links
cURL
curl --request POST \
--url 'https://api.kloo.li/v1/links' \
--header 'Authorization: Bearer {api_key}' \
--header 'Content-Type: multipart/form-data' \
--form 'type=link' \
--form 'url=promo' \
--form 'location_url=https://example.com/landing'
const formData = new FormData();
formData.append('type', 'link');
formData.append('url', 'promo');
formData.append('location_url', 'https://example.com/landing');
const response = await fetch('https://api.kloo.li/v1/links', {
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'
headers = {'Authorization': 'Bearer {api_key}'}
data = {
'type': 'link',
'url': 'promo',
'location_url': 'https://example.com/landing'
}
response = requests.request('POST', url, headers=headers, data=data)
print(response.json())
<?php
$ch = curl_init('https://api.kloo.li/v1/links');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_HTTPHEADER => ['Authorization: Bearer {api_key}'],
CURLOPT_POSTFIELDS => [
'type' => 'link',
'url' => 'promo',
'location_url' => 'https://example.com/landing'
],
]);
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("type", "link")
_ = writer.WriteField("url", "promo")
_ = writer.WriteField("location_url", "https://example.com/landing")
_ = writer.Close()
req, _ := http.NewRequest("POST", "https://api.kloo.li/v1/links", &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"))
.header("Authorization", "Bearer {api_key}")
.header("Content-Type", "application/x-www-form-urlencoded")
.method("POST", HttpRequest.BodyPublishers.ofString("type=link&url=promo&location_url=https://example.com/landing"))
.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> { { "type", "link" }, { "url", "promo" }, { "location_url", "https://example.com/landing" } });
var request = new HttpRequestMessage(HttpMethod.Post, "https://api.kloo.li/v1/links") { 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')
req = Net::HTTP::Post.new(uri)
req['Authorization'] = 'Bearer {api_key}'
req.set_form_data('type' => 'link', 'url' => 'promo', 'location_url' => 'https://example.com/landing')
res = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) { |http| http.request(req) }
puts res.body
{
"data": {
"id": 1
}
}
Créez un lien court unique (
type=link par défaut).
Collez votre clé API dans le champ Authorization :
Bearer {api_key}.string
Type de ressource. Défaut :
link.string
requis
URL de destination (avec schéma).
string
Alias personnalisé. Vide = aléatoire.
integer
ID du domaine.
0 = domaine principal.integer
ID du projet appartenant à l’utilisateur authentifié.
cURL
curl --request POST \
--url 'https://api.kloo.li/v1/links' \
--header 'Authorization: Bearer {api_key}' \
--header 'Content-Type: multipart/form-data' \
--form 'type=link' \
--form 'url=promo' \
--form 'location_url=https://example.com/landing'
const formData = new FormData();
formData.append('type', 'link');
formData.append('url', 'promo');
formData.append('location_url', 'https://example.com/landing');
const response = await fetch('https://api.kloo.li/v1/links', {
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'
headers = {'Authorization': 'Bearer {api_key}'}
data = {
'type': 'link',
'url': 'promo',
'location_url': 'https://example.com/landing'
}
response = requests.request('POST', url, headers=headers, data=data)
print(response.json())
<?php
$ch = curl_init('https://api.kloo.li/v1/links');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_HTTPHEADER => ['Authorization: Bearer {api_key}'],
CURLOPT_POSTFIELDS => [
'type' => 'link',
'url' => 'promo',
'location_url' => 'https://example.com/landing'
],
]);
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("type", "link")
_ = writer.WriteField("url", "promo")
_ = writer.WriteField("location_url", "https://example.com/landing")
_ = writer.Close()
req, _ := http.NewRequest("POST", "https://api.kloo.li/v1/links", &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"))
.header("Authorization", "Bearer {api_key}")
.header("Content-Type", "application/x-www-form-urlencoded")
.method("POST", HttpRequest.BodyPublishers.ofString("type=link&url=promo&location_url=https://example.com/landing"))
.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> { { "type", "link" }, { "url", "promo" }, { "location_url", "https://example.com/landing" } });
var request = new HttpRequestMessage(HttpMethod.Post, "https://api.kloo.li/v1/links") { 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')
req = Net::HTTP::Post.new(uri)
req['Authorization'] = 'Bearer {api_key}'
req.set_form_data('type' => 'link', 'url' => 'promo', 'location_url' => 'https://example.com/landing')
res = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) { |http| http.request(req) }
puts res.body
{
"data": {
"id": 1
}
}
⌘I

