Complete a social OAuth callback
curl --request GET \
--url https://posted-api.example.com/api/social/callback/{provider} \
--cookie posted_session=import requests
url = "https://posted-api.example.com/api/social/callback/{provider}"
headers = {"cookie": "posted_session="}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {cookie: 'posted_session='}};
fetch('https://posted-api.example.com/api/social/callback/{provider}', 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://posted-api.example.com/api/social/callback/{provider}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_COOKIE => "posted_session=",
]);
$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://posted-api.example.com/api/social/callback/{provider}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("cookie", "posted_session=")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://posted-api.example.com/api/social/callback/{provider}")
.header("cookie", "posted_session=")
.asString();require 'uri'
require 'net/http'
url = URI("https://posted-api.example.com/api/social/callback/{provider}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["cookie"] = 'posted_session='
response = http.request(request)
puts response.read_body{
"error": {
"code": "<string>",
"message": "<string>",
"requestId": "<string>"
}
}Complete a social OAuth callback
Provider callback handler. Verifies the stored state, verifier, initiating user and provider, saves encrypted tokens, then redirects to Posted. Do not fabricate callbacks or log authorization codes.
GET
/
api
/
social
/
callback
/
{provider}
Complete a social OAuth callback
curl --request GET \
--url https://posted-api.example.com/api/social/callback/{provider} \
--cookie posted_session=import requests
url = "https://posted-api.example.com/api/social/callback/{provider}"
headers = {"cookie": "posted_session="}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {cookie: 'posted_session='}};
fetch('https://posted-api.example.com/api/social/callback/{provider}', 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://posted-api.example.com/api/social/callback/{provider}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_COOKIE => "posted_session=",
]);
$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://posted-api.example.com/api/social/callback/{provider}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("cookie", "posted_session=")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://posted-api.example.com/api/social/callback/{provider}")
.header("cookie", "posted_session=")
.asString();require 'uri'
require 'net/http'
url = URI("https://posted-api.example.com/api/social/callback/{provider}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["cookie"] = 'posted_session='
response = http.request(request)
puts response.read_body{
"error": {
"code": "<string>",
"message": "<string>",
"requestId": "<string>"
}
}A signed-in human session is required. API keys and MCP bearer credentials cannot replace that session.
Provider callback handler. Verifies the stored state, verifier, initiating user and provider, saves encrypted tokens, then redirects to Posted. Do not fabricate callbacks or log authorization codes.
Request conventions · API keys · MCP connections
Authorizations
Signed-in human browser session; mutation requests also need the exact UI Origin
Path Parameters
The provider from the corresponding list, record or authorization response.
Available options:
x, threads, linkedin, bluesky Response
Redirect to the authorization, consent or UI destination.
Was this page helpful?
