Receive a Facebook uninstall notification
curl --request POST \
--url https://posted-api.example.com/api/social/facebook/deauthorize \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data 'signed_request=<string>'import requests
url = "https://posted-api.example.com/api/social/facebook/deauthorize"
payload = { "signed_request": "<string>" }
headers = {"Content-Type": "application/x-www-form-urlencoded"}
response = requests.post(url, data=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/x-www-form-urlencoded'},
body: new URLSearchParams({signed_request: '<string>'})
};
fetch('https://posted-api.example.com/api/social/facebook/deauthorize', 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/facebook/deauthorize",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => "signed_request=%3Cstring%3E",
CURLOPT_HTTPHEADER => [
"Content-Type: application/x-www-form-urlencoded"
],
]);
$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://posted-api.example.com/api/social/facebook/deauthorize"
payload := strings.NewReader("signed_request=%3Cstring%3E")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/x-www-form-urlencoded")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://posted-api.example.com/api/social/facebook/deauthorize")
.header("Content-Type", "application/x-www-form-urlencoded")
.body("signed_request=%3Cstring%3E")
.asString();require 'uri'
require 'net/http'
url = URI("https://posted-api.example.com/api/social/facebook/deauthorize")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/x-www-form-urlencoded'
request.body = "signed_request=%3Cstring%3E"
response = http.request(request)
puts response.read_body{
"success": true
}{
"error": {
"code": "<string>",
"message": "<string>",
"requestId": "<string>"
}
}Receive a Facebook uninstall notification
Meta sends a form-encoded signed_request verified with the configured Facebook app secret. Disconnects all Page connections authorized by the matching Facebook user, clears its credentials and cancels scheduled or preparing deliveries. Repeated events are idempotent. A request already publishing cannot be recalled. Browser sessions and API keys do not authorize this callback.
POST
/
api
/
social
/
facebook
/
deauthorize
Receive a Facebook uninstall notification
curl --request POST \
--url https://posted-api.example.com/api/social/facebook/deauthorize \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data 'signed_request=<string>'import requests
url = "https://posted-api.example.com/api/social/facebook/deauthorize"
payload = { "signed_request": "<string>" }
headers = {"Content-Type": "application/x-www-form-urlencoded"}
response = requests.post(url, data=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/x-www-form-urlencoded'},
body: new URLSearchParams({signed_request: '<string>'})
};
fetch('https://posted-api.example.com/api/social/facebook/deauthorize', 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/facebook/deauthorize",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => "signed_request=%3Cstring%3E",
CURLOPT_HTTPHEADER => [
"Content-Type: application/x-www-form-urlencoded"
],
]);
$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://posted-api.example.com/api/social/facebook/deauthorize"
payload := strings.NewReader("signed_request=%3Cstring%3E")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/x-www-form-urlencoded")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://posted-api.example.com/api/social/facebook/deauthorize")
.header("Content-Type", "application/x-www-form-urlencoded")
.body("signed_request=%3Cstring%3E")
.asString();require 'uri'
require 'net/http'
url = URI("https://posted-api.example.com/api/social/facebook/deauthorize")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/x-www-form-urlencoded'
request.body = "signed_request=%3Cstring%3E"
response = http.request(request)
puts response.read_body{
"success": true
}{
"error": {
"code": "<string>",
"message": "<string>",
"requestId": "<string>"
}
}No signed-in session is required. Endpoint-specific tokens, setup secrets or challenges may still be required.
Meta sends a form-encoded signed_request verified with the configured Facebook app secret. Disconnects all Page connections authorized by the matching Facebook user, clears its credentials and cancels scheduled or preparing deliveries. Repeated events are idempotent. A request already publishing cannot be recalled. Browser sessions and API keys do not authorize this callback.
Request conventions · API keys · MCP connections
Was this page helpful?
