Remove a source from a monitor
curl --request DELETE \
--url https://api.airscale.io/v1/post-engagement-monitors/{monitor_id}/sources/{source_id} \
--header 'Authorization: Bearer <token>'const url = 'https://api.airscale.io/v1/post-engagement-monitors/{monitor_id}/sources/{source_id}';
const options = {method: 'DELETE', 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}/sources/{source_id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.delete(url, headers=headers)
print(response.text){
"source": {
"id": "72222223-2222-4222-8222-222222222223",
"linkedin_url": "https://www.linkedin.com/in/example-person",
"kind": "profile",
"status": "removed",
"last_checked_at": "2026-11-02T09:00:00.000Z",
"last_error": null
}
}{
"error": {
"code": "invalid_api_key",
"message": "The API key is not valid"
}
}{
"error": {
"code": "monitor_not_found",
"message": "Monitor not found"
}
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}{
"error": "Too Many Requests",
"message": "Rate limit exceeded: 120 requests per minute"
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}Remove a source from a post engagement monitor
Stop following one LinkedIn company page or profile. Rate limit: 120 requests per fixed minute per API key, shared by all post engagement monitor endpoints.
DELETE
/
v1
/
post-engagement-monitors
/
{monitor_id}
/
sources
/
{source_id}
Remove a source from a monitor
curl --request DELETE \
--url https://api.airscale.io/v1/post-engagement-monitors/{monitor_id}/sources/{source_id} \
--header 'Authorization: Bearer <token>'const url = 'https://api.airscale.io/v1/post-engagement-monitors/{monitor_id}/sources/{source_id}';
const options = {method: 'DELETE', 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}/sources/{source_id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.delete(url, headers=headers)
print(response.text){
"source": {
"id": "72222223-2222-4222-8222-222222222223",
"linkedin_url": "https://www.linkedin.com/in/example-person",
"kind": "profile",
"status": "removed",
"last_checked_at": "2026-11-02T09:00:00.000Z",
"last_error": null
}
}{
"error": {
"code": "invalid_api_key",
"message": "The API key is not valid"
}
}{
"error": {
"code": "monitor_not_found",
"message": "Monitor not found"
}
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}{
"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.
source_id. The response returns the source with status: "removed".
Removing a source restarts coverage for the monitor; delivered engagers and the results table are kept. A monitor needs at least one source: removing the last one returns 422 source_required. A source the monitor does not follow returns 404 source_not_found.