List the connected App Store Connect, Play Console and Apple Ads accounts (ids, linked apps, status; never secrets).

GEThttps://api.appgoat.ai/v1/connections
FreeoperationId listConnections

Use the connection id in POST /v1/actions (or omit it when only one connection fits). status: invalid means the provider rejected the credentials since they were added (last_error says why); fix them and call POST /v1/connections/{id}/verify. mode: read_only connections can dry-run actions but not apply them.

Request

curl "https://api.appgoat.ai/v1/connections" \
  -H "x-api-key: $APPGOAT_API_KEY"

Query parameters

provider"asc" | "play_console" | "apple_ads"

Response

200 with data: Connection[]. See the envelope for meta.

idstring
providerProvider
asc = App Store Connect, play_console = Google Play Console, apple_ads = Apple Ads (Search Ads).
labelstring
mode"actions" | "read_only"
status"active" | "invalid" | "deleted"
accountobject
Non-secret identifiers (issuer_id, key_id, client_email, ad_account_id, ad_account_name, currency, …).
appsLinkedApp[]
last_verified_atstring | null
last_errorstring | null
last_synced_atstring | null
Last downloads / proceeds sync (ASC with vendor_number
created_atstring
available_appsLinkedApp[]
Only on verify.
Example
{
  "data": [
    {
      "id": "con_x8Hq2mXc0aLpQwRtYb",
      "provider": "asc",
      "label": "string",
      "mode": "actions",
      "status": "active",
      "account": {},
      "apps": [
        {}
      ],
      "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": [
        {}
      ]
    }
  ],
  "meta": {
    "credits_used": 0,
    "credits_remaining": 9981,
    "request_id": "req_123"
  }
}

Status codes

200
The connections.
Missing or invalid API key.
Too many requests per second for your plan.