curl --request PATCH \
--url https://api.appgoat.ai/v1/webhooks/{id} \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"url": "<string>",
"event_types": [],
"description": "<string>",
"active": true,
"github_token": "<string>",
"rotate_secret": true
}
'const options = {
method: 'PATCH',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
url: '<string>',
event_types: [],
description: '<string>',
active: true,
github_token: '<string>',
rotate_secret: true
})
};
fetch('https://api.appgoat.ai/v1/webhooks/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.appgoat.ai/v1/webhooks/{id}"
payload = {
"url": "<string>",
"event_types": [],
"description": "<string>",
"active": True,
"github_token": "<string>",
"rotate_secret": True
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text){
"data": {
"id": 123,
"kind": "webhook",
"url": "<string>",
"description": "<string>",
"event_types": [
"new_version"
],
"active": true,
"disabled_reason": "<string>",
"failure_count": 123,
"last_success_at": "2023-11-07T05:31:56Z",
"last_failure_at": "2023-11-07T05:31:56Z",
"secret": "<string>",
"secret_hint": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
},
"meta": {
"credits_used": 123,
"credits_remaining": 123,
"request_id": "<string>",
"freshness": {
"fetched_at": "2023-11-07T05:31:56Z",
"age_seconds": 123,
"stale": true,
"refreshing": true,
"job_id": "<string>"
},
"next_cursor": "<string>",
"store": "apple",
"warnings": [
"<string>"
]
}
}{
"error": {
"code": "invalid_param",
"message": "limit must be ≤ 100",
"hint": "Fix the parameter and retry.",
"docs": "https://appgoat.ai/docs/errors#invalid_param",
"param": "limit"
}
}{
"error": {
"code": "invalid_param",
"message": "<string>",
"hint": "<string>",
"docs": "<string>",
"param": "<string>"
}
}{
"error": {
"code": "invalid_param",
"message": "<string>",
"hint": "<string>",
"docs": "<string>",
"param": "<string>"
}
}Update webhook
curl --request PATCH \
--url https://api.appgoat.ai/v1/webhooks/{id} \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"url": "<string>",
"event_types": [],
"description": "<string>",
"active": true,
"github_token": "<string>",
"rotate_secret": true
}
'const options = {
method: 'PATCH',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
url: '<string>',
event_types: [],
description: '<string>',
active: true,
github_token: '<string>',
rotate_secret: true
})
};
fetch('https://api.appgoat.ai/v1/webhooks/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.appgoat.ai/v1/webhooks/{id}"
payload = {
"url": "<string>",
"event_types": [],
"description": "<string>",
"active": True,
"github_token": "<string>",
"rotate_secret": True
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text){
"data": {
"id": 123,
"kind": "webhook",
"url": "<string>",
"description": "<string>",
"event_types": [
"new_version"
],
"active": true,
"disabled_reason": "<string>",
"failure_count": 123,
"last_success_at": "2023-11-07T05:31:56Z",
"last_failure_at": "2023-11-07T05:31:56Z",
"secret": "<string>",
"secret_hint": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
},
"meta": {
"credits_used": 123,
"credits_remaining": 123,
"request_id": "<string>",
"freshness": {
"fetched_at": "2023-11-07T05:31:56Z",
"age_seconds": 123,
"stale": true,
"refreshing": true,
"job_id": "<string>"
},
"next_cursor": "<string>",
"store": "apple",
"warnings": [
"<string>"
]
}
}{
"error": {
"code": "invalid_param",
"message": "limit must be ≤ 100",
"hint": "Fix the parameter and retry.",
"docs": "https://appgoat.ai/docs/errors#invalid_param",
"param": "limit"
}
}{
"error": {
"code": "invalid_param",
"message": "<string>",
"hint": "<string>",
"docs": "<string>",
"param": "<string>"
}
}{
"error": {
"code": "invalid_param",
"message": "<string>",
"hint": "<string>",
"docs": "<string>",
"param": "<string>"
}
}Authorizations
Create a key at https://dash.appgoat.ai.
Path Parameters
Body
App / competitor_set watches: new_version (version + release notes), metadata_change (title, subtitle,
description, screenshots, icon, category…; payload.changes), price_change (price or in-app purchases),
featured (Editors' Choice, featuring, badges), in_app_event, installs_milestone (Play install bucket),
rating_drop (7-day drop ≥ settings.rating_drop), ratings_spike / review_spike (day count ≥
settings.spike_factor × the 14-day average), negative_review_spike (negative reviews per topic),
chart_enter / chart_leave (crossing the top settings.chart_top_n). Keyword watches: rank_change (the
watch's app moved ≥ settings.rank_move, or entered / left the ranking), keyword_entrant (new apps in the
top settings.keyword_top_n).
new_version, metadata_change, price_change, featured, in_app_event, installs_milestone, rating_drop, ratings_spike, review_spike, negative_review_spike, chart_enter, chart_leave, rank_change, keyword_entrant true = new secret, returned in this response only.