List engagements
curl --request GET \
--url https://api.airscale.io/v1/post-engagement-monitors/{monitor_id}/engagements \
--header 'Authorization: Bearer <token>'const url = 'https://api.airscale.io/v1/post-engagement-monitors/{monitor_id}/engagements';
const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch(url, options)
.then(res => res.json())
.then(json => console.log(json))
.catch(err => console.error(err));import requests
url = "https://api.airscale.io/v1/post-engagement-monitors/{monitor_id}/engagements"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"engagements": [
{
"id": "75555555-5555-4555-8555-555555555555",
"monitor_id": "71111111-1111-4111-8111-111111111111",
"engager_id": "73333333-3333-4333-8333-333333333333",
"type": "comment",
"post_url": "https://www.linkedin.com/posts/example-person_example-activity-7376356221991178240",
"source_url": "https://www.linkedin.com/in/example-person",
"post_author_url": "https://www.linkedin.com/in/example-person",
"comment": "Great launch, congratulations to the team.",
"occurred_at": "2026-11-01T17:16:11.000Z",
"detected_at": "2026-11-02T09:01:00.000Z"
},
{
"id": "75555556-5555-4555-8555-555555555556",
"monitor_id": "71111111-1111-4111-8111-111111111111",
"engager_id": "73333333-3333-4333-8333-333333333333",
"type": "reaction",
"post_url": "https://www.linkedin.com/posts/example-person_example-activity-7376356221991178240",
"source_url": "https://www.linkedin.com/in/example-person",
"post_author_url": "https://www.linkedin.com/in/example-person",
"comment": null,
"occurred_at": null,
"detected_at": "2026-11-02T09:01:00.000Z"
}
],
"next_cursor": null
}{
"error": {
"code": "invalid_api_key",
"message": "The API key is not valid"
}
}{
"error": {
"code": "monitor_not_found",
"message": "Monitor not found"
}
}{
"error": {
"code": "invalid_page",
"message": "Invalid page"
}
}{
"error": "Too Many Requests",
"message": "Rate limit exceeded: 120 requests per minute"
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}List post engagements
Read cursor-paginated reactions and comments of delivered engagers. Rate limit: 120 requests per fixed minute per API key, shared by all post engagement monitor endpoints.
GET
/
v1
/
post-engagement-monitors
/
{monitor_id}
/
engagements
List engagements
curl --request GET \
--url https://api.airscale.io/v1/post-engagement-monitors/{monitor_id}/engagements \
--header 'Authorization: Bearer <token>'const url = 'https://api.airscale.io/v1/post-engagement-monitors/{monitor_id}/engagements';
const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch(url, options)
.then(res => res.json())
.then(json => console.log(json))
.catch(err => console.error(err));import requests
url = "https://api.airscale.io/v1/post-engagement-monitors/{monitor_id}/engagements"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"engagements": [
{
"id": "75555555-5555-4555-8555-555555555555",
"monitor_id": "71111111-1111-4111-8111-111111111111",
"engager_id": "73333333-3333-4333-8333-333333333333",
"type": "comment",
"post_url": "https://www.linkedin.com/posts/example-person_example-activity-7376356221991178240",
"source_url": "https://www.linkedin.com/in/example-person",
"post_author_url": "https://www.linkedin.com/in/example-person",
"comment": "Great launch, congratulations to the team.",
"occurred_at": "2026-11-01T17:16:11.000Z",
"detected_at": "2026-11-02T09:01:00.000Z"
},
{
"id": "75555556-5555-4555-8555-555555555556",
"monitor_id": "71111111-1111-4111-8111-111111111111",
"engager_id": "73333333-3333-4333-8333-333333333333",
"type": "reaction",
"post_url": "https://www.linkedin.com/posts/example-person_example-activity-7376356221991178240",
"source_url": "https://www.linkedin.com/in/example-person",
"post_author_url": "https://www.linkedin.com/in/example-person",
"comment": null,
"occurred_at": null,
"detected_at": "2026-11-02T09:01:00.000Z"
}
],
"next_cursor": null
}{
"error": {
"code": "invalid_api_key",
"message": "The API key is not valid"
}
}{
"error": {
"code": "monitor_not_found",
"message": "Monitor not found"
}
}{
"error": {
"code": "invalid_page",
"message": "Invalid page"
}
}{
"error": "Too Many Requests",
"message": "Rate limit exceeded: 120 requests per minute"
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}Post engagement monitoring requires a V2 workspace API key. Legacy V1 API keys are not supported by these endpoints. Monitors and their credits belong to the V2 workspace associated with the key.
limit from 1 to 100 (default 50) and pass the returned next_cursor unchanged; it is null on the last page. Only engagements of engagers delivered (and paid for) are returned.
Each engagement has engager_id, type (reaction or comment), post_url, source_url (the followed source), post_author_url, comment (the comment text, or null for a reaction), occurred_at (when the person engaged, or null when unknown), and detected_at.
Reading engagements spends no credits.
Next step
Use List engagers for one row per person.Authorizations
Use an Airscale workspace API key. Never expose the key in client-side code.
Path Parameters
Query Parameters
Number of engagements to return, from 1 to 100. Defaults to 50.
Required range:
1 <= x <= 100Opaque cursor from the preceding response. Send it unchanged.
Required string length:
1 - 200