Connection Request
curl --request POST \
--url https://api.aisa.one/apis/v1/unipile/linkedin/connection-requests/send \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"account_id": "<string>",
"provider_id": "<string>"
}
'import requests
url = "https://api.aisa.one/apis/v1/unipile/linkedin/connection-requests/send"
payload = {
"account_id": "<string>",
"provider_id": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({account_id: '<string>', provider_id: '<string>'})
};
fetch('https://api.aisa.one/apis/v1/unipile/linkedin/connection-requests/send', 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.aisa.one/apis/v1/unipile/linkedin/connection-requests/send",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'account_id' => '<string>',
'provider_id' => '<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.aisa.one/apis/v1/unipile/linkedin/connection-requests/send"
payload := strings.NewReader("{\n \"account_id\": \"<string>\",\n \"provider_id\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", 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.post("https://api.aisa.one/apis/v1/unipile/linkedin/connection-requests/send")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"account_id\": \"<string>\",\n \"provider_id\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.aisa.one/apis/v1/unipile/linkedin/connection-requests/send")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"account_id\": \"<string>\",\n \"provider_id\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"object": "UserInvitationSent",
"invitation_id": "<string>",
"usage": 123
}Network
Connection Request
Send a LinkedIn connection invitation to a member.
POST
https://api.aisa.one
/
apis
/
v1
/
unipile
/
linkedin
/
connection-requests
/
send
Connection Request
curl --request POST \
--url https://api.aisa.one/apis/v1/unipile/linkedin/connection-requests/send \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"account_id": "<string>",
"provider_id": "<string>"
}
'import requests
url = "https://api.aisa.one/apis/v1/unipile/linkedin/connection-requests/send"
payload = {
"account_id": "<string>",
"provider_id": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({account_id: '<string>', provider_id: '<string>'})
};
fetch('https://api.aisa.one/apis/v1/unipile/linkedin/connection-requests/send', 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.aisa.one/apis/v1/unipile/linkedin/connection-requests/send",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'account_id' => '<string>',
'provider_id' => '<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.aisa.one/apis/v1/unipile/linkedin/connection-requests/send"
payload := strings.NewReader("{\n \"account_id\": \"<string>\",\n \"provider_id\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", 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.post("https://api.aisa.one/apis/v1/unipile/linkedin/connection-requests/send")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"account_id\": \"<string>\",\n \"provider_id\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.aisa.one/apis/v1/unipile/linkedin/connection-requests/send")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"account_id\": \"<string>\",\n \"provider_id\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"object": "UserInvitationSent",
"invitation_id": "<string>",
"usage": 123
}Invites a LinkedIn member to connect — this is the endpoint for reaching people who are not yet connections, and it is not subject to the subscription restriction that Start Chat hits for non-connections. After the invitation is accepted the member appears in Relations and Start Chat works normally. Identify the recipient by their provider id (
Path parameters and required query parameters are documented in the operation reference.
ACoAA…); resolve it from a public identifier such as satyanadella with the User Profile endpoint first. All parameters go in the JSON body (including account_id). The returned invitation_id can be canceled with Cancel Invitation. Write action: LinkedIn allows roughly 80-100 invitations per day depending on account age and activity, and accounts with little connection history may be blocked from sending them at all.
Reference price: $0.02 USD per successful request.
Example
curl -X POST "https://api.aisa.one/apis/v1/unipile/linkedin/connection-requests/send" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"account_id": "YOUR_ACCOUNT_ID", "provider_id": "ACoAABcDEFGhIJKlMNOpQRsTUvWXYz1234"}'
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
application/json
Connected account id the invitation is sent from. Must be in the body, not the query string.
Provider id of the member to invite (ACoAA…).
Optional note attached to the invitation, at most 300 characters. Echoed back as invitation_text on the sent-invitations list.