{
  "service": "renderform",
  "displayName": "RenderForm",
  "categories": [
    "Design & Media",
    "Developer Tools"
  ],
  "authTypes": [
    "api_key"
  ],
  "auth": [
    {
      "type": "api_key",
      "label": "API Key",
      "placeholder": "RENDERFORM_API_KEY",
      "description": "RenderForm API key used with the X-API-KEY header. Create or copy it from the RenderForm API Keys tab: https://renderform.io/console/account/api-keys"
    }
  ],
  "homepageUrl": "https://renderform.io",
  "actions": [
    {
      "id": "renderform.get_template",
      "service": "renderform",
      "name": "get_template",
      "description": "Get one RenderForm template by identifier and return its normalized template details.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "templateId": {
            "type": "string",
            "minLength": 1,
            "description": "Template identifier to retrieve."
          }
        },
        "additionalProperties": false,
        "description": "Input parameters for getting one RenderForm template."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "template": {
            "type": "object",
            "properties": {
              "identifier": {
                "type": "string",
                "minLength": 1,
                "description": "Unique template identifier."
              },
              "name": {
                "type": "string",
                "minLength": 1,
                "description": "Template display name."
              },
              "preview": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "Preview URL for the template when available.",
                    "format": "uri"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "width": {
                "anyOf": [
                  {
                    "type": "integer",
                    "description": "Template width in pixels when available."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "height": {
                "anyOf": [
                  {
                    "type": "integer",
                    "description": "Template height in pixels when available."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "outputFormat": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "Configured output format such as `jpg`, `png`, or `pdf`."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "outputExtension": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "Configured file extension such as `.jpg` or `.pdf`."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "createdAt": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "Template creation timestamp when available."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "tags": {
                "type": "array",
                "items": {
                  "type": "string",
                  "description": "One template tag string."
                },
                "description": "Template tags."
              },
              "raw": {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "Raw template payload returned by RenderForm."
              }
            },
            "additionalProperties": true,
            "required": [
              "identifier",
              "name"
            ],
            "description": "RenderForm template summary returned by the API."
          }
        },
        "additionalProperties": false,
        "description": "Single RenderForm template response."
      }
    },
    {
      "id": "renderform.get_usage",
      "service": "renderform",
      "name": "get_usage",
      "description": "Get current RenderForm credit usage for the API key and return a normalized usage summary.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false,
        "description": "This action does not require any input parameters."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "usage": {
            "type": "object",
            "properties": {
              "identifier": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "Unique RenderForm organization identifier for the authenticated API key."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "credits": {
                "type": "object",
                "properties": {
                  "used": {
                    "type": "integer",
                    "description": "Credits already used in the current billing period."
                  },
                  "total": {
                    "type": "integer",
                    "description": "Total credits available in the current billing period."
                  },
                  "nextRenewalAt": {
                    "anyOf": [
                      {
                        "type": "string",
                        "description": "Date or timestamp when credits will be renewed when available."
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "renewalAmount": {
                    "anyOf": [
                      {
                        "type": "integer",
                        "description": "Number of credits to be granted on the next renewal when available."
                      },
                      {
                        "type": "null"
                      }
                    ]
                  }
                },
                "additionalProperties": false,
                "description": "RenderForm credit usage summary."
              },
              "uploads": {
                "type": "object",
                "properties": {
                  "used": {
                    "type": "integer",
                    "description": "Current upload storage used in bytes."
                  },
                  "total": {
                    "type": "integer",
                    "description": "Maximum upload storage available in bytes."
                  }
                },
                "additionalProperties": false,
                "description": "RenderForm upload storage usage summary."
              },
              "plan": {
                "anyOf": [
                  {
                    "type": "object",
                    "properties": {
                      "name": {
                        "anyOf": [
                          {
                            "type": "string",
                            "description": "Current RenderForm plan name when available."
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "status": {
                        "anyOf": [
                          {
                            "type": "string",
                            "description": "Current RenderForm plan status when available."
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "nextBillingAt": {
                        "anyOf": [
                          {
                            "type": "string",
                            "description": "Date or timestamp of the next billing event when available."
                          },
                          {
                            "type": "null"
                          }
                        ]
                      }
                    },
                    "additionalProperties": false,
                    "description": "Current RenderForm subscription plan summary."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "raw": {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "Raw usage payload returned by RenderForm."
              }
            },
            "additionalProperties": false,
            "description": "Current RenderForm usage counters for the authenticated account."
          }
        },
        "additionalProperties": false,
        "description": "Normalized RenderForm usage response."
      }
    },
    {
      "id": "renderform.list_results",
      "service": "renderform",
      "name": "list_results",
      "description": "List RenderForm generated results with pagination and optional template or batch filters.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "page": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based page number."
          },
          "size": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "description": "Number of results to return per page."
          },
          "batch": {
            "type": "string",
            "minLength": 1,
            "description": "Optional batch identifier filter."
          },
          "template": {
            "type": "string",
            "minLength": 1,
            "description": "Optional template identifier filter."
          }
        },
        "additionalProperties": false,
        "description": "Input parameters for listing RenderForm results."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "results": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "identifier": {
                  "type": "string",
                  "minLength": 1,
                  "description": "Unique result identifier."
                },
                "href": {
                  "type": "string",
                  "description": "Download URL for the generated file.",
                  "format": "uri"
                },
                "width": {
                  "anyOf": [
                    {
                      "type": "integer",
                      "description": "Generated width in pixels when available."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "height": {
                  "anyOf": [
                    {
                      "type": "integer",
                      "description": "Generated height in pixels when available."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "fileName": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "Generated file name when RenderForm returns one."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "createdAt": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "Result creation timestamp when available."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "deletedAt": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "Deletion timestamp when the result has been removed."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "templateName": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "Template name used for the render when available."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "templateIdentifier": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "Template identifier used for the render when available."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "raw": {
                  "type": "object",
                  "properties": {},
                  "additionalProperties": true,
                  "description": "Raw result payload returned by RenderForm."
                }
              },
              "additionalProperties": true,
              "required": [
                "identifier",
                "href"
              ],
              "description": "RenderForm render result summary returned by the API."
            },
            "description": "RenderForm results returned by the page."
          },
          "page": {
            "type": "integer",
            "description": "Current zero-based page number."
          },
          "size": {
            "type": "integer",
            "description": "Requested page size."
          },
          "totalPages": {
            "anyOf": [
              {
                "type": "integer",
                "description": "Total page count when RenderForm returns one."
              },
              {
                "type": "null"
              }
            ]
          },
          "totalElements": {
            "anyOf": [
              {
                "type": "integer",
                "description": "Total item count when RenderForm returns one."
              },
              {
                "type": "null"
              }
            ]
          },
          "numberOfElements": {
            "anyOf": [
              {
                "type": "integer",
                "description": "Number of items present in the current page when available."
              },
              {
                "type": "null"
              }
            ]
          },
          "first": {
            "type": "boolean",
            "description": "Whether this page is the first page."
          },
          "last": {
            "type": "boolean",
            "description": "Whether this page is the last page."
          },
          "empty": {
            "type": "boolean",
            "description": "Whether this page is empty."
          },
          "pageable": {
            "anyOf": [
              {
                "type": "object",
                "properties": {
                  "sort": {
                    "type": "object",
                    "properties": {
                      "empty": {
                        "type": "boolean",
                        "description": "Whether the sort definition is empty."
                      },
                      "sorted": {
                        "type": "boolean",
                        "description": "Whether the result set is sorted."
                      },
                      "unsorted": {
                        "type": "boolean",
                        "description": "Whether the result set is unsorted."
                      }
                    },
                    "additionalProperties": false,
                    "description": "Sort flags returned by RenderForm pagination responses."
                  },
                  "offset": {
                    "type": "integer",
                    "description": "Zero-based item offset for the current page."
                  },
                  "pageNumber": {
                    "type": "integer",
                    "description": "Zero-based page number."
                  },
                  "pageSize": {
                    "type": "integer",
                    "description": "Configured page size."
                  },
                  "unpaged": {
                    "type": "boolean",
                    "description": "Whether pagination is disabled."
                  },
                  "paged": {
                    "type": "boolean",
                    "description": "Whether pagination is enabled."
                  }
                },
                "additionalProperties": false,
                "description": "Page metadata returned by RenderForm for paginated responses."
              },
              {
                "type": "null"
              }
            ]
          },
          "sort": {
            "anyOf": [
              {
                "type": "object",
                "properties": {
                  "empty": {
                    "type": "boolean",
                    "description": "Whether the sort definition is empty."
                  },
                  "sorted": {
                    "type": "boolean",
                    "description": "Whether the result set is sorted."
                  },
                  "unsorted": {
                    "type": "boolean",
                    "description": "Whether the result set is unsorted."
                  }
                },
                "additionalProperties": false,
                "description": "Sort flags returned by RenderForm pagination responses."
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "additionalProperties": false,
        "description": "Paginated RenderForm result list."
      }
    },
    {
      "id": "renderform.list_templates",
      "service": "renderform",
      "name": "list_templates",
      "description": "List RenderForm templates with optional pagination and filters for name, tags, and source template ID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "description": "Optional template name filter."
          },
          "page": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based page number."
          },
          "size": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "description": "Number of templates to return per page."
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Template tags used to filter the template list.",
            "minItems": 1
          },
          "sourceTemplateId": {
            "type": "string",
            "minLength": 1,
            "description": "Optional source template identifier used to filter cloned templates."
          }
        },
        "additionalProperties": false,
        "description": "Input parameters for listing RenderForm templates."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "templates": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "identifier": {
                  "type": "string",
                  "minLength": 1,
                  "description": "Unique template identifier."
                },
                "name": {
                  "type": "string",
                  "minLength": 1,
                  "description": "Template display name."
                },
                "preview": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "Preview URL for the template when available.",
                      "format": "uri"
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "width": {
                  "anyOf": [
                    {
                      "type": "integer",
                      "description": "Template width in pixels when available."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "height": {
                  "anyOf": [
                    {
                      "type": "integer",
                      "description": "Template height in pixels when available."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "outputFormat": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "Configured output format such as `jpg`, `png`, or `pdf`."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "outputExtension": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "Configured file extension such as `.jpg` or `.pdf`."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "createdAt": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "Template creation timestamp when available."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "tags": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "description": "One template tag string."
                  },
                  "description": "Template tags."
                },
                "raw": {
                  "type": "object",
                  "properties": {},
                  "additionalProperties": true,
                  "description": "Raw template payload returned by RenderForm."
                }
              },
              "additionalProperties": true,
              "required": [
                "identifier",
                "name"
              ],
              "description": "RenderForm template summary returned by the API."
            },
            "description": "Template summaries returned by RenderForm."
          },
          "page": {
            "type": "integer",
            "description": "Current zero-based page number."
          },
          "size": {
            "type": "integer",
            "description": "Requested page size."
          },
          "totalPages": {
            "anyOf": [
              {
                "type": "integer",
                "description": "Total page count when RenderForm returns one."
              },
              {
                "type": "null"
              }
            ]
          },
          "totalElements": {
            "anyOf": [
              {
                "type": "integer",
                "description": "Total item count when RenderForm returns one."
              },
              {
                "type": "null"
              }
            ]
          },
          "numberOfElements": {
            "anyOf": [
              {
                "type": "integer",
                "description": "Number of items present in the current page when available."
              },
              {
                "type": "null"
              }
            ]
          },
          "first": {
            "type": "boolean",
            "description": "Whether this page is the first page."
          },
          "last": {
            "type": "boolean",
            "description": "Whether this page is the last page."
          },
          "empty": {
            "type": "boolean",
            "description": "Whether this page is empty."
          },
          "pageable": {
            "anyOf": [
              {
                "type": "object",
                "properties": {
                  "sort": {
                    "type": "object",
                    "properties": {
                      "empty": {
                        "type": "boolean",
                        "description": "Whether the sort definition is empty."
                      },
                      "sorted": {
                        "type": "boolean",
                        "description": "Whether the result set is sorted."
                      },
                      "unsorted": {
                        "type": "boolean",
                        "description": "Whether the result set is unsorted."
                      }
                    },
                    "additionalProperties": false,
                    "description": "Sort flags returned by RenderForm pagination responses."
                  },
                  "offset": {
                    "type": "integer",
                    "description": "Zero-based item offset for the current page."
                  },
                  "pageNumber": {
                    "type": "integer",
                    "description": "Zero-based page number."
                  },
                  "pageSize": {
                    "type": "integer",
                    "description": "Configured page size."
                  },
                  "unpaged": {
                    "type": "boolean",
                    "description": "Whether pagination is disabled."
                  },
                  "paged": {
                    "type": "boolean",
                    "description": "Whether pagination is enabled."
                  }
                },
                "additionalProperties": false,
                "description": "Page metadata returned by RenderForm for paginated responses."
              },
              {
                "type": "null"
              }
            ]
          },
          "sort": {
            "anyOf": [
              {
                "type": "object",
                "properties": {
                  "empty": {
                    "type": "boolean",
                    "description": "Whether the sort definition is empty."
                  },
                  "sorted": {
                    "type": "boolean",
                    "description": "Whether the result set is sorted."
                  },
                  "unsorted": {
                    "type": "boolean",
                    "description": "Whether the result set is unsorted."
                  }
                },
                "additionalProperties": false,
                "description": "Sort flags returned by RenderForm pagination responses."
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "additionalProperties": false,
        "description": "Paginated RenderForm template list."
      }
    },
    {
      "id": "renderform.render_image",
      "service": "renderform",
      "name": "render_image",
      "description": "Render one RenderForm image or PDF from a template and return the request identifier, file URL, and echoed request.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "template": {
            "type": "string",
            "minLength": 1,
            "description": "Template identifier to render."
          },
          "data": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Template data object forwarded to RenderForm for placeholder replacement."
          },
          "fileName": {
            "type": "string",
            "minLength": 1,
            "description": "Optional custom output file name."
          },
          "webhookUrl": {
            "type": "string",
            "description": "Optional webhook URL called by RenderForm after rendering completes.",
            "format": "uri"
          },
          "metadata": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Arbitrary metadata object stored together with the generated RenderForm result."
          },
          "version": {
            "type": "string",
            "minLength": 1,
            "description": "Optional cache-busting version string used to force a fresh render."
          },
          "width": {
            "type": "integer",
            "minimum": 1,
            "description": "Optional output width in pixels."
          },
          "height": {
            "type": "integer",
            "minimum": 1,
            "description": "Optional output height in pixels."
          },
          "waitTime": {
            "type": "integer",
            "minimum": 0,
            "maximum": 5000,
            "description": "Optional wait time in milliseconds before rendering begins."
          }
        },
        "additionalProperties": false,
        "required": [
          "template"
        ],
        "description": "Input parameters for rendering one RenderForm image or PDF."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "requestId": {
            "type": "string",
            "minLength": 1,
            "description": "Unique request identifier."
          },
          "href": {
            "type": "string",
            "description": "URL of the generated image, PDF, or screenshot file.",
            "format": "uri"
          },
          "request": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Echoed request payload returned by RenderForm when available."
          }
        },
        "additionalProperties": false,
        "description": "Normalized RenderForm async render response."
      }
    },
    {
      "id": "renderform.take_screenshot",
      "service": "renderform",
      "name": "take_screenshot",
      "description": "Capture one website screenshot with RenderForm and return the request identifier, file URL, and echoed request.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "description": "Website URL to capture.",
            "format": "uri"
          },
          "width": {
            "type": "integer",
            "minimum": 1,
            "description": "Screenshot width in pixels."
          },
          "height": {
            "type": "integer",
            "minimum": 1,
            "description": "Screenshot height in pixels."
          },
          "waitTime": {
            "type": "integer",
            "minimum": 500,
            "maximum": 5000,
            "description": "Optional wait time in milliseconds before capture."
          }
        },
        "additionalProperties": false,
        "required": [
          "url",
          "width",
          "height"
        ],
        "description": "Input parameters for taking one website screenshot with RenderForm."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "requestId": {
            "type": "string",
            "minLength": 1,
            "description": "Unique request identifier."
          },
          "href": {
            "type": "string",
            "description": "URL of the generated image, PDF, or screenshot file.",
            "format": "uri"
          },
          "request": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Echoed request payload returned by RenderForm when available."
          }
        },
        "additionalProperties": false,
        "description": "Normalized RenderForm async render response."
      }
    }
  ]
}
