Skip to content
HOA Power Tools

Approval Requests

Give homeowners one link to ask for approval, and get a recommendation on each request checked against your own rules.

Using this tool from an agent

The same operations this page runs, over HTTP or MCP. Schemas are the ones the server enforces, so what is written here is what will actually be accepted.

Operations

OperationEngineCost
approval_requests.draft_form
MCP tool name: approval_requests_draft_form
aiAPI key
Needs an API key. Spends 1 AI credit from the key owner's monthly allowance.

Calling it

curl -X POST https://tools.rodri.ai/api/agent/tools/approval_requests/runs \
  -H "Authorization: Bearer hpt_live_…" \
  -H "Content-Type: application/json" \
  -d '{"operation": "approval_requests.draft_form", "input": { … }}'
Input schema: approval_requests.draft_form
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "organizationName": {
      "type": "string",
      "maxLength": 120
    },
    "requestTypes": {
      "minItems": 1,
      "maxItems": 12,
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1,
        "maxLength": 60
      }
    },
    "communities": {
      "minItems": 1,
      "maxItems": 30,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 120
          },
          "rule": {
            "type": "string",
            "enum": [
              "none",
              "one",
              "majority",
              "all"
            ]
          },
          "notes": {
            "default": "",
            "type": "string",
            "maxLength": 500
          }
        },
        "required": [
          "name",
          "rule"
        ]
      }
    },
    "sourceSetId": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    },
    "sourceSetVersion": {
      "default": 1,
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "locale": {
      "default": "en",
      "type": "string",
      "enum": [
        "en",
        "es"
      ]
    }
  },
  "required": [
    "requestTypes",
    "communities"
  ]
}