curl --request GET \
--url https://api.getoneprofile.ai/sender-profiles/{profile_id}/linkedin/ \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.getoneprofile.ai/sender-profiles/{profile_id}/linkedin/"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://api.getoneprofile.ai/sender-profiles/{profile_id}/linkedin/', 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.getoneprofile.ai/sender-profiles/{profile_id}/linkedin/",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.getoneprofile.ai/sender-profiles/{profile_id}/linkedin/"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.getoneprofile.ai/sender-profiles/{profile_id}/linkedin/")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.getoneprofile.ai/sender-profiles/{profile_id}/linkedin/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"account": {
"checkpoint_status": "ok",
"created_at": "2023-11-07T05:31:56Z",
"daily_limit_check_connections": 123,
"daily_limit_check_inbox": 123,
"daily_limit_check_sent_invitations": 123,
"daily_limit_connection_request": 123,
"daily_limit_follow": 123,
"daily_limit_like_post": 123,
"daily_limit_profile_view": 123,
"daily_limit_read_conversation": 123,
"daily_limit_send_message": 123,
"daily_limit_withdraw": 123,
"display_name": "<string>",
"effective_run_mode": "manual",
"headline": "<string>",
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"last_seen_at": "2023-11-07T05:31:56Z",
"limit_maximums": {
"daily_limit_check_connections": 123,
"daily_limit_check_inbox": 123,
"daily_limit_check_sent_invitations": 123,
"daily_limit_connection_request": 123,
"daily_limit_follow": 123,
"daily_limit_like_post": 123,
"daily_limit_profile_view": 123,
"daily_limit_read_conversation": 123,
"daily_limit_send_message": 123,
"daily_limit_withdraw": 123,
"weekly_connection_request_cap": 123,
"weekly_limit_check_connections": 123,
"weekly_limit_check_inbox": 123,
"weekly_limit_check_sent_invitations": 123,
"weekly_limit_follow": 123,
"weekly_limit_like_post": 123,
"weekly_limit_profile_view": 123,
"weekly_limit_read_conversation": 123,
"weekly_limit_send_message": 123,
"weekly_limit_withdraw": 123
},
"member_urn": "<string>",
"min_action_interval_seconds": 123,
"online": true,
"photo_url": "<string>",
"presence": "active",
"run_mode": "manual",
"sender_profile_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"status": "pending",
"updated_at": "2023-11-07T05:31:56Z",
"vanity_name": "<string>",
"weekly_connection_request_cap": 123,
"approvals_waiting": 0,
"connection_checks": {
"awaiting": 123,
"gaps": [
{
"ended_at": "2023-11-07T05:31:56Z",
"problem": "no_overlap",
"started_at": "2023-11-07T05:31:56Z"
}
],
"last_checked_at": "2023-11-07T05:31:56Z",
"next_check_at": "2023-11-07T05:31:56Z",
"problem": "extension_outdated",
"supported": true,
"watched_since": "2023-11-07T05:31:56Z"
},
"connection_token": "<string>",
"queued_count": 0,
"replies_check": {
"failing": true,
"last_read_at": "2023-11-07T05:31:56Z",
"holding": false
},
"sessions": [
{
"browser_label": "<string>",
"connected_at": "2023-11-07T05:31:56Z",
"extension_version": "<string>",
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"last_seen_at": "2023-11-07T05:31:56Z",
"presence": "active"
}
],
"usage": [],
"usage_resets_at": "2023-11-07T05:31:56Z",
"wait": {
"next_at": "2023-11-07T05:31:56Z",
"reason": "not_connected",
"resets_at": "2023-11-07T05:31:56Z"
},
"weekly_limit_check_connections": 123,
"weekly_limit_check_inbox": 123,
"weekly_limit_check_sent_invitations": 123,
"weekly_limit_follow": 123,
"weekly_limit_like_post": 123,
"weekly_limit_profile_view": 123,
"weekly_limit_read_conversation": 123,
"weekly_limit_send_message": 123,
"weekly_limit_withdraw": 123
},
"connected": true,
"connection_token": "<string>"
}{
"detail": "<string>"
}{
"detail": "<string>"
}{
"detail": "<string>"
}{
"detail": "<string>",
"issues": [
{
"input": "<string>",
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}{
"detail": "<string>"
}{
"detail": "<string>"
}{
"detail": "<string>"
}Read a sender's LinkedIn connection
Returns whether a LinkedIn account is connected to this sender, and if so its live state: which browsers are connected and when each was last seen, today’s usage against each ceiling, how much work is queued, and what the next step waits on and until when (the time between steps, a limit’s reset). Not-connected is a normal state rather than a 404: it carries the connection token the person pastes into the extension, and reading it is what mints that token.
curl --request GET \
--url https://api.getoneprofile.ai/sender-profiles/{profile_id}/linkedin/ \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.getoneprofile.ai/sender-profiles/{profile_id}/linkedin/"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://api.getoneprofile.ai/sender-profiles/{profile_id}/linkedin/', 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.getoneprofile.ai/sender-profiles/{profile_id}/linkedin/",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.getoneprofile.ai/sender-profiles/{profile_id}/linkedin/"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.getoneprofile.ai/sender-profiles/{profile_id}/linkedin/")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.getoneprofile.ai/sender-profiles/{profile_id}/linkedin/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"account": {
"checkpoint_status": "ok",
"created_at": "2023-11-07T05:31:56Z",
"daily_limit_check_connections": 123,
"daily_limit_check_inbox": 123,
"daily_limit_check_sent_invitations": 123,
"daily_limit_connection_request": 123,
"daily_limit_follow": 123,
"daily_limit_like_post": 123,
"daily_limit_profile_view": 123,
"daily_limit_read_conversation": 123,
"daily_limit_send_message": 123,
"daily_limit_withdraw": 123,
"display_name": "<string>",
"effective_run_mode": "manual",
"headline": "<string>",
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"last_seen_at": "2023-11-07T05:31:56Z",
"limit_maximums": {
"daily_limit_check_connections": 123,
"daily_limit_check_inbox": 123,
"daily_limit_check_sent_invitations": 123,
"daily_limit_connection_request": 123,
"daily_limit_follow": 123,
"daily_limit_like_post": 123,
"daily_limit_profile_view": 123,
"daily_limit_read_conversation": 123,
"daily_limit_send_message": 123,
"daily_limit_withdraw": 123,
"weekly_connection_request_cap": 123,
"weekly_limit_check_connections": 123,
"weekly_limit_check_inbox": 123,
"weekly_limit_check_sent_invitations": 123,
"weekly_limit_follow": 123,
"weekly_limit_like_post": 123,
"weekly_limit_profile_view": 123,
"weekly_limit_read_conversation": 123,
"weekly_limit_send_message": 123,
"weekly_limit_withdraw": 123
},
"member_urn": "<string>",
"min_action_interval_seconds": 123,
"online": true,
"photo_url": "<string>",
"presence": "active",
"run_mode": "manual",
"sender_profile_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"status": "pending",
"updated_at": "2023-11-07T05:31:56Z",
"vanity_name": "<string>",
"weekly_connection_request_cap": 123,
"approvals_waiting": 0,
"connection_checks": {
"awaiting": 123,
"gaps": [
{
"ended_at": "2023-11-07T05:31:56Z",
"problem": "no_overlap",
"started_at": "2023-11-07T05:31:56Z"
}
],
"last_checked_at": "2023-11-07T05:31:56Z",
"next_check_at": "2023-11-07T05:31:56Z",
"problem": "extension_outdated",
"supported": true,
"watched_since": "2023-11-07T05:31:56Z"
},
"connection_token": "<string>",
"queued_count": 0,
"replies_check": {
"failing": true,
"last_read_at": "2023-11-07T05:31:56Z",
"holding": false
},
"sessions": [
{
"browser_label": "<string>",
"connected_at": "2023-11-07T05:31:56Z",
"extension_version": "<string>",
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"last_seen_at": "2023-11-07T05:31:56Z",
"presence": "active"
}
],
"usage": [],
"usage_resets_at": "2023-11-07T05:31:56Z",
"wait": {
"next_at": "2023-11-07T05:31:56Z",
"reason": "not_connected",
"resets_at": "2023-11-07T05:31:56Z"
},
"weekly_limit_check_connections": 123,
"weekly_limit_check_inbox": 123,
"weekly_limit_check_sent_invitations": 123,
"weekly_limit_follow": 123,
"weekly_limit_like_post": 123,
"weekly_limit_profile_view": 123,
"weekly_limit_read_conversation": 123,
"weekly_limit_send_message": 123,
"weekly_limit_withdraw": 123
},
"connected": true,
"connection_token": "<string>"
}{
"detail": "<string>"
}{
"detail": "<string>"
}{
"detail": "<string>"
}{
"detail": "<string>",
"issues": [
{
"input": "<string>",
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}{
"detail": "<string>"
}{
"detail": "<string>"
}{
"detail": "<string>"
}Authorizations
Path Parameters
Response
Successful Response
The sender's LinkedIn state, connected or not.
A wrapper rather than a 404 on purpose: "no account yet" is the normal first render of this page, not an error. The connection token is present in BOTH states: shown by default before anything is connected, and available again afterwards for a second browser.
Was this page helpful?