Rename a connection, switch it between read_only and actions, or change which apps it links.
Request
curl -X PATCH "https://api.appgoat.ai/v1/connections/123" \
-H "x-api-key: $APPGOAT_API_KEY" \
-H "content-type: application/json" \
-d '{"label":"string","mode":"actions","apps":["string"]}'const res = await fetch("https://api.appgoat.ai/v1/connections/123", {
method: 'PATCH',
headers: {
"x-api-key": process.env.APPGOAT_API_KEY,
"content-type": "application/json",
},
body: JSON.stringify({"label":"string","mode":"actions","apps":["string"]}),
});
const { data, meta } = await res.json();import os, requests
res = requests.patch(
"https://api.appgoat.ai/v1/connections/123",
headers={"x-api-key": os.environ["APPGOAT_API_KEY"]},
json={"label":"string","mode":"actions","apps":["string"]}
)
body = res.json()Path parameters
idstringrequiredConnection id (
con_…).Request body
JSON.
labelstringmode"actions" | "read_only"appsstring[]Replaces the linked apps (checked against what the credentials can access).
Response
200 with data: Connection. See the envelope for meta.
idstringproviderProviderasc = App Store Connect, play_console = Google Play Console, apple_ads = Apple Ads (Search Ads).
labelstringmode"actions" | "read_only"status"active" | "invalid" | "deleted"accountobjectNon-secret identifiers (issuer_id, key_id, client_email, ad_account_id, ad_account_name, currency, …).
appsLinkedApp[]last_verified_atstring | nulllast_errorstring | nulllast_synced_atstring | nullLast downloads / proceeds sync (ASC with vendor_number
created_atstringavailable_appsLinkedApp[]Only on verify.
Example
{
"data": {
"id": "con_x8Hq2mXc0aLpQwRtYb",
"provider": "asc",
"label": "string",
"mode": "actions",
"status": "active",
"account": {},
"apps": [
{
"store": "apple",
"app_id": "324684580",
"external_id": "string",
"title": "Spotify: Music and Podcasts",
"bundle_id": "string"
}
],
"last_verified_at": "2026-10-22T10:00:00Z",
"last_error": "string",
"last_synced_at": "2026-10-22T10:00:00Z",
"created_at": "2026-10-22T10:00:00Z",
"available_apps": [
{
"store": "apple",
"app_id": "324684580",
"external_id": "string",
"title": "Spotify: Music and Podcasts",
"bundle_id": "string"
}
]
},
"meta": {
"credits_used": 0,
"credits_remaining": 9981,
"request_id": "req_123"
}
}Status codes
200
Updated.
Missing or invalid API key.
insufficient_credits (the call costs more than you have left; nothing was done) or plan_limit (a feature of a higher plan).404
not_foundNot found.
429
rate_limitedToo many requests per second for your plan.