List proposed and applied actions (drafts, pending approval, applied, failed, rejected), newest first.

GEThttps://api.appgoat.ai/v1/actions
FreeoperationId listActions

Request

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

Query parameters

statusstring
Comma list: draft, pending_approval, approved, applied, failed, rejected.
type"review.reply" | "listing.update" | "keywords.set" | "screenshots.upload" | "ads.keyword.bid" | "ads.keyword.add" | "ads.negative.add"
connectionstring
limitinteger

Default 50

cursorstring
meta.next_cursor from the previous page.

Response

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

idstring
typeActionType
connection_idstring
status"draft" | "pending_approval" | "approved" | "applied" | "failed" | "rejected"
paramsobject
diffDiff
guardrailGuardrail
resultany
What the provider returned when applied.
errorstring | null
created_bystring
api, mcp, playbook:<name> or dashboard.
approved_bystring | null
user:<id>, auto (rule) or api.
rejected_reasonstring | null
creditsinteger
created_atstring
applied_atstring | null
expires_atstring | null
approve_urlstring | null
Dashboard page where a person approves it.
auditobject[]
Only on GET /actions/{id}.
audit[].eventstring
audit[].actorstring
audit[].atstring
audit[].detailobject | null
Example
{
  "data": [
    {
      "id": "act_Qm3xXk2Lw9PaZr0cVb",
      "type": "review.reply",
      "connection_id": "string",
      "status": "draft",
      "params": {},
      "diff": {
        "target": {},
        "changes": [],
        "summary": "string",
        "notes": []
      },
      "guardrail": {
        "status": "passed",
        "score": 4.5,
        "checks": {},
        "warnings": [],
        "checks_failed": [],
        "model": "string"
      },
      "result": null,
      "error": "string",
      "created_by": "string",
      "approved_by": "string",
      "rejected_reason": "string",
      "credits": 1,
      "created_at": "2026-10-22T10:00:00Z",
      "applied_at": "2026-10-22T10:00:00Z",
      "expires_at": "2026-10-22T10:00:00Z",
      "approve_url": "string",
      "audit": [
        {}
      ]
    }
  ],
  "meta": {
    "credits_used": 0,
    "credits_remaining": 9981,
    "request_id": "req_123"
  }
}

Status codes

200
One page of actions.
Missing or invalid API key.
Too many requests per second for your plan.