List developer events
curl --request GET \
--url https://api.social-api.ai/v1/events \
--header 'Authorization: <api-key>'import requests
url = "https://api.social-api.ai/v1/events"
headers = {"Authorization": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: '<api-key>'}};
fetch('https://api.social-api.ai/v1/events', 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.social-api.ai/v1/events",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: <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.social-api.ai/v1/events"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "<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.social-api.ai/v1/events")
.header("Authorization", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.social-api.ai/v1/events")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"events": [
{
"account_id": "<string>",
"action": "publish",
"category": "post",
"created_at": "2026-03-27T10:00:00Z",
"duration_ms": 230,
"error_category": "validation",
"error_message": "<string>",
"id": "<string>",
"metadata": {},
"platform": "instagram",
"resource_id": "<string>",
"status": "success",
"status_code": 400,
"summary": "Published to Instagram"
}
],
"pagination": {
"has_more": true,
"limit": 25,
"next_cursor": "<string>"
},
"retention_days": 30
}{
"error": {
"code": "resource.not_found",
"message": "Account not found",
"meta": {}
}
}Events
List developer events
Returns a paginated, filtered slice of the unified event log. Events cover post lifecycle, inbox activity, account changes, and webhook deliveries. Retention varies by plan tier; the response includes the user’s current retention window.
GET
/
events
List developer events
curl --request GET \
--url https://api.social-api.ai/v1/events \
--header 'Authorization: <api-key>'import requests
url = "https://api.social-api.ai/v1/events"
headers = {"Authorization": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: '<api-key>'}};
fetch('https://api.social-api.ai/v1/events', 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.social-api.ai/v1/events",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: <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.social-api.ai/v1/events"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "<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.social-api.ai/v1/events")
.header("Authorization", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.social-api.ai/v1/events")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"events": [
{
"account_id": "<string>",
"action": "publish",
"category": "post",
"created_at": "2026-03-27T10:00:00Z",
"duration_ms": 230,
"error_category": "validation",
"error_message": "<string>",
"id": "<string>",
"metadata": {},
"platform": "instagram",
"resource_id": "<string>",
"status": "success",
"status_code": 400,
"summary": "Published to Instagram"
}
],
"pagination": {
"has_more": true,
"limit": 25,
"next_cursor": "<string>"
},
"retention_days": 30
}{
"error": {
"code": "resource.not_found",
"message": "Account not found",
"meta": {}
}
}Authorizations
Prefix your API key with "Bearer ". Example: Authorization: Bearer sapi_key_...
Query Parameters
Filter by event category
Filter by status (ok, failed)
Filter by platform
Filter by connected account ID
Filter by resource ID (post, conversation, ...)
Filter by action (e.g. post.published)
Lower time bound (RFC3339)
Upper time bound (RFC3339)
Pagination cursor from a previous response
Page size (default 50)