Plainrouter · Schema

ActionProposalRead

CompanyAdvertisingDeveloper ToolsPaidAds

Properties

Name Type Description
proposal object Complete projection rows are paged within 80,000 JSON bytes, accounting for both MCP representations. Defaults are bounded. Follow next_cursor with the same scope and filters. One oversized row is exp
View JSON Schema on GitHub

JSON Schema

plainrouter-action-proposal-read-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/plainrouter/main/json-schema/plainrouter-action-proposal-read-schema.json",
  "title": "ActionProposalRead",
  "x-generated": "2026-10-18",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/plainrouter-openapi.json#/components/schemas/ActionProposalRead",
  "type": "object",
  "properties": {
    "proposal": {
      "type": "object",
      "description": "Complete projection rows are paged within 80,000 JSON bytes, accounting for both MCP representations. Defaults are bounded. Follow next_cursor with the same scope and filters. One oversized row is explicitly refused; fields are never silently clipped.",
      "properties": {
        "id": {
          "type": "string"
        },
        "scope": {},
        "evidence_provenance": {},
        "status": {
          "type": "string",
          "enum": [
            "pending",
            "approved",
            "approved_without_execution",
            "auto_approved",
            "rejected",
            "executing",
            "executed_pending_verification",
            "compensating",
            "measuring",
            "completed",
            "failed",
            "rolled_back",
            "rollback_incomplete",
            "blocked",
            "halted"
          ]
        },
        "policy_decision": {
          "type": "string",
          "enum": [
            "allow",
            "require_approval",
            "block"
          ]
        },
        "policy_reasons": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "approval_required": {
          "type": "boolean"
        },
        "inbox_url": {
          "type": "string"
        },
        "approval_queue_url": {
          "type": "string"
        },
        "rationale": {
          "type": "string"
        },
        "proposed_by": {
          "type": "object",
          "properties": {
            "type": {
              "type": "string"
            },
            "id": {
              "type": "string"
            },
            "name": {
              "type": [
                "string",
                "null"
              ]
            }
          },
          "required": [
            "type",
            "id",
            "name"
          ]
        },
        "actions": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "type": {
                "type": "string",
                "enum": [
                  "increase_budget",
                  "decrease_budget",
                  "pause",
                  "resume",
                  "replace_creative",
                  "shift_spend",
                  "rollback",
                  "create_campaign",
                  "create_ad_set",
                  "create_ad",
                  "upload_asset",
                  "adjust_budget",
                  "set_status",
                  "duplicate_ad_with_creative",
                  "duplicate_adset",
                  "duplicate_ad_with_creative_v2"
                ]
              },
              "target_entity": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string"
                  },
                  "id": {
                    "type": "string"
                  },
                  "name": {
                    "type": [
                      "string",
                      "null"
                    ]
                  }
                },
                "required": [
                  "type",
                  "id",
                  "name"
                ]
              },
              "params": {
                "anyOf": [
                  {
                    "type": "object",
                    "additionalProperties": {}
                  },
                  {
                    "type": "array",
                    "items": {}
                  }
                ]
              },
              "rationale": {
                "type": "string"
              },
              "proposed_by": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string"
                  },
                  "id": {
                    "type": "string"
                  },
                  "name": {
                    "type": [
                      "string",
                      "null"
                    ]
                  }
                },
                "required": [
                  "type",
                  "id",
                  "name"
                ]
              },
              "policy_decision": {
                "type": "string",
                "enum": [
                  "allow",
                  "require_approval",
                  "block"
                ]
              },
              "policy_reasons": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "policy_evidence": {}
            },
            "required": [
              "id",
              "type",
              "target_entity",
              "params",
              "rationale",
              "proposed_by",
              "policy_decision",
              "policy_reasons",
              "policy_evidence"
            ]
          }
        },
        "next_cursor": {
          "type": [
            "integer",
            "null"
          ]
        },
        "truncated": {
          "type": "boolean"
        },
        "continuation": {
          "type": "string"
        },
        "total": {
          "type": "integer"
        }
      },
      "required": [
        "id",
        "scope",
        "evidence_provenance",
        "status",
        "policy_decision",
        "policy_reasons",
        "approval_required",
        "inbox_url",
        "approval_queue_url",
        "rationale",
        "proposed_by",
        "actions"
      ]
    }
  },
  "required": [
    "proposal"
  ]
}

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/plainrouter-action-proposal-read"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.