{"transport":{"path":"/api/mcp","type":"stateless Streamable HTTP","method":"POST","batchRequests":false},"modules":["sites","deals","tasks","projects","budgets","vendors","permits","bids","rfis","rfps","contacts","invoices","change_requests","purchase_lists","documents","leases","field_operations","reports"],"tools":[{"name":"list_sites","description":"Use this when working with RetailHardHat sites records in the connected organization. List sites in your organization. Supports bounded pagination and search.","module":"sites","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"limit":{"default":50,"type":"integer","minimum":1,"maximum":100},"offset":{"default":0,"type":"integer","minimum":0,"maximum":100000},"search":{"type":"string","maxLength":200},"id":{"description":"Optional exact record UUID. Filters the authorized list to this record, without broadening permissions.","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)$"},"siteId":{"description":"Optional RetailHardHat location UUID, not a location name. Resolve names with list_sites first.","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)$"},"status":{"type":"string","maxLength":80}},"additionalProperties":false}},{"name":"get_site","description":"Use this when working with RetailHardHat sites records in the connected organization. Read a site by ID.","module":"sites","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"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)$"}},"required":["id"],"additionalProperties":false}},{"name":"create_site","description":"Use this when working with RetailHardHat sites records in the connected organization. Create site. Required fields are validated by the application. No change occurs until a human approves the exact request in Settings > MCP and execute_approved_action is called.","module":"sites","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"name":{"type":"string","maxLength":10000},"siteNumber":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"address":{"type":"string","maxLength":10000},"city":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"state":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"zipCode":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"region":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"latitude":{"anyOf":[{"type":"number"},{"type":"null"}]},"longitude":{"anyOf":[{"type":"number"},{"type":"null"}]},"phaseId":{"anyOf":[{"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)$"},{"type":"null"}]},"status":{"type":"string","enum":["active","under_review","on_hold","completed","cancelled"]},"score":{"anyOf":[{"type":"number"},{"type":"null"}]},"acquisitionType":{"anyOf":[{"type":"string","enum":["lease","purchase"]},{"type":"null"}]},"projectType":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"projectStartDate":{"anyOf":[{"anyOf":[{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-]\\d{2}:\\d{2})))$"}]},{"type":"null"}]},"targetOpeningDate":{"anyOf":[{"anyOf":[{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-]\\d{2}:\\d{2})))$"}]},{"type":"null"}]},"demographics":{"anyOf":[{"$ref":"#/$defs/__schema0"},{"type":"null"}]},"financials":{"anyOf":[{"$ref":"#/$defs/__schema1"},{"type":"null"}]},"details":{"anyOf":[{"$ref":"#/$defs/__schema2"},{"type":"null"}]},"landlordContactId":{"anyOf":[{"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)$"},{"type":"null"}]},"sourceDealId":{"anyOf":[{"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)$"},{"type":"null"}]},"dealTransferNotes":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"dealTransferredAt":{"anyOf":[{"anyOf":[{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-]\\d{2}:\\d{2})))$"}]},{"type":"null"}]},"smartshiftsLocationId":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"quipassistLocationId":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"incidentvaultLocationId":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"policytrakLocationId":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"leasecommandLocationId":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"lastAppliedPurchaseTemplateId":{"anyOf":[{"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)$"},{"type":"null"}]},"lastAppliedPurchaseTemplateAt":{"anyOf":[{"anyOf":[{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-]\\d{2}:\\d{2})))$"}]},{"type":"null"}]},"projectLeadId":{"anyOf":[{"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)$"},{"type":"null"}]},"classification":{"type":"string","enum":["public","internal","confidential","restricted"]}},"required":["name","address"],"additionalProperties":false}},"required":["data"],"additionalProperties":false,"$defs":{"__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema0"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}]},"__schema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema1"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema1"}}]},"__schema2":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema2"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema2"}}]}}}},{"name":"update_site","description":"Use this when working with RetailHardHat sites records in the connected organization. Update allowed fields of site. No change occurs until a human approves the exact request in Settings > MCP and execute_approved_action is called.","module":"sites","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"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)$"},"data":{"type":"object","properties":{"name":{"type":"string","maxLength":10000},"siteNumber":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"address":{"type":"string","maxLength":10000},"city":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"state":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"zipCode":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"region":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"latitude":{"anyOf":[{"type":"number"},{"type":"null"}]},"longitude":{"anyOf":[{"type":"number"},{"type":"null"}]},"phaseId":{"anyOf":[{"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)$"},{"type":"null"}]},"status":{"type":"string","enum":["active","under_review","on_hold","completed","cancelled"]},"score":{"anyOf":[{"type":"number"},{"type":"null"}]},"acquisitionType":{"anyOf":[{"type":"string","enum":["lease","purchase"]},{"type":"null"}]},"projectType":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"projectStartDate":{"anyOf":[{"anyOf":[{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-]\\d{2}:\\d{2})))$"}]},{"type":"null"}]},"targetOpeningDate":{"anyOf":[{"anyOf":[{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-]\\d{2}:\\d{2})))$"}]},{"type":"null"}]},"demographics":{"anyOf":[{"$ref":"#/$defs/__schema0"},{"type":"null"}]},"financials":{"anyOf":[{"$ref":"#/$defs/__schema1"},{"type":"null"}]},"details":{"anyOf":[{"$ref":"#/$defs/__schema2"},{"type":"null"}]},"landlordContactId":{"anyOf":[{"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)$"},{"type":"null"}]},"sourceDealId":{"anyOf":[{"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)$"},{"type":"null"}]},"dealTransferNotes":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"dealTransferredAt":{"anyOf":[{"anyOf":[{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-]\\d{2}:\\d{2})))$"}]},{"type":"null"}]},"smartshiftsLocationId":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"quipassistLocationId":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"incidentvaultLocationId":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"policytrakLocationId":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"leasecommandLocationId":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"lastAppliedPurchaseTemplateId":{"anyOf":[{"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)$"},{"type":"null"}]},"lastAppliedPurchaseTemplateAt":{"anyOf":[{"anyOf":[{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-]\\d{2}:\\d{2})))$"}]},{"type":"null"}]},"projectLeadId":{"anyOf":[{"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)$"},{"type":"null"}]},"classification":{"type":"string","enum":["public","internal","confidential","restricted"]}},"additionalProperties":false}},"required":["id","data"],"additionalProperties":false,"$defs":{"__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema0"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}]},"__schema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema1"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema1"}}]},"__schema2":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema2"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema2"}}]}}}},{"name":"delete_site","description":"Use this when working with RetailHardHat sites records in the connected organization. Delete site. Always requires in-app approval; may cascade to related records. No change occurs until a human approves the exact request in Settings > MCP and execute_approved_action is called.","module":"sites","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"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)$"}},"required":["id"],"additionalProperties":false}},{"name":"list_deals","description":"Use this when working with RetailHardHat deals records in the connected organization. List deals in your organization. Supports bounded pagination and search.","module":"deals","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"limit":{"default":50,"type":"integer","minimum":1,"maximum":100},"offset":{"default":0,"type":"integer","minimum":0,"maximum":100000},"search":{"type":"string","maxLength":200},"id":{"description":"Optional exact record UUID. Filters the authorized list to this record, without broadening permissions.","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)$"},"siteId":{"description":"Optional RetailHardHat location UUID, not a location name. Resolve names with list_sites first.","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)$"},"status":{"type":"string","maxLength":80}},"additionalProperties":false}},{"name":"get_deal","description":"Use this when working with RetailHardHat deals records in the connected organization. Read a deal by ID.","module":"deals","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"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)$"}},"required":["id"],"additionalProperties":false}},{"name":"create_deal","description":"Use this when working with RetailHardHat deals records in the connected organization. Create deal. Required fields are validated by the application. No change occurs until a human approves the exact request in Settings > MCP and execute_approved_action is called.","module":"deals","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"name":{"type":"string","maxLength":10000},"assetType":{"anyOf":[{"type":"string","enum":["retail","restaurant","qsr","convenience","gas_station","mixed_use","pad_site","inline","endcap","freestanding","other"]},{"type":"null"}]},"address":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"address2":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"city":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"state":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"zipCode":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"sponsor":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"source":{"anyOf":[{"type":"string","enum":["broker","off_market","internal","referral","auction","other"]},{"type":"null"}]},"stage":{"type":"string","enum":["prospect","loi","psa","due_diligence","closing","closed","dead","sourcing","screening"]},"stageEntryDate":{"anyOf":[{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-]\\d{2}:\\d{2})))$"}]},"loiDate":{"anyOf":[{"anyOf":[{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-]\\d{2}:\\d{2})))$"}]},{"type":"null"}]},"psaExecutionDate":{"anyOf":[{"anyOf":[{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-]\\d{2}:\\d{2})))$"}]},{"type":"null"}]},"ddExpirationDate":{"anyOf":[{"anyOf":[{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-]\\d{2}:\\d{2})))$"}]},{"type":"null"}]},"closingTargetDate":{"anyOf":[{"anyOf":[{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-]\\d{2}:\\d{2})))$"}]},{"type":"null"}]},"notes":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"commissionRate":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"estimatedValue":{"anyOf":[{"type":"number"},{"type":"null"}]},"squareFootage":{"anyOf":[{"type":"number"},{"type":"null"}]},"advanceProbability":{"anyOf":[{"type":"number"},{"type":"null"}]},"closeProbability":{"anyOf":[{"type":"number"},{"type":"null"}]},"isProbabilityAutoCalculated":{"type":"boolean"},"probabilityOverrideJustification":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"nextAction":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"nextActionDueDate":{"anyOf":[{"anyOf":[{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-]\\d{2}:\\d{2})))$"}]},{"type":"null"}]},"lastActivityAt":{"anyOf":[{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-]\\d{2}:\\d{2})))$"}]},"siteId":{"anyOf":[{"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)$"},{"type":"null"}]},"brokerId":{"anyOf":[{"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)$"},{"type":"null"}]},"demographics":{"anyOf":[{"$ref":"#/$defs/__schema0"},{"type":"null"}]}},"required":["name"],"additionalProperties":false}},"required":["data"],"additionalProperties":false,"$defs":{"__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema0"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}]}}}},{"name":"update_deal","description":"Use this when working with RetailHardHat deals records in the connected organization. Update allowed fields of deal. No change occurs until a human approves the exact request in Settings > MCP and execute_approved_action is called.","module":"deals","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"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)$"},"data":{"type":"object","properties":{"name":{"type":"string","maxLength":10000},"assetType":{"anyOf":[{"type":"string","enum":["retail","restaurant","qsr","convenience","gas_station","mixed_use","pad_site","inline","endcap","freestanding","other"]},{"type":"null"}]},"address":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"address2":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"city":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"state":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"zipCode":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"sponsor":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"source":{"anyOf":[{"type":"string","enum":["broker","off_market","internal","referral","auction","other"]},{"type":"null"}]},"stage":{"type":"string","enum":["prospect","loi","psa","due_diligence","closing","closed","dead","sourcing","screening"]},"stageEntryDate":{"anyOf":[{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-]\\d{2}:\\d{2})))$"}]},"loiDate":{"anyOf":[{"anyOf":[{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-]\\d{2}:\\d{2})))$"}]},{"type":"null"}]},"psaExecutionDate":{"anyOf":[{"anyOf":[{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-]\\d{2}:\\d{2})))$"}]},{"type":"null"}]},"ddExpirationDate":{"anyOf":[{"anyOf":[{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-]\\d{2}:\\d{2})))$"}]},{"type":"null"}]},"closingTargetDate":{"anyOf":[{"anyOf":[{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-]\\d{2}:\\d{2})))$"}]},{"type":"null"}]},"notes":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"commissionRate":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"estimatedValue":{"anyOf":[{"type":"number"},{"type":"null"}]},"squareFootage":{"anyOf":[{"type":"number"},{"type":"null"}]},"advanceProbability":{"anyOf":[{"type":"number"},{"type":"null"}]},"closeProbability":{"anyOf":[{"type":"number"},{"type":"null"}]},"isProbabilityAutoCalculated":{"type":"boolean"},"probabilityOverrideJustification":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"nextAction":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"nextActionDueDate":{"anyOf":[{"anyOf":[{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-]\\d{2}:\\d{2})))$"}]},{"type":"null"}]},"lastActivityAt":{"anyOf":[{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-]\\d{2}:\\d{2})))$"}]},"siteId":{"anyOf":[{"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)$"},{"type":"null"}]},"brokerId":{"anyOf":[{"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)$"},{"type":"null"}]},"demographics":{"anyOf":[{"$ref":"#/$defs/__schema0"},{"type":"null"}]}},"additionalProperties":false}},"required":["id","data"],"additionalProperties":false,"$defs":{"__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema0"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}]}}}},{"name":"delete_deal","description":"Use this when working with RetailHardHat deals records in the connected organization. Delete deal. Always requires in-app approval; may cascade to related records. No change occurs until a human approves the exact request in Settings > MCP and execute_approved_action is called.","module":"deals","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"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)$"}},"required":["id"],"additionalProperties":false}},{"name":"list_tasks","description":"Use this when working with RetailHardHat tasks records in the connected organization. List tasks in your organization. Supports bounded pagination and search.","module":"tasks","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"limit":{"default":50,"type":"integer","minimum":1,"maximum":100},"offset":{"default":0,"type":"integer","minimum":0,"maximum":100000},"search":{"type":"string","maxLength":200},"id":{"description":"Optional exact record UUID. Filters the authorized list to this record, without broadening permissions.","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)$"},"siteId":{"description":"Optional RetailHardHat location UUID, not a location name. Resolve names with list_sites first.","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)$"},"status":{"type":"string","maxLength":80}},"additionalProperties":false}},{"name":"create_task","description":"Use this when working with RetailHardHat tasks records in the connected organization. Create task. Required fields are validated by the application.","module":"tasks","sensitive":false,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"siteId":{"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)$"},"phaseId":{"anyOf":[{"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)$"},{"type":"null"}]},"parentId":{"anyOf":[{"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)$"},{"type":"null"}]},"title":{"type":"string","maxLength":10000},"description":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"type":{"type":"string","enum":["task","inspection","milestone","checklist","phase"]},"team":{"type":"string","enum":["construction","real_estate","finance","operations","legal","marketing","hr","it","general"]},"assignee":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"assignedToUserId":{"anyOf":[{"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)$"},{"type":"null"}]},"priority":{"type":"string","enum":["low","medium","high"]},"status":{"type":"string","enum":["todo","in_progress","review","completed","cancelled"]},"isUrgent":{"type":"boolean"},"estimatedHours":{"anyOf":[{"type":"number"},{"type":"null"}]},"tags":{"maxItems":500,"type":"array","items":{"$ref":"#/$defs/__schema0"}},"dueDate":{"anyOf":[{"anyOf":[{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-]\\d{2}:\\d{2})))$"}]},{"type":"null"}]},"startDate":{"anyOf":[{"anyOf":[{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-]\\d{2}:\\d{2})))$"}]},{"type":"null"}]},"dueDaysBeforeOpening":{"anyOf":[{"type":"number"},{"type":"null"}]},"startDaysBeforeOpening":{"anyOf":[{"type":"number"},{"type":"null"}]},"assigneeIds":{"maxItems":100,"type":"array","items":{"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)$"}},"teams":{"maxItems":30,"type":"array","items":{"type":"string","enum":["construction","real_estate","finance","operations","legal","marketing","hr","it","general"]}}},"required":["siteId","title"],"additionalProperties":false}},"required":["data"],"additionalProperties":false,"$defs":{"__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema0"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}]}}}},{"name":"update_task","description":"Use this when working with RetailHardHat tasks records in the connected organization. Update allowed fields of task.","module":"tasks","sensitive":false,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"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)$"},"data":{"type":"object","properties":{"siteId":{"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)$"},"phaseId":{"anyOf":[{"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)$"},{"type":"null"}]},"parentId":{"anyOf":[{"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)$"},{"type":"null"}]},"title":{"type":"string","maxLength":10000},"description":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"type":{"type":"string","enum":["task","inspection","milestone","checklist","phase"]},"team":{"type":"string","enum":["construction","real_estate","finance","operations","legal","marketing","hr","it","general"]},"assignee":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"assignedToUserId":{"anyOf":[{"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)$"},{"type":"null"}]},"priority":{"type":"string","enum":["low","medium","high"]},"status":{"type":"string","enum":["todo","in_progress","review","completed","cancelled"]},"isUrgent":{"type":"boolean"},"estimatedHours":{"anyOf":[{"type":"number"},{"type":"null"}]},"tags":{"maxItems":500,"type":"array","items":{"$ref":"#/$defs/__schema0"}},"dueDate":{"anyOf":[{"anyOf":[{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-]\\d{2}:\\d{2})))$"}]},{"type":"null"}]},"startDate":{"anyOf":[{"anyOf":[{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-]\\d{2}:\\d{2})))$"}]},{"type":"null"}]},"dueDaysBeforeOpening":{"anyOf":[{"type":"number"},{"type":"null"}]},"startDaysBeforeOpening":{"anyOf":[{"type":"number"},{"type":"null"}]},"assigneeIds":{"maxItems":100,"type":"array","items":{"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)$"}},"teams":{"maxItems":30,"type":"array","items":{"type":"string","enum":["construction","real_estate","finance","operations","legal","marketing","hr","it","general"]}}},"additionalProperties":false}},"required":["id","data"],"additionalProperties":false,"$defs":{"__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema0"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}]}}}},{"name":"delete_task","description":"Use this when working with RetailHardHat tasks records in the connected organization. Delete task. Always requires in-app approval; may cascade to related records. No change occurs until a human approves the exact request in Settings > MCP and execute_approved_action is called.","module":"tasks","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"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)$"}},"required":["id"],"additionalProperties":false}},{"name":"list_projects","description":"Use this when working with RetailHardHat projects records in the connected organization. List projects in your organization. Supports bounded pagination and search.","module":"projects","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"limit":{"default":50,"type":"integer","minimum":1,"maximum":100},"offset":{"default":0,"type":"integer","minimum":0,"maximum":100000},"search":{"type":"string","maxLength":200},"id":{"description":"Optional exact record UUID. Filters the authorized list to this record, without broadening permissions.","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)$"},"siteId":{"description":"Optional RetailHardHat location UUID, not a location name. Resolve names with list_sites first.","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)$"},"status":{"type":"string","maxLength":80}},"additionalProperties":false}},{"name":"get_project","description":"Use this when working with RetailHardHat projects records in the connected organization. Read a project by ID.","module":"projects","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"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)$"}},"required":["id"],"additionalProperties":false}},{"name":"create_project","description":"Use this when working with RetailHardHat projects records in the connected organization. Create project. Required fields are validated by the application. No change occurs until a human approves the exact request in Settings > MCP and execute_approved_action is called.","module":"projects","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"siteId":{"anyOf":[{"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)$"},{"type":"null"}]},"name":{"type":"string","maxLength":10000},"description":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"category":{"type":"string","enum":["event","marketing","technology","operations","partnership","other"]},"status":{"type":"string","enum":["planning","active","on_hold","completed","cancelled"]},"projectLeadId":{"anyOf":[{"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)$"},{"type":"null"}]},"startDate":{"anyOf":[{"anyOf":[{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-]\\d{2}:\\d{2})))$"}]},{"type":"null"}]},"endDate":{"anyOf":[{"anyOf":[{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-]\\d{2}:\\d{2})))$"}]},{"type":"null"}]},"priority":{"type":"string","enum":["low","medium","high"]},"phaseId":{"anyOf":[{"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)$"},{"type":"null"}]}},"required":["name"],"additionalProperties":false}},"required":["data"],"additionalProperties":false}},{"name":"update_project","description":"Use this when working with RetailHardHat projects records in the connected organization. Update allowed fields of project. No change occurs until a human approves the exact request in Settings > MCP and execute_approved_action is called.","module":"projects","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"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)$"},"data":{"type":"object","properties":{"siteId":{"anyOf":[{"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)$"},{"type":"null"}]},"name":{"type":"string","maxLength":10000},"description":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"category":{"type":"string","enum":["event","marketing","technology","operations","partnership","other"]},"status":{"type":"string","enum":["planning","active","on_hold","completed","cancelled"]},"projectLeadId":{"anyOf":[{"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)$"},{"type":"null"}]},"startDate":{"anyOf":[{"anyOf":[{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-]\\d{2}:\\d{2})))$"}]},{"type":"null"}]},"endDate":{"anyOf":[{"anyOf":[{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-]\\d{2}:\\d{2})))$"}]},{"type":"null"}]},"priority":{"type":"string","enum":["low","medium","high"]},"phaseId":{"anyOf":[{"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)$"},{"type":"null"}]}},"additionalProperties":false}},"required":["id","data"],"additionalProperties":false}},{"name":"delete_project","description":"Use this when working with RetailHardHat projects records in the connected organization. Delete project. Always requires in-app approval; may cascade to related records. No change occurs until a human approves the exact request in Settings > MCP and execute_approved_action is called.","module":"projects","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"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)$"}},"required":["id"],"additionalProperties":false}},{"name":"list_vendors","description":"Use this when working with RetailHardHat vendors records in the connected organization. List vendors in your organization. Supports bounded pagination and search.","module":"vendors","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"limit":{"default":50,"type":"integer","minimum":1,"maximum":100},"offset":{"default":0,"type":"integer","minimum":0,"maximum":100000},"search":{"type":"string","maxLength":200},"id":{"description":"Optional exact record UUID. Filters the authorized list to this record, without broadening permissions.","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)$"},"siteId":{"description":"Optional RetailHardHat location UUID, not a location name. Resolve names with list_sites first.","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)$"},"status":{"type":"string","maxLength":80}},"additionalProperties":false}},{"name":"get_vendor","description":"Use this when working with RetailHardHat vendors records in the connected organization. Read a vendor by ID.","module":"vendors","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"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)$"}},"required":["id"],"additionalProperties":false}},{"name":"create_vendor","description":"Use this when working with RetailHardHat vendors records in the connected organization. Create vendor. Required fields are validated by the application. No change occurs until a human approves the exact request in Settings > MCP and execute_approved_action is called.","module":"vendors","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"name":{"type":"string","maxLength":10000},"category":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"contactName":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"contactEmail":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"contactPhone":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"address":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"city":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"state":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"zipCode":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"website":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"notes":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"status":{"type":"string","enum":["active","inactive","pending"]}},"required":["name"],"additionalProperties":false}},"required":["data"],"additionalProperties":false}},{"name":"update_vendor","description":"Use this when working with RetailHardHat vendors records in the connected organization. Update allowed fields of vendor. No change occurs until a human approves the exact request in Settings > MCP and execute_approved_action is called.","module":"vendors","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"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)$"},"data":{"type":"object","properties":{"name":{"type":"string","maxLength":10000},"category":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"contactName":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"contactEmail":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"contactPhone":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"address":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"city":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"state":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"zipCode":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"website":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"notes":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"status":{"type":"string","enum":["active","inactive","pending"]}},"additionalProperties":false}},"required":["id","data"],"additionalProperties":false}},{"name":"delete_vendor","description":"Use this when working with RetailHardHat vendors records in the connected organization. Delete vendor. Always requires in-app approval; may cascade to related records. No change occurs until a human approves the exact request in Settings > MCP and execute_approved_action is called.","module":"vendors","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"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)$"}},"required":["id"],"additionalProperties":false}},{"name":"list_permits","description":"Use this when working with RetailHardHat permits records in the connected organization. List permits in your organization. Supports bounded pagination and search.","module":"permits","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"limit":{"default":50,"type":"integer","minimum":1,"maximum":100},"offset":{"default":0,"type":"integer","minimum":0,"maximum":100000},"search":{"type":"string","maxLength":200},"id":{"description":"Optional exact record UUID. Filters the authorized list to this record, without broadening permissions.","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)$"},"siteId":{"description":"Optional RetailHardHat location UUID, not a location name. Resolve names with list_sites first.","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)$"},"status":{"type":"string","maxLength":80}},"additionalProperties":false}},{"name":"get_permit","description":"Use this when working with RetailHardHat permits records in the connected organization. Read a permit by ID.","module":"permits","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"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)$"}},"required":["id"],"additionalProperties":false}},{"name":"create_permit","description":"Use this when working with RetailHardHat permits records in the connected organization. Create permit. Required fields are validated by the application. No change occurs until a human approves the exact request in Settings > MCP and execute_approved_action is called.","module":"permits","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"siteId":{"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)$"},"name":{"type":"string","maxLength":10000},"permitNumber":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"type":{"type":"string","maxLength":10000},"status":{"type":"string","enum":["pending","submitted","under_review","approved","rejected","scheduled"]},"applicationDate":{"anyOf":[{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-]\\d{2}:\\d{2})))$"}]},"approvalDate":{"anyOf":[{"anyOf":[{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-]\\d{2}:\\d{2})))$"}]},{"type":"null"}]},"expirationDate":{"anyOf":[{"anyOf":[{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-]\\d{2}:\\d{2})))$"}]},{"type":"null"}]},"notes":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"representativeContactId":{"anyOf":[{"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)$"},{"type":"null"}]}},"required":["siteId","name","type","applicationDate"],"additionalProperties":false}},"required":["data"],"additionalProperties":false}},{"name":"update_permit","description":"Use this when working with RetailHardHat permits records in the connected organization. Update allowed fields of permit. No change occurs until a human approves the exact request in Settings > MCP and execute_approved_action is called.","module":"permits","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"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)$"},"data":{"type":"object","properties":{"siteId":{"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)$"},"name":{"type":"string","maxLength":10000},"permitNumber":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"type":{"type":"string","maxLength":10000},"status":{"type":"string","enum":["pending","submitted","under_review","approved","rejected","scheduled"]},"applicationDate":{"anyOf":[{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-]\\d{2}:\\d{2})))$"}]},"approvalDate":{"anyOf":[{"anyOf":[{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-]\\d{2}:\\d{2})))$"}]},{"type":"null"}]},"expirationDate":{"anyOf":[{"anyOf":[{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-]\\d{2}:\\d{2})))$"}]},{"type":"null"}]},"notes":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"representativeContactId":{"anyOf":[{"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)$"},{"type":"null"}]}},"additionalProperties":false}},"required":["id","data"],"additionalProperties":false}},{"name":"delete_permit","description":"Use this when working with RetailHardHat permits records in the connected organization. Delete permit. Always requires in-app approval; may cascade to related records. No change occurs until a human approves the exact request in Settings > MCP and execute_approved_action is called.","module":"permits","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"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)$"}},"required":["id"],"additionalProperties":false}},{"name":"list_bids","description":"Use this when working with RetailHardHat bids records in the connected organization. List bids in your organization. Supports bounded pagination and search.","module":"bids","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"limit":{"default":50,"type":"integer","minimum":1,"maximum":100},"offset":{"default":0,"type":"integer","minimum":0,"maximum":100000},"search":{"type":"string","maxLength":200},"id":{"description":"Optional exact record UUID. Filters the authorized list to this record, without broadening permissions.","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)$"},"siteId":{"description":"Optional RetailHardHat location UUID, not a location name. Resolve names with list_sites first.","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)$"},"status":{"type":"string","maxLength":80}},"additionalProperties":false}},{"name":"create_bid","description":"Use this when working with RetailHardHat bids records in the connected organization. Create bid. Required fields are validated by the application. No change occurs until a human approves the exact request in Settings > MCP and execute_approved_action is called.","module":"bids","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"siteId":{"anyOf":[{"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)$"},{"type":"null"}]},"projectId":{"anyOf":[{"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)$"},{"type":"null"}]},"rfpId":{"anyOf":[{"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)$"},{"type":"null"}]},"budgetPlanId":{"anyOf":[{"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)$"},{"type":"null"}]},"vendorId":{"anyOf":[{"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)$"},{"type":"null"}]},"dealBudgetLineItemId":{"anyOf":[{"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)$"},{"type":"null"}]},"contractor":{"type":"string","maxLength":10000},"category":{"type":"string","maxLength":10000},"amount":{"type":"string","maxLength":10000},"originalContractAmount":{"anyOf":[{"type":"string","pattern":"^-?\\d{1,12}(?:\\.\\d{1,2})?$"},{"type":"null"}]},"forecastedAmount":{"anyOf":[{"type":"string","pattern":"^-?\\d{1,12}(?:\\.\\d{1,2})?$"},{"type":"null"}]},"finalActualCost":{"anyOf":[{"type":"string","pattern":"^-?\\d{1,12}(?:\\.\\d{1,2})?$"},{"type":"null"}]},"contractStatus":{"anyOf":[{"type":"string","enum":["none","negotiating","pending_signature","signed","executed","terminated"]},{"type":"null"}]},"submittedDate":{"anyOf":[{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-]\\d{2}:\\d{2})))$"}]},"dueDate":{"anyOf":[{"anyOf":[{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-]\\d{2}:\\d{2})))$"}]},{"type":"null"}]},"documents":{"anyOf":[{"type":"number"},{"type":"null"}]},"notes":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"contactName":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"contactEmail":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"contactPhone":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"leasecommandContractId":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]}},"required":["contractor","category","amount","submittedDate"],"additionalProperties":false}},"required":["data"],"additionalProperties":false}},{"name":"update_bid","description":"Use this when working with RetailHardHat bids records in the connected organization. Update allowed fields of bid. No change occurs until a human approves the exact request in Settings > MCP and execute_approved_action is called.","module":"bids","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"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)$"},"data":{"type":"object","properties":{"siteId":{"anyOf":[{"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)$"},{"type":"null"}]},"projectId":{"anyOf":[{"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)$"},{"type":"null"}]},"rfpId":{"anyOf":[{"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)$"},{"type":"null"}]},"budgetPlanId":{"anyOf":[{"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)$"},{"type":"null"}]},"vendorId":{"anyOf":[{"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)$"},{"type":"null"}]},"dealBudgetLineItemId":{"anyOf":[{"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)$"},{"type":"null"}]},"contractor":{"type":"string","maxLength":10000},"category":{"type":"string","maxLength":10000},"amount":{"type":"string","maxLength":10000},"originalContractAmount":{"anyOf":[{"type":"string","pattern":"^-?\\d{1,12}(?:\\.\\d{1,2})?$"},{"type":"null"}]},"forecastedAmount":{"anyOf":[{"type":"string","pattern":"^-?\\d{1,12}(?:\\.\\d{1,2})?$"},{"type":"null"}]},"finalActualCost":{"anyOf":[{"type":"string","pattern":"^-?\\d{1,12}(?:\\.\\d{1,2})?$"},{"type":"null"}]},"contractStatus":{"anyOf":[{"type":"string","enum":["none","negotiating","pending_signature","signed","executed","terminated"]},{"type":"null"}]},"submittedDate":{"anyOf":[{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-]\\d{2}:\\d{2})))$"}]},"dueDate":{"anyOf":[{"anyOf":[{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-]\\d{2}:\\d{2})))$"}]},{"type":"null"}]},"documents":{"anyOf":[{"type":"number"},{"type":"null"}]},"notes":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"contactName":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"contactEmail":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"contactPhone":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"leasecommandContractId":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]}},"additionalProperties":false}},"required":["id","data"],"additionalProperties":false}},{"name":"delete_bid","description":"Use this when working with RetailHardHat bids records in the connected organization. Delete bid. Always requires in-app approval; may cascade to related records. No change occurs until a human approves the exact request in Settings > MCP and execute_approved_action is called.","module":"bids","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"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)$"}},"required":["id"],"additionalProperties":false}},{"name":"list_rfis","description":"Use this when working with RetailHardHat rfis records in the connected organization. List rfis in your organization. Supports bounded pagination and search.","module":"rfis","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"limit":{"default":50,"type":"integer","minimum":1,"maximum":100},"offset":{"default":0,"type":"integer","minimum":0,"maximum":100000},"search":{"type":"string","maxLength":200},"id":{"description":"Optional exact record UUID. Filters the authorized list to this record, without broadening permissions.","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)$"},"siteId":{"description":"Optional RetailHardHat location UUID, not a location name. Resolve names with list_sites first.","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)$"},"status":{"type":"string","maxLength":80}},"additionalProperties":false}},{"name":"get_rfi","description":"Use this when working with RetailHardHat rfis records in the connected organization. Read a rfi by ID.","module":"rfis","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"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)$"}},"required":["id"],"additionalProperties":false}},{"name":"create_rfi","description":"Use this when working with RetailHardHat rfis records in the connected organization. Create rfi. Required fields are validated by the application. No change occurs until a human approves the exact request in Settings > MCP and execute_approved_action is called.","module":"rfis","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"siteId":{"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)$"},"rfiNumber":{"type":"number"},"title":{"type":"string","maxLength":10000},"question":{"type":"string","maxLength":10000},"category":{"type":"string","enum":["design_clarification","field_condition","conflict","missing_detail","substitution_request","code_interpretation","schedule_coordination","other"]},"priority":{"type":"string","enum":["low","medium","high","critical"]},"drawingReferences":{"anyOf":[{"$ref":"#/$defs/__schema0"},{"type":"null"}]},"specSections":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"building":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"level":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"area":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"assignedToId":{"anyOf":[{"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)$"},{"type":"null"}]},"dueDate":{"anyOf":[{"anyOf":[{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-]\\d{2}:\\d{2})))$"}]},{"type":"null"}]},"responseRequiredDate":{"anyOf":[{"anyOf":[{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-]\\d{2}:\\d{2})))$"}]},{"type":"null"}]},"answeredAt":{"anyOf":[{"anyOf":[{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-]\\d{2}:\\d{2})))$"}]},{"type":"null"}]},"closedAt":{"anyOf":[{"anyOf":[{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-]\\d{2}:\\d{2})))$"}]},{"type":"null"}]},"costImpact":{"anyOf":[{"type":"string","enum":["none","unknown","estimated","confirmed"]},{"type":"null"}]},"costImpactAmount":{"anyOf":[{"type":"string","pattern":"^-?\\d{1,12}(?:\\.\\d{1,2})?$"},{"type":"null"}]},"scheduleImpactDays":{"anyOf":[{"type":"number"},{"type":"null"}]},"scopeImpact":{"anyOf":[{"type":"string","enum":["clarification","change","substitution","no_impact"]},{"type":"null"}]},"submittedByVendorId":{"anyOf":[{"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)$"},{"type":"null"}]},"submittedByTrade":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"isInternalOnly":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"visibleToVendorIds":{"anyOf":[{"maxItems":500,"type":"array","items":{"$ref":"#/$defs/__schema1"}},{"type":"null"}]},"tags":{"anyOf":[{"maxItems":500,"type":"array","items":{"$ref":"#/$defs/__schema2"}},{"type":"null"}]},"customFields":{"anyOf":[{"$ref":"#/$defs/__schema3"},{"type":"null"}]}},"required":["siteId","title","question"],"additionalProperties":false}},"required":["data"],"additionalProperties":false,"$defs":{"__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema0"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}]},"__schema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema1"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema1"}}]},"__schema2":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema2"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema2"}}]},"__schema3":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema3"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema3"}}]}}}},{"name":"update_rfi","description":"Use this when working with RetailHardHat rfis records in the connected organization. Update allowed fields of rfi. No change occurs until a human approves the exact request in Settings > MCP and execute_approved_action is called.","module":"rfis","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"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)$"},"data":{"type":"object","properties":{"siteId":{"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)$"},"rfiNumber":{"type":"number"},"title":{"type":"string","maxLength":10000},"question":{"type":"string","maxLength":10000},"category":{"type":"string","enum":["design_clarification","field_condition","conflict","missing_detail","substitution_request","code_interpretation","schedule_coordination","other"]},"priority":{"type":"string","enum":["low","medium","high","critical"]},"drawingReferences":{"anyOf":[{"$ref":"#/$defs/__schema0"},{"type":"null"}]},"specSections":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"building":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"level":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"area":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"assignedToId":{"anyOf":[{"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)$"},{"type":"null"}]},"dueDate":{"anyOf":[{"anyOf":[{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-]\\d{2}:\\d{2})))$"}]},{"type":"null"}]},"responseRequiredDate":{"anyOf":[{"anyOf":[{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-]\\d{2}:\\d{2})))$"}]},{"type":"null"}]},"answeredAt":{"anyOf":[{"anyOf":[{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-]\\d{2}:\\d{2})))$"}]},{"type":"null"}]},"closedAt":{"anyOf":[{"anyOf":[{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-]\\d{2}:\\d{2})))$"}]},{"type":"null"}]},"costImpact":{"anyOf":[{"type":"string","enum":["none","unknown","estimated","confirmed"]},{"type":"null"}]},"costImpactAmount":{"anyOf":[{"type":"string","pattern":"^-?\\d{1,12}(?:\\.\\d{1,2})?$"},{"type":"null"}]},"scheduleImpactDays":{"anyOf":[{"type":"number"},{"type":"null"}]},"scopeImpact":{"anyOf":[{"type":"string","enum":["clarification","change","substitution","no_impact"]},{"type":"null"}]},"submittedByVendorId":{"anyOf":[{"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)$"},{"type":"null"}]},"submittedByTrade":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"isInternalOnly":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"visibleToVendorIds":{"anyOf":[{"maxItems":500,"type":"array","items":{"$ref":"#/$defs/__schema1"}},{"type":"null"}]},"tags":{"anyOf":[{"maxItems":500,"type":"array","items":{"$ref":"#/$defs/__schema2"}},{"type":"null"}]},"customFields":{"anyOf":[{"$ref":"#/$defs/__schema3"},{"type":"null"}]}},"additionalProperties":false}},"required":["id","data"],"additionalProperties":false,"$defs":{"__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema0"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}]},"__schema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema1"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema1"}}]},"__schema2":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema2"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema2"}}]},"__schema3":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema3"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema3"}}]}}}},{"name":"delete_rfi","description":"Use this when working with RetailHardHat rfis records in the connected organization. Delete rfi. Always requires in-app approval; may cascade to related records. No change occurs until a human approves the exact request in Settings > MCP and execute_approved_action is called.","module":"rfis","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"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)$"}},"required":["id"],"additionalProperties":false}},{"name":"list_rfps","description":"Use this when working with RetailHardHat rfps records in the connected organization. List rfps in your organization. Supports bounded pagination and search.","module":"rfps","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"limit":{"default":50,"type":"integer","minimum":1,"maximum":100},"offset":{"default":0,"type":"integer","minimum":0,"maximum":100000},"search":{"type":"string","maxLength":200},"id":{"description":"Optional exact record UUID. Filters the authorized list to this record, without broadening permissions.","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)$"},"siteId":{"description":"Optional RetailHardHat location UUID, not a location name. Resolve names with list_sites first.","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)$"},"status":{"type":"string","maxLength":80}},"additionalProperties":false}},{"name":"create_rfp","description":"Use this when working with RetailHardHat rfps records in the connected organization. Create rfp. Required fields are validated by the application. No change occurs until a human approves the exact request in Settings > MCP and execute_approved_action is called.","module":"rfps","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"siteId":{"anyOf":[{"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)$"},{"type":"null"}]},"title":{"type":"string","maxLength":10000},"description":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"category":{"type":"string","maxLength":10000},"scopeType":{"type":"string","enum":["site","portfolio"]},"scopeSummary":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"requirements":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"issueDate":{"anyOf":[{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-]\\d{2}:\\d{2})))$"}]},"responseDeadline":{"anyOf":[{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-]\\d{2}:\\d{2})))$"}]},"budgetTarget":{"anyOf":[{"type":"string","pattern":"^-?\\d{1,12}(?:\\.\\d{1,2})?$"},{"type":"null"}]},"evaluationCriteria":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"winningBidId":{"anyOf":[{"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)$"},{"type":"null"}]},"awardedAt":{"anyOf":[{"anyOf":[{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-]\\d{2}:\\d{2})))$"}]},{"type":"null"}]},"generatedDocument":{"anyOf":[{"$ref":"#/$defs/__schema0"},{"type":"null"}]}},"required":["title","category","issueDate","responseDeadline"],"additionalProperties":false}},"required":["data"],"additionalProperties":false,"$defs":{"__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema0"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}]}}}},{"name":"update_rfp","description":"Use this when working with RetailHardHat rfps records in the connected organization. Update allowed fields of rfp. No change occurs until a human approves the exact request in Settings > MCP and execute_approved_action is called.","module":"rfps","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"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)$"},"data":{"type":"object","properties":{"siteId":{"anyOf":[{"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)$"},{"type":"null"}]},"title":{"type":"string","maxLength":10000},"description":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"category":{"type":"string","maxLength":10000},"scopeType":{"type":"string","enum":["site","portfolio"]},"scopeSummary":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"requirements":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"issueDate":{"anyOf":[{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-]\\d{2}:\\d{2})))$"}]},"responseDeadline":{"anyOf":[{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-]\\d{2}:\\d{2})))$"}]},"budgetTarget":{"anyOf":[{"type":"string","pattern":"^-?\\d{1,12}(?:\\.\\d{1,2})?$"},{"type":"null"}]},"evaluationCriteria":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"winningBidId":{"anyOf":[{"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)$"},{"type":"null"}]},"awardedAt":{"anyOf":[{"anyOf":[{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-]\\d{2}:\\d{2})))$"}]},{"type":"null"}]},"generatedDocument":{"anyOf":[{"$ref":"#/$defs/__schema0"},{"type":"null"}]}},"additionalProperties":false}},"required":["id","data"],"additionalProperties":false,"$defs":{"__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema0"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}]}}}},{"name":"delete_rfp","description":"Use this when working with RetailHardHat rfps records in the connected organization. Delete rfp. Always requires in-app approval; may cascade to related records. No change occurs until a human approves the exact request in Settings > MCP and execute_approved_action is called.","module":"rfps","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"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)$"}},"required":["id"],"additionalProperties":false}},{"name":"get_budget_portfolio","description":"Use this when working with RetailHardHat budgets records in the connected organization. Read current portfolio budgets and normalized category line items.","module":"budgets","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{},"additionalProperties":false}},{"name":"list_budget_categories","description":"Use this when working with RetailHardHat budgets records in the connected organization. List your organization's budget line-item categories.","module":"budgets","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"limit":{"default":50,"type":"integer","minimum":1,"maximum":100},"offset":{"default":0,"type":"integer","minimum":0,"maximum":100000},"search":{"type":"string","maxLength":200},"id":{"description":"Optional exact record UUID. Filters the authorized list to this record, without broadening permissions.","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)$"},"siteId":{"description":"Optional RetailHardHat location UUID, not a location name. Resolve names with list_sites first.","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)$"},"status":{"type":"string","maxLength":80}},"additionalProperties":false}},{"name":"create_budget_category","description":"Use this when working with RetailHardHat budgets records in the connected organization. Create an organization budget category, optionally with an explicit stable key for dependent template items. No change occurs until a human approves the exact request in Settings > MCP and execute_approved_action is called.","module":"budgets","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"label":{"type":"string","minLength":1,"maxLength":200},"key":{"description":"Optional stable dropdown key. If omitted, the business API derives it from the label.","type":"string","minLength":1,"maxLength":200,"pattern":"^[a-z0-9_]+$"},"displayOrder":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["label"],"additionalProperties":false}},"required":["data"],"additionalProperties":false}},{"name":"list_site_budgets","description":"Use this when working with RetailHardHat budgets records in the connected organization. Read budgets for a site.","module":"budgets","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"siteId":{"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)$"}},"required":["siteId"],"additionalProperties":false}},{"name":"list_budget_line_items","description":"Use this when working with RetailHardHat budgets records in the connected organization. Read the line items for a budget.","module":"budgets","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"budgetId":{"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)$"}},"required":["budgetId"],"additionalProperties":false}},{"name":"create_budget_line_item","description":"Use this when working with RetailHardHat budgets records in the connected organization. Create a budget line item. Requires financial approval. No change occurs until a human approves the exact request in Settings > MCP and execute_approved_action is called.","module":"budgets","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"budgetId":{"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)$"},"data":{"type":"object","properties":{"parentCategory":{"type":"string","enum":["land_acquisition","hard_costs","soft_costs","financing","contingency","other"]},"category":{"type":"string","enum":["land_acquisition","hard_costs","soft_costs","financing","contingency","other"]},"subcategory":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"displayOrder":{"type":"number"},"description":{"type":"string","maxLength":10000},"amount":{"type":"string","pattern":"^-?\\d{1,12}(?:\\.\\d{1,2})?$"},"quantity":{"anyOf":[{"type":"string","pattern":"^-?\\d{1,12}(?:\\.\\d{1,2})?$"},{"type":"null"}]},"unitCost":{"anyOf":[{"type":"string","pattern":"^-?\\d{1,12}(?:\\.\\d{1,2})?$"},{"type":"null"}]},"unit":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"assigneeId":{"anyOf":[{"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)$"},{"type":"null"}]},"isContingency":{"type":"boolean"},"contingencyPercent":{"anyOf":[{"type":"string","pattern":"^-?\\d{1,12}(?:\\.\\d{1,2})?$"},{"type":"null"}]},"contingencyBasis":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"notes":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"assumptions":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"sourceReference":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"actualAmount":{"anyOf":[{"type":"string","pattern":"^-?\\d{1,12}(?:\\.\\d{1,2})?$"},{"type":"null"}]}},"required":["parentCategory","category","description"],"additionalProperties":false}},"required":["budgetId","data"],"additionalProperties":false}},{"name":"update_budget_line_item","description":"Use this when working with RetailHardHat budgets records in the connected organization. Edit a budget line item. Requires financial approval. No change occurs until a human approves the exact request in Settings > MCP and execute_approved_action is called.","module":"budgets","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"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)$"},"data":{"type":"object","properties":{"parentCategory":{"type":"string","enum":["land_acquisition","hard_costs","soft_costs","financing","contingency","other"]},"category":{"type":"string","enum":["land_acquisition","hard_costs","soft_costs","financing","contingency","other"]},"subcategory":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"displayOrder":{"type":"number"},"description":{"type":"string","maxLength":10000},"amount":{"type":"string","pattern":"^-?\\d{1,12}(?:\\.\\d{1,2})?$"},"quantity":{"anyOf":[{"type":"string","pattern":"^-?\\d{1,12}(?:\\.\\d{1,2})?$"},{"type":"null"}]},"unitCost":{"anyOf":[{"type":"string","pattern":"^-?\\d{1,12}(?:\\.\\d{1,2})?$"},{"type":"null"}]},"unit":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"assigneeId":{"anyOf":[{"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)$"},{"type":"null"}]},"isContingency":{"type":"boolean"},"contingencyPercent":{"anyOf":[{"type":"string","pattern":"^-?\\d{1,12}(?:\\.\\d{1,2})?$"},{"type":"null"}]},"contingencyBasis":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"notes":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"assumptions":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"sourceReference":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"actualAmount":{"anyOf":[{"type":"string","pattern":"^-?\\d{1,12}(?:\\.\\d{1,2})?$"},{"type":"null"}]}},"additionalProperties":false}},"required":["id","data"],"additionalProperties":false}},{"name":"delete_budget_line_item","description":"Use this when working with RetailHardHat budgets records in the connected organization. Delete a budget line item. Requires financial approval. No change occurs until a human approves the exact request in Settings > MCP and execute_approved_action is called.","module":"budgets","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"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)$"}},"required":["id"],"additionalProperties":false}},{"name":"list_project_budget","description":"Use this when working with RetailHardHat budgets records in the connected organization. Read a project's budget line items.","module":"budgets","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"projectId":{"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)$"}},"required":["projectId"],"additionalProperties":false}},{"name":"create_project_budget_item","description":"Use this when working with RetailHardHat budgets records in the connected organization. Create a project budget item. Requires financial approval. No change occurs until a human approves the exact request in Settings > MCP and execute_approved_action is called.","module":"budgets","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"projectId":{"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)$"},"data":{"type":"object","properties":{"category":{"description":"category","type":"string","maxLength":10000},"description":{"description":"description","type":"string","maxLength":10000},"plannedAmount":{"description":"planned Amount","type":"string","maxLength":10000},"notes":{"description":"notes","type":"string","maxLength":10000}},"required":["category","description","plannedAmount"],"additionalProperties":false}},"required":["projectId","data"],"additionalProperties":false}},{"name":"update_project_budget_item","description":"Use this when working with RetailHardHat budgets records in the connected organization. Update a project budget item. Requires financial approval. No change occurs until a human approves the exact request in Settings > MCP and execute_approved_action is called.","module":"budgets","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"projectId":{"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)$"},"itemId":{"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)$"},"data":{"type":"object","properties":{"category":{"description":"category","type":"string","maxLength":10000},"description":{"description":"description","type":"string","maxLength":10000},"plannedAmount":{"description":"planned Amount","type":"string","maxLength":10000},"notes":{"description":"notes","type":"string","maxLength":10000}},"additionalProperties":false}},"required":["projectId","itemId","data"],"additionalProperties":false}},{"name":"delete_project_budget_item","description":"Use this when working with RetailHardHat budgets records in the connected organization. Delete a project budget item. Requires financial approval. No change occurs until a human approves the exact request in Settings > MCP and execute_approved_action is called.","module":"budgets","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"projectId":{"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)$"},"itemId":{"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)$"}},"required":["projectId","itemId"],"additionalProperties":false}},{"name":"list_project_tasks","description":"Use this when working with RetailHardHat projects records in the connected organization. Read tasks on a general project.","module":"projects","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"projectId":{"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)$"},"id":{"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)$"},"limit":{"default":50,"type":"integer","minimum":1,"maximum":100},"offset":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["projectId"],"additionalProperties":false}},{"name":"list_project_notes","description":"Use this when working with RetailHardHat projects records in the connected organization. Read a project's notes.","module":"projects","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"projectId":{"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)$"},"id":{"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)$"},"limit":{"default":50,"type":"integer","minimum":1,"maximum":100},"offset":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["projectId"],"additionalProperties":false}},{"name":"create_project_note","description":"Use this when working with RetailHardHat projects records in the connected organization. Add a project note. No change occurs until a human approves the exact request in Settings > MCP and execute_approved_action is called.","module":"projects","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"projectId":{"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)$"},"data":{"type":"object","properties":{"title":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"content":{"type":"string","maxLength":10000}},"required":["content"],"additionalProperties":false}},"required":["projectId","data"],"additionalProperties":false}},{"name":"list_contacts","description":"Use this when working with RetailHardHat contacts records in the connected organization. Search organization contacts.","module":"contacts","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"limit":{"default":50,"type":"integer","minimum":1,"maximum":100},"offset":{"default":0,"type":"integer","minimum":0,"maximum":100000},"search":{"type":"string","maxLength":200}},"additionalProperties":false}},{"name":"get_contact","description":"Use this when working with RetailHardHat contacts records in the connected organization. Read an organization contact.","module":"contacts","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"contactId":{"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)$"}},"required":["contactId"],"additionalProperties":false}},{"name":"create_contact","description":"Use this when working with RetailHardHat contacts records in the connected organization. Create a contact. No change occurs until a human approves the exact request in Settings > MCP and execute_approved_action is called.","module":"contacts","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"firstName":{"type":"string","maxLength":10000},"lastName":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"company":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"email":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"phone":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"title":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"notes":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]}},"required":["firstName"],"additionalProperties":false}},"required":["data"],"additionalProperties":false}},{"name":"update_contact","description":"Use this when working with RetailHardHat contacts records in the connected organization. Edit contact details. No change occurs until a human approves the exact request in Settings > MCP and execute_approved_action is called.","module":"contacts","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"contactId":{"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)$"},"data":{"type":"object","properties":{"firstName":{"type":"string","maxLength":10000},"lastName":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"company":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"email":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"phone":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"title":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"notes":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]}},"additionalProperties":false}},"required":["contactId","data"],"additionalProperties":false}},{"name":"delete_contact","description":"Use this when working with RetailHardHat contacts records in the connected organization. Delete a contact. Requires organization administrator permissions. No change occurs until a human approves the exact request in Settings > MCP and execute_approved_action is called.","module":"contacts","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"contactId":{"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)$"}},"required":["contactId"],"additionalProperties":false}},{"name":"get_budget","description":"Use this when working with RetailHardHat budgets records in the connected organization. Read a whole budget.","module":"budgets","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"budgetId":{"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)$"}},"required":["budgetId"],"additionalProperties":false}},{"name":"create_site_budget","description":"Use this when working with RetailHardHat budgets records in the connected organization. Create a draft site budget; existing current-budget rules still apply. No change occurs until a human approves the exact request in Settings > MCP and execute_approved_action is called.","module":"budgets","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"siteId":{"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)$"},"data":{"type":"object","properties":{"name":{"type":"string","maxLength":10000},"assumptions":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"notes":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"squareFootage":{"anyOf":[{"type":"number"},{"type":"null"}]},"unitCount":{"anyOf":[{"type":"number"},{"type":"null"}]}},"required":["name"],"additionalProperties":false}},"required":["siteId","data"],"additionalProperties":false}},{"name":"create_deal_budget","description":"Use this when working with RetailHardHat budgets records in the connected organization. Create a draft deal budget; existing current-budget rules still apply. No change occurs until a human approves the exact request in Settings > MCP and execute_approved_action is called.","module":"budgets","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"dealId":{"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)$"},"data":{"type":"object","properties":{"name":{"type":"string","maxLength":10000},"assumptions":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"notes":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"squareFootage":{"anyOf":[{"type":"number"},{"type":"null"}]},"unitCount":{"anyOf":[{"type":"number"},{"type":"null"}]}},"required":["name"],"additionalProperties":false}},"required":["dealId","data"],"additionalProperties":false}},{"name":"update_budget","description":"Use this when working with RetailHardHat budgets records in the connected organization. Edit a draft budget; cannot bypass approved/locked restrictions. No change occurs until a human approves the exact request in Settings > MCP and execute_approved_action is called.","module":"budgets","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"budgetId":{"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)$"},"data":{"type":"object","properties":{"name":{"type":"string","maxLength":10000},"assumptions":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"notes":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"squareFootage":{"anyOf":[{"type":"number"},{"type":"null"}]},"unitCount":{"anyOf":[{"type":"number"},{"type":"null"}]}},"additionalProperties":false}},"required":["budgetId","data"],"additionalProperties":false}},{"name":"delete_budget","description":"Use this when working with RetailHardHat budgets records in the connected organization. Delete a draft budget and its dependent records. No force override. No change occurs until a human approves the exact request in Settings > MCP and execute_approved_action is called.","module":"budgets","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"budgetId":{"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)$"}},"required":["budgetId"],"additionalProperties":false}},{"name":"get_budget_history","description":"Use this when working with RetailHardHat budgets records in the connected organization. Read budget change history.","module":"budgets","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"budgetId":{"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)$"}},"required":["budgetId"],"additionalProperties":false}},{"name":"get_budget_committed_amounts","description":"Use this when working with RetailHardHat budgets records in the connected organization. Read committed budget amounts.","module":"budgets","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"budgetId":{"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)$"}},"required":["budgetId"],"additionalProperties":false}},{"name":"update_budget_category","description":"Use this when working with RetailHardHat budgets records in the connected organization. Rename or organize a budget category without changing its stable key. No change occurs until a human approves the exact request in Settings > MCP and execute_approved_action is called.","module":"budgets","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"categoryId":{"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)$"},"data":{"type":"object","properties":{"label":{"type":"string","minLength":1,"maxLength":200},"isVisible":{"type":"boolean"},"displayOrder":{"type":"integer","minimum":0,"maximum":9007199254740991}},"additionalProperties":false}},"required":["categoryId","data"],"additionalProperties":false}},{"name":"delete_budget_category","description":"Use this when working with RetailHardHat budgets records in the connected organization. Remove a custom budget category; application safeguards still apply. No change occurs until a human approves the exact request in Settings > MCP and execute_approved_action is called.","module":"budgets","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"categoryId":{"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)$"}},"required":["categoryId"],"additionalProperties":false}},{"name":"list_invoices","description":"Use this when working with RetailHardHat invoices records in the connected organization. List construction invoices, not platform billing invoices.","module":"invoices","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"limit":{"default":50,"type":"integer","minimum":1,"maximum":100},"offset":{"default":0,"type":"integer","minimum":0,"maximum":100000},"search":{"type":"string","maxLength":200}},"additionalProperties":false}},{"name":"list_bid_invoices","description":"Use this when working with RetailHardHat invoices records in the connected organization. Read invoices for a bid.","module":"invoices","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"bidId":{"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)$"},"limit":{"default":50,"type":"integer","minimum":1,"maximum":100},"offset":{"default":0,"type":"integer","minimum":0,"maximum":100000},"search":{"type":"string","maxLength":200}},"required":["bidId"],"additionalProperties":false}},{"name":"list_site_invoices","description":"Use this when working with RetailHardHat invoices records in the connected organization. Read invoices for a site.","module":"invoices","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"siteId":{"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)$"},"limit":{"default":50,"type":"integer","minimum":1,"maximum":100},"offset":{"default":0,"type":"integer","minimum":0,"maximum":100000},"search":{"type":"string","maxLength":200}},"required":["siteId"],"additionalProperties":false}},{"name":"list_vendor_invoices","description":"Use this when working with RetailHardHat invoices records in the connected organization. Read invoices for a vendor.","module":"invoices","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"vendorId":{"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)$"},"limit":{"default":50,"type":"integer","minimum":1,"maximum":100},"offset":{"default":0,"type":"integer","minimum":0,"maximum":100000},"search":{"type":"string","maxLength":200}},"required":["vendorId"],"additionalProperties":false}},{"name":"create_invoice","description":"Use this when working with RetailHardHat invoices records in the connected organization. Create a bid invoice. Does not execute payment or mark it paid. No change occurs until a human approves the exact request in Settings > MCP and execute_approved_action is called.","module":"invoices","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"bidId":{"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)$"},"data":{"type":"object","properties":{"invoiceNumber":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"amount":{"type":"string","pattern":"^-?\\d{1,12}(?:\\.\\d{1,2})?$"},"issueDate":{"anyOf":[{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-]\\d{2}:\\d{2})))$"}]},"dueDate":{"anyOf":[{"anyOf":[{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-]\\d{2}:\\d{2})))$"}]},{"type":"null"}]},"notes":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"lineItemId":{"anyOf":[{"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)$"},{"type":"null"}]},"paymentScheduleId":{"anyOf":[{"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)$"},{"type":"null"}]},"filePath":{"anyOf":[{"type":"string","pattern":"^\\/objects\\/(?:\\.private\\/)?uploads\\/[0-9a-f-]{36}$"},{"type":"null"}]},"fileName":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"fileSize":{"anyOf":[{"type":"number"},{"type":"null"}]},"fileType":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]}},"required":["amount","issueDate"],"additionalProperties":false}},"required":["bidId","data"],"additionalProperties":false}},{"name":"update_invoice","description":"Use this when working with RetailHardHat invoices records in the connected organization. Edit invoice details and attachments without payment/status overrides. No change occurs until a human approves the exact request in Settings > MCP and execute_approved_action is called.","module":"invoices","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"bidId":{"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)$"},"invoiceId":{"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)$"},"data":{"type":"object","properties":{"invoiceNumber":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"amount":{"type":"string","pattern":"^-?\\d{1,12}(?:\\.\\d{1,2})?$"},"issueDate":{"anyOf":[{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-]\\d{2}:\\d{2})))$"}]},"dueDate":{"anyOf":[{"anyOf":[{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-]\\d{2}:\\d{2})))$"}]},{"type":"null"}]},"notes":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"lineItemId":{"anyOf":[{"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)$"},{"type":"null"}]},"paymentScheduleId":{"anyOf":[{"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)$"},{"type":"null"}]},"filePath":{"anyOf":[{"type":"string","pattern":"^\\/objects\\/(?:\\.private\\/)?uploads\\/[0-9a-f-]{36}$"},{"type":"null"}]},"fileName":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"fileSize":{"anyOf":[{"type":"number"},{"type":"null"}]},"fileType":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]}},"additionalProperties":false}},"required":["bidId","invoiceId","data"],"additionalProperties":false}},{"name":"delete_invoice","description":"Use this when working with RetailHardHat invoices records in the connected organization. Delete an invoice record and its normal associations. No change occurs until a human approves the exact request in Settings > MCP and execute_approved_action is called.","module":"invoices","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"bidId":{"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)$"},"invoiceId":{"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)$"}},"required":["bidId","invoiceId"],"additionalProperties":false}},{"name":"get_invoice_download_url","description":"Use this when working with RetailHardHat invoices records in the connected organization. Get a short-lived download link for an invoice attachment.","module":"invoices","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"invoiceId":{"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)$"}},"required":["invoiceId"],"additionalProperties":false}},{"name":"list_change_requests","description":"Use this when working with RetailHardHat change_requests records in the connected organization. Read change requests.","module":"change_requests","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"siteId":{"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)$"},"limit":{"default":50,"type":"integer","minimum":1,"maximum":100},"offset":{"default":0,"type":"integer","minimum":0,"maximum":100000},"search":{"type":"string","maxLength":200}},"additionalProperties":false}},{"name":"get_change_request","description":"Use this when working with RetailHardHat change_requests records in the connected organization. Read a change request.","module":"change_requests","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"changeRequestId":{"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)$"}},"required":["changeRequestId"],"additionalProperties":false}},{"name":"create_change_request","description":"Use this when working with RetailHardHat change_requests records in the connected organization. Create a change request. Author is derived from the connection. No change occurs until a human approves the exact request in Settings > MCP and execute_approved_action is called.","module":"change_requests","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"siteId":{"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)$"},"bidId":{"anyOf":[{"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)$"},{"type":"null"}]},"dealBudgetLineItemId":{"anyOf":[{"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)$"},{"type":"null"}]},"requestNumber":{"type":"string","maxLength":10000},"title":{"type":"string","maxLength":10000},"scopeDescription":{"type":"string","maxLength":10000},"costImpact":{"type":"string","pattern":"^-?\\d{1,12}(?:\\.\\d{1,2})?$"},"scheduleImpactDays":{"anyOf":[{"type":"number"},{"type":"null"}]},"scheduleImpactDescription":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"relatedFinancialPlanId":{"anyOf":[{"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)$"},{"type":"null"}]},"notes":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]}},"required":["siteId","requestNumber","title","scopeDescription","costImpact"],"additionalProperties":false}},"required":["data"],"additionalProperties":false}},{"name":"update_change_request","description":"Use this when working with RetailHardHat change_requests records in the connected organization. Edit the request without bypassing its business approval workflow. No change occurs until a human approves the exact request in Settings > MCP and execute_approved_action is called.","module":"change_requests","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"changeRequestId":{"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)$"},"data":{"type":"object","properties":{"siteId":{"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)$"},"bidId":{"anyOf":[{"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)$"},{"type":"null"}]},"dealBudgetLineItemId":{"anyOf":[{"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)$"},{"type":"null"}]},"requestNumber":{"type":"string","maxLength":10000},"title":{"type":"string","maxLength":10000},"scopeDescription":{"type":"string","maxLength":10000},"costImpact":{"type":"string","pattern":"^-?\\d{1,12}(?:\\.\\d{1,2})?$"},"scheduleImpactDays":{"anyOf":[{"type":"number"},{"type":"null"}]},"scheduleImpactDescription":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"relatedFinancialPlanId":{"anyOf":[{"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)$"},{"type":"null"}]},"notes":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]}},"additionalProperties":false}},"required":["changeRequestId","data"],"additionalProperties":false}},{"name":"delete_change_request","description":"Use this when working with RetailHardHat change_requests records in the connected organization. Delete a change request and dependent records. No change occurs until a human approves the exact request in Settings > MCP and execute_approved_action is called.","module":"change_requests","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"changeRequestId":{"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)$"}},"required":["changeRequestId"],"additionalProperties":false}},{"name":"get_change_request_budget_impact","description":"Use this when working with RetailHardHat change_requests records in the connected organization. Read change-request budget-impact.","module":"change_requests","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"changeRequestId":{"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)$"}},"required":["changeRequestId"],"additionalProperties":false}},{"name":"list_change_request_approvals","description":"Use this when working with RetailHardHat change_requests records in the connected organization. Read change-request approvals.","module":"change_requests","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"changeRequestId":{"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)$"}},"required":["changeRequestId"],"additionalProperties":false}},{"name":"list_change_request_line_items","description":"Use this when working with RetailHardHat change_requests records in the connected organization. Read change-request line-items.","module":"change_requests","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"changeRequestId":{"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)$"}},"required":["changeRequestId"],"additionalProperties":false}},{"name":"create_change_request_line_item","description":"Use this when working with RetailHardHat change_requests records in the connected organization. Add a financial change-request line item. No change occurs until a human approves the exact request in Settings > MCP and execute_approved_action is called.","module":"change_requests","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"changeRequestId":{"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)$"},"data":{"type":"object","properties":{"description":{"type":"string","maxLength":10000},"quantity":{"anyOf":[{"type":"string","pattern":"^-?\\d{1,12}(?:\\.\\d{1,2})?$"},{"type":"null"}]},"unit":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"unitPrice":{"anyOf":[{"type":"string","pattern":"^-?\\d{1,12}(?:\\.\\d{1,2})?$"},{"type":"null"}]},"materials":{"anyOf":[{"type":"string","pattern":"^-?\\d{1,12}(?:\\.\\d{1,2})?$"},{"type":"null"}]},"labor":{"anyOf":[{"type":"string","pattern":"^-?\\d{1,12}(?:\\.\\d{1,2})?$"},{"type":"null"}]},"totalPrice":{"type":"string","pattern":"^-?\\d{1,12}(?:\\.\\d{1,2})?$"},"notes":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]}},"required":["description","totalPrice"],"additionalProperties":false}},"required":["changeRequestId","data"],"additionalProperties":false}},{"name":"update_change_request_line_item","description":"Use this when working with RetailHardHat change_requests records in the connected organization. Edit a financial change-request line item. No change occurs until a human approves the exact request in Settings > MCP and execute_approved_action is called.","module":"change_requests","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"changeRequestId":{"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)$"},"changeRequestLineItemId":{"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)$"},"data":{"type":"object","properties":{"description":{"type":"string","maxLength":10000},"quantity":{"anyOf":[{"type":"string","pattern":"^-?\\d{1,12}(?:\\.\\d{1,2})?$"},{"type":"null"}]},"unit":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"unitPrice":{"anyOf":[{"type":"string","pattern":"^-?\\d{1,12}(?:\\.\\d{1,2})?$"},{"type":"null"}]},"materials":{"anyOf":[{"type":"string","pattern":"^-?\\d{1,12}(?:\\.\\d{1,2})?$"},{"type":"null"}]},"labor":{"anyOf":[{"type":"string","pattern":"^-?\\d{1,12}(?:\\.\\d{1,2})?$"},{"type":"null"}]},"totalPrice":{"type":"string","pattern":"^-?\\d{1,12}(?:\\.\\d{1,2})?$"},"notes":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]}},"additionalProperties":false}},"required":["changeRequestId","changeRequestLineItemId","data"],"additionalProperties":false}},{"name":"delete_change_request_line_item","description":"Use this when working with RetailHardHat change_requests records in the connected organization. Remove a financial change-request line item. No change occurs until a human approves the exact request in Settings > MCP and execute_approved_action is called.","module":"change_requests","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"changeRequestId":{"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)$"},"changeRequestLineItemId":{"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)$"}},"required":["changeRequestId","changeRequestLineItemId"],"additionalProperties":false}},{"name":"list_purchase_items","description":"Use this when working with RetailHardHat purchase_lists records in the connected organization. Read a site's purchase list.","module":"purchase_lists","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"siteId":{"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)$"},"projectId":{"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)$"},"limit":{"default":50,"type":"integer","minimum":1,"maximum":100},"offset":{"default":0,"type":"integer","minimum":0,"maximum":100000},"search":{"type":"string","maxLength":200}},"required":["siteId"],"additionalProperties":false}},{"name":"create_purchase_item","description":"Use this when working with RetailHardHat purchase_lists records in the connected organization. Add an item to a site's purchase list. No change occurs until a human approves the exact request in Settings > MCP and execute_approved_action is called.","module":"purchase_lists","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"siteId":{"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)$"},"data":{"type":"object","properties":{"itemName":{"type":"string","maxLength":10000},"pictureUrl":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"nsoLeadLink":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"category":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"vendor":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"dimensions":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"finish":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"itemNumber":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"qty":{"anyOf":[{"type":"number"},{"type":"null"}]},"actualCost":{"anyOf":[{"type":"string","pattern":"^-?\\d{1,12}(?:\\.\\d{1,2})?$"},{"type":"null"}]},"leadtime":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"status":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"orderDate":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"deliveredDate":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"orderNumber":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"trackingNumber":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"carrier":{"anyOf":[{"type":"string","enum":["UPS","FEDEX","USPS","DHL","OTHER"]},{"type":"null"}]},"estimatedDelivery":{"anyOf":[{"anyOf":[{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-]\\d{2}:\\d{2})))$"}]},{"type":"null"}]},"notes":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"customFields":{"anyOf":[{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}},{"type":"null"}]},"sortOrder":{"type":"number"},"dealBudgetLineItemId":{"anyOf":[{"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)$"},{"type":"null"}]}},"required":["itemName"],"additionalProperties":false}},"required":["siteId","data"],"additionalProperties":false,"$defs":{"__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema0"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}]}}}},{"name":"update_purchase_item","description":"Use this when working with RetailHardHat purchase_lists records in the connected organization. Update a purchase item. No change occurs until a human approves the exact request in Settings > MCP and execute_approved_action is called.","module":"purchase_lists","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"siteId":{"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)$"},"purchaseItemId":{"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)$"},"data":{"type":"object","properties":{"itemName":{"type":"string","maxLength":10000},"pictureUrl":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"nsoLeadLink":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"category":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"vendor":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"dimensions":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"finish":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"itemNumber":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"qty":{"anyOf":[{"type":"number"},{"type":"null"}]},"actualCost":{"anyOf":[{"type":"string","pattern":"^-?\\d{1,12}(?:\\.\\d{1,2})?$"},{"type":"null"}]},"leadtime":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"status":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"orderDate":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"deliveredDate":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"orderNumber":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"trackingNumber":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"carrier":{"anyOf":[{"type":"string","enum":["UPS","FEDEX","USPS","DHL","OTHER"]},{"type":"null"}]},"estimatedDelivery":{"anyOf":[{"anyOf":[{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-]\\d{2}:\\d{2})))$"}]},{"type":"null"}]},"notes":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"customFields":{"anyOf":[{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}},{"type":"null"}]},"sortOrder":{"type":"number"},"dealBudgetLineItemId":{"anyOf":[{"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)$"},{"type":"null"}]}},"additionalProperties":false}},"required":["siteId","purchaseItemId","data"],"additionalProperties":false,"$defs":{"__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema0"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}]}}}},{"name":"delete_purchase_item","description":"Use this when working with RetailHardHat purchase_lists records in the connected organization. Delete a purchase item. No change occurs until a human approves the exact request in Settings > MCP and execute_approved_action is called.","module":"purchase_lists","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"siteId":{"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)$"},"purchaseItemId":{"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)$"}},"required":["siteId","purchaseItemId"],"additionalProperties":false}},{"name":"list_purchase_tracking_events","description":"Use this when working with RetailHardHat purchase_lists records in the connected organization. Read carrier tracking history.","module":"purchase_lists","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"siteId":{"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)$"},"purchaseItemId":{"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)$"}},"required":["siteId","purchaseItemId"],"additionalProperties":false}},{"name":"refresh_purchase_tracking","description":"Use this when working with RetailHardHat purchase_lists records in the connected organization. Refresh tracking using configured carrier integrations. No change occurs until a human approves the exact request in Settings > MCP and execute_approved_action is called.","module":"purchase_lists","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"siteId":{"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)$"},"purchaseItemId":{"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)$"}},"required":["siteId","purchaseItemId"],"additionalProperties":false}},{"name":"list_purchase_templates","description":"Use this when working with RetailHardHat purchase_lists records in the connected organization. Read reusable purchase-list templates.","module":"purchase_lists","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"limit":{"default":50,"type":"integer","minimum":1,"maximum":100},"offset":{"default":0,"type":"integer","minimum":0,"maximum":100000},"search":{"type":"string","maxLength":200}},"additionalProperties":false}},{"name":"get_purchase_template","description":"Use this when working with RetailHardHat purchase_lists records in the connected organization. Read a purchase template.","module":"purchase_lists","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"templateId":{"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)$"}},"required":["templateId"],"additionalProperties":false}},{"name":"create_purchase_template","description":"Use this when working with RetailHardHat purchase_lists records in the connected organization. Create a purchase template. No change occurs until a human approves the exact request in Settings > MCP and execute_approved_action is called.","module":"purchase_lists","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"name":{"type":"string","maxLength":10000},"description":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]}},"required":["name"],"additionalProperties":false}},"required":["data"],"additionalProperties":false}},{"name":"update_purchase_template","description":"Use this when working with RetailHardHat purchase_lists records in the connected organization. Edit a purchase template. No change occurs until a human approves the exact request in Settings > MCP and execute_approved_action is called.","module":"purchase_lists","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"templateId":{"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)$"},"data":{"type":"object","properties":{"name":{"type":"string","maxLength":10000},"description":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]}},"additionalProperties":false}},"required":["templateId","data"],"additionalProperties":false}},{"name":"delete_purchase_template","description":"Use this when working with RetailHardHat purchase_lists records in the connected organization. Delete a purchase template and its items. No change occurs until a human approves the exact request in Settings > MCP and execute_approved_action is called.","module":"purchase_lists","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"templateId":{"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)$"}},"required":["templateId"],"additionalProperties":false}},{"name":"list_purchase_template_items","description":"Use this when working with RetailHardHat purchase_lists records in the connected organization. Read template line items.","module":"purchase_lists","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"templateId":{"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)$"},"limit":{"default":50,"type":"integer","minimum":1,"maximum":100},"offset":{"default":0,"type":"integer","minimum":0,"maximum":100000},"search":{"type":"string","maxLength":200}},"required":["templateId"],"additionalProperties":false}},{"name":"add_purchase_template_item","description":"Use this when working with RetailHardHat purchase_lists records in the connected organization. Append an item to a purchase template. No change occurs until a human approves the exact request in Settings > MCP and execute_approved_action is called.","module":"purchase_lists","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"templateId":{"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)$"},"data":{"type":"object","properties":{"itemName":{"type":"string","maxLength":10000},"category":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"vendor":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"itemNumber":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"qty":{"anyOf":[{"type":"number"},{"type":"null"}]},"actualCost":{"anyOf":[{"type":"string","pattern":"^-?\\d{1,12}(?:\\.\\d{1,2})?$"},{"type":"null"}]},"leadtime":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"dimensions":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"finish":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"notes":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"pictureUrl":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"nsoLeadLink":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]}},"required":["itemName"],"additionalProperties":false}},"required":["templateId","data"],"additionalProperties":false}},{"name":"replace_purchase_template_items","description":"Use this when working with RetailHardHat purchase_lists records in the connected organization. Replace ALL items in a purchase template; an empty array clears them. No change occurs until a human approves the exact request in Settings > MCP and execute_approved_action is called.","module":"purchase_lists","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"templateId":{"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)$"},"data":{"maxItems":100,"type":"array","items":{"type":"object","properties":{"itemName":{"type":"string","maxLength":10000},"category":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"vendor":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"itemNumber":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"qty":{"anyOf":[{"type":"number"},{"type":"null"}]},"actualCost":{"anyOf":[{"type":"string","pattern":"^-?\\d{1,12}(?:\\.\\d{1,2})?$"},{"type":"null"}]},"leadtime":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"dimensions":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"finish":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"notes":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"pictureUrl":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"nsoLeadLink":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]}},"required":["itemName"],"additionalProperties":false}}},"required":["templateId","data"],"additionalProperties":false}},{"name":"apply_purchase_template","description":"Use this when working with RetailHardHat purchase_lists records in the connected organization. Apply a template to a site's purchase list. No change occurs until a human approves the exact request in Settings > MCP and execute_approved_action is called.","module":"purchase_lists","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"siteId":{"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)$"},"data":{"type":"object","properties":{"templateId":{"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)$"},"projectId":{"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)$"}},"required":["templateId"],"additionalProperties":false}},"required":["siteId","data"],"additionalProperties":false}},{"name":"list_site_leases","description":"Use this when working with RetailHardHat leases records in the connected organization. Read synchronized leases. LeaseCommand remains the authoritative source.","module":"leases","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"siteId":{"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)$"}},"required":["siteId"],"additionalProperties":false}},{"name":"get_site_lease_activity","description":"Use this when working with RetailHardHat leases records in the connected organization. Read synchronized lease activity and refresh metadata.","module":"leases","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"siteId":{"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)$"}},"required":["siteId"],"additionalProperties":false}},{"name":"get_lease_sync_status","description":"Use this when working with RetailHardHat leases records in the connected organization. Check whether LeaseCommand synchronization is configured; does not reveal credentials.","module":"leases","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{},"additionalProperties":false}},{"name":"refresh_leases","description":"Use this when working with RetailHardHat leases records in the connected organization. Refresh this organization's mapped sites from LeaseCommand. Requires an existing integration and human approval; does not edit the source leases. No change occurs until a human approves the exact request in Settings > MCP and execute_approved_action is called.","module":"leases","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{},"additionalProperties":false}},{"name":"get_report_metrics","description":"Use this when working with RetailHardHat reports records in the connected organization. Read organization reporting data; no platform-level analytics.","module":"reports","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{},"additionalProperties":false}},{"name":"get_task_trends","description":"Use this when working with RetailHardHat reports records in the connected organization. Read organization reporting data; no platform-level analytics.","module":"reports","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{},"additionalProperties":false}},{"name":"get_bid_trends","description":"Use this when working with RetailHardHat reports records in the connected organization. Read organization reporting data; no platform-level analytics.","module":"reports","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{},"additionalProperties":false}},{"name":"list_calendar_events","description":"Read calendar events in an explicit date range. Omitted dates default to the current UTC calendar month; use explicit dates for the user's local reporting window.","module":"reports","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"start":{"default":"2026-10-01","type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"end":{"default":"2026-10-31","type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"}},"additionalProperties":false}},{"name":"request_file_upload","description":"Use this when working with RetailHardHat documents records in the connected organization. Request an approved 15-minute upload ticket. PUT the exact bytes to uploadURL, then attach the returned key. Never send base64 bytes in this call. No change occurs until a human approves the exact request in Settings > MCP and execute_approved_action is called.","module":"documents","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"contentType":{"type":"string","enum":["image/jpeg","image/png","application/pdf","application/msword","application/vnd.openxmlformats-officedocument.wordprocessingml.document","application/vnd.ms-excel","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet","text/csv","text/plain"]},"fileSize":{"type":"integer","minimum":1,"maximum":52428800}},"required":["contentType","fileSize"],"additionalProperties":false}},"required":["data"],"additionalProperties":false}},{"name":"list_site_documents","description":"Use this when working with RetailHardHat documents records in the connected organization. Read site document metadata.","module":"documents","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"siteId":{"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)$"},"limit":{"default":50,"type":"integer","minimum":1,"maximum":100},"offset":{"default":0,"type":"integer","minimum":0,"maximum":100000},"search":{"type":"string","maxLength":200}},"required":["siteId"],"additionalProperties":false}},{"name":"attach_site_document","description":"Use this when working with RetailHardHat documents records in the connected organization. Attach an uploaded file owned by this organization to a site. No change occurs until a human approves the exact request in Settings > MCP and execute_approved_action is called.","module":"documents","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"siteId":{"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)$"},"data":{"type":"object","properties":{"name":{"type":"string","maxLength":10000},"description":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"filePath":{"type":"string","pattern":"^\\/objects\\/(?:\\.private\\/)?uploads\\/[0-9a-f-]{36}$"},"fileSize":{"anyOf":[{"type":"number"},{"type":"null"}]},"fileType":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"folderId":{"anyOf":[{"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)$"},{"type":"null"}]}},"required":["name","filePath"],"additionalProperties":false}},"required":["siteId","data"],"additionalProperties":false}},{"name":"update_site_document","description":"Use this when working with RetailHardHat documents records in the connected organization. Edit site document metadata; cannot replace its storage identity. No change occurs until a human approves the exact request in Settings > MCP and execute_approved_action is called.","module":"documents","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"siteId":{"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)$"},"documentId":{"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)$"},"data":{"type":"object","properties":{"name":{"type":"string","maxLength":10000},"description":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"fileSize":{"anyOf":[{"type":"number"},{"type":"null"}]},"fileType":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"folderId":{"anyOf":[{"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)$"},{"type":"null"}]}},"additionalProperties":false}},"required":["siteId","documentId","data"],"additionalProperties":false}},{"name":"delete_site_document","description":"Use this when working with RetailHardHat documents records in the connected organization. Remove a site document using the application's normal file-deletion rules. No change occurs until a human approves the exact request in Settings > MCP and execute_approved_action is called.","module":"documents","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"siteId":{"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)$"},"documentId":{"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)$"}},"required":["siteId","documentId"],"additionalProperties":false}},{"name":"read_site_document","description":"Use this when working with RetailHardHat documents records in the connected organization. Read authorized site file bytes as base64, or UTF-8 text for text files. Maximum 2 MiB.","module":"documents","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"documentId":{"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)$"}},"required":["documentId"],"additionalProperties":false}},{"name":"list_task_documents","description":"Use this when working with RetailHardHat documents records in the connected organization. Read task document metadata.","module":"documents","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"taskId":{"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)$"},"limit":{"default":50,"type":"integer","minimum":1,"maximum":100},"offset":{"default":0,"type":"integer","minimum":0,"maximum":100000},"search":{"type":"string","maxLength":200}},"required":["taskId"],"additionalProperties":false}},{"name":"attach_task_document","description":"Use this when working with RetailHardHat documents records in the connected organization. Attach an uploaded file owned by this organization to a task. No change occurs until a human approves the exact request in Settings > MCP and execute_approved_action is called.","module":"documents","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"taskId":{"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)$"},"data":{"type":"object","properties":{"name":{"type":"string","maxLength":10000},"description":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"filePath":{"type":"string","pattern":"^\\/objects\\/(?:\\.private\\/)?uploads\\/[0-9a-f-]{36}$"},"fileSize":{"anyOf":[{"type":"number"},{"type":"null"}]},"fileType":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]}},"required":["name","filePath"],"additionalProperties":false}},"required":["taskId","data"],"additionalProperties":false}},{"name":"update_task_document","description":"Use this when working with RetailHardHat documents records in the connected organization. Edit task document metadata; cannot replace its storage identity. No change occurs until a human approves the exact request in Settings > MCP and execute_approved_action is called.","module":"documents","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"taskId":{"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)$"},"documentId":{"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)$"},"data":{"type":"object","properties":{"name":{"type":"string","maxLength":10000},"description":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"fileSize":{"anyOf":[{"type":"number"},{"type":"null"}]},"fileType":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]}},"additionalProperties":false}},"required":["taskId","documentId","data"],"additionalProperties":false}},{"name":"delete_task_document","description":"Use this when working with RetailHardHat documents records in the connected organization. Remove a task document using the application's normal file-deletion rules. No change occurs until a human approves the exact request in Settings > MCP and execute_approved_action is called.","module":"documents","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"taskId":{"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)$"},"documentId":{"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)$"}},"required":["taskId","documentId"],"additionalProperties":false}},{"name":"read_task_document","description":"Use this when working with RetailHardHat documents records in the connected organization. Read authorized task file bytes as base64, or UTF-8 text for text files. Maximum 2 MiB.","module":"documents","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"documentId":{"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)$"}},"required":["documentId"],"additionalProperties":false}},{"name":"list_bid_documents","description":"Use this when working with RetailHardHat documents records in the connected organization. Read bid document metadata.","module":"documents","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"bidId":{"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)$"},"limit":{"default":50,"type":"integer","minimum":1,"maximum":100},"offset":{"default":0,"type":"integer","minimum":0,"maximum":100000},"search":{"type":"string","maxLength":200}},"required":["bidId"],"additionalProperties":false}},{"name":"attach_bid_document","description":"Use this when working with RetailHardHat documents records in the connected organization. Attach an uploaded file owned by this organization to a bid. No change occurs until a human approves the exact request in Settings > MCP and execute_approved_action is called.","module":"documents","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"bidId":{"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)$"},"data":{"type":"object","properties":{"name":{"type":"string","maxLength":10000},"description":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"filePath":{"type":"string","pattern":"^\\/objects\\/(?:\\.private\\/)?uploads\\/[0-9a-f-]{36}$"},"fileSize":{"anyOf":[{"type":"number"},{"type":"null"}]},"fileType":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]}},"required":["name","filePath"],"additionalProperties":false}},"required":["bidId","data"],"additionalProperties":false}},{"name":"update_bid_document","description":"Use this when working with RetailHardHat documents records in the connected organization. Edit bid document metadata; cannot replace its storage identity. No change occurs until a human approves the exact request in Settings > MCP and execute_approved_action is called.","module":"documents","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"bidId":{"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)$"},"documentId":{"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)$"},"data":{"type":"object","properties":{"name":{"type":"string","maxLength":10000},"description":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"fileSize":{"anyOf":[{"type":"number"},{"type":"null"}]},"fileType":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]}},"additionalProperties":false}},"required":["bidId","documentId","data"],"additionalProperties":false}},{"name":"delete_bid_document","description":"Use this when working with RetailHardHat documents records in the connected organization. Remove a bid document using the application's normal file-deletion rules. No change occurs until a human approves the exact request in Settings > MCP and execute_approved_action is called.","module":"documents","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"bidId":{"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)$"},"documentId":{"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)$"}},"required":["bidId","documentId"],"additionalProperties":false}},{"name":"read_bid_document","description":"Use this when working with RetailHardHat documents records in the connected organization. Read authorized bid file bytes as base64, or UTF-8 text for text files. Maximum 2 MiB.","module":"documents","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"documentId":{"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)$"}},"required":["documentId"],"additionalProperties":false}},{"name":"list_project_documents","description":"Use this when working with RetailHardHat documents records in the connected organization. Read project document metadata.","module":"documents","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"projectId":{"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)$"},"limit":{"default":50,"type":"integer","minimum":1,"maximum":100},"offset":{"default":0,"type":"integer","minimum":0,"maximum":100000},"search":{"type":"string","maxLength":200}},"required":["projectId"],"additionalProperties":false}},{"name":"attach_project_document","description":"Use this when working with RetailHardHat documents records in the connected organization. Attach an uploaded file owned by this organization to a project. No change occurs until a human approves the exact request in Settings > MCP and execute_approved_action is called.","module":"documents","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"projectId":{"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)$"},"data":{"type":"object","properties":{"name":{"type":"string","maxLength":10000},"description":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"filePath":{"type":"string","pattern":"^\\/objects\\/(?:\\.private\\/)?uploads\\/[0-9a-f-]{36}$"},"fileSize":{"anyOf":[{"type":"number"},{"type":"null"}]},"fileType":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]}},"required":["name","filePath"],"additionalProperties":false}},"required":["projectId","data"],"additionalProperties":false}},{"name":"delete_project_document","description":"Use this when working with RetailHardHat documents records in the connected organization. Remove a project document using the application's normal file-deletion rules. No change occurs until a human approves the exact request in Settings > MCP and execute_approved_action is called.","module":"documents","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"projectId":{"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)$"},"documentId":{"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)$"}},"required":["projectId","documentId"],"additionalProperties":false}},{"name":"read_project_document","description":"Use this when working with RetailHardHat documents records in the connected organization. Read authorized project file bytes as base64, or UTF-8 text for text files. Maximum 2 MiB.","module":"documents","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"documentId":{"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)$"}},"required":["documentId"],"additionalProperties":false}},{"name":"list_rfp_documents","description":"Use this when working with RetailHardHat documents records in the connected organization. Read rfp document metadata.","module":"documents","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"rfpId":{"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)$"},"limit":{"default":50,"type":"integer","minimum":1,"maximum":100},"offset":{"default":0,"type":"integer","minimum":0,"maximum":100000},"search":{"type":"string","maxLength":200}},"required":["rfpId"],"additionalProperties":false}},{"name":"attach_rfp_document","description":"Use this when working with RetailHardHat documents records in the connected organization. Attach an uploaded file owned by this organization to a rfp. No change occurs until a human approves the exact request in Settings > MCP and execute_approved_action is called.","module":"documents","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"rfpId":{"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)$"},"data":{"type":"object","properties":{"name":{"type":"string","maxLength":10000},"description":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"filePath":{"type":"string","pattern":"^\\/objects\\/(?:\\.private\\/)?uploads\\/[0-9a-f-]{36}$"},"fileSize":{"anyOf":[{"type":"number"},{"type":"null"}]},"fileType":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]}},"required":["name","filePath"],"additionalProperties":false}},"required":["rfpId","data"],"additionalProperties":false}},{"name":"update_rfp_document","description":"Use this when working with RetailHardHat documents records in the connected organization. Edit rfp document metadata; cannot replace its storage identity. No change occurs until a human approves the exact request in Settings > MCP and execute_approved_action is called.","module":"documents","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"rfpId":{"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)$"},"documentId":{"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)$"},"data":{"type":"object","properties":{"name":{"type":"string","maxLength":10000},"description":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"fileSize":{"anyOf":[{"type":"number"},{"type":"null"}]},"fileType":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]}},"additionalProperties":false}},"required":["rfpId","documentId","data"],"additionalProperties":false}},{"name":"delete_rfp_document","description":"Use this when working with RetailHardHat documents records in the connected organization. Remove a rfp document using the application's normal file-deletion rules. No change occurs until a human approves the exact request in Settings > MCP and execute_approved_action is called.","module":"documents","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"rfpId":{"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)$"},"documentId":{"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)$"}},"required":["rfpId","documentId"],"additionalProperties":false}},{"name":"read_rfp_document","description":"Use this when working with RetailHardHat documents records in the connected organization. Read authorized rfp file bytes as base64, or UTF-8 text for text files. Maximum 2 MiB.","module":"documents","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"documentId":{"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)$"}},"required":["documentId"],"additionalProperties":false}},{"name":"list_permit_documents","description":"Use this when working with RetailHardHat documents records in the connected organization. Read permit document metadata.","module":"documents","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"permitId":{"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)$"},"limit":{"default":50,"type":"integer","minimum":1,"maximum":100},"offset":{"default":0,"type":"integer","minimum":0,"maximum":100000},"search":{"type":"string","maxLength":200}},"required":["permitId"],"additionalProperties":false}},{"name":"attach_permit_document","description":"Use this when working with RetailHardHat documents records in the connected organization. Attach an uploaded file owned by this organization to a permit. No change occurs until a human approves the exact request in Settings > MCP and execute_approved_action is called.","module":"documents","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"permitId":{"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)$"},"data":{"type":"object","properties":{"name":{"type":"string","maxLength":10000},"documentType":{"type":"string","enum":["application","approval","correspondence","fee_receipt","inspection_report","amendment","other"]},"fileUrl":{"type":"string","pattern":"^\\/objects\\/(?:\\.private\\/)?uploads\\/[0-9a-f-]{36}$"},"fileSize":{"anyOf":[{"type":"number"},{"type":"null"}]},"notes":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]}},"required":["name","documentType","fileUrl"],"additionalProperties":false}},"required":["permitId","data"],"additionalProperties":false}},{"name":"update_permit_document","description":"Use this when working with RetailHardHat documents records in the connected organization. Edit permit document metadata; cannot replace its storage identity. No change occurs until a human approves the exact request in Settings > MCP and execute_approved_action is called.","module":"documents","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"permitId":{"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)$"},"documentId":{"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)$"},"data":{"type":"object","properties":{"name":{"type":"string","maxLength":10000},"documentType":{"type":"string","enum":["application","approval","correspondence","fee_receipt","inspection_report","amendment","other"]},"fileSize":{"anyOf":[{"type":"number"},{"type":"null"}]},"notes":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]}},"additionalProperties":false}},"required":["permitId","documentId","data"],"additionalProperties":false}},{"name":"delete_permit_document","description":"Use this when working with RetailHardHat documents records in the connected organization. Remove a permit document using the application's normal file-deletion rules. No change occurs until a human approves the exact request in Settings > MCP and execute_approved_action is called.","module":"documents","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"permitId":{"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)$"},"documentId":{"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)$"}},"required":["permitId","documentId"],"additionalProperties":false}},{"name":"read_permit_document","description":"Use this when working with RetailHardHat documents records in the connected organization. Read authorized permit file bytes as base64, or UTF-8 text for text files. Maximum 2 MiB.","module":"documents","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"documentId":{"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)$"}},"required":["documentId"],"additionalProperties":false}},{"name":"list_change_request_documents","description":"Use this when working with RetailHardHat documents records in the connected organization. Read change_request document metadata.","module":"documents","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"changeRequestId":{"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)$"},"limit":{"default":50,"type":"integer","minimum":1,"maximum":100},"offset":{"default":0,"type":"integer","minimum":0,"maximum":100000},"search":{"type":"string","maxLength":200}},"required":["changeRequestId"],"additionalProperties":false}},{"name":"attach_change_request_document","description":"Use this when working with RetailHardHat documents records in the connected organization. Attach an uploaded file owned by this organization to a change_request. No change occurs until a human approves the exact request in Settings > MCP and execute_approved_action is called.","module":"documents","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"changeRequestId":{"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)$"},"data":{"type":"object","properties":{"name":{"type":"string","maxLength":10000},"description":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"filePath":{"type":"string","pattern":"^\\/objects\\/(?:\\.private\\/)?uploads\\/[0-9a-f-]{36}$"},"fileSize":{"anyOf":[{"type":"number"},{"type":"null"}]},"fileType":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]}},"required":["name","filePath"],"additionalProperties":false}},"required":["changeRequestId","data"],"additionalProperties":false}},{"name":"delete_change_request_document","description":"Use this when working with RetailHardHat documents records in the connected organization. Remove a change_request document using the application's normal file-deletion rules. No change occurs until a human approves the exact request in Settings > MCP and execute_approved_action is called.","module":"documents","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"changeRequestId":{"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)$"},"documentId":{"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)$"}},"required":["changeRequestId","documentId"],"additionalProperties":false}},{"name":"read_change_request_document","description":"Use this when working with RetailHardHat documents records in the connected organization. Read authorized change_request file bytes as base64, or UTF-8 text for text files. Maximum 2 MiB.","module":"documents","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"documentId":{"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)$"}},"required":["documentId"],"additionalProperties":false}},{"name":"list_document_folders","description":"Use this when working with RetailHardHat documents records in the connected organization. Read site document folders.","module":"documents","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"siteId":{"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)$"},"limit":{"default":50,"type":"integer","minimum":1,"maximum":100},"offset":{"default":0,"type":"integer","minimum":0,"maximum":100000},"search":{"type":"string","maxLength":200}},"required":["siteId"],"additionalProperties":false}},{"name":"create_document_folder","description":"Use this when working with RetailHardHat documents records in the connected organization. Create a folder in a site's document tree. No change occurs until a human approves the exact request in Settings > MCP and execute_approved_action is called.","module":"documents","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"siteId":{"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)$"},"data":{"type":"object","properties":{"name":{"type":"string","maxLength":10000},"parentFolderId":{"anyOf":[{"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)$"},{"type":"null"}]}},"required":["name"],"additionalProperties":false}},"required":["siteId","data"],"additionalProperties":false}},{"name":"update_document_folder","description":"Use this when working with RetailHardHat documents records in the connected organization. Rename a document folder. No change occurs until a human approves the exact request in Settings > MCP and execute_approved_action is called.","module":"documents","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"folderId":{"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)$"},"data":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":200}},"required":["name"],"additionalProperties":false}},"required":["folderId","data"],"additionalProperties":false}},{"name":"delete_document_folder","description":"Use this when working with RetailHardHat documents records in the connected organization. Delete a folder using existing nonempty-folder safeguards. No change occurs until a human approves the exact request in Settings > MCP and execute_approved_action is called.","module":"documents","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"folderId":{"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)$"}},"required":["folderId"],"additionalProperties":false}},{"name":"list_daily_logs","description":"Use this when working with RetailHardHat field_operations records in the connected organization. Read field daily logs, including attached photo metadata.","module":"field_operations","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"siteId":{"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)$"},"limit":{"default":50,"type":"integer","minimum":1,"maximum":100},"offset":{"default":0,"type":"integer","minimum":0,"maximum":100000},"search":{"type":"string","maxLength":200}},"required":["siteId"],"additionalProperties":false}},{"name":"get_daily_log","description":"Use this when working with RetailHardHat field_operations records in the connected organization. Read a daily log and its media.","module":"field_operations","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"dailyLogId":{"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)$"}},"required":["dailyLogId"],"additionalProperties":false}},{"name":"create_daily_log","description":"Use this when working with RetailHardHat field_operations records in the connected organization. Create a field log with author derived from the connection. No change occurs until a human approves the exact request in Settings > MCP and execute_approved_action is called.","module":"field_operations","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"siteId":{"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)$"},"data":{"type":"object","properties":{"entryDate":{"anyOf":[{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-]\\d{2}:\\d{2})))$"}]},"summary":{"type":"string","maxLength":10000},"weatherConditions":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"workersOnSite":{"anyOf":[{"type":"number"},{"type":"null"}]}},"required":["entryDate","summary"],"additionalProperties":false}},"required":["siteId","data"],"additionalProperties":false}},{"name":"update_daily_log","description":"Use this when working with RetailHardHat field_operations records in the connected organization. Edit a field daily log. No change occurs until a human approves the exact request in Settings > MCP and execute_approved_action is called.","module":"field_operations","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"dailyLogId":{"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)$"},"data":{"type":"object","properties":{"entryDate":{"anyOf":[{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-]\\d{2}:\\d{2})))$"}]},"summary":{"type":"string","maxLength":10000},"weatherConditions":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"workersOnSite":{"anyOf":[{"type":"number"},{"type":"null"}]}},"additionalProperties":false}},"required":["dailyLogId","data"],"additionalProperties":false}},{"name":"delete_daily_log","description":"Use this when working with RetailHardHat field_operations records in the connected organization. Delete a daily log and dependent media records. No change occurs until a human approves the exact request in Settings > MCP and execute_approved_action is called.","module":"field_operations","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"dailyLogId":{"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)$"}},"required":["dailyLogId"],"additionalProperties":false}},{"name":"attach_daily_log_photo","description":"Use this when working with RetailHardHat field_operations records in the connected organization. Attach an owned uploaded photo to a daily log. No change occurs until a human approves the exact request in Settings > MCP and execute_approved_action is called.","module":"field_operations","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"dailyLogId":{"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)$"},"data":{"type":"object","properties":{"mediaType":{"type":"string","const":"photo"},"storageKey":{"type":"string","pattern":"^\\/objects\\/(?:\\.private\\/)?uploads\\/[0-9a-f-]{36}$"},"fileName":{"type":"string","minLength":1,"maxLength":255},"fileSize":{"type":"integer","minimum":1,"maximum":52428800},"mimeType":{"type":"string","enum":["image/jpeg","image/png"]},"caption":{"type":"string","maxLength":2000},"orderIndex":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["mediaType","storageKey","fileName","fileSize","mimeType"],"additionalProperties":false}},"required":["dailyLogId","data"],"additionalProperties":false}},{"name":"delete_daily_log_photo","description":"Use this when working with RetailHardHat field_operations records in the connected organization. Delete a daily-log photo through the application's normal route. No change occurs until a human approves the exact request in Settings > MCP and execute_approved_action is called.","module":"field_operations","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"dailyLogId":{"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)$"},"mediaId":{"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)$"}},"required":["dailyLogId","mediaId"],"additionalProperties":false}},{"name":"list_punch_items","description":"Use this when working with RetailHardHat field_operations records in the connected organization. Read site punch-list items.","module":"field_operations","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"siteId":{"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)$"},"limit":{"default":50,"type":"integer","minimum":1,"maximum":100},"offset":{"default":0,"type":"integer","minimum":0,"maximum":100000},"search":{"type":"string","maxLength":200}},"required":["siteId"],"additionalProperties":false}},{"name":"get_punch_item","description":"Use this when working with RetailHardHat field_operations records in the connected organization. Read a punch-list item.","module":"field_operations","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"punchItemId":{"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)$"}},"required":["punchItemId"],"additionalProperties":false}},{"name":"create_punch_item","description":"Use this when working with RetailHardHat field_operations records in the connected organization. Create a punch-list item. No change occurs until a human approves the exact request in Settings > MCP and execute_approved_action is called.","module":"field_operations","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"siteId":{"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)$"},"data":{"type":"object","properties":{"title":{"type":"string","maxLength":10000},"description":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"trade":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"locationDetail":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"severity":{"type":"string","enum":["minor","major","critical"]},"status":{"type":"string","enum":["open","in_progress","resolved","verified","closed"]},"dueDate":{"anyOf":[{"anyOf":[{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-]\\d{2}:\\d{2})))$"}]},{"type":"null"}]},"assignedToUserId":{"anyOf":[{"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)$"},{"type":"null"}]},"vendorId":{"anyOf":[{"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)$"},{"type":"null"}]},"contractorName":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"contractorContact":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"resolutionNotes":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]}},"required":["title"],"additionalProperties":false}},"required":["siteId","data"],"additionalProperties":false}},{"name":"update_punch_item","description":"Use this when working with RetailHardHat field_operations records in the connected organization. Edit a punch-list item without verifier-identity overrides. No change occurs until a human approves the exact request in Settings > MCP and execute_approved_action is called.","module":"field_operations","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"punchItemId":{"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)$"},"data":{"type":"object","properties":{"title":{"type":"string","maxLength":10000},"description":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"trade":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"locationDetail":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"severity":{"type":"string","enum":["minor","major","critical"]},"status":{"type":"string","enum":["open","in_progress","resolved","verified","closed"]},"dueDate":{"anyOf":[{"anyOf":[{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-]\\d{2}:\\d{2})))$"}]},{"type":"null"}]},"assignedToUserId":{"anyOf":[{"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)$"},{"type":"null"}]},"vendorId":{"anyOf":[{"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)$"},{"type":"null"}]},"contractorName":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"contractorContact":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"resolutionNotes":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]}},"additionalProperties":false}},"required":["punchItemId","data"],"additionalProperties":false}},{"name":"delete_punch_item","description":"Use this when working with RetailHardHat field_operations records in the connected organization. Delete a punch-list item. No change occurs until a human approves the exact request in Settings > MCP and execute_approved_action is called.","module":"field_operations","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"punchItemId":{"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)$"}},"required":["punchItemId"],"additionalProperties":false}},{"name":"list_utility_companies","description":"Use this when working with RetailHardHat field_operations records in the connected organization. Read organization utility providers.","module":"field_operations","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"limit":{"default":50,"type":"integer","minimum":1,"maximum":100},"offset":{"default":0,"type":"integer","minimum":0,"maximum":100000},"search":{"type":"string","maxLength":200}},"additionalProperties":false}},{"name":"create_utility_company","description":"Use this when working with RetailHardHat field_operations records in the connected organization. Create a utility provider. No change occurs until a human approves the exact request in Settings > MCP and execute_approved_action is called.","module":"field_operations","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"name":{"type":"string","maxLength":10000},"utilityType":{"type":"string","enum":["gas","water","sewer","electrical","telecom"]},"contactName":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"contactEmail":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"contactPhone":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"serviceArea":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"typicalLeadTimeDays":{"anyOf":[{"type":"number"},{"type":"null"}]},"notes":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]}},"required":["name","utilityType"],"additionalProperties":false}},"required":["data"],"additionalProperties":false}},{"name":"update_utility_company","description":"Use this when working with RetailHardHat field_operations records in the connected organization. Edit a utility provider. No change occurs until a human approves the exact request in Settings > MCP and execute_approved_action is called.","module":"field_operations","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"utilityCompanyId":{"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)$"},"data":{"type":"object","properties":{"name":{"type":"string","maxLength":10000},"utilityType":{"type":"string","enum":["gas","water","sewer","electrical","telecom"]},"contactName":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"contactEmail":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"contactPhone":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"serviceArea":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"typicalLeadTimeDays":{"anyOf":[{"type":"number"},{"type":"null"}]},"notes":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]}},"additionalProperties":false}},"required":["utilityCompanyId","data"],"additionalProperties":false}},{"name":"delete_utility_company","description":"Use this when working with RetailHardHat field_operations records in the connected organization. Delete a utility provider. No change occurs until a human approves the exact request in Settings > MCP and execute_approved_action is called.","module":"field_operations","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"utilityCompanyId":{"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)$"}},"required":["utilityCompanyId"],"additionalProperties":false}},{"name":"list_utility_connections","description":"Use this when working with RetailHardHat field_operations records in the connected organization. Read utility connections at a site.","module":"field_operations","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"siteId":{"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)$"},"limit":{"default":50,"type":"integer","minimum":1,"maximum":100},"offset":{"default":0,"type":"integer","minimum":0,"maximum":100000},"search":{"type":"string","maxLength":200}},"required":["siteId"],"additionalProperties":false}},{"name":"get_utility_connection","description":"Use this when working with RetailHardHat field_operations records in the connected organization. Read a utility connection.","module":"field_operations","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"utilityConnectionId":{"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)$"}},"required":["utilityConnectionId"],"additionalProperties":false}},{"name":"create_utility_connection","description":"Use this when working with RetailHardHat field_operations records in the connected organization. Create a utility connection. No change occurs until a human approves the exact request in Settings > MCP and execute_approved_action is called.","module":"field_operations","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"siteId":{"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)$"},"data":{"type":"object","properties":{"utilityType":{"type":"string","enum":["gas","water","sewer","electrical","telecom"]},"utilityCompanyId":{"anyOf":[{"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)$"},{"type":"null"}]},"status":{"type":"string","enum":["not_started","requested","scheduled","in_progress","connected","issue"]},"requestedDate":{"anyOf":[{"anyOf":[{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-]\\d{2}:\\d{2})))$"}]},{"type":"null"}]},"scheduledDate":{"anyOf":[{"anyOf":[{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-]\\d{2}:\\d{2})))$"}]},{"type":"null"}]},"connectedDate":{"anyOf":[{"anyOf":[{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-]\\d{2}:\\d{2})))$"}]},{"type":"null"}]},"estimatedLeadTimeDays":{"anyOf":[{"type":"number"},{"type":"null"}]},"meterNumber":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"serviceAddress":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"connectionType":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"capacity":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"issueReason":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"notes":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"landlordContactId":{"anyOf":[{"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)$"},{"type":"null"}]},"utilityContactId":{"anyOf":[{"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)$"},{"type":"null"}]}},"required":["utilityType"],"additionalProperties":false}},"required":["siteId","data"],"additionalProperties":false}},{"name":"update_utility_connection","description":"Use this when working with RetailHardHat field_operations records in the connected organization. Edit a utility connection. No change occurs until a human approves the exact request in Settings > MCP and execute_approved_action is called.","module":"field_operations","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"utilityConnectionId":{"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)$"},"data":{"type":"object","properties":{"utilityType":{"type":"string","enum":["gas","water","sewer","electrical","telecom"]},"utilityCompanyId":{"anyOf":[{"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)$"},{"type":"null"}]},"status":{"type":"string","enum":["not_started","requested","scheduled","in_progress","connected","issue"]},"requestedDate":{"anyOf":[{"anyOf":[{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-]\\d{2}:\\d{2})))$"}]},{"type":"null"}]},"scheduledDate":{"anyOf":[{"anyOf":[{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-]\\d{2}:\\d{2})))$"}]},{"type":"null"}]},"connectedDate":{"anyOf":[{"anyOf":[{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-]\\d{2}:\\d{2})))$"}]},{"type":"null"}]},"estimatedLeadTimeDays":{"anyOf":[{"type":"number"},{"type":"null"}]},"meterNumber":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"serviceAddress":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"connectionType":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"capacity":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"issueReason":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"notes":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"landlordContactId":{"anyOf":[{"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)$"},{"type":"null"}]},"utilityContactId":{"anyOf":[{"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)$"},{"type":"null"}]}},"additionalProperties":false}},"required":["utilityConnectionId","data"],"additionalProperties":false}},{"name":"delete_utility_connection","description":"Use this when working with RetailHardHat field_operations records in the connected organization. Delete a utility connection. No change occurs until a human approves the exact request in Settings > MCP and execute_approved_action is called.","module":"field_operations","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"utilityConnectionId":{"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)$"}},"required":["utilityConnectionId"],"additionalProperties":false}},{"name":"list_closeout_documents","description":"Use this when working with RetailHardHat field_operations records in the connected organization. Read closeout document metadata.","module":"field_operations","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"siteId":{"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)$"},"limit":{"default":50,"type":"integer","minimum":1,"maximum":100},"offset":{"default":0,"type":"integer","minimum":0,"maximum":100000},"search":{"type":"string","maxLength":200}},"required":["siteId"],"additionalProperties":false}},{"name":"get_closeout_document","description":"Use this when working with RetailHardHat field_operations records in the connected organization. Read a closeout document record.","module":"field_operations","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"closeoutDocumentId":{"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)$"}},"required":["closeoutDocumentId"],"additionalProperties":false}},{"name":"attach_closeout_document","description":"Use this when working with RetailHardHat field_operations records in the connected organization. Attach an owned uploaded closeout document; cannot self-approve it. No change occurs until a human approves the exact request in Settings > MCP and execute_approved_action is called.","module":"field_operations","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"siteId":{"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)$"},"data":{"type":"object","properties":{"docType":{"type":"string","enum":["as_built","om_manual","warranty","commissioning","certificate","other"]},"title":{"type":"string","maxLength":10000},"description":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"storageKey":{"type":"string","pattern":"^\\/objects\\/(?:\\.private\\/)?uploads\\/[0-9a-f-]{36}$"},"fileName":{"type":"string","maxLength":10000},"fileSize":{"anyOf":[{"type":"number"},{"type":"null"}]},"expiresAt":{"anyOf":[{"anyOf":[{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-]\\d{2}:\\d{2})))$"}]},{"type":"null"}]}},"required":["docType","title","storageKey","fileName"],"additionalProperties":false}},"required":["siteId","data"],"additionalProperties":false}},{"name":"update_closeout_document","description":"Use this when working with RetailHardHat field_operations records in the connected organization. Edit closeout metadata without approval or identity overrides. No change occurs until a human approves the exact request in Settings > MCP and execute_approved_action is called.","module":"field_operations","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"closeoutDocumentId":{"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)$"},"data":{"type":"object","properties":{"docType":{"type":"string","enum":["as_built","om_manual","warranty","commissioning","certificate","other"]},"title":{"type":"string","maxLength":10000},"description":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"fileName":{"type":"string","maxLength":10000},"fileSize":{"anyOf":[{"type":"number"},{"type":"null"}]},"expiresAt":{"anyOf":[{"anyOf":[{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-]\\d{2}:\\d{2})))$"}]},{"type":"null"}]}},"additionalProperties":false}},"required":["closeoutDocumentId","data"],"additionalProperties":false}},{"name":"delete_closeout_document","description":"Use this when working with RetailHardHat field_operations records in the connected organization. Delete a closeout document. No change occurs until a human approves the exact request in Settings > MCP and execute_approved_action is called.","module":"field_operations","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"closeoutDocumentId":{"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)$"}},"required":["closeoutDocumentId"],"additionalProperties":false}},{"name":"list_task_templates","description":"Find task templates.","module":"tasks","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"limit":{"default":50,"type":"integer","minimum":1,"maximum":100},"offset":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991},"search":{"type":"string","maxLength":200}},"additionalProperties":false}},{"name":"get_task_template","description":"Read a task template and its configuration.","module":"tasks","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"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)$"}},"required":["id"],"additionalProperties":false}},{"name":"create_task_template","description":"Create a reusable task template.","module":"tasks","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"name":{"type":"string","maxLength":10000},"description":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"category":{"type":"string","maxLength":10000},"applicableTo":{"type":"string","maxLength":10000}},"required":["name"],"additionalProperties":false}},"required":["data"],"additionalProperties":false}},{"name":"update_task_template","description":"Edit a task template.","module":"tasks","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"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)$"},"data":{"type":"object","properties":{"name":{"type":"string","maxLength":10000},"description":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"category":{"type":"string","maxLength":10000},"applicableTo":{"type":"string","maxLength":10000}},"additionalProperties":false}},"required":["id","data"],"additionalProperties":false}},{"name":"delete_task_template","description":"Delete a task template and its normal dependent records.","module":"tasks","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"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)$"}},"required":["id"],"additionalProperties":false}},{"name":"list_task_template_items","description":"Read all items in a task template.","module":"tasks","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"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)$"},"limit":{"default":50,"type":"integer","minimum":1,"maximum":100},"offset":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991},"search":{"type":"string","maxLength":200}},"required":["id"],"additionalProperties":false}},{"name":"create_task_template_item","description":"Add an item to a task template.","module":"tasks","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"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)$"},"data":{"type":"object","properties":{"parentTemplateTaskId":{"anyOf":[{"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)$"},{"type":"null"}]},"title":{"type":"string","maxLength":10000},"description":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"type":{"type":"string","enum":["task","inspection","milestone","checklist","phase"]},"priority":{"type":"string","enum":["low","medium","high"]},"team":{"type":"string","enum":["construction","real_estate","finance","operations","legal","marketing","hr","it","general"]},"relativeOffsetDays":{"anyOf":[{"type":"number"},{"type":"null"}]},"durationDays":{"anyOf":[{"type":"number"},{"type":"null"}]},"orderIndex":{"type":"number"},"defaultAssignee":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"defaultAssigneeUserId":{"anyOf":[{"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)$"},{"type":"null"}]},"hasPrerequisites":{"type":"boolean"},"prerequisiteTriggerMode":{"anyOf":[{"type":"string","enum":["immediate","delayed"]},{"type":"null"}]},"prerequisiteDelayDays":{"anyOf":[{"type":"number"},{"type":"null"}]},"isMatrixMilestone":{"type":"boolean"}},"required":["title"],"additionalProperties":false}},"required":["id","data"],"additionalProperties":false}},{"name":"update_task_template_item","description":"Edit a task template item.","module":"tasks","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"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)$"},"itemId":{"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)$"},"data":{"type":"object","properties":{"parentTemplateTaskId":{"anyOf":[{"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)$"},{"type":"null"}]},"title":{"type":"string","maxLength":10000},"description":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"type":{"type":"string","enum":["task","inspection","milestone","checklist","phase"]},"priority":{"type":"string","enum":["low","medium","high"]},"team":{"type":"string","enum":["construction","real_estate","finance","operations","legal","marketing","hr","it","general"]},"relativeOffsetDays":{"anyOf":[{"type":"number"},{"type":"null"}]},"durationDays":{"anyOf":[{"type":"number"},{"type":"null"}]},"orderIndex":{"type":"number"},"defaultAssignee":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"defaultAssigneeUserId":{"anyOf":[{"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)$"},{"type":"null"}]},"hasPrerequisites":{"type":"boolean"},"prerequisiteTriggerMode":{"anyOf":[{"type":"string","enum":["immediate","delayed"]},{"type":"null"}]},"prerequisiteDelayDays":{"anyOf":[{"type":"number"},{"type":"null"}]},"isMatrixMilestone":{"type":"boolean"}},"additionalProperties":false}},"required":["id","itemId","data"],"additionalProperties":false}},{"name":"delete_task_template_item","description":"Remove an item from a task template.","module":"tasks","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"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)$"},"itemId":{"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)$"}},"required":["id","itemId"],"additionalProperties":false}},{"name":"apply_task_template","description":"Apply a task template to an existing site. Does not create the destination. data.anchorDate is required; use the user's requested anchor or today's local date when unspecified and disclose the anchor in the preview.","module":"tasks","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"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)$"},"data":{"type":"object","properties":{"siteId":{"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)$"},"anchorDate":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"}},"required":["siteId","anchorDate"],"additionalProperties":false}},"required":["id","data"],"additionalProperties":false}},{"name":"list_budget_templates","description":"Find budget templates.","module":"budgets","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"limit":{"default":50,"type":"integer","minimum":1,"maximum":100},"offset":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991},"search":{"type":"string","maxLength":200}},"additionalProperties":false}},{"name":"get_budget_template","description":"Read a budget template and its configuration.","module":"budgets","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"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)$"}},"required":["id"],"additionalProperties":false}},{"name":"create_budget_template","description":"Create a reusable budget template.","module":"budgets","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"name":{"type":"string","maxLength":10000},"description":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"totalBudget":{"anyOf":[{"type":"string","pattern":"^-?\\d{1,12}(?:\\.\\d{1,2})?$"},{"type":"null"}]},"currencyCode":{"type":"string","maxLength":10000},"selectedCategories":{"anyOf":[{"maxItems":500,"type":"array","items":{"$ref":"#/$defs/__schema0"}},{"type":"null"}]},"applicableTo":{"type":"string","maxLength":10000}},"required":["name"],"additionalProperties":false}},"required":["data"],"additionalProperties":false,"$defs":{"__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema0"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}]}}}},{"name":"update_budget_template","description":"Edit a budget template.","module":"budgets","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"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)$"},"data":{"type":"object","properties":{"name":{"type":"string","maxLength":10000},"description":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"totalBudget":{"anyOf":[{"type":"string","pattern":"^-?\\d{1,12}(?:\\.\\d{1,2})?$"},{"type":"null"}]},"currencyCode":{"type":"string","maxLength":10000},"selectedCategories":{"anyOf":[{"maxItems":500,"type":"array","items":{"$ref":"#/$defs/__schema0"}},{"type":"null"}]},"applicableTo":{"type":"string","maxLength":10000}},"additionalProperties":false}},"required":["id","data"],"additionalProperties":false,"$defs":{"__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema0"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}]}}}},{"name":"delete_budget_template","description":"Delete a budget template and its normal dependent records.","module":"budgets","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"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)$"}},"required":["id"],"additionalProperties":false}},{"name":"list_budget_template_items","description":"Read all items in a budget template.","module":"budgets","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"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)$"},"limit":{"default":50,"type":"integer","minimum":1,"maximum":100},"offset":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991},"search":{"type":"string","maxLength":200}},"required":["id"],"additionalProperties":false}},{"name":"create_budget_template_item","description":"Add an item to a budget template.","module":"budgets","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"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)$"},"data":{"type":"object","properties":{"name":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"parentCategory":{"anyOf":[{"type":"string","enum":["acquisition","sitework","core_structure","construction","systems","interior_finish","professional_services","permitting_fees","marketing","contingency","operating_costs","other"]},{"type":"null"}]},"category":{"type":"string","enum":["acquisition","sitework","core_structure","construction","systems","interior_finish","professional_services","permitting_fees","marketing","contingency","operating_costs","other"]},"categoryOtherLabel":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"plannedAmount":{"type":"string","pattern":"^-?\\d{1,12}(?:\\.\\d{1,2})?$"},"periodType":{"type":"string","enum":["project","phase","monthly","quarterly"]},"notes":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"orderIndex":{"type":"number"}},"required":["category","plannedAmount"],"additionalProperties":false}},"required":["id","data"],"additionalProperties":false}},{"name":"update_budget_template_item","description":"Edit a budget template item.","module":"budgets","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"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)$"},"itemId":{"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)$"},"data":{"type":"object","properties":{"name":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"parentCategory":{"anyOf":[{"type":"string","enum":["acquisition","sitework","core_structure","construction","systems","interior_finish","professional_services","permitting_fees","marketing","contingency","operating_costs","other"]},{"type":"null"}]},"category":{"type":"string","enum":["acquisition","sitework","core_structure","construction","systems","interior_finish","professional_services","permitting_fees","marketing","contingency","operating_costs","other"]},"categoryOtherLabel":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"plannedAmount":{"type":"string","pattern":"^-?\\d{1,12}(?:\\.\\d{1,2})?$"},"periodType":{"type":"string","enum":["project","phase","monthly","quarterly"]},"notes":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"orderIndex":{"type":"number"}},"additionalProperties":false}},"required":["id","itemId","data"],"additionalProperties":false}},{"name":"delete_budget_template_item","description":"Remove an item from a budget template.","module":"budgets","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"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)$"},"itemId":{"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)$"}},"required":["id","itemId"],"additionalProperties":false}},{"name":"apply_budget_template","description":"Apply a budget template to an existing site. Does not create the destination.","module":"budgets","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"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)$"},"data":{"type":"object","properties":{"siteId":{"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)$"}},"required":["siteId"],"additionalProperties":false}},"required":["id","data"],"additionalProperties":false}},{"name":"list_project_task_templates","description":"Find project task templates.","module":"projects","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"limit":{"default":50,"type":"integer","minimum":1,"maximum":100},"offset":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991},"search":{"type":"string","maxLength":200}},"additionalProperties":false}},{"name":"get_project_task_template","description":"Read a project_task template and its configuration.","module":"projects","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"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)$"}},"required":["id"],"additionalProperties":false}},{"name":"create_project_task_template","description":"Create a reusable project_task template.","module":"projects","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"name":{"type":"string","maxLength":10000},"description":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"category":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]}},"required":["name"],"additionalProperties":false}},"required":["data"],"additionalProperties":false}},{"name":"update_project_task_template","description":"Edit a project_task template.","module":"projects","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"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)$"},"data":{"type":"object","properties":{"name":{"type":"string","maxLength":10000},"description":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"category":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]}},"additionalProperties":false}},"required":["id","data"],"additionalProperties":false}},{"name":"delete_project_task_template","description":"Delete a project_task template and its normal dependent records.","module":"projects","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"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)$"}},"required":["id"],"additionalProperties":false}},{"name":"list_project_task_template_items","description":"Read all items in a project_task template.","module":"projects","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"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)$"},"limit":{"default":50,"type":"integer","minimum":1,"maximum":100},"offset":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991},"search":{"type":"string","maxLength":200}},"required":["id"],"additionalProperties":false}},{"name":"create_project_task_template_item","description":"Add an item to a project_task template.","module":"projects","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"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)$"},"data":{"type":"object","properties":{"name":{"type":"string","maxLength":10000},"description":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"priority":{"type":"string","maxLength":10000},"orderIndex":{"type":"number"}},"required":["name"],"additionalProperties":false}},"required":["id","data"],"additionalProperties":false}},{"name":"update_project_task_template_item","description":"Edit a project_task template item.","module":"projects","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"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)$"},"itemId":{"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)$"},"data":{"type":"object","properties":{"name":{"type":"string","maxLength":10000},"description":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"priority":{"type":"string","maxLength":10000},"orderIndex":{"type":"number"}},"additionalProperties":false}},"required":["id","itemId","data"],"additionalProperties":false}},{"name":"delete_project_task_template_item","description":"Remove an item from a project_task template.","module":"projects","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"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)$"},"itemId":{"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)$"}},"required":["id","itemId"],"additionalProperties":false}},{"name":"apply_project_task_template","description":"Apply a project_task template to an existing project. Does not create the destination.","module":"projects","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"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)$"},"data":{"type":"object","properties":{"projectId":{"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)$"}},"required":["projectId"],"additionalProperties":false}},"required":["id","data"],"additionalProperties":false}},{"name":"list_project_budget_templates","description":"Find project budget templates.","module":"budgets","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"limit":{"default":50,"type":"integer","minimum":1,"maximum":100},"offset":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991},"search":{"type":"string","maxLength":200}},"additionalProperties":false}},{"name":"get_project_budget_template","description":"Read a project_budget template and its configuration.","module":"budgets","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"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)$"}},"required":["id"],"additionalProperties":false}},{"name":"create_project_budget_template","description":"Create a reusable project_budget template.","module":"budgets","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"name":{"type":"string","maxLength":10000},"description":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]}},"required":["name"],"additionalProperties":false}},"required":["data"],"additionalProperties":false}},{"name":"update_project_budget_template","description":"Edit a project_budget template.","module":"budgets","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"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)$"},"data":{"type":"object","properties":{"name":{"type":"string","maxLength":10000},"description":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]}},"additionalProperties":false}},"required":["id","data"],"additionalProperties":false}},{"name":"delete_project_budget_template","description":"Delete a project_budget template and its normal dependent records.","module":"budgets","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"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)$"}},"required":["id"],"additionalProperties":false}},{"name":"list_project_budget_template_items","description":"Read all items in a project_budget template.","module":"budgets","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"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)$"},"limit":{"default":50,"type":"integer","minimum":1,"maximum":100},"offset":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991},"search":{"type":"string","maxLength":200}},"required":["id"],"additionalProperties":false}},{"name":"create_project_budget_template_item","description":"Add an item to a project_budget template.","module":"budgets","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"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)$"},"data":{"type":"object","properties":{"name":{"type":"string","maxLength":10000},"category":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"estimatedAmount":{"type":"string","pattern":"^-?\\d{1,12}(?:\\.\\d{1,2})?$"},"orderIndex":{"type":"number"}},"required":["name"],"additionalProperties":false}},"required":["id","data"],"additionalProperties":false}},{"name":"update_project_budget_template_item","description":"Edit a project_budget template item.","module":"budgets","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"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)$"},"itemId":{"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)$"},"data":{"type":"object","properties":{"name":{"type":"string","maxLength":10000},"category":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"estimatedAmount":{"type":"string","pattern":"^-?\\d{1,12}(?:\\.\\d{1,2})?$"},"orderIndex":{"type":"number"}},"additionalProperties":false}},"required":["id","itemId","data"],"additionalProperties":false}},{"name":"delete_project_budget_template_item","description":"Remove an item from a project_budget template.","module":"budgets","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"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)$"},"itemId":{"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)$"}},"required":["id","itemId"],"additionalProperties":false}},{"name":"apply_project_budget_template","description":"Apply a project_budget template to an existing project. Does not create the destination.","module":"budgets","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"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)$"},"data":{"type":"object","properties":{"projectId":{"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)$"}},"required":["projectId"],"additionalProperties":false}},"required":["id","data"],"additionalProperties":false}},{"name":"list_custom_fields","description":"Read the organization's location custom field definitions and option sets.","module":"sites","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{},"additionalProperties":false}},{"name":"create_custom_field","description":"Create a location custom field, including its dropdown options.","module":"sites","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":200},"fieldType":{"type":"string","enum":["text","date","currency","select","multipart"]},"options":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}},"required":["name","fieldType"],"additionalProperties":false}},"required":["data"],"additionalProperties":false,"$defs":{"__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema0"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}]}}}},{"name":"update_custom_field","description":"Edit a location custom field and its options.","module":"sites","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"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)$"},"data":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":200},"fieldType":{"type":"string","enum":["text","date","currency","select","multipart"]},"options":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}},"additionalProperties":false}},"required":["id","data"],"additionalProperties":false,"$defs":{"__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema0"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}]}}}},{"name":"delete_custom_field","description":"Remove a custom field and clear its stored values.","module":"sites","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"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)$"}},"required":["id"],"additionalProperties":false}},{"name":"get_site_custom_fields","description":"Read a location's custom values.","module":"sites","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"siteId":{"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)$"}},"required":["siteId"],"additionalProperties":false}},{"name":"set_site_custom_field","description":"Set a defined custom field value on a site.","module":"sites","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"siteId":{"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)$"},"fieldId":{"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)$"},"data":{"type":"object","properties":{"value":{"$ref":"#/$defs/__schema0"}},"required":["value"],"additionalProperties":false}},"required":["siteId","fieldId","data"],"additionalProperties":false,"$defs":{"__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema0"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}]}}}},{"name":"get_report_registry","description":"Discover exact supported report datasets, columns and filters before creating or running a report.","module":"reports","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{},"additionalProperties":false}},{"name":"list_saved_reports","description":"Find saved report definitions.","module":"reports","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"limit":{"default":50,"type":"integer","minimum":1,"maximum":100},"offset":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991},"search":{"type":"string","maxLength":200}},"additionalProperties":false}},{"name":"get_saved_report","description":"Read a saved report definition.","module":"reports","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"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)$"}},"required":["id"],"additionalProperties":false}},{"name":"create_saved_report","description":"Save a report using the report registry's exact dataset and column definitions.","module":"reports","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":200},"description":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"baseEntity":{"type":"string","minLength":1,"maxLength":100},"columns":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"object","properties":{"fieldId":{"type":"string"},"label":{"type":"string"},"width":{"type":"number"},"visible":{"default":true,"type":"boolean"}},"required":["fieldId"]}},"filters":{"maxItems":50,"type":"array","items":{"type":"object","properties":{"fieldId":{"type":"string"},"operator":{"type":"string"},"value":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"array","items":{"type":"string"}},{"type":"null"}]},"value2":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"null"}]}},"required":["fieldId","operator"]}},"sorts":{"maxItems":20,"type":"array","items":{"type":"object","properties":{"fieldId":{"type":"string"},"direction":{"type":"string","enum":["asc","desc"]}},"required":["fieldId","direction"]}}},"required":["name","baseEntity","columns"],"additionalProperties":false}},"required":["data"],"additionalProperties":false}},{"name":"update_saved_report","description":"Edit a saved report definition.","module":"reports","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"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)$"},"data":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":200},"description":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"baseEntity":{"type":"string","minLength":1,"maxLength":100},"columns":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"object","properties":{"fieldId":{"type":"string"},"label":{"type":"string"},"width":{"type":"number"},"visible":{"default":true,"type":"boolean"}},"required":["fieldId"]}},"filters":{"maxItems":50,"type":"array","items":{"type":"object","properties":{"fieldId":{"type":"string"},"operator":{"type":"string"},"value":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"array","items":{"type":"string"}},{"type":"null"}]},"value2":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"null"}]}},"required":["fieldId","operator"]}},"sorts":{"maxItems":20,"type":"array","items":{"type":"object","properties":{"fieldId":{"type":"string"},"direction":{"type":"string","enum":["asc","desc"]}},"required":["fieldId","direction"]}}},"additionalProperties":false}},"required":["id","data"],"additionalProperties":false}},{"name":"delete_saved_report","description":"Delete a saved report.","module":"reports","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"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)$"}},"required":["id"],"additionalProperties":false}},{"name":"run_report","description":"Run a bounded read-only report. Consult get_report_registry for the exact request shape.","module":"reports","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"baseEntity":{"type":"string","minLength":1,"maxLength":100},"definitionId":{"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)$"},"columns":{"maxItems":100,"type":"array","items":{"type":"object","properties":{"fieldId":{"type":"string"},"label":{"type":"string"},"width":{"type":"number"},"visible":{"default":true,"type":"boolean"}},"required":["fieldId"]}},"filters":{"maxItems":50,"type":"array","items":{"type":"object","properties":{"fieldId":{"type":"string"},"operator":{"type":"string"},"value":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"array","items":{"type":"string"}},{"type":"null"}]},"value2":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"null"}]}},"required":["fieldId","operator"]}},"sorts":{"maxItems":20,"type":"array","items":{"type":"object","properties":{"fieldId":{"type":"string"},"direction":{"type":"string","enum":["asc","desc"]}},"required":["fieldId","direction"]}},"page":{"default":1,"type":"integer","minimum":1,"maximum":1000},"pageSize":{"default":50,"type":"integer","minimum":1,"maximum":100}},"additionalProperties":false}},"required":["data"],"additionalProperties":false}},{"name":"list_task_children","description":"Read direct subtasks of an authorized task.","module":"tasks","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"taskId":{"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)$"}},"required":["taskId"],"additionalProperties":false}},{"name":"list_task_dependencies","description":"Read predecessor dependencies including date effects and offsets.","module":"tasks","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"taskId":{"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)$"}},"required":["taskId"],"additionalProperties":false}},{"name":"list_task_dependents","description":"Read following task dependencies including date effects and offsets.","module":"tasks","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"taskId":{"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)$"}},"required":["taskId"],"additionalProperties":false}},{"name":"list_phase","description":"Read phase with your account's permissions.","module":"sites","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"limit":{"default":50,"type":"integer","minimum":1,"maximum":100},"offset":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991},"search":{"type":"string","maxLength":200}},"additionalProperties":false}},{"name":"get_phase","description":"Read a phase record.","module":"sites","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"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)$"}},"required":["id"],"additionalProperties":false}},{"name":"create_phase","description":"Create phase using the same business service as the screen.","module":"sites","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"parentPhaseId":{"anyOf":[{"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)$"},{"type":"null"}]},"name":{"type":"string","maxLength":10000},"description":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"color":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"startDate":{"anyOf":[{"anyOf":[{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-]\\d{2}:\\d{2})))$"}]},{"type":"null"}]},"endDate":{"anyOf":[{"anyOf":[{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-]\\d{2}:\\d{2})))$"}]},{"type":"null"}]},"status":{"type":"string","maxLength":10000},"order":{"type":"number"}},"required":["name"],"additionalProperties":false}},"required":["data"],"additionalProperties":false}},{"name":"update_phase","description":"Configure/edit phase; server-owned fields are excluded.","module":"sites","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"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)$"},"data":{"type":"object","properties":{"parentPhaseId":{"anyOf":[{"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)$"},{"type":"null"}]},"name":{"type":"string","maxLength":10000},"description":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"color":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"startDate":{"anyOf":[{"anyOf":[{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-]\\d{2}:\\d{2})))$"}]},{"type":"null"}]},"endDate":{"anyOf":[{"anyOf":[{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-]\\d{2}:\\d{2})))$"}]},{"type":"null"}]},"status":{"type":"string","maxLength":10000},"order":{"type":"number"}},"additionalProperties":false}},"required":["id","data"],"additionalProperties":false}},{"name":"delete_phase","description":"Delete phase. Review dependent-record effects before confirming.","module":"sites","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"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)$"}},"required":["id"],"additionalProperties":false}},{"name":"list_target_locations","description":"List/search Target Locations: desired expansion markets and target cities shared with brokers, not existing sites or the Target retail brand.","module":"sites","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"limit":{"default":50,"type":"integer","minimum":1,"maximum":100},"offset":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991},"search":{"type":"string","maxLength":200},"id":{"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)$"}},"additionalProperties":false}},{"name":"create_target_location","description":"Add a Target Location / target market / desired expansion city. Only market is required; no site, deal or street address is needed. Other fields use screen defaults. Organization admin required.","module":"sites","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"market":{"description":"The requested market/city label. Keep a provided custom label exactly; state is a separate field.","type":"string","minLength":1,"maxLength":200},"state":{"description":"Copy the state when the user supplies one, e.g. Dallas, TX requires state TX even if they also provide a custom market label. Only omit when no state was provided; do not infer an unprovided state.","anyOf":[{"type":"string","minLength":1,"maxLength":100},{"type":"null"}]},"priority":{"type":"string","enum":["high","medium","low"]},"radiusMiles":{"anyOf":[{"type":"number"},{"type":"null"}]},"notes":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"status":{"type":"string","enum":["active","paused","filled"]}},"required":["market"],"additionalProperties":false}},"required":["data"],"additionalProperties":false}},{"name":"update_target_location","description":"Edit a Target Location's market, state, priority, radiusMiles, notes or active/paused/filled status. Organization admin required.","module":"sites","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"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)$"},"data":{"type":"object","properties":{"market":{"description":"The requested market/city label. Keep a provided custom label exactly; state is a separate field.","type":"string","minLength":1,"maxLength":200},"state":{"description":"Copy the state when the user supplies one, e.g. Dallas, TX requires state TX even if they also provide a custom market label. Only omit when no state was provided; do not infer an unprovided state.","anyOf":[{"type":"string","minLength":1,"maxLength":100},{"type":"null"}]},"priority":{"type":"string","enum":["high","medium","low"]},"radiusMiles":{"anyOf":[{"type":"number"},{"type":"null"}]},"notes":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"status":{"type":"string","enum":["active","paused","filled"]}},"additionalProperties":false}},"required":["id","data"],"additionalProperties":false}},{"name":"delete_target_location","description":"Delete a desired Target Location / expansion market, not a site. Organization admin and an exact reviewed preview are required.","module":"sites","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"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)$"}},"required":["id"],"additionalProperties":false}},{"name":"list_pipeline_stage","description":"Read pipeline stage with your account's permissions.","module":"deals","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"limit":{"default":50,"type":"integer","minimum":1,"maximum":100},"offset":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991},"search":{"type":"string","maxLength":200}},"additionalProperties":false}},{"name":"create_pipeline_stage","description":"Create pipeline_stage using the same business service as the screen.","module":"deals","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"name":{"type":"string","maxLength":10000},"slug":{"type":"string","maxLength":10000},"description":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"color":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"displayOrder":{"type":"number"},"isDefault":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"isClosedWon":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"isClosedLost":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"agingThresholdDays":{"anyOf":[{"type":"number"},{"type":"null"}]}},"required":["name","slug"],"additionalProperties":false}},"required":["data"],"additionalProperties":false}},{"name":"update_pipeline_stage","description":"Configure/edit pipeline_stage; server-owned fields are excluded.","module":"deals","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"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)$"},"data":{"type":"object","properties":{"name":{"type":"string","maxLength":10000},"slug":{"type":"string","maxLength":10000},"description":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"color":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"displayOrder":{"type":"number"},"isDefault":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"isClosedWon":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"isClosedLost":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"agingThresholdDays":{"anyOf":[{"type":"number"},{"type":"null"}]}},"additionalProperties":false}},"required":["id","data"],"additionalProperties":false}},{"name":"delete_pipeline_stage","description":"Delete pipeline_stage. Review dependent-record effects before confirming.","module":"deals","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"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)$"}},"required":["id"],"additionalProperties":false}},{"name":"list_checklist_template","description":"Read checklist template with your account's permissions.","module":"sites","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"limit":{"default":50,"type":"integer","minimum":1,"maximum":100},"offset":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991},"search":{"type":"string","maxLength":200}},"additionalProperties":false}},{"name":"get_checklist_template","description":"Read a checklist_template record.","module":"sites","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"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)$"}},"required":["id"],"additionalProperties":false}},{"name":"create_checklist_template","description":"Create checklist_template using the same business service as the screen.","module":"sites","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"name":{"type":"string","maxLength":10000},"description":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"version":{"type":"number"},"isDefault":{"type":"boolean"}},"required":["name"],"additionalProperties":false}},"required":["data"],"additionalProperties":false}},{"name":"update_checklist_template","description":"Configure/edit checklist_template; server-owned fields are excluded.","module":"sites","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"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)$"},"data":{"type":"object","properties":{"name":{"type":"string","maxLength":10000},"description":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"version":{"type":"number"},"isDefault":{"type":"boolean"}},"additionalProperties":false}},"required":["id","data"],"additionalProperties":false}},{"name":"delete_checklist_template","description":"Delete checklist_template. Review dependent-record effects before confirming.","module":"sites","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"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)$"}},"required":["id"],"additionalProperties":false}},{"name":"update_checklist_template_item","description":"Configure/edit checklist_template_item; server-owned fields are excluded.","module":"sites","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"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)$"},"data":{"type":"object","properties":{"templateId":{"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)$"},"orderIndex":{"type":"number"},"title":{"type":"string","maxLength":10000},"category":{"type":"string","enum":["construction","operations","it","merchandising","hr","pre_opening","other"]},"description":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"guidanceText":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"isRequired":{"type":"boolean"},"defaultAssigneeRole":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]}},"additionalProperties":false}},"required":["id","data"],"additionalProperties":false}},{"name":"delete_checklist_template_item","description":"Delete checklist_template_item. Review dependent-record effects before confirming.","module":"sites","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"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)$"}},"required":["id"],"additionalProperties":false}},{"name":"list_checklist_template_items","description":"Read checklist template items.","module":"sites","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"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)$"}},"required":["id"],"additionalProperties":false}},{"name":"create_checklist_template_item","description":"Add a checklist template item.","module":"sites","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"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)$"},"data":{"type":"object","properties":{"orderIndex":{"type":"number"},"title":{"type":"string","maxLength":10000},"category":{"type":"string","enum":["construction","operations","it","merchandising","hr","pre_opening","other"]},"description":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"guidanceText":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"isRequired":{"type":"boolean"},"defaultAssigneeRole":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]}},"required":["title"],"additionalProperties":false}},"required":["id","data"],"additionalProperties":false}},{"name":"apply_checklist_template","description":"Apply checklist items to a site's active checklist; existing titles are deduplicated.","module":"sites","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"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)$"},"data":{"type":"object","properties":{"siteId":{"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)$"}},"required":["siteId"],"additionalProperties":false}},"required":["id","data"],"additionalProperties":false}},{"name":"update_checklist_item","description":"Configure/edit checklist_item; server-owned fields are excluded.","module":"sites","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"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)$"},"data":{"type":"object","properties":{"templateItemId":{"anyOf":[{"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)$"},{"type":"null"}]},"orderIndex":{"type":"number"},"title":{"type":"string","maxLength":10000},"category":{"type":"string","enum":["construction","operations","it","merchandising","hr","pre_opening","other"]},"status":{"type":"string","enum":["pending","in_progress","completed","n_a"]},"assigneeUserId":{"anyOf":[{"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)$"},{"type":"null"}]},"dueDate":{"anyOf":[{"anyOf":[{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-]\\d{2}:\\d{2})))$"}]},{"type":"null"}]},"notes":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"evidence":{"anyOf":[{"$ref":"#/$defs/__schema0"},{"type":"null"}]}},"additionalProperties":false}},"required":["id","data"],"additionalProperties":false,"$defs":{"__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema0"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}]}}}},{"name":"delete_checklist_item","description":"Delete checklist_item. Review dependent-record effects before confirming.","module":"sites","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"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)$"}},"required":["id"],"additionalProperties":false}},{"name":"list_site_checklists","description":"Read site opening checklists.","module":"sites","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"siteId":{"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)$"}},"required":["siteId"],"additionalProperties":false}},{"name":"list_checklist_items","description":"Read checklist items.","module":"sites","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"checklistId":{"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)$"}},"required":["checklistId"],"additionalProperties":false}},{"name":"create_checklist_item","description":"Add a site checklist item.","module":"sites","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"checklistId":{"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)$"},"data":{"type":"object","properties":{"templateItemId":{"anyOf":[{"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)$"},{"type":"null"}]},"orderIndex":{"type":"number"},"title":{"type":"string","maxLength":10000},"category":{"type":"string","enum":["construction","operations","it","merchandising","hr","pre_opening","other"]},"status":{"type":"string","enum":["pending","in_progress","completed","n_a"]},"assigneeUserId":{"anyOf":[{"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)$"},{"type":"null"}]},"dueDate":{"anyOf":[{"anyOf":[{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-]\\d{2}:\\d{2})))$"}]},{"type":"null"}]},"notes":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"evidence":{"anyOf":[{"$ref":"#/$defs/__schema0"},{"type":"null"}]}},"required":["title"],"additionalProperties":false}},"required":["checklistId","data"],"additionalProperties":false,"$defs":{"__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema0"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}]}}}},{"name":"list_milestone","description":"Read milestone with your account's permissions.","module":"tasks","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"limit":{"default":50,"type":"integer","minimum":1,"maximum":100},"offset":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991},"search":{"type":"string","maxLength":200}},"additionalProperties":false}},{"name":"get_milestone","description":"Read a milestone record.","module":"tasks","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"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)$"}},"required":["id"],"additionalProperties":false}},{"name":"create_milestone","description":"Create milestone using the same business service as the screen.","module":"tasks","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"phaseId":{"anyOf":[{"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)$"},{"type":"null"}]},"siteId":{"anyOf":[{"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)$"},{"type":"null"}]},"title":{"type":"string","maxLength":10000},"description":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"targetDate":{"anyOf":[{"anyOf":[{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-]\\d{2}:\\d{2})))$"}]},{"type":"null"}]},"completedDate":{"anyOf":[{"anyOf":[{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-]\\d{2}:\\d{2})))$"}]},{"type":"null"}]},"status":{"type":"string","maxLength":10000},"order":{"type":"number"}},"required":["title"],"additionalProperties":false}},"required":["data"],"additionalProperties":false}},{"name":"update_milestone","description":"Configure/edit milestone; server-owned fields are excluded.","module":"tasks","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"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)$"},"data":{"type":"object","properties":{"phaseId":{"anyOf":[{"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)$"},{"type":"null"}]},"siteId":{"anyOf":[{"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)$"},{"type":"null"}]},"title":{"type":"string","maxLength":10000},"description":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"targetDate":{"anyOf":[{"anyOf":[{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-]\\d{2}:\\d{2})))$"}]},{"type":"null"}]},"completedDate":{"anyOf":[{"anyOf":[{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-]\\d{2}:\\d{2})))$"}]},{"type":"null"}]},"status":{"type":"string","maxLength":10000},"order":{"type":"number"}},"additionalProperties":false}},"required":["id","data"],"additionalProperties":false}},{"name":"delete_milestone","description":"Delete milestone. Review dependent-record effects before confirming.","module":"tasks","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"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)$"}},"required":["id"],"additionalProperties":false}},{"name":"list_milestone_column","description":"Read milestone column with your account's permissions.","module":"sites","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"limit":{"default":50,"type":"integer","minimum":1,"maximum":100},"offset":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991},"search":{"type":"string","maxLength":200}},"additionalProperties":false}},{"name":"create_milestone_column","description":"Create milestone_column using the same business service as the screen.","module":"sites","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"name":{"type":"string","maxLength":10000},"displayOrder":{"type":"number"},"isActive":{"type":"boolean"},"taskTemplateId":{"anyOf":[{"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)$"},{"type":"null"}]},"phaseTemplateTaskId":{"anyOf":[{"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)$"},{"type":"null"}]}},"required":["name"],"additionalProperties":false}},"required":["data"],"additionalProperties":false}},{"name":"update_milestone_column","description":"Configure/edit milestone_column; server-owned fields are excluded.","module":"sites","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"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)$"},"data":{"type":"object","properties":{"name":{"type":"string","maxLength":10000},"displayOrder":{"type":"number"},"isActive":{"type":"boolean"},"taskTemplateId":{"anyOf":[{"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)$"},{"type":"null"}]},"phaseTemplateTaskId":{"anyOf":[{"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)$"},{"type":"null"}]}},"additionalProperties":false}},"required":["id","data"],"additionalProperties":false}},{"name":"delete_milestone_column","description":"Delete milestone_column. Review dependent-record effects before confirming.","module":"sites","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"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)$"}},"required":["id"],"additionalProperties":false}},{"name":"list_assignment_automation","description":"Read assignment automation with your account's permissions.","module":"sites","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"limit":{"default":50,"type":"integer","minimum":1,"maximum":100},"offset":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991},"search":{"type":"string","maxLength":200}},"additionalProperties":false}},{"name":"create_assignment_automation","description":"Create assignment_automation using the same business service as the screen.","module":"sites","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"name":{"type":"string","maxLength":10000},"entityType":{"type":"string","enum":["task","site"]},"criteriaField":{"type":"string","maxLength":10000},"criteriaValue":{"type":"string","maxLength":10000},"assigneeUserId":{"anyOf":[{"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)$"},{"type":"null"}]},"assigneeTeam":{"anyOf":[{"type":"string","enum":["construction","real_estate","finance","operations","legal","marketing","hr","it","general"]},{"type":"null"}]},"isActive":{"type":"boolean"}},"required":["name","criteriaField","criteriaValue"],"additionalProperties":false}},"required":["data"],"additionalProperties":false}},{"name":"update_assignment_automation","description":"Configure/edit assignment_automation; server-owned fields are excluded.","module":"sites","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"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)$"},"data":{"type":"object","properties":{"name":{"type":"string","maxLength":10000},"entityType":{"type":"string","enum":["task","site"]},"criteriaField":{"type":"string","maxLength":10000},"criteriaValue":{"type":"string","maxLength":10000},"assigneeUserId":{"anyOf":[{"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)$"},{"type":"null"}]},"assigneeTeam":{"anyOf":[{"type":"string","enum":["construction","real_estate","finance","operations","legal","marketing","hr","it","general"]},{"type":"null"}]},"isActive":{"type":"boolean"}},"additionalProperties":false}},"required":["id","data"],"additionalProperties":false}},{"name":"delete_assignment_automation","description":"Delete assignment_automation. Review dependent-record effects before confirming.","module":"sites","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"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)$"}},"required":["id"],"additionalProperties":false}},{"name":"list_team_assignment_automation","description":"Read team assignment automation with your account's permissions.","module":"sites","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"limit":{"default":50,"type":"integer","minimum":1,"maximum":100},"offset":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991},"search":{"type":"string","maxLength":200}},"additionalProperties":false}},{"name":"get_team_assignment_automation","description":"Read a team_assignment_automation record.","module":"sites","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"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)$"}},"required":["id"],"additionalProperties":false}},{"name":"create_team_assignment_automation","description":"Create team_assignment_automation using the same business service as the screen.","module":"sites","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"userId":{"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)$"},"name":{"type":"string","maxLength":10000},"conditionType":{"type":"string","enum":["state_equals","city_equals","region_equals","all_locations"]},"conditionValue":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"team":{"type":"string","enum":["construction","real_estate","finance","operations","legal","marketing","hr","it","general"]},"isActive":{"type":"boolean"}},"required":["userId","name","conditionType"],"additionalProperties":false}},"required":["data"],"additionalProperties":false}},{"name":"update_team_assignment_automation","description":"Configure/edit team_assignment_automation; server-owned fields are excluded.","module":"sites","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"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)$"},"data":{"type":"object","properties":{"userId":{"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)$"},"name":{"type":"string","maxLength":10000},"conditionType":{"type":"string","enum":["state_equals","city_equals","region_equals","all_locations"]},"conditionValue":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"team":{"type":"string","enum":["construction","real_estate","finance","operations","legal","marketing","hr","it","general"]},"isActive":{"type":"boolean"}},"additionalProperties":false}},"required":["id","data"],"additionalProperties":false}},{"name":"delete_team_assignment_automation","description":"Delete team_assignment_automation. Review dependent-record effects before confirming.","module":"sites","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"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)$"}},"required":["id"],"additionalProperties":false}},{"name":"list_approval_flow","description":"Read approval flow with your account's permissions.","module":"sites","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"limit":{"default":50,"type":"integer","minimum":1,"maximum":100},"offset":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991},"search":{"type":"string","maxLength":200}},"additionalProperties":false}},{"name":"get_approval_flow","description":"Read a approval_flow record.","module":"sites","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"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)$"}},"required":["id"],"additionalProperties":false}},{"name":"create_approval_flow","description":"Create approval_flow using the same business service as the screen.","module":"sites","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"name":{"type":"string","maxLength":10000},"entityType":{"type":"string","enum":["bid","rfp","budget","invoice"]},"description":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"status":{"type":"string","enum":["active","inactive"]},"steps":{"maxItems":100,"type":"array","items":{"type":"object","properties":{"stepNumber":{"type":"integer","minimum":1,"maximum":100},"name":{"type":"string","minLength":1,"maxLength":200},"requireAllApprovers":{"type":"boolean"},"maxApprovalAmount":{"anyOf":[{"type":"string","pattern":"^\\d+(?:\\.\\d{1,2})?$"},{"type":"null"}]},"approverIds":{"maxItems":100,"type":"array","items":{"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)$"}}},"required":["stepNumber","name","approverIds"],"additionalProperties":false}}},"required":["name","entityType"],"additionalProperties":false}},"required":["data"],"additionalProperties":false}},{"name":"update_approval_flow","description":"Configure/edit approval_flow; server-owned fields are excluded.","module":"sites","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"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)$"},"data":{"type":"object","properties":{"name":{"type":"string","maxLength":10000},"entityType":{"type":"string","enum":["bid","rfp","budget","invoice"]},"description":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"status":{"type":"string","enum":["active","inactive"]},"steps":{"maxItems":100,"type":"array","items":{"type":"object","properties":{"stepNumber":{"type":"integer","minimum":1,"maximum":100},"name":{"type":"string","minLength":1,"maxLength":200},"requireAllApprovers":{"type":"boolean"},"maxApprovalAmount":{"anyOf":[{"type":"string","pattern":"^\\d+(?:\\.\\d{1,2})?$"},{"type":"null"}]},"approverIds":{"maxItems":100,"type":"array","items":{"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)$"}}},"required":["stepNumber","name","approverIds"],"additionalProperties":false}}},"additionalProperties":false}},"required":["id","data"],"additionalProperties":false}},{"name":"delete_approval_flow","description":"Delete approval_flow. Review dependent-record effects before confirming.","module":"sites","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"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)$"}},"required":["id"],"additionalProperties":false}},{"name":"list_custom_role","description":"Read custom role with your account's permissions.","module":"sites","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"limit":{"default":50,"type":"integer","minimum":1,"maximum":100},"offset":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991},"search":{"type":"string","maxLength":200}},"additionalProperties":false}},{"name":"get_custom_role","description":"Read a custom_role record.","module":"sites","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"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)$"}},"required":["id"],"additionalProperties":false}},{"name":"create_custom_role","description":"Create custom_role using the same business service as the screen.","module":"sites","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"name":{"type":"string","maxLength":10000},"description":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"color":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"isDefault":{"type":"boolean"},"permissions":{"$ref":"#/$defs/__schema0"}},"required":["name"],"additionalProperties":false}},"required":["data"],"additionalProperties":false,"$defs":{"__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema0"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}]}}}},{"name":"update_custom_role","description":"Configure/edit custom_role; server-owned fields are excluded.","module":"sites","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"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)$"},"data":{"type":"object","properties":{"name":{"type":"string","maxLength":10000},"description":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"color":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"isDefault":{"type":"boolean"},"permissions":{"$ref":"#/$defs/__schema0"}},"additionalProperties":false}},"required":["id","data"],"additionalProperties":false,"$defs":{"__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema0"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}]}}}},{"name":"delete_custom_role","description":"Delete custom_role. Review dependent-record effects before confirming.","module":"sites","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"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)$"}},"required":["id"],"additionalProperties":false}},{"name":"list_diligence_tab","description":"Read diligence tab with your account's permissions.","module":"sites","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"limit":{"default":50,"type":"integer","minimum":1,"maximum":100},"offset":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991},"search":{"type":"string","maxLength":200}},"additionalProperties":false}},{"name":"create_diligence_tab","description":"Create diligence_tab using the same business service as the screen.","module":"sites","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"name":{"type":"string","maxLength":10000},"description":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"sortOrder":{"type":"number"}},"required":["name"],"additionalProperties":false}},"required":["data"],"additionalProperties":false}},{"name":"update_diligence_tab","description":"Configure/edit diligence_tab; server-owned fields are excluded.","module":"sites","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"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)$"},"data":{"type":"object","properties":{"name":{"type":"string","maxLength":10000},"description":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"sortOrder":{"type":"number"}},"additionalProperties":false}},"required":["id","data"],"additionalProperties":false}},{"name":"delete_diligence_tab","description":"Delete diligence_tab. Review dependent-record effects before confirming.","module":"sites","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"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)$"}},"required":["id"],"additionalProperties":false}},{"name":"list_diligence_field","description":"Read diligence field with your account's permissions.","module":"sites","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"limit":{"default":50,"type":"integer","minimum":1,"maximum":100},"offset":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991},"search":{"type":"string","maxLength":200}},"additionalProperties":false}},{"name":"create_diligence_field","description":"Create diligence_field using the same business service as the screen.","module":"sites","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"tabId":{"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)$"},"label":{"type":"string","maxLength":10000},"fieldKey":{"type":"string","maxLength":10000},"fieldType":{"type":"string","enum":["text","textarea","date","dropdown","multiselect","boolean"]},"helpText":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"isRequired":{"type":"boolean"},"sortOrder":{"type":"number"},"defaultValue":{"anyOf":[{"$ref":"#/$defs/__schema0"},{"type":"null"}]},"metadata":{"anyOf":[{"$ref":"#/$defs/__schema1"},{"type":"null"}]}},"required":["tabId","label","fieldKey"],"additionalProperties":false}},"required":["data"],"additionalProperties":false,"$defs":{"__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema0"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}]},"__schema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema1"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema1"}}]}}}},{"name":"update_diligence_field","description":"Configure/edit diligence_field; server-owned fields are excluded.","module":"sites","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"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)$"},"data":{"type":"object","properties":{"tabId":{"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)$"},"label":{"type":"string","maxLength":10000},"fieldKey":{"type":"string","maxLength":10000},"fieldType":{"type":"string","enum":["text","textarea","date","dropdown","multiselect","boolean"]},"helpText":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"isRequired":{"type":"boolean"},"sortOrder":{"type":"number"},"defaultValue":{"anyOf":[{"$ref":"#/$defs/__schema0"},{"type":"null"}]},"metadata":{"anyOf":[{"$ref":"#/$defs/__schema1"},{"type":"null"}]}},"additionalProperties":false}},"required":["id","data"],"additionalProperties":false,"$defs":{"__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema0"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}]},"__schema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema1"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema1"}}]}}}},{"name":"delete_diligence_field","description":"Delete diligence_field. Review dependent-record effects before confirming.","module":"sites","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"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)$"}},"required":["id"],"additionalProperties":false}},{"name":"list_criteria_profile","description":"Read criteria profile with your account's permissions.","module":"deals","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"limit":{"default":50,"type":"integer","minimum":1,"maximum":100},"offset":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991},"search":{"type":"string","maxLength":200}},"additionalProperties":false}},{"name":"get_criteria_profile","description":"Read a criteria_profile record.","module":"deals","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"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)$"}},"required":["id"],"additionalProperties":false}},{"name":"create_criteria_profile","description":"Create criteria_profile using the same business service as the screen.","module":"deals","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"name":{"type":"string","maxLength":10000},"description":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"stakeholderType":{"type":"string","enum":["investor","lender","partner","internal","other"]},"status":{"type":"string","enum":["draft","active","inactive","archived"]},"stakeholderName":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"stakeholderCompany":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"stakeholderEmail":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"stakeholderPhone":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"stakeholderContactId":{"anyOf":[{"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)$"},{"type":"null"}]},"version":{"type":"number"},"isCurrent":{"type":"boolean"},"parentProfileId":{"anyOf":[{"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)$"},{"type":"null"}]},"minIrr":{"anyOf":[{"type":"string","pattern":"^-?\\d{1,12}(?:\\.\\d{1,2})?$"},{"type":"null"}]},"targetIrr":{"anyOf":[{"type":"string","pattern":"^-?\\d{1,12}(?:\\.\\d{1,2})?$"},{"type":"null"}]},"maxIrr":{"anyOf":[{"type":"string","pattern":"^-?\\d{1,12}(?:\\.\\d{1,2})?$"},{"type":"null"}]},"irrConstraint":{"anyOf":[{"type":"string","enum":["required","preferred"]},{"type":"null"}]},"minEquityMultiple":{"anyOf":[{"type":"string","pattern":"^-?\\d{1,12}(?:\\.\\d{1,2})?$"},{"type":"null"}]},"targetEquityMultiple":{"anyOf":[{"type":"string","pattern":"^-?\\d{1,12}(?:\\.\\d{1,2})?$"},{"type":"null"}]},"equityMultipleConstraint":{"anyOf":[{"type":"string","enum":["required","preferred"]},{"type":"null"}]},"minCashOnCash":{"anyOf":[{"type":"string","pattern":"^-?\\d{1,12}(?:\\.\\d{1,2})?$"},{"type":"null"}]},"targetCashOnCash":{"anyOf":[{"type":"string","pattern":"^-?\\d{1,12}(?:\\.\\d{1,2})?$"},{"type":"null"}]},"cashOnCashConstraint":{"anyOf":[{"type":"string","enum":["required","preferred"]},{"type":"null"}]},"minYieldOnCost":{"anyOf":[{"type":"string","pattern":"^-?\\d{1,12}(?:\\.\\d{1,2})?$"},{"type":"null"}]},"targetYieldOnCost":{"anyOf":[{"type":"string","pattern":"^-?\\d{1,12}(?:\\.\\d{1,2})?$"},{"type":"null"}]},"yieldOnCostConstraint":{"anyOf":[{"type":"string","enum":["required","preferred"]},{"type":"null"}]},"minEquityCheck":{"anyOf":[{"type":"string","pattern":"^-?\\d{1,12}(?:\\.\\d{1,2})?$"},{"type":"null"}]},"maxEquityCheck":{"anyOf":[{"type":"string","pattern":"^-?\\d{1,12}(?:\\.\\d{1,2})?$"},{"type":"null"}]},"targetEquityCheck":{"anyOf":[{"type":"string","pattern":"^-?\\d{1,12}(?:\\.\\d{1,2})?$"},{"type":"null"}]},"equityCheckConstraint":{"anyOf":[{"type":"string","enum":["required","preferred"]},{"type":"null"}]},"minTotalProjectSize":{"anyOf":[{"type":"string","pattern":"^-?\\d{1,12}(?:\\.\\d{1,2})?$"},{"type":"null"}]},"maxTotalProjectSize":{"anyOf":[{"type":"string","pattern":"^-?\\d{1,12}(?:\\.\\d{1,2})?$"},{"type":"null"}]},"totalProjectSizeConstraint":{"anyOf":[{"type":"string","enum":["required","preferred"]},{"type":"null"}]},"maxLeverageRatio":{"anyOf":[{"type":"string","pattern":"^-?\\d{1,12}(?:\\.\\d{1,2})?$"},{"type":"null"}]},"preferredLeverageRatio":{"anyOf":[{"type":"string","pattern":"^-?\\d{1,12}(?:\\.\\d{1,2})?$"},{"type":"null"}]},"leverageConstraint":{"anyOf":[{"type":"string","enum":["required","preferred"]},{"type":"null"}]},"minHoldPeriodMonths":{"anyOf":[{"type":"number"},{"type":"null"}]},"maxHoldPeriodMonths":{"anyOf":[{"type":"number"},{"type":"null"}]},"targetHoldPeriodMonths":{"anyOf":[{"type":"number"},{"type":"null"}]},"holdPeriodConstraint":{"anyOf":[{"type":"string","enum":["required","preferred"]},{"type":"null"}]},"assetTypes":{"anyOf":[{"maxItems":500,"type":"array","items":{"$ref":"#/$defs/__schema0"}},{"type":"null"}]},"assetTypesConstraint":{"anyOf":[{"type":"string","enum":["required","preferred"]},{"type":"null"}]},"excludedAssetTypes":{"anyOf":[{"maxItems":500,"type":"array","items":{"$ref":"#/$defs/__schema1"}},{"type":"null"}]},"countries":{"anyOf":[{"maxItems":500,"type":"array","items":{"$ref":"#/$defs/__schema2"}},{"type":"null"}]},"states":{"anyOf":[{"maxItems":500,"type":"array","items":{"$ref":"#/$defs/__schema3"}},{"type":"null"}]},"metros":{"anyOf":[{"maxItems":500,"type":"array","items":{"$ref":"#/$defs/__schema4"}},{"type":"null"}]},"submarkets":{"anyOf":[{"maxItems":500,"type":"array","items":{"$ref":"#/$defs/__schema5"}},{"type":"null"}]},"geographyConstraint":{"anyOf":[{"type":"string","enum":["required","preferred"]},{"type":"null"}]},"excludedGeographies":{"anyOf":[{"maxItems":500,"type":"array","items":{"$ref":"#/$defs/__schema6"}},{"type":"null"}]},"dealTypes":{"anyOf":[{"maxItems":500,"type":"array","items":{"$ref":"#/$defs/__schema7"}},{"type":"null"}]},"dealTypesConstraint":{"anyOf":[{"type":"string","enum":["required","preferred"]},{"type":"null"}]},"excludedDealTypes":{"anyOf":[{"maxItems":500,"type":"array","items":{"$ref":"#/$defs/__schema8"}},{"type":"null"}]},"riskTolerance":{"anyOf":[{"type":"string","enum":["conservative","moderate","aggressive","opportunistic"]},{"type":"null"}]},"holdPeriodPreference":{"anyOf":[{"type":"string","enum":["short_term","medium_term","long_term","flexible"]},{"type":"null"}]},"sponsorPreferences":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"returnRiskTradeoff":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"esgImpactGoals":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"exclusions":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"additionalNotes":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"sourceType":{"anyOf":[{"type":"string","enum":["call","email","meeting","document","lp_agreement","term_sheet","mandate_letter","website","referral","other"]},{"type":"null"}]},"sourceNotes":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"sourceDate":{"anyOf":[{"anyOf":[{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-]\\d{2}:\\d{2})))$"}]},{"type":"null"}]},"sourceContact":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"isValidated":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"validatedAt":{"anyOf":[{"anyOf":[{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-]\\d{2}:\\d{2})))$"}]},{"type":"null"}]},"validatedBy":{"anyOf":[{"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)$"},{"type":"null"}]},"validationNotes":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"completenessScore":{"anyOf":[{"type":"number"},{"type":"null"}]},"missingRequiredFields":{"anyOf":[{"maxItems":500,"type":"array","items":{"$ref":"#/$defs/__schema9"}},{"type":"null"}]}},"required":["name"],"additionalProperties":false}},"required":["data"],"additionalProperties":false,"$defs":{"__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema0"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}]},"__schema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema1"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema1"}}]},"__schema2":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema2"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema2"}}]},"__schema3":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema3"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema3"}}]},"__schema4":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema4"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema4"}}]},"__schema5":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema5"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema5"}}]},"__schema6":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema6"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema6"}}]},"__schema7":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema7"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema7"}}]},"__schema8":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema8"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema8"}}]},"__schema9":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema9"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema9"}}]}}}},{"name":"update_criteria_profile","description":"Configure/edit criteria_profile; server-owned fields are excluded.","module":"deals","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"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)$"},"data":{"type":"object","properties":{"name":{"type":"string","maxLength":10000},"description":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"stakeholderType":{"type":"string","enum":["investor","lender","partner","internal","other"]},"status":{"type":"string","enum":["draft","active","inactive","archived"]},"stakeholderName":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"stakeholderCompany":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"stakeholderEmail":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"stakeholderPhone":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"stakeholderContactId":{"anyOf":[{"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)$"},{"type":"null"}]},"version":{"type":"number"},"isCurrent":{"type":"boolean"},"parentProfileId":{"anyOf":[{"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)$"},{"type":"null"}]},"minIrr":{"anyOf":[{"type":"string","pattern":"^-?\\d{1,12}(?:\\.\\d{1,2})?$"},{"type":"null"}]},"targetIrr":{"anyOf":[{"type":"string","pattern":"^-?\\d{1,12}(?:\\.\\d{1,2})?$"},{"type":"null"}]},"maxIrr":{"anyOf":[{"type":"string","pattern":"^-?\\d{1,12}(?:\\.\\d{1,2})?$"},{"type":"null"}]},"irrConstraint":{"anyOf":[{"type":"string","enum":["required","preferred"]},{"type":"null"}]},"minEquityMultiple":{"anyOf":[{"type":"string","pattern":"^-?\\d{1,12}(?:\\.\\d{1,2})?$"},{"type":"null"}]},"targetEquityMultiple":{"anyOf":[{"type":"string","pattern":"^-?\\d{1,12}(?:\\.\\d{1,2})?$"},{"type":"null"}]},"equityMultipleConstraint":{"anyOf":[{"type":"string","enum":["required","preferred"]},{"type":"null"}]},"minCashOnCash":{"anyOf":[{"type":"string","pattern":"^-?\\d{1,12}(?:\\.\\d{1,2})?$"},{"type":"null"}]},"targetCashOnCash":{"anyOf":[{"type":"string","pattern":"^-?\\d{1,12}(?:\\.\\d{1,2})?$"},{"type":"null"}]},"cashOnCashConstraint":{"anyOf":[{"type":"string","enum":["required","preferred"]},{"type":"null"}]},"minYieldOnCost":{"anyOf":[{"type":"string","pattern":"^-?\\d{1,12}(?:\\.\\d{1,2})?$"},{"type":"null"}]},"targetYieldOnCost":{"anyOf":[{"type":"string","pattern":"^-?\\d{1,12}(?:\\.\\d{1,2})?$"},{"type":"null"}]},"yieldOnCostConstraint":{"anyOf":[{"type":"string","enum":["required","preferred"]},{"type":"null"}]},"minEquityCheck":{"anyOf":[{"type":"string","pattern":"^-?\\d{1,12}(?:\\.\\d{1,2})?$"},{"type":"null"}]},"maxEquityCheck":{"anyOf":[{"type":"string","pattern":"^-?\\d{1,12}(?:\\.\\d{1,2})?$"},{"type":"null"}]},"targetEquityCheck":{"anyOf":[{"type":"string","pattern":"^-?\\d{1,12}(?:\\.\\d{1,2})?$"},{"type":"null"}]},"equityCheckConstraint":{"anyOf":[{"type":"string","enum":["required","preferred"]},{"type":"null"}]},"minTotalProjectSize":{"anyOf":[{"type":"string","pattern":"^-?\\d{1,12}(?:\\.\\d{1,2})?$"},{"type":"null"}]},"maxTotalProjectSize":{"anyOf":[{"type":"string","pattern":"^-?\\d{1,12}(?:\\.\\d{1,2})?$"},{"type":"null"}]},"totalProjectSizeConstraint":{"anyOf":[{"type":"string","enum":["required","preferred"]},{"type":"null"}]},"maxLeverageRatio":{"anyOf":[{"type":"string","pattern":"^-?\\d{1,12}(?:\\.\\d{1,2})?$"},{"type":"null"}]},"preferredLeverageRatio":{"anyOf":[{"type":"string","pattern":"^-?\\d{1,12}(?:\\.\\d{1,2})?$"},{"type":"null"}]},"leverageConstraint":{"anyOf":[{"type":"string","enum":["required","preferred"]},{"type":"null"}]},"minHoldPeriodMonths":{"anyOf":[{"type":"number"},{"type":"null"}]},"maxHoldPeriodMonths":{"anyOf":[{"type":"number"},{"type":"null"}]},"targetHoldPeriodMonths":{"anyOf":[{"type":"number"},{"type":"null"}]},"holdPeriodConstraint":{"anyOf":[{"type":"string","enum":["required","preferred"]},{"type":"null"}]},"assetTypes":{"anyOf":[{"maxItems":500,"type":"array","items":{"$ref":"#/$defs/__schema0"}},{"type":"null"}]},"assetTypesConstraint":{"anyOf":[{"type":"string","enum":["required","preferred"]},{"type":"null"}]},"excludedAssetTypes":{"anyOf":[{"maxItems":500,"type":"array","items":{"$ref":"#/$defs/__schema1"}},{"type":"null"}]},"countries":{"anyOf":[{"maxItems":500,"type":"array","items":{"$ref":"#/$defs/__schema2"}},{"type":"null"}]},"states":{"anyOf":[{"maxItems":500,"type":"array","items":{"$ref":"#/$defs/__schema3"}},{"type":"null"}]},"metros":{"anyOf":[{"maxItems":500,"type":"array","items":{"$ref":"#/$defs/__schema4"}},{"type":"null"}]},"submarkets":{"anyOf":[{"maxItems":500,"type":"array","items":{"$ref":"#/$defs/__schema5"}},{"type":"null"}]},"geographyConstraint":{"anyOf":[{"type":"string","enum":["required","preferred"]},{"type":"null"}]},"excludedGeographies":{"anyOf":[{"maxItems":500,"type":"array","items":{"$ref":"#/$defs/__schema6"}},{"type":"null"}]},"dealTypes":{"anyOf":[{"maxItems":500,"type":"array","items":{"$ref":"#/$defs/__schema7"}},{"type":"null"}]},"dealTypesConstraint":{"anyOf":[{"type":"string","enum":["required","preferred"]},{"type":"null"}]},"excludedDealTypes":{"anyOf":[{"maxItems":500,"type":"array","items":{"$ref":"#/$defs/__schema8"}},{"type":"null"}]},"riskTolerance":{"anyOf":[{"type":"string","enum":["conservative","moderate","aggressive","opportunistic"]},{"type":"null"}]},"holdPeriodPreference":{"anyOf":[{"type":"string","enum":["short_term","medium_term","long_term","flexible"]},{"type":"null"}]},"sponsorPreferences":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"returnRiskTradeoff":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"esgImpactGoals":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"exclusions":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"additionalNotes":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"sourceType":{"anyOf":[{"type":"string","enum":["call","email","meeting","document","lp_agreement","term_sheet","mandate_letter","website","referral","other"]},{"type":"null"}]},"sourceNotes":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"sourceDate":{"anyOf":[{"anyOf":[{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-]\\d{2}:\\d{2})))$"}]},{"type":"null"}]},"sourceContact":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"isValidated":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"validatedAt":{"anyOf":[{"anyOf":[{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-]\\d{2}:\\d{2})))$"}]},{"type":"null"}]},"validatedBy":{"anyOf":[{"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)$"},{"type":"null"}]},"validationNotes":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"completenessScore":{"anyOf":[{"type":"number"},{"type":"null"}]},"missingRequiredFields":{"anyOf":[{"maxItems":500,"type":"array","items":{"$ref":"#/$defs/__schema9"}},{"type":"null"}]}},"additionalProperties":false}},"required":["id","data"],"additionalProperties":false,"$defs":{"__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema0"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}]},"__schema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema1"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema1"}}]},"__schema2":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema2"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema2"}}]},"__schema3":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema3"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema3"}}]},"__schema4":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema4"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema4"}}]},"__schema5":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema5"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema5"}}]},"__schema6":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema6"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema6"}}]},"__schema7":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema7"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema7"}}]},"__schema8":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema8"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema8"}}]},"__schema9":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema9"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema9"}}]}}}},{"name":"delete_criteria_profile","description":"Delete criteria_profile. Review dependent-record effects before confirming.","module":"deals","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"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)$"}},"required":["id"],"additionalProperties":false}},{"name":"archive_criteria_profile","description":"archive an investment criteria profile.","module":"deals","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"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)$"}},"required":["id"],"additionalProperties":false}},{"name":"activate_criteria_profile","description":"activate an investment criteria profile.","module":"deals","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"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)$"}},"required":["id"],"additionalProperties":false}},{"name":"get_organization","description":"Read organization configuration.","module":"sites","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{},"additionalProperties":false}},{"name":"update_organization","description":"Update organization business details; credentials, billing and security controls are excluded.","module":"sites","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":200},"businessTypeCode":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}]},"businessTypeLabel":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}]},"businessOperationsDescription":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]}},"additionalProperties":false}},"required":["data"],"additionalProperties":false}},{"name":"list_organization_users","description":"Read organization users for assignments. Sensitive account fields are redacted.","module":"sites","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"limit":{"default":50,"type":"integer","minimum":1,"maximum":100},"offset":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991},"search":{"type":"string","maxLength":200}},"additionalProperties":false}},{"name":"invite_organization_user","description":"Invite a user by email through the normal invitation workflow. Never creates a password.","module":"sites","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"email":{"type":"string","format":"email","pattern":"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"},"role":{"default":"member","type":"string","enum":["member","admin"]},"message":{"type":"string","maxLength":5000}},"required":["email"],"additionalProperties":false}},"required":["data"],"additionalProperties":false}},{"name":"update_organization_user","description":"Configure an existing user's role, team and authorized settings. The screen's self-role and ownership protections remain in force.","module":"sites","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"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)$"},"data":{"type":"object","properties":{"username":{"type":"string","minLength":1,"maxLength":200},"email":{"type":"string","format":"email","pattern":"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"},"defaultTeam":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}]},"role":{"type":"string","enum":["member","admin"]},"customRoleId":{"anyOf":[{"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)$"},{"type":"null"}]},"hasConfidentialAccess":{"type":"boolean"},"isActive":{"type":"boolean"},"approvalLimit":{"anyOf":[{"type":"string","pattern":"^\\d+(?:\\.\\d{1,2})?$"},{"type":"null"}]}},"additionalProperties":false}},"required":["id","data"],"additionalProperties":false}},{"name":"suspend_organization_user","description":"suspend a user through the existing account workflow.","module":"sites","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"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)$"}},"required":["id"],"additionalProperties":false}},{"name":"reactivate_organization_user","description":"reactivate a user through the existing account workflow.","module":"sites","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"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)$"}},"required":["id"],"additionalProperties":false}},{"name":"list_site_team","description":"Read a site's assigned team.","module":"sites","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"siteId":{"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)$"}},"required":["siteId"],"additionalProperties":false}},{"name":"add_site_team_member","description":"Assign an existing organization user to a site team.","module":"sites","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"siteId":{"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)$"},"data":{"type":"object","properties":{"userId":{"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)$"},"role":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"team":{"anyOf":[{"type":"string","enum":["construction","real_estate","finance","operations","legal","marketing","hr","it","general"]},{"type":"null"}]},"addedAt":{"anyOf":[{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-]\\d{2}:\\d{2})))$"}]}},"required":["userId"],"additionalProperties":false}},"required":["siteId","data"],"additionalProperties":false}},{"name":"update_site_team_member","description":"Edit a site team member's assignment.","module":"sites","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"siteId":{"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)$"},"memberId":{"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)$"},"data":{"type":"object","properties":{"role":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"team":{"anyOf":[{"type":"string","enum":["construction","real_estate","finance","operations","legal","marketing","hr","it","general"]},{"type":"null"}]},"addedAt":{"anyOf":[{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-]\\d{2}:\\d{2})))$"}]}},"additionalProperties":false}},"required":["siteId","memberId","data"],"additionalProperties":false}},{"name":"remove_site_team_member","description":"Remove a site team assignment.","module":"sites","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"siteId":{"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)$"},"memberId":{"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)$"}},"required":["siteId","memberId"],"additionalProperties":false}},{"name":"get_notification_preferences","description":"Read your own notification preferences.","module":"sites","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{},"additionalProperties":false}},{"name":"update_notification_preferences","description":"Configure your own notification preferences.","module":"sites","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"enabledChannels":{"anyOf":[{"$ref":"#/$defs/__schema0"},{"type":"null"}]},"tasksDueSoonDays":{"anyOf":[{"type":"number"},{"type":"null"}]},"tasksOverdueEnabled":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"bidsDueSoonDays":{"anyOf":[{"type":"number"},{"type":"null"}]},"bidsOverdueEnabled":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"permitsExpiringDays":{"anyOf":[{"type":"number"},{"type":"null"}]},"permitsExpiredEnabled":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"digestFrequency":{"type":"string","maxLength":10000},"quietHoursEnabled":{"type":"boolean"},"quietHoursStart":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"quietHoursEnd":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"batchSimilarNotifications":{"type":"boolean"},"maxNotificationsPerHour":{"anyOf":[{"type":"number"},{"type":"null"}]}},"additionalProperties":false}},"required":["data"],"additionalProperties":false,"$defs":{"__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema0"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}]}}}},{"name":"create_task_dependency","description":"Create a real dependency; existing cycle and relationship validation applies.","module":"tasks","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"taskId":{"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)$"},"data":{"type":"object","properties":{"predecessorTaskId":{"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)$"},"dependencyType":{"default":"on_completion","type":"string","enum":["on_start","on_completion"]},"offsetDays":{"default":0,"type":"integer","minimum":-3650,"maximum":3650},"affectsStartDate":{"type":"boolean"},"affectsDueDate":{"type":"boolean"}},"required":["predecessorTaskId","affectsStartDate","affectsDueDate"],"additionalProperties":false}},"required":["taskId","data"],"additionalProperties":false}},{"name":"delete_task_dependency","description":"Remove a task dependency.","module":"tasks","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"taskId":{"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)$"},"dependencyId":{"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)$"}},"required":["taskId","dependencyId"],"additionalProperties":false}},{"name":"create_approval_step","description":"Add an approval flow step.","module":"sites","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"flowId":{"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)$"},"data":{"type":"object","properties":{"stepNumber":{"type":"number"},"name":{"type":"string","maxLength":10000},"requireAllApprovers":{"type":"boolean"},"maxApprovalAmount":{"anyOf":[{"type":"string","pattern":"^-?\\d{1,12}(?:\\.\\d{1,2})?$"},{"type":"null"}]}},"required":["stepNumber","name"],"additionalProperties":false}},"required":["flowId","data"],"additionalProperties":false}},{"name":"reorder_phase","description":"Reorder phase records.","module":"sites","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"phaseIds":{"minItems":1,"maxItems":100,"type":"array","items":{"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)$"}}},"required":["phaseIds"],"additionalProperties":false}},"required":["data"],"additionalProperties":false}},{"name":"reorder_pipeline_stage","description":"Reorder pipeline_stage records.","module":"sites","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"stageIds":{"minItems":1,"maxItems":100,"type":"array","items":{"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)$"}}},"required":["stageIds"],"additionalProperties":false}},"required":["data"],"additionalProperties":false}},{"name":"create_project_task","description":"create a general-project task, not a site task. Supports hierarchy, assignment, status, priority and due dates; no completion timestamp or actor overrides.","module":"projects","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"projectId":{"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)$"},"data":{"type":"object","properties":{"title":{"type":"string","maxLength":10000},"description":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"status":{"type":"string","enum":["todo","in_progress","review","completed","cancelled"]},"priority":{"type":"string","enum":["low","medium","high"]},"assignedToUserId":{"anyOf":[{"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)$"},{"type":"null"}]},"parentId":{"anyOf":[{"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)$"},{"type":"null"}]},"dueDate":{"anyOf":[{"anyOf":[{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-]\\d{2}:\\d{2})))$"}]},{"type":"null"}]}},"required":["title"],"additionalProperties":false}},"required":["projectId","data"],"additionalProperties":false}},{"name":"update_project_task","description":"update a general-project task, not a site task. Supports hierarchy, assignment, status, priority and due dates; no completion timestamp or actor overrides.","module":"projects","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"projectId":{"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)$"},"projectTaskId":{"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)$"},"data":{"type":"object","properties":{"title":{"type":"string","maxLength":10000},"description":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"status":{"type":"string","enum":["todo","in_progress","review","completed","cancelled"]},"priority":{"type":"string","enum":["low","medium","high"]},"assignedToUserId":{"anyOf":[{"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)$"},{"type":"null"}]},"parentId":{"anyOf":[{"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)$"},{"type":"null"}]},"dueDate":{"anyOf":[{"anyOf":[{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-]\\d{2}:\\d{2})))$"}]},{"type":"null"}]}},"additionalProperties":false}},"required":["projectId","projectTaskId","data"],"additionalProperties":false}},{"name":"delete_project_task","description":"delete a general-project task, not a site task. Supports hierarchy, assignment, status, priority and due dates; no completion timestamp or actor overrides.","module":"projects","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"projectId":{"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)$"},"projectTaskId":{"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)$"}},"required":["projectId","projectTaskId"],"additionalProperties":false}},{"name":"update_project_note","description":"update an existing project note's title/content. The original author and project cannot be changed.","module":"projects","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"projectId":{"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)$"},"noteId":{"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)$"},"data":{"type":"object","properties":{"title":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"content":{"type":"string","maxLength":10000}},"additionalProperties":false}},"required":["projectId","noteId","data"],"additionalProperties":false}},{"name":"delete_project_note","description":"delete an existing project note's title/content. The original author and project cannot be changed.","module":"projects","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"projectId":{"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)$"},"noteId":{"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)$"}},"required":["projectId","noteId"],"additionalProperties":false}},{"name":"list_project_team","description":"List this project's team memberships and roles.","module":"projects","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"projectId":{"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)$"},"id":{"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)$"},"limit":{"default":50,"type":"integer","minimum":1,"maximum":100},"offset":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["projectId"],"additionalProperties":false}},{"name":"add_project_team_member","description":"Assign an existing organization user to a project, with an optional project role. Does not create an account or change organization permissions.","module":"projects","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"projectId":{"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)$"},"data":{"type":"object","properties":{"userId":{"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)$"},"role":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}]}},"required":["userId"],"additionalProperties":false}},"required":["projectId","data"],"additionalProperties":false}},{"name":"remove_project_team_member","description":"Remove this exact project membership, not the user's organization account.","module":"projects","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"projectId":{"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)$"},"memberId":{"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)$"}},"required":["projectId","memberId"],"additionalProperties":false}},{"name":"list_task_budget_links","description":"Read budget line items linked to a site task.","module":"tasks","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"taskId":{"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)$"},"id":{"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)$"},"limit":{"default":50,"type":"integer","minimum":1,"maximum":100},"offset":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["taskId"],"additionalProperties":false}},{"name":"link_task_budget_line_item","description":"link a site task and a budget line item from the same site. Does not change budget amounts or approve the budget.","module":"budgets","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"taskId":{"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)$"},"data":{"type":"object","properties":{"lineItemId":{"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)$"}},"required":["lineItemId"],"additionalProperties":false}},"required":["taskId","data"],"additionalProperties":false}},{"name":"unlink_task_budget_line_item","description":"unlink a site task and a budget line item from the same site. Does not change budget amounts or approve the budget.","module":"budgets","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"taskId":{"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)$"},"lineItemId":{"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)$"}},"required":["taskId","lineItemId"],"additionalProperties":false}},{"name":"list_budget_line_item_tasks","description":"Read tasks linked to a budget line item.","module":"budgets","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"lineItemId":{"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)$"},"id":{"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)$"},"limit":{"default":50,"type":"integer","minimum":1,"maximum":100},"offset":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["lineItemId"],"additionalProperties":false}},{"name":"get_budget_line_item_task_counts","description":"Read linked task counts for a budget's line items.","module":"budgets","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"budgetId":{"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)$"}},"required":["budgetId"],"additionalProperties":false}},{"name":"find_bid_approval_request","description":"Read the existing business approval request for a bid.","module":"bids","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"entityType":{"default":"bid","type":"string","const":"bid"},"entityId":{"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)$"}},"required":["entityId"],"additionalProperties":false}},{"name":"get_bid_approval_request","description":"Read a bid approval request, its steps and actions.","module":"bids","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"requestId":{"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)$"}},"required":["requestId"],"additionalProperties":false}},{"name":"submit_bid_approval_request","description":"Submit an existing bid to the configured business approval flow. Does not approve it.","module":"bids","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"entityType":{"default":"bid","type":"string","const":"bid"},"entityId":{"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)$"},"notes":{"type":"string","maxLength":10000}},"required":["entityId"],"additionalProperties":false}},"required":["data"],"additionalProperties":false}},{"name":"decide_bid_approval_request","description":"Record the current human user's explicit approve/reject decision for a bid. Requires exact-change review and being an assigned current-step approver. Amount ceilings restrict approvals, not rejections; subsequent approval steps still apply.","module":"bids","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"requestId":{"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)$"},"data":{"type":"object","properties":{"action":{"type":"string","enum":["approve","reject"]},"notes":{"type":"string","maxLength":10000}},"required":["action"],"additionalProperties":false}},"required":["requestId","data"],"additionalProperties":false}},{"name":"cancel_bid_approval_request","description":"Cancel your own pending bid approval request; cannot cancel another submitter's request.","module":"bids","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"requestId":{"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)$"}},"required":["requestId"],"additionalProperties":false}},{"name":"find_rfp_approval_request","description":"Read the existing business approval request for a rfp.","module":"rfps","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"entityType":{"default":"rfp","type":"string","const":"rfp"},"entityId":{"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)$"}},"required":["entityId"],"additionalProperties":false}},{"name":"get_rfp_approval_request","description":"Read a rfp approval request, its steps and actions.","module":"rfps","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"requestId":{"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)$"}},"required":["requestId"],"additionalProperties":false}},{"name":"submit_rfp_approval_request","description":"Submit an existing rfp to the configured business approval flow. Does not approve it.","module":"rfps","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"entityType":{"default":"rfp","type":"string","const":"rfp"},"entityId":{"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)$"},"notes":{"type":"string","maxLength":10000}},"required":["entityId"],"additionalProperties":false}},"required":["data"],"additionalProperties":false}},{"name":"decide_rfp_approval_request","description":"Record the current human user's explicit approve/reject decision for a rfp. Requires exact-change review and being an assigned current-step approver. Amount ceilings restrict approvals, not rejections; subsequent approval steps still apply.","module":"rfps","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"requestId":{"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)$"},"data":{"type":"object","properties":{"action":{"type":"string","enum":["approve","reject"]},"notes":{"type":"string","maxLength":10000}},"required":["action"],"additionalProperties":false}},"required":["requestId","data"],"additionalProperties":false}},{"name":"cancel_rfp_approval_request","description":"Cancel your own pending rfp approval request; cannot cancel another submitter's request.","module":"rfps","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"requestId":{"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)$"}},"required":["requestId"],"additionalProperties":false}},{"name":"find_budget_approval_request","description":"Read the existing business approval request for a budget.","module":"budgets","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"entityType":{"default":"budget","type":"string","const":"budget"},"entityId":{"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)$"}},"required":["entityId"],"additionalProperties":false}},{"name":"get_budget_approval_request","description":"Read a budget approval request, its steps and actions.","module":"budgets","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"requestId":{"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)$"}},"required":["requestId"],"additionalProperties":false}},{"name":"submit_budget_approval_request","description":"Submit an existing budget to the configured business approval flow. Does not approve it.","module":"budgets","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"entityType":{"default":"budget","type":"string","const":"budget"},"entityId":{"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)$"},"notes":{"type":"string","maxLength":10000}},"required":["entityId"],"additionalProperties":false}},"required":["data"],"additionalProperties":false}},{"name":"decide_budget_approval_request","description":"Record the current human user's explicit approve/reject decision for a budget. Requires exact-change review and being an assigned current-step approver. Amount ceilings restrict approvals, not rejections; subsequent approval steps still apply.","module":"budgets","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"requestId":{"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)$"},"data":{"type":"object","properties":{"action":{"type":"string","enum":["approve","reject"]},"notes":{"type":"string","maxLength":10000}},"required":["action"],"additionalProperties":false}},"required":["requestId","data"],"additionalProperties":false}},{"name":"cancel_budget_approval_request","description":"Cancel your own pending budget approval request; cannot cancel another submitter's request.","module":"budgets","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"requestId":{"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)$"}},"required":["requestId"],"additionalProperties":false}},{"name":"find_invoice_approval_request","description":"Read the existing business approval request for a invoice.","module":"invoices","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"entityType":{"default":"invoice","type":"string","const":"invoice"},"entityId":{"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)$"}},"required":["entityId"],"additionalProperties":false}},{"name":"get_invoice_approval_request","description":"Read a invoice approval request, its steps and actions.","module":"invoices","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"requestId":{"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)$"}},"required":["requestId"],"additionalProperties":false}},{"name":"submit_invoice_approval_request","description":"Submit an existing invoice to the configured business approval flow. Does not approve it.","module":"invoices","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"entityType":{"default":"invoice","type":"string","const":"invoice"},"entityId":{"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)$"},"notes":{"type":"string","maxLength":10000}},"required":["entityId"],"additionalProperties":false}},"required":["data"],"additionalProperties":false}},{"name":"decide_invoice_approval_request","description":"Record the current human user's explicit approve/reject decision for a invoice. Requires exact-change review and being an assigned current-step approver. Amount ceilings restrict approvals, not rejections; subsequent approval steps still apply.","module":"invoices","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"requestId":{"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)$"},"data":{"type":"object","properties":{"action":{"type":"string","enum":["approve","reject"]},"notes":{"type":"string","maxLength":10000}},"required":["action"],"additionalProperties":false}},"required":["requestId","data"],"additionalProperties":false}},{"name":"cancel_invoice_approval_request","description":"Cancel your own pending invoice approval request; cannot cancel another submitter's request.","module":"invoices","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"requestId":{"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)$"}},"required":["requestId"],"additionalProperties":false}},{"name":"list_pending_approval_requests","description":"Read business approval requests assigned to the current user's inbox; does not decide or impersonate another approver.","module":"sites","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"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)$"},"limit":{"default":50,"type":"integer","minimum":1,"maximum":100},"offset":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991}},"additionalProperties":false}},{"name":"get_milestone_matrix","description":"Read the organization milestone matrix, optionally for one task template, including site and column identifiers.","module":"sites","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"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)$"},"limit":{"default":50,"type":"integer","minimum":1,"maximum":100},"offset":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991},"templateId":{"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)$"}},"additionalProperties":false}},{"name":"update_site_milestone_status","description":"Set a site's milestone status, target date or actual date. Column can be a real milestone column or a template phase task. Completing a phase also completes its child tasks through the existing screen service; review that consequence.","module":"tasks","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"siteId":{"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)$"},"columnId":{"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)$"},"data":{"type":"object","properties":{"status":{"type":"string","enum":["not_started","in_progress","completed","on_hold","ordered","n_a"]},"targetDate":{"anyOf":[{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},{"type":"null"}]},"actualDate":{"anyOf":[{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},{"type":"null"}]}},"required":["status"],"additionalProperties":false}},"required":["siteId","columnId","data"],"additionalProperties":false}},{"name":"reorder_milestone_columns","description":"Set milestone column display order. Organization admin only; all selected columns must belong to this organization.","module":"sites","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"orderedIds":{"minItems":1,"maxItems":100,"type":"array","items":{"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)$"}}},"required":["orderedIds"],"additionalProperties":false}},"required":["data"],"additionalProperties":false}},{"name":"list_team_invitations","description":"List pending organization team invitations. Invitation tokens and acceptance links are never exposed to AI.","module":"sites","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"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)$"},"limit":{"default":50,"type":"integer","minimum":1,"maximum":100},"offset":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991}},"additionalProperties":false}},{"name":"invite_team_member","description":"Invite a person by email as an organization member or admin. Sends a real email and grants the reviewed role upon acceptance. Replaces a prior pending invitation for that email. Cannot grant platform privileges.","module":"sites","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"email":{"type":"string","maxLength":320,"format":"email","pattern":"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"},"role":{"default":"member","type":"string","enum":["member","admin"]},"message":{"type":"string","maxLength":5000}},"required":["email"],"additionalProperties":false}},"required":["data"],"additionalProperties":false}},{"name":"resend_team_invitation","description":"Resend a pending team invitation email and extend its expiry by seven days.","module":"sites","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"invitationId":{"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)$"}},"required":["invitationId"],"additionalProperties":false}},{"name":"revoke_team_invitation","description":"Revoke a pending team invitation; does not delete an existing user.","module":"sites","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"invitationId":{"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)$"}},"required":["invitationId"],"additionalProperties":false}},{"name":"duplicate_budget","description":"Duplicate a budget and its line items as a new version. Does not approve the copy.","module":"budgets","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"budgetId":{"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)$"},"data":{"default":{},"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":200}},"additionalProperties":false}},"required":["budgetId"],"additionalProperties":false}},{"name":"set_current_deal_budget","description":"Select the current budget for its deal. For a site-only budget use set_current_site_budget.","module":"budgets","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"budgetId":{"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)$"}},"required":["budgetId"],"additionalProperties":false}},{"name":"set_current_site_budget","description":"Select a site's current budget after checking it belongs to that site.","module":"budgets","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"siteId":{"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)$"},"budgetId":{"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)$"}},"required":["siteId","budgetId"],"additionalProperties":false}},{"name":"create_site_budget_from_contracts","description":"Build/add budget items from this site's approved contracts through the existing screen service. Review the contracts first; may affect multiple items.","module":"budgets","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"siteId":{"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)$"}},"required":["siteId"],"additionalProperties":false}},{"name":"submit_budget_for_approval","description":"Submit a budget to its existing human approval workflow. This does not approve it.","module":"budgets","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"budgetId":{"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)$"},"data":{"default":{},"type":"object","properties":{"notes":{"type":"string","maxLength":10000}},"additionalProperties":false}},"required":["budgetId"],"additionalProperties":false}},{"name":"get_budget_approval","description":"Read a budget's approval request and progress without making an approval decision.","module":"budgets","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"budgetId":{"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)$"}},"required":["budgetId"],"additionalProperties":false}},{"name":"sync_budget_line_item_from_bid","description":"Synchronize a budget line from its linked bid; locked/approved budget restrictions remain effective.","module":"budgets","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"lineItemId":{"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)$"}},"required":["lineItemId"],"additionalProperties":false}},{"name":"reorder_budget_line_items","description":"Reorder up to 25 existing items in one budget. All item relationships are checked before execution.","module":"budgets","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"budgetId":{"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)$"},"data":{"type":"object","properties":{"items":{"minItems":1,"maxItems":25,"type":"array","items":{"type":"object","properties":{"id":{"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)$"},"displayOrder":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["id","displayOrder"],"additionalProperties":false}}},"required":["items"],"additionalProperties":false}},"required":["budgetId","data"],"additionalProperties":false}},{"name":"bulk_assign_budget_line_items","description":"Assign or unassign up to 25 budget lines to an existing organization user. All rows must be editable; no silent skips.","module":"budgets","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"lineItemIds":{"minItems":1,"maxItems":25,"type":"array","items":{"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)$"}},"assigneeId":{"anyOf":[{"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)$"},{"type":"null"}]}},"required":["lineItemIds","assigneeId"],"additionalProperties":false}},"required":["data"],"additionalProperties":false}},{"name":"list_budget_approvers","description":"Read default or deal-specific budget approvers.","module":"budgets","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"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)$"},"limit":{"default":50,"type":"integer","minimum":1,"maximum":100},"offset":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991},"search":{"type":"string","maxLength":200},"dealId":{"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)$"}},"additionalProperties":false}},{"name":"add_budget_approver","description":"Configure a budget approver, not an approval decision. Organization admin required.","module":"budgets","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"userId":{"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)$"},"dealId":{"anyOf":[{"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)$"},{"type":"null"}]},"approvalOrder":{"type":"integer","minimum":1,"maximum":100},"isRequired":{"type":"boolean"}},"required":["userId","approvalOrder","isRequired"],"additionalProperties":false}},"required":["data"],"additionalProperties":false}},{"name":"remove_budget_approver","description":"Remove a budget approver after exact-change review.","module":"budgets","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"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)$"}},"required":["id"],"additionalProperties":false}},{"name":"reorder_budget_approver","description":"Change an existing budget approver's order.","module":"budgets","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"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)$"},"data":{"type":"object","properties":{"order":{"type":"integer","minimum":1,"maximum":100}},"required":["order"],"additionalProperties":false}},"required":["id","data"],"additionalProperties":false}},{"name":"clone_budget_template","description":"Clone a budget template with its items. Rename the returned template using its actual ID in a dependent step.","module":"budgets","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"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)$"}},"required":["id"],"additionalProperties":false}},{"name":"list_task_comments","description":"Read task comments.","module":"tasks","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"taskId":{"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)$"},"id":{"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)$"},"limit":{"default":50,"type":"integer","minimum":1,"maximum":100},"offset":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991},"search":{"type":"string","maxLength":200}},"required":["taskId"],"additionalProperties":false}},{"name":"create_task_comment","description":"Add a task comment as the current user; author and mentions remain server-owned.","module":"tasks","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"taskId":{"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)$"},"data":{"type":"object","properties":{"message":{"type":"string","minLength":1,"maxLength":10000}},"required":["message"],"additionalProperties":false}},"required":["taskId","data"],"additionalProperties":false}},{"name":"update_task_comment","description":"Edit your own task comment. Cannot impersonate another author.","module":"tasks","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"taskId":{"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)$"},"commentId":{"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)$"},"data":{"type":"object","properties":{"message":{"type":"string","minLength":1,"maxLength":10000}},"required":["message"],"additionalProperties":false}},"required":["taskId","commentId","data"],"additionalProperties":false}},{"name":"delete_task_comment","description":"Delete your own task comment. Cannot impersonate another author.","module":"tasks","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"taskId":{"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)$"},"commentId":{"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)$"}},"required":["taskId","commentId"],"additionalProperties":false}},{"name":"list_rfi_comments","description":"Read rfi comments.","module":"rfis","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"rfiId":{"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)$"},"id":{"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)$"},"limit":{"default":50,"type":"integer","minimum":1,"maximum":100},"offset":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991},"search":{"type":"string","maxLength":200}},"required":["rfiId"],"additionalProperties":false}},{"name":"create_rfi_comment","description":"Add a rfi comment as the current user; author and mentions remain server-owned.","module":"rfis","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"rfiId":{"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)$"},"data":{"type":"object","properties":{"content":{"type":"string","minLength":1,"maxLength":10000}},"required":["content"],"additionalProperties":false}},"required":["rfiId","data"],"additionalProperties":false}},{"name":"update_rfi_comment","description":"Edit your own rfi comment. Cannot impersonate another author.","module":"rfis","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"rfiId":{"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)$"},"commentId":{"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)$"},"data":{"type":"object","properties":{"content":{"type":"string","minLength":1,"maxLength":10000}},"required":["content"],"additionalProperties":false}},"required":["rfiId","commentId","data"],"additionalProperties":false}},{"name":"delete_rfi_comment","description":"Delete your own rfi comment. Cannot impersonate another author.","module":"rfis","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"rfiId":{"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)$"},"commentId":{"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)$"}},"required":["rfiId","commentId"],"additionalProperties":false}},{"name":"get_site_document_visibility","description":"Read vendor portal visibility. Sharing changes require explicit review.","module":"documents","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"siteId":{"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)$"},"documentId":{"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)$"}},"required":["siteId","documentId"],"additionalProperties":false}},{"name":"set_site_document_visibility","description":"Change vendor portal visibility. Sharing changes require explicit review.","module":"documents","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"siteId":{"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)$"},"documentId":{"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)$"},"data":{"type":"object","properties":{"showInPortal":{"type":"boolean"},"portalVisibility":{"type":"string","enum":["all_vendors","specific_vendors"]},"vendorIds":{"default":[],"maxItems":25,"type":"array","items":{"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)$"}}},"required":["showInPortal","portalVisibility"],"additionalProperties":false}},"required":["siteId","documentId","data"],"additionalProperties":false}},{"name":"get_document_folder_visibility","description":"Read vendor portal visibility. Sharing changes require explicit review.","module":"documents","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"folderId":{"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)$"}},"required":["folderId"],"additionalProperties":false}},{"name":"set_document_folder_visibility","description":"Change vendor portal visibility. Sharing changes require explicit review.","module":"documents","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"folderId":{"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)$"},"data":{"type":"object","properties":{"showInPortal":{"type":"boolean"},"portalVisibility":{"type":"string","enum":["all_vendors","specific_vendors"]},"vendorIds":{"default":[],"maxItems":25,"type":"array","items":{"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)$"}},"siteId":{"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)$"}},"required":["showInPortal","portalVisibility"],"additionalProperties":false}},"required":["folderId","data"],"additionalProperties":false}},{"name":"move_site_document","description":"Move a site document into a folder, or null for the root. Confidential access and same-site relationships are enforced.","module":"documents","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"siteId":{"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)$"},"documentId":{"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)$"},"data":{"type":"object","properties":{"folderId":{"anyOf":[{"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)$"},{"type":"null"}]}},"required":["folderId"],"additionalProperties":false}},"required":["siteId","documentId","data"],"additionalProperties":false}},{"name":"apply_document_folder_to_all_sites","description":"Apply a folder across the organization's sites. Broad sharing/organization change: review the source folder first.","module":"documents","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"folderId":{"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)$"}},"required":["folderId"],"additionalProperties":false}},{"name":"attach_utility_document","description":"Attach an organization-owned uploaded file to a utility connection.","module":"field_operations","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"utilityConnectionId":{"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)$"},"data":{"type":"object","properties":{"storageKey":{"type":"string","pattern":"^\\/objects\\/(?:\\.private\\/)?uploads\\/[0-9a-f-]{36}$"},"fileName":{"type":"string","minLength":1,"maxLength":255},"fileSize":{"type":"integer","minimum":1,"maximum":52428800}},"required":["storageKey","fileName","fileSize"],"additionalProperties":false}},"required":["utilityConnectionId","data"],"additionalProperties":false}},{"name":"delete_utility_document","description":"Delete a specific attached utility document and its stored file after review.","module":"field_operations","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"utilityConnectionId":{"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)$"},"storageKey":{"type":"string","pattern":"^\\/objects\\/(?:\\.private\\/)?uploads\\/[0-9a-f-]{36}$"}},"required":["utilityConnectionId","storageKey"],"additionalProperties":false}},{"name":"list_notifications","description":"Read your own notification inbox.","module":"sites","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"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)$"},"limit":{"default":50,"type":"integer","minimum":1,"maximum":100},"offset":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991},"search":{"type":"string","maxLength":200}},"additionalProperties":false}},{"name":"mark_notification_read","description":"Mark read one of your own notifications.","module":"sites","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"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)$"}},"required":["id"],"additionalProperties":false}},{"name":"dismiss_notification","description":"Dismiss one of your own notifications.","module":"sites","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"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)$"}},"required":["id"],"additionalProperties":false}},{"name":"mark_all_notifications_read","description":"Mark your own notification inbox read.","module":"sites","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{},"additionalProperties":false}},{"name":"list_organization_webhooks","description":"List organization webhooks without signing secrets.","module":"sites","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"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)$"},"limit":{"default":50,"type":"integer","minimum":1,"maximum":100},"offset":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991},"search":{"type":"string","maxLength":200}},"additionalProperties":false}},{"name":"get_organization_webhook","description":"Read organization webhook configuration, excluding secrets.","module":"sites","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"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)$"}},"required":["id"],"additionalProperties":false}},{"name":"create_organization_webhook","description":"Create an organization webhook. Sends future selected event data to the reviewed HTTPS endpoint; signing secret is not exposed to AI.","module":"sites","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":200},"url":{"type":"string","maxLength":2048,"format":"uri"},"events":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"string","enum":["site.created","site.updated","site.deleted","task.created","task.updated","task.deleted","deal.created","deal.updated","deal.deleted","deal.stage_changed","deal.closed_won","bid.created","bid.updated","bid.deleted","rfp.created","rfp.updated","rfp.deleted","permit.created","permit.updated","permit.deleted","vendor.created","vendor.updated","vendor.deleted","invoice.created","invoice.updated","invoice.deleted","phase.created","phase.updated","phase.deleted","rfi.created","rfi.updated","rfi.deleted","support_request.created","support_request.updated","support_request.resolved","support_request.closed","support_request.message_added","project.created","project.updated","project.deleted","project.task.created","project.task.updated","project.task.deleted"]}},"isEnabled":{"type":"boolean"}},"required":["name","url","events"],"additionalProperties":false}},"required":["data"],"additionalProperties":false}},{"name":"update_organization_webhook","description":"Change an organization webhook's endpoint, events or enabled state. No credential editing.","module":"sites","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"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)$"},"data":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":200},"url":{"type":"string","maxLength":2048,"format":"uri"},"events":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"string","enum":["site.created","site.updated","site.deleted","task.created","task.updated","task.deleted","deal.created","deal.updated","deal.deleted","deal.stage_changed","deal.closed_won","bid.created","bid.updated","bid.deleted","rfp.created","rfp.updated","rfp.deleted","permit.created","permit.updated","permit.deleted","vendor.created","vendor.updated","vendor.deleted","invoice.created","invoice.updated","invoice.deleted","phase.created","phase.updated","phase.deleted","rfi.created","rfi.updated","rfi.deleted","support_request.created","support_request.updated","support_request.resolved","support_request.closed","support_request.message_added","project.created","project.updated","project.deleted","project.task.created","project.task.updated","project.task.deleted"]}},"isEnabled":{"type":"boolean"}},"additionalProperties":false}},"required":["id","data"],"additionalProperties":false}},{"name":"delete_organization_webhook","description":"Remove an organization webhook.","module":"sites","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"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)$"}},"required":["id"],"additionalProperties":false}},{"name":"test_organization_webhook","description":"Send an explicit test delivery to the configured webhook; review destination first.","module":"sites","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"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)$"}},"required":["id"],"additionalProperties":false}},{"name":"list_organization_webhook_deliveries","description":"Read webhook delivery outcomes with secrets redacted.","module":"sites","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"webhookId":{"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)$"},"id":{"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)$"},"limit":{"default":50,"type":"integer","minimum":1,"maximum":100},"offset":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991},"search":{"type":"string","maxLength":200}},"required":["webhookId"],"additionalProperties":false}},{"name":"get_credentialcamp_integration_status","description":"Read credentialcamp integration status without credentials. Configure credentials through the secure settings screen.","module":"sites","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{},"additionalProperties":false}},{"name":"create_credentialcamp_linked_location","description":"Create/link this site's location in the existing credentialcamp connection. Review all transmitted fields; external system changes are not automatically rolled back.","module":"sites","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"siteId":{"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)$"},"name":{"type":"string","minLength":1,"maxLength":200},"address":{"type":"string","minLength":1,"maxLength":500},"city":{"type":"string","minLength":1,"maxLength":200},"state":{"type":"string","minLength":1,"maxLength":100},"externalId":{"type":"string","minLength":1,"maxLength":200}},"required":["siteId","name"],"additionalProperties":false}},"required":["data"],"additionalProperties":false}},{"name":"get_smartshifts_integration_status","description":"Read smartshifts integration status without credentials. Configure credentials through the secure settings screen.","module":"sites","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{},"additionalProperties":false}},{"name":"create_smartshifts_linked_location","description":"Create/link this site's location in the existing smartshifts connection. Review all transmitted fields; external system changes are not automatically rolled back.","module":"sites","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"siteId":{"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)$"},"name":{"type":"string","minLength":1,"maxLength":200},"address":{"type":"string","minLength":1,"maxLength":500},"city":{"type":"string","minLength":1,"maxLength":200},"state":{"type":"string","minLength":1,"maxLength":100},"externalId":{"type":"string","minLength":1,"maxLength":200}},"required":["siteId","name"],"additionalProperties":false}},"required":["data"],"additionalProperties":false}},{"name":"get_quipassist_integration_status","description":"Read quipassist integration status without credentials. Configure credentials through the secure settings screen.","module":"sites","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{},"additionalProperties":false}},{"name":"create_quipassist_linked_location","description":"Create/link this site's location in the existing quipassist connection. Review all transmitted fields; external system changes are not automatically rolled back.","module":"sites","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"siteId":{"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)$"},"name":{"type":"string","minLength":1,"maxLength":200},"address":{"type":"string","minLength":1,"maxLength":500},"city":{"type":"string","minLength":1,"maxLength":200},"state":{"type":"string","minLength":1,"maxLength":100},"zipCode":{"type":"string","minLength":1,"maxLength":30}},"required":["siteId","name"],"additionalProperties":false}},"required":["data"],"additionalProperties":false}},{"name":"preview_quipassist_sync","description":"Read the quipassist synchronization preview before authorizing external changes.","module":"sites","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{},"additionalProperties":false}},{"name":"sync_quipassist_locations","description":"Synchronize organization locations to quipassist using its configured connection. Review the sync preview first.","module":"sites","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{},"additionalProperties":false}},{"name":"get_incidentvault_integration_status","description":"Read incidentvault integration status without credentials. Configure credentials through the secure settings screen.","module":"sites","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{},"additionalProperties":false}},{"name":"create_incidentvault_linked_location","description":"Create/link this site's location in the existing incidentvault connection. Review all transmitted fields; external system changes are not automatically rolled back.","module":"sites","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"siteId":{"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)$"},"name":{"type":"string","minLength":1,"maxLength":200},"address":{"type":"string","minLength":1,"maxLength":500},"city":{"type":"string","minLength":1,"maxLength":200},"state":{"type":"string","minLength":1,"maxLength":100},"zipCode":{"type":"string","minLength":1,"maxLength":30}},"required":["siteId","name"],"additionalProperties":false}},"required":["data"],"additionalProperties":false}},{"name":"preview_incidentvault_sync","description":"Read the incidentvault synchronization preview before authorizing external changes.","module":"sites","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{},"additionalProperties":false}},{"name":"sync_incidentvault_locations","description":"Synchronize organization locations to incidentvault using its configured connection. Review the sync preview first.","module":"sites","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{},"additionalProperties":false}},{"name":"get_policytrak_integration_status","description":"Read policytrak integration status without credentials. Configure credentials through the secure settings screen.","module":"sites","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{},"additionalProperties":false}},{"name":"create_policytrak_linked_location","description":"Create/link this site's location in the existing policytrak connection. Review all transmitted fields; external system changes are not automatically rolled back.","module":"sites","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"siteId":{"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)$"},"name":{"type":"string","minLength":1,"maxLength":200},"address":{"type":"string","minLength":1,"maxLength":500},"city":{"type":"string","minLength":1,"maxLength":200},"state":{"type":"string","minLength":1,"maxLength":100},"zipCode":{"type":"string","minLength":1,"maxLength":30}},"required":["siteId","name"],"additionalProperties":false}},"required":["data"],"additionalProperties":false}},{"name":"preview_policytrak_sync","description":"Read the policytrak synchronization preview before authorizing external changes.","module":"sites","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{},"additionalProperties":false}},{"name":"sync_policytrak_locations","description":"Synchronize organization locations to policytrak using its configured connection. Review the sync preview first.","module":"sites","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{},"additionalProperties":false}},{"name":"get_leasecommand_integration_status","description":"Read leasecommand integration status without credentials. Configure credentials through the secure settings screen.","module":"sites","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{},"additionalProperties":false}},{"name":"create_leasecommand_linked_location","description":"Create/link this site's location in the existing leasecommand connection. Review all transmitted fields; external system changes are not automatically rolled back.","module":"sites","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"siteId":{"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)$"},"name":{"type":"string","minLength":1,"maxLength":200},"address1":{"type":"string","minLength":1,"maxLength":500},"city":{"type":"string","minLength":1,"maxLength":200},"usState":{"type":"string","minLength":1,"maxLength":100},"postal":{"type":"string","minLength":1,"maxLength":30}},"required":["siteId","name"],"additionalProperties":false}},"required":["data"],"additionalProperties":false}},{"name":"preview_leasecommand_sync","description":"Read the leasecommand synchronization preview before authorizing external changes.","module":"sites","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{},"additionalProperties":false}},{"name":"list_leasecommand_webhook_events","description":"Read LeaseCommand synchronization webhook outcomes.","module":"leases","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"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)$"},"limit":{"default":50,"type":"integer","minimum":1,"maximum":100},"offset":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991},"search":{"type":"string","maxLength":200},"status":{"type":"string","minLength":1,"maxLength":100}},"additionalProperties":false}},{"name":"retry_leasecommand_webhook_event","description":"Retry one existing LeaseCommand sync event; does not forge a provider event.","module":"leases","sensitive":true,"write":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"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)$"}},"required":["id"],"additionalProperties":false}},{"name":"get_document_folder","description":"Read a document folder before changing its organization-wide scope.","module":"documents","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"folderId":{"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)$"}},"required":["folderId"],"additionalProperties":false}},{"name":"export_report","description":"Export an authorized report as CSV, Excel XLSX or PDF. Discover datasets with get_report_registry first. Returns a downloadable MCP embedded file, never a public or signed URL. allPages reads up to maxRows (default 500, hard cap 1000 or a lower organization/connection policy). Always disclose truncation. Every page rechecks permissions and masking. Requires explicit export permission.","module":"reports","sensitive":false,"write":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":100},"args":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}},"format":{"default":"csv","type":"string","enum":["csv","xlsx","pdf"]},"allPages":{"default":false,"type":"boolean"},"maxRows":{"default":500,"type":"integer","minimum":1,"maximum":1000}},"required":["name","args"],"additionalProperties":false,"$defs":{"__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema0"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}]}}}},{"name":"get_operations_dashboard","module":"reports","description":"Use this to review RetailHardHat retail-rollout operations in one place: budget overruns, opening risks, contractor bids for a selected location, and this connection's pending approvals. Returns authorized panels, selectable locations, drill-down actions and explicit per-panel errors. Never infers access to ungranted modules, complete readiness or financial forecasts.","write":false,"sensitive":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"siteId":{"description":"Optional RetailHardHat location UUID. Omit to inspect the organization's available records.","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)$"}},"additionalProperties":false},"requiredModules":[]},{"name":"render_retailhardhat_dashboard","module":"reports","description":"Use this when the user requests an interactive RetailHardHat operations dashboard inside their AI assistant. Supports location selection, panel navigation, refresh, searchable records and read-only detail views. Provider enhancements are capability-dependent. Unsupported hosts receive the same complete structured/text dashboard. Sensitive approvals remain in RetailHardHat.","write":false,"sensitive":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"siteId":{"description":"Optional RetailHardHat location UUID. Omit to inspect the organization's available records.","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)$"}},"additionalProperties":false},"requiredModules":[]},{"name":"get_budget_category_details","module":"budgets","description":"Use this to explain which actual budget line items contribute to a RetailHardHat source/category total or overrun. Read-only drill-down of the current authorized portfolio; distinguishes missing actuals from zero and does not combine overlapping sources.","write":false,"sensitive":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"sourceId":{"description":"Exact sourceId from an authorized budget summary.","type":"string","pattern":"^(location|project):[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"},"category":{"description":"Exact configured category label from that source's summary.","type":"string","minLength":1,"maxLength":200}},"required":["sourceId","category"],"additionalProperties":false},"requiredModules":["budgets"]},{"name":"get_bid_details","module":"bids","description":"Use this to inspect a recorded RetailHardHat contractor bid's scope, amount, status and notes before making a comparison. Requires the bid's real UUID. Never approves, selects or awards the bid.","write":false,"sensitive":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"bidId":{"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)$"}},"required":["bidId"],"additionalProperties":false},"requiredModules":["bids"]},{"name":"get_opening_record_details","module":"sites","description":"Use this to inspect the authorized location, task or permit behind a RetailHardHat opening-risk signal. Requires the selected record's corresponding module scope and current route permissions. It is read-only and does not certify readiness or grant access to other modules.","write":false,"sensitive":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"recordType":{"type":"string","enum":["site","task","permit"]},"id":{"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)$"}},"required":["recordType","id"],"additionalProperties":false},"requiredModules":[]},{"name":"summarize_budget_overruns","module":"budgets","description":"Use this when reviewing RetailHardHat store-development budgets, category cost breakdowns, or recorded actual-versus-estimated overruns. Returns source-separated category totals and unknown-actual warnings. Do not use for personal finance, new estimates, forecasts, or committed-cost accounting.","write":false,"sensitive":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"siteId":{"description":"Optional RetailHardHat location UUID. Omit to inspect the organization's available records.","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)$"}},"additionalProperties":false},"requiredModules":["budgets"]},{"name":"identify_opening_blockers","module":"sites","description":"Use this when checking which RetailHardHat locations have store-opening risk signals: overdue incomplete site tasks, rejected permits, or expired permits. Requires sites, tasks, and permits scopes. Do not treat results as a critical-path prediction or certification of readiness.","write":false,"sensitive":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"siteId":{"description":"Optional RetailHardHat location UUID. Omit to inspect the organization's available records.","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)$"}},"additionalProperties":false},"requiredModules":["sites","tasks","permits"]},{"name":"compare_site_bids","module":"bids","description":"Use this when comparing recorded contractor bids for a RetailHardHat location UUID. Groups by category, project, and RFP; shows amounts and differences from each group's lowest eligible amount. Do not use for unrelated insurance quotes or automatically select, approve, or award a contractor.","write":false,"sensitive":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"siteId":{"description":"RetailHardHat location UUID, not a location name. Find the ID with list_sites if needed.","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)$"}},"required":["siteId"],"additionalProperties":false},"requiredModules":["bids"]},{"name":"summarize_pending_actions","module":"reports","description":"Use this when checking this RetailHardHat AI connection's unexpired pending or human-approved actions. This read-only summary never approves or executes anything. Do not use for another user's connection or claim an approved action has already run.","write":false,"sensitive":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{},"additionalProperties":false},"requiredModules":[]},{"name":"render_retailhardhat_view","module":"reports","description":"Use this when the user wants an interactive RetailHardHat budget, opening-risk, contractor-bid, or pending-action view. Prefer the matching summary tool for analysis without UI. Re-fetches authorized records; never accepts model-invented financial values. bid_comparison requires a location UUID. Hosts without MCP Apps still receive full structured/text results.","write":false,"sensitive":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"workflow":{"type":"string","enum":["budget_overruns","opening_blockers","bid_comparison","pending_actions"]},"siteId":{"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)$"}},"required":["workflow"],"additionalProperties":false},"requiredModules":[]},{"name":"get_connected_account","module":"reports","description":"Use this when identifying which RetailHardHat account and organization are connected. Reads only the authenticated actor's account label, organization, role, and permitted modules. Do not use to enumerate users or change account permissions.","write":false,"sensitive":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{},"additionalProperties":false},"requiredModules":[]},{"name":"get_approval_status","description":"Read this connection's exact approval status","inputSchema":{"type":"object","properties":{"approvalId":{"type":"string","format":"uuid"}},"required":["approvalId"],"additionalProperties":false},"annotations":{"readOnlyHint":true}},{"name":"execute_approved_action","description":"Execute an approved, unexpired exact action once under current permissions","inputSchema":{"type":"object","properties":{"approvalId":{"type":"string","format":"uuid"}},"required":["approvalId"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"idempotentHint":false}}],"resources":["retailhardhat://connection","retailhardhat://tools","ui://retailhardhat/operations-v1.html"],"prompts":["operations_review","budget_review"],"policyDefaults":{"organization":{"enabled":true,"restrictClients":false,"approvedClientIds":[],"approvalRules":{},"approvalExpiryMinutes":1440,"allowDocuments":true,"allowExports":true,"maskedFields":[],"maxExportRows":500,"maxResponseBytes":2097152,"maxBatchChanges":25,"organizationLimits":{"requestsPerMinute":600,"concurrentOperations":20,"changesPerHour":500,"downloadBytesPerHour":209715200},"userLimits":{"requestsPerMinute":240,"concurrentOperations":8,"changesPerHour":200,"downloadBytesPerHour":104857600},"connectionLimits":{"requestsPerMinute":120,"concurrentOperations":4,"changesPerHour":100,"downloadBytesPerHour":52428800}},"connection":{"modules":[],"actions":["read","create","update","delete"],"allowedTools":[],"deniedTools":[],"siteIds":[],"projectIds":[],"recordIds":{},"approvalRules":{},"allowDocuments":false,"allowExports":false,"maskedFields":[],"maxExportRows":500,"maxResponseBytes":2097152,"maxBatchChanges":25,"limits":{"requestsPerMinute":120,"concurrentOperations":4,"changesPerHour":100,"downloadBytesPerHour":52428800}}},"securitySchemaUrl":"/api/mcp-public/security-schema","documentationUrl":"/api/mcp-public/docs"}