curl --request POST \
--url https://api.aisa.one/apis/v1/social/inbox/comments/{postId} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"accountId": "acc_7Hq2Lm9Xc4Rt8Vw1Nb6Ks3",
"message": "example"
}
'import requests
url = "https://api.aisa.one/apis/v1/social/inbox/comments/{postId}"
payload = {
"accountId": "acc_7Hq2Lm9Xc4Rt8Vw1Nb6Ks3",
"message": "example"
}
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({accountId: 'acc_7Hq2Lm9Xc4Rt8Vw1Nb6Ks3', message: 'example'})
};
fetch('https://api.aisa.one/apis/v1/social/inbox/comments/{postId}', 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/social/inbox/comments/{postId}",
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([
'accountId' => 'acc_7Hq2Lm9Xc4Rt8Vw1Nb6Ks3',
'message' => 'example'
]),
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/social/inbox/comments/{postId}"
payload := strings.NewReader("{\n \"accountId\": \"acc_7Hq2Lm9Xc4Rt8Vw1Nb6Ks3\",\n \"message\": \"example\"\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/social/inbox/comments/{postId}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"accountId\": \"acc_7Hq2Lm9Xc4Rt8Vw1Nb6Ks3\",\n \"message\": \"example\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.aisa.one/apis/v1/social/inbox/comments/{postId}")
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 \"accountId\": \"acc_7Hq2Lm9Xc4Rt8Vw1Nb6Ks3\",\n \"message\": \"example\"\n}"
response = http.request(request)
puts response.read_body{
"data": {
"cid": "<string>",
"commentId": "<string>",
"isReply": true
},
"success": true
}{
"error": {
"code": "<string>",
"details": {},
"message": "<string>",
"param": "<string>",
"retryHint": "never",
"retryable": true,
"type": "<string>"
}
}Reply to comment
curl --request POST \
--url https://api.aisa.one/apis/v1/social/inbox/comments/{postId} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"accountId": "acc_7Hq2Lm9Xc4Rt8Vw1Nb6Ks3",
"message": "example"
}
'import requests
url = "https://api.aisa.one/apis/v1/social/inbox/comments/{postId}"
payload = {
"accountId": "acc_7Hq2Lm9Xc4Rt8Vw1Nb6Ks3",
"message": "example"
}
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({accountId: 'acc_7Hq2Lm9Xc4Rt8Vw1Nb6Ks3', message: 'example'})
};
fetch('https://api.aisa.one/apis/v1/social/inbox/comments/{postId}', 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/social/inbox/comments/{postId}",
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([
'accountId' => 'acc_7Hq2Lm9Xc4Rt8Vw1Nb6Ks3',
'message' => 'example'
]),
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/social/inbox/comments/{postId}"
payload := strings.NewReader("{\n \"accountId\": \"acc_7Hq2Lm9Xc4Rt8Vw1Nb6Ks3\",\n \"message\": \"example\"\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/social/inbox/comments/{postId}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"accountId\": \"acc_7Hq2Lm9Xc4Rt8Vw1Nb6Ks3\",\n \"message\": \"example\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.aisa.one/apis/v1/social/inbox/comments/{postId}")
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 \"accountId\": \"acc_7Hq2Lm9Xc4Rt8Vw1Nb6Ks3\",\n \"message\": \"example\"\n}"
response = http.request(request)
puts response.read_body{
"data": {
"cid": "<string>",
"commentId": "<string>",
"isReply": true
},
"success": true
}{
"error": {
"code": "<string>",
"details": {},
"message": "<string>",
"param": "<string>",
"retryHint": "never",
"retryable": true,
"type": "<string>"
}
}Request contract
- Method and path: POST /apis/v1/social/inbox/comments/{postId}
- Availability: enabled
- Request URL template:
https://api.aisa.one/apis/v1/social/inbox/comments/{postId} - postId: path; required
- Idempotency-Key: header; optional
- Runtime facts: 99acb5bddbedc8d3352e7c4fef86c3e6d8852c14772bcd18dbcf415237a642bd
{
"operationId": "post_aisa_social_apis_v1_social_inbox_comments_postid",
"method": "POST",
"path": "/apis/v1/social/inbox/comments/{postId}",
"servers": [
{
"url": "https://api.aisa.one"
}
],
"parameters": [
{
"description": "AIsa post ID or platform-specific post ID. On LinkedIn, pass the post id exactly as the feed returns it (urn:li:share:<id> or urn:li:ugcPost:<id>); a bare number is read as an activity id (urn:li:activity:<n>).",
"in": "path",
"name": "postId",
"required": true,
"schema": {
"type": "string"
}
},
{
"description": "Passed to the channel: a retry with the same key within 24 hours returns the first result instead of acting twice. AIsa never retries a write for you.",
"in": "header",
"name": "Idempotency-Key",
"required": false,
"schema": {
"maxLength": 191,
"minLength": 1,
"type": "string"
}
}
],
"security": [
{
"bearerAuth": []
}
],
"requestBody": {
"content": {
"application/json": {
"example": {
"accountId": "acc_7Hq2Lm9Xc4Rt8Vw1Nb6Ks3",
"message": "example"
},
"schema": {
"properties": {
"accountId": {
"description": "One of your social accounts (acc_...).",
"pattern": "^acc_[0-9A-Za-z]{22}$",
"type": "string"
},
"attachmentUrl": {
"description": "(Facebook only) URL of an image to attach, publishing a photo comment alongside the text. The URL must be publicly accessible so Meta can fetch it. Returns 400 for other platforms.",
"format": "uri",
"type": "string"
},
"commentId": {
"description": "Reply to specific comment (optional)",
"type": "string"
},
"message": {
"description": "Reply text. On LinkedIn, mention with @[https://www.linkedin.com/in/vanity] (resolved to LinkedIn's live name, same rules and errors as post content) or @Name; a hand-written name must match LinkedIn's exactly or it renders as plain text.",
"type": "string"
},
"parentCid": {
"description": "(Bluesky only) Parent content identifier",
"type": "string"
},
"rootCid": {
"description": "(Bluesky only) Root post CID",
"type": "string"
},
"rootUri": {
"description": "(Bluesky only) Root post URI",
"type": "string"
}
},
"required": [
"accountId",
"message"
],
"type": "object"
}
}
},
"required": true
},
"x-aisa-status": "enabled",
"x-aisa-pricing": {
"description": "Included with your connected social accounts: AIsa does not charge per call.",
"kind": "no_customer_charge"
},
"components": {
"securitySchemes": {
"bearerAuth": {
"scheme": "bearer",
"type": "http"
}
}
}
}
Cost and request rules
A request reference price is not currently available; use a request quote where supported. Account-specific pricing and final settlement may differ. Published reference values are not an account-specific quote or a settled charge. For endpoints supporting X-AISA-Cost-Mode: quote, obtain a free quote for your exact request before execution; reconcile the settled cost with response metadata and Usage Logs. USD amounts use 1,000,000 integer micro-USD per dollar.Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Headers
Passed to the channel: a retry with the same key within 24 hours returns the first result instead of acting twice. AIsa never retries a write for you.
1 - 191Path Parameters
AIsa post ID or platform-specific post ID. On LinkedIn, pass the post id exactly as the feed returns it (urn:li:share: or urn:li:ugcPost:); a bare number is read as an activity id (urn:li:activity:).
Body
One of your social accounts (acc_...).
^acc_[0-9A-Za-z]{22}$Reply text. On LinkedIn, mention with @[https://www.linkedin.com/in/vanity] (resolved to LinkedIn's live name, same rules and errors as post content) or @Name; a hand-written name must match LinkedIn's exactly or it renders as plain text.
(Facebook only) URL of an image to attach, publishing a photo comment alongside the text. The URL must be publicly accessible so Meta can fetch it. Returns 400 for other platforms.
Reply to specific comment (optional)
(Bluesky only) Parent content identifier
(Bluesky only) Root post CID
(Bluesky only) Root post URI