{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/decionis-com/json-schema/decionis-com-vertex-bound-execution-request-schema.json",
  "title": "VertexBoundExecutionRequest",
  "x-generated": "2026-10-30",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/_original/decionis-com-openapi-openapi.yml#/components/schemas/VertexBoundExecutionRequest",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "org_id",
    "decision_type",
    "system_of_record",
    "intent",
    "downstream_target"
  ],
  "properties": {
    "org_id": {
      "type": "string",
      "format": "uuid"
    },
    "decision_type": {
      "type": "string",
      "maxLength": 120
    },
    "workflow_key": {
      "type": "string",
      "maxLength": 120
    },
    "vertical_pack": {
      "type": "string",
      "maxLength": 120
    },
    "policy_version": {
      "type": "string",
      "maxLength": 120
    },
    "system_of_record": {
      "type": "string",
      "maxLength": 120
    },
    "amount": {
      "type": "number"
    },
    "risk_score": {
      "type": "number",
      "minimum": 0,
      "maximum": 1
    },
    "channel": {
      "type": "string",
      "maxLength": 120
    },
    "decision_band": {
      "type": "string",
      "maxLength": 120
    },
    "transaction_type": {
      "type": "string",
      "maxLength": 120
    },
    "idempotency_key": {
      "type": "string",
      "maxLength": 180
    },
    "intent": {
      "$ref": "#/$defs/VertexIntent"
    },
    "context": {
      "type": "object",
      "additionalProperties": true
    },
    "google_context": {
      "$ref": "#/$defs/GoogleContext"
    },
    "downstream_target": {
      "$ref": "#/$defs/DownstreamTarget"
    },
    "binding_ttl_seconds": {
      "type": "integer",
      "minimum": 30,
      "maximum": 3600,
      "default": 300
    }
  },
  "$defs": {
    "DownstreamTarget": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "system",
        "operation"
      ],
      "properties": {
        "system": {
          "type": "string",
          "maxLength": 120
        },
        "operation": {
          "type": "string",
          "maxLength": 160
        },
        "endpoint": {
          "type": "string",
          "maxLength": 500
        },
        "resource_type": {
          "type": "string",
          "maxLength": 120
        },
        "resource_id": {
          "type": "string",
          "maxLength": 200
        },
        "required_decision_binding": {
          "type": "boolean",
          "default": true
        },
        "metadata": {
          "type": "object",
          "additionalProperties": true
        }
      }
    },
    "GoogleContext": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "agent_id": {
          "type": "string",
          "maxLength": 200
        },
        "agent_session_id": {
          "type": "string",
          "maxLength": 200
        },
        "tool_call_id": {
          "type": "string",
          "maxLength": 200
        },
        "project_id": {
          "type": "string",
          "maxLength": 120
        },
        "location": {
          "type": "string",
          "maxLength": 120
        },
        "service_account_email": {
          "type": "string",
          "format": "email"
        },
        "principal_subject": {
          "type": "string",
          "maxLength": 300
        },
        "user_email": {
          "type": "string",
          "format": "email"
        },
        "reasoning_model": {
          "type": "string",
          "maxLength": 120
        }
      }
    },
    "VertexIntent": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "action_type"
      ],
      "properties": {
        "action_type": {
          "type": "string",
          "maxLength": 160
        },
        "action_description": {
          "type": "string",
          "maxLength": 500
        },
        "target_entity": {
          "type": "string",
          "maxLength": 160
        },
        "target_id": {
          "type": "string",
          "maxLength": 200
        },
        "payload": {
          "type": "object",
          "additionalProperties": true
        }
      }
    }
  }
}