{
  "service": "prerender",
  "displayName": "Prerender",
  "categories": [
    "Marketing",
    "Developer Tools"
  ],
  "authTypes": [
    "api_key"
  ],
  "auth": [
    {
      "type": "api_key",
      "label": "API Token",
      "placeholder": "PRERENDER_API_TOKEN",
      "description": "Prerender API token sent as prerenderToken in REST API requests. Copy it from Account Settings in the Prerender dashboard: https://dashboard.prerender.io/"
    }
  ],
  "homepageUrl": "https://prerender.io",
  "actions": [
    {
      "id": "prerender.add_sitemap",
      "service": "prerender",
      "name": "add_sitemap",
      "description": "Submit a sitemap XML URL to Prerender so it can discover and cache new URLs from that sitemap.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "description": "The sitemap XML URL to submit to Prerender.",
            "format": "uri"
          }
        },
        "additionalProperties": false,
        "description": "The input payload for submitting a sitemap to Prerender."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "accepted": {
            "type": "boolean",
            "description": "Whether Prerender accepted the request."
          },
          "raw": {
            "anyOf": [
              {
                "description": "The raw Prerender response payload when one was returned."
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "additionalProperties": false,
        "description": "The normalized result for a successful Prerender write request."
      }
    },
    {
      "id": "prerender.clear_cache",
      "service": "prerender",
      "name": "clear_cache",
      "description": "Queue a Prerender cache clear request for URLs matching a wildcard query pattern.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string",
            "minLength": 1,
            "description": "The wildcard query used to match cached URLs to clear, such as https://example.com%.",
            "pattern": "\\S"
          }
        },
        "additionalProperties": false,
        "description": "The input payload for queueing a Prerender cache clear request."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "enum": [
              "queued",
              "in_progress"
            ],
            "description": "The cache clear job state reported by Prerender."
          },
          "raw": {
            "anyOf": [
              {
                "description": "The raw Prerender response payload when one was returned."
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "additionalProperties": false,
        "description": "The normalized result returned by the Prerender cache clear API."
      }
    },
    {
      "id": "prerender.get_cache_clear_status",
      "service": "prerender",
      "name": "get_cache_clear_status",
      "description": "Check whether a Prerender cache clear job is currently running for the authenticated account.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false,
        "description": "This action does not require any input parameters."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "enum": [
              "idle",
              "in_progress"
            ],
            "description": "The current cache clear job state reported by Prerender."
          },
          "raw": {
            "anyOf": [
              {
                "description": "The raw Prerender response payload when one was returned."
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "additionalProperties": false,
        "description": "The normalized Prerender cache clear status response."
      }
    },
    {
      "id": "prerender.recache_urls",
      "service": "prerender",
      "name": "recache_urls",
      "description": "Queue one or more URLs for first-time caching or recaching with the Prerender recache API.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "urls": {
            "type": "array",
            "items": {
              "type": "string",
              "description": "One public URL to cache or recache.",
              "format": "uri"
            },
            "description": "The public URLs to cache or recache.",
            "minItems": 1
          },
          "adaptiveType": {
            "type": "string",
            "enum": [
              "mobile",
              "desktop"
            ],
            "description": "The Prerender adaptive cache type to target."
          }
        },
        "additionalProperties": false,
        "required": [
          "urls"
        ],
        "description": "The input payload for queueing one or more Prerender recache URLs."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "accepted": {
            "type": "boolean",
            "description": "Whether Prerender accepted the request."
          },
          "raw": {
            "anyOf": [
              {
                "description": "The raw Prerender response payload when one was returned."
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "additionalProperties": false,
        "description": "The normalized result for a successful Prerender write request."
      }
    }
  ]
}
