Arthur Online MCP by usefulapi
Read Arthur properties, units and tenancies; track maintenance and add tasks or notes.
我该使用它吗
质量与安全性
基于对工具定义和协议合规性的自动分析。
上下文开销
这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。
安装
一键安装
将以下内容添加到你的 `claude_desktop_config.json` 文件中:
{
"mcpServers": {
"arthur-online": {
"url": "https://arthur-online.usefulapi.io/mcp"
}
}
}远程端点
https://arthur-online.usefulapi.io/mcpstreamable-http它能做什么
工具清单
工具(20)
🟢arthur_list_properties(page, limit, sort, direction, _q, ...)
Properties, their addresses, type, owner and managing agent. GET /v2/properties. Returns data plus the vendor pagination; this is one page, not the whole portfolio.
输入模式
{
"type": "object",
"properties": {
"page": {
"description": "Results page (default 1). Read pagination.pageCount before requesting the next page.",
"type": "integer",
"minimum": 1,
"maximum": 1000000
},
"limit": {
"description": "Records per page, 1–100 (default 20).",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"sort": {
"description": "Vendor field to sort by, for example id or created.",
"type": "string",
"pattern": "^[A-Za-z][A-Za-z0-9_]{0,63}$"
},
"direction": {
"description": "Sort direction (default ASC when sorting).",
"type": "string",
"enum": [
"ASC",
"DESC"
]
},
"_q": {
"type": "string",
"maxLength": 500
},
"full_address": {
"type": "string",
"maxLength": 500
},
"city": {
"type": "string",
"maxLength": 500
},
"postcode": {
"type": "string",
"maxLength": 500
},
"property_type": {
"type": "string",
"maxLength": 500
},
"property_owner_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Arthur numeric record id, from the corresponding list tool."
},
"letting_agent_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Arthur numeric record id, from the corresponding list tool."
},
"unit_status": {
"type": "string",
"maxLength": 500
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢arthur_get_property(id)
Properties, their addresses, type, owner and managing agent. GET /v2/properties/{id}.
输入模式
{
"type": "object",
"properties": {
"id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Arthur numeric record id, from the corresponding list tool."
}
},
"required": [
"id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢arthur_list_units(page, limit, sort, direction, _q, ...)
Units, vacancy, availability, unit type, market rent and location. GET /v2/units. Returns data plus the vendor pagination; this is one page, not the whole portfolio.
输入模式
{
"type": "object",
"properties": {
"page": {
"description": "Results page (default 1). Read pagination.pageCount before requesting the next page.",
"type": "integer",
"minimum": 1,
"maximum": 1000000
},
"limit": {
"description": "Records per page, 1–100 (default 20).",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"sort": {
"description": "Vendor field to sort by, for example id or created.",
"type": "string",
"pattern": "^[A-Za-z][A-Za-z0-9_]{0,63}$"
},
"direction": {
"description": "Sort direction (default ASC when sorting).",
"type": "string",
"enum": [
"ASC",
"DESC"
]
},
"_q": {
"type": "string",
"maxLength": 500
},
"unit_ref": {
"type": "string",
"maxLength": 500
},
"city": {
"type": "string",
"maxLength": 500
},
"postcode": {
"type": "string",
"maxLength": 500
},
"unit_status": {
"type": "string",
"maxLength": 500
},
"unit_vacant": {
"type": "boolean"
},
"unit_owner_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Arthur numeric record id, from the corresponding list tool."
},
"available_move_in_date": {
"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])))$",
"description": "Calendar date in YYYY-MM-DD format."
},
"available_move_out_date": {
"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])))$",
"description": "Calendar date in YYYY-MM-DD format."
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢arthur_get_unit(id)
Units, vacancy, availability, unit type, market rent and location. GET /v2/units/{id}.
输入模式
{
"type": "object",
"properties": {
"id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Arthur numeric record id, from the corresponding list tool."
}
},
"required": [
"id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢arthur_list_tenancies(page, limit, sort, direction, _q, ...)
Tenancies, their status, dates, unit and rent details. GET /v2/tenancies. Returns data plus the vendor pagination; this is one page, not the whole portfolio.
输入模式
{
"type": "object",
"properties": {
"page": {
"description": "Results page (default 1). Read pagination.pageCount before requesting the next page.",
"type": "integer",
"minimum": 1,
"maximum": 1000000
},
"limit": {
"description": "Records per page, 1–100 (default 20).",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"sort": {
"description": "Vendor field to sort by, for example id or created.",
"type": "string",
"pattern": "^[A-Za-z][A-Za-z0-9_]{0,63}$"
},
"direction": {
"description": "Sort direction (default ASC when sorting).",
"type": "string",
"enum": [
"ASC",
"DESC"
]
},
"_q": {
"type": "string",
"maxLength": 500
},
"status": {
"type": "string",
"maxLength": 500
},
"full_address": {
"type": "string",
"maxLength": 500
},
"assigned_to": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Arthur numeric record id, from the corresponding list tool."
},
"start_date": {
"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])))$",
"description": "Calendar date in YYYY-MM-DD format."
},
"end_date": {
"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])))$",
"description": "Calendar date in YYYY-MM-DD format."
},
"moveInDate": {
"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])))$",
"description": "Calendar date in YYYY-MM-DD format."
},
"moveOutDate": {
"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])))$",
"description": "Calendar date in YYYY-MM-DD format."
},
"modifiedFrom": {
"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])))$",
"description": "Calendar date in YYYY-MM-DD format."
},
"modifiedTo": {
"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])))$",
"description": "Calendar date in YYYY-MM-DD format."
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢arthur_get_tenancy(id)
Tenancies, their status, dates, unit and rent details. GET /v2/tenancies/{id}.
输入模式
{
"type": "object",
"properties": {
"id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Arthur numeric record id, from the corresponding list tool."
}
},
"required": [
"id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢arthur_list_tenants(page, limit, sort, direction, property_id, ...)
Tenant contact details and their linked tenancy; invitation codes are removed. GET /v2/tenants. Returns data plus the vendor pagination; this is one page, not the whole portfolio.
输入模式
{
"type": "object",
"properties": {
"page": {
"description": "Results page (default 1). Read pagination.pageCount before requesting the next page.",
"type": "integer",
"minimum": 1,
"maximum": 1000000
},
"limit": {
"description": "Records per page, 1–100 (default 20).",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"sort": {
"description": "Vendor field to sort by, for example id or created.",
"type": "string",
"pattern": "^[A-Za-z][A-Za-z0-9_]{0,63}$"
},
"direction": {
"description": "Sort direction (default ASC when sorting).",
"type": "string",
"enum": [
"ASC",
"DESC"
]
},
"property_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Arthur numeric record id, from the corresponding list tool."
},
"unit_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Arthur numeric record id, from the corresponding list tool."
},
"tenancy_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Arthur numeric record id, from the corresponding list tool."
},
"email": {
"type": "string",
"maxLength": 500
},
"mobile": {
"type": "string",
"maxLength": 500
},
"full_address": {
"type": "string",
"maxLength": 500
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢arthur_get_tenant(id)
Tenant contact details and their linked tenancy; invitation codes are removed. GET /v2/tenants/{id}.
输入模式
{
"type": "object",
"properties": {
"id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Arthur numeric record id, from the corresponding list tool."
}
},
"required": [
"id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢arthur_list_tasks(page, limit, sort, direction, _q, ...)
Maintenance tasks, status, descriptions, due dates, assigned managers and tags. GET /v2/tasks. Returns data plus the vendor pagination; this is one page, not the whole portfolio.
输入模式
{
"type": "object",
"properties": {
"page": {
"description": "Results page (default 1). Read pagination.pageCount before requesting the next page.",
"type": "integer",
"minimum": 1,
"maximum": 1000000
},
"limit": {
"description": "Records per page, 1–100 (default 20).",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"sort": {
"description": "Vendor field to sort by, for example id or created.",
"type": "string",
"pattern": "^[A-Za-z][A-Za-z0-9_]{0,63}$"
},
"direction": {
"description": "Sort direction (default ASC when sorting).",
"type": "string",
"enum": [
"ASC",
"DESC"
]
},
"_q": {
"type": "string",
"maxLength": 500
},
"status": {
"description": "Comma-separated task statuses.",
"type": "string",
"maxLength": 500
},
"assigned_to": {
"type": "string",
"maxLength": 500
},
"task_type": {
"type": "string",
"maxLength": 500
},
"due_date_from": {
"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])))$",
"description": "Calendar date in YYYY-MM-DD format."
},
"due_date_to": {
"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])))$",
"description": "Calendar date in YYYY-MM-DD format."
},
"created_date_from": {
"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])))$",
"description": "Calendar date in YYYY-MM-DD format."
},
"created_date_to": {
"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])))$",
"description": "Calendar date in YYYY-MM-DD format."
},
"tags": {
"description": "Comma-separated tags.",
"type": "string",
"maxLength": 500
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢arthur_get_task(id)
Maintenance tasks, status, descriptions, due dates, assigned managers and tags. GET /v2/tasks/{id}.
输入模式
{
"type": "object",
"properties": {
"id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Arthur numeric record id, from the corresponding list tool."
}
},
"required": [
"id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢arthur_list_workorders(page, limit, sort, direction, _q, ...)
Contractor work orders, status, title, costs, dates and linked maintenance task. GET /v2/workorders. Returns data plus the vendor pagination; this is one page, not the whole portfolio.
输入模式
{
"type": "object",
"properties": {
"page": {
"description": "Results page (default 1). Read pagination.pageCount before requesting the next page.",
"type": "integer",
"minimum": 1,
"maximum": 1000000
},
"limit": {
"description": "Records per page, 1–100 (default 20).",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"sort": {
"description": "Vendor field to sort by, for example id or created.",
"type": "string",
"pattern": "^[A-Za-z][A-Za-z0-9_]{0,63}$"
},
"direction": {
"description": "Sort direction (default ASC when sorting).",
"type": "string",
"enum": [
"ASC",
"DESC"
]
},
"_q": {
"type": "string",
"maxLength": 500
},
"ref": {
"type": "string",
"maxLength": 500
},
"status": {
"type": "string",
"maxLength": 500
},
"title": {
"type": "string",
"maxLength": 500
},
"contractor": {
"type": "string",
"maxLength": 500
},
"emergency": {
"type": "boolean"
},
"quote_required": {
"type": "boolean"
},
"due_date": {
"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])))$",
"description": "Calendar date in YYYY-MM-DD format."
},
"start_date": {
"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])))$",
"description": "Calendar date in YYYY-MM-DD format."
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢arthur_get_workorder(id)
Contractor work orders, status, title, costs, dates and linked maintenance task. GET /v2/workorders/{id}.
输入模式
{
"type": "object",
"properties": {
"id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Arthur numeric record id, from the corresponding list tool."
}
},
"required": [
"id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢arthur_list_transactions(page, limit, sort, direction, status, ...)
Read financial transactions and rent charges, with payment status and dates; never posts money. GET /v2/transactions. Returns data plus the vendor pagination; this is one page, not the whole portfolio.
输入模式
{
"type": "object",
"properties": {
"page": {
"description": "Results page (default 1). Read pagination.pageCount before requesting the next page.",
"type": "integer",
"minimum": 1,
"maximum": 1000000
},
"limit": {
"description": "Records per page, 1–100 (default 20).",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"sort": {
"description": "Vendor field to sort by, for example id or created.",
"type": "string",
"pattern": "^[A-Za-z][A-Za-z0-9_]{0,63}$"
},
"direction": {
"description": "Sort direction (default ASC when sorting).",
"type": "string",
"enum": [
"ASC",
"DESC"
]
},
"status": {
"type": "string",
"enum": [
"paid",
"unpaid",
"partpaid",
"outstanding",
"overdue",
"voided"
]
},
"statement": {
"type": "string",
"enum": [
"tenant",
"tenant-deposit",
"property-owner",
"property-owner-consolidated",
"contractor",
"tenancy-closing-statement",
"late-rents",
"contingency-statement",
"invoices"
]
},
"transaction_type": {
"type": "string",
"maxLength": 500
},
"date_from": {
"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])))$",
"description": "Calendar date in YYYY-MM-DD format."
},
"date_to": {
"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])))$",
"description": "Calendar date in YYYY-MM-DD format."
},
"transaction_date_from": {
"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])))$",
"description": "Calendar date in YYYY-MM-DD format."
},
"transaction_date_to": {
"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])))$",
"description": "Calendar date in YYYY-MM-DD format."
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢arthur_get_transaction(id)
Read financial transactions and rent charges, with payment status and dates; never posts money. GET /v2/transactions/{id}.
输入模式
{
"type": "object",
"properties": {
"id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Arthur numeric record id, from the corresponding list tool."
}
},
"required": [
"id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢arthur_list_invoices(page, limit, sort, direction, workorder_id, ...)
Read contractor invoices, amounts, outstanding balances and payment status; never pays or changes an invoice. GET /v2/invoices. Returns data plus the vendor pagination; this is one page, not the whole portfolio.
输入模式
{
"type": "object",
"properties": {
"page": {
"description": "Results page (default 1). Read pagination.pageCount before requesting the next page.",
"type": "integer",
"minimum": 1,
"maximum": 1000000
},
"limit": {
"description": "Records per page, 1–100 (default 20).",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"sort": {
"description": "Vendor field to sort by, for example id or created.",
"type": "string",
"pattern": "^[A-Za-z][A-Za-z0-9_]{0,63}$"
},
"direction": {
"description": "Sort direction (default ASC when sorting).",
"type": "string",
"enum": [
"ASC",
"DESC"
]
},
"workorder_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Arthur numeric record id, from the corresponding list tool."
},
"status": {
"type": "string",
"enum": [
"paid",
"unpaid",
"pending",
"cancelled"
]
},
"submitted": {
"type": "boolean"
},
"paid_date": {
"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])))$",
"description": "Calendar date in YYYY-MM-DD format."
},
"completed_date": {
"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])))$",
"description": "Calendar date in YYYY-MM-DD format."
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢arthur_get_invoice(id)
Read contractor invoices, amounts, outstanding balances and payment status; never pays or changes an invoice. GET /v2/invoices/{id}.
输入模式
{
"type": "object",
"properties": {
"id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Arthur numeric record id, from the corresponding list tool."
}
},
"required": [
"id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢arthur_list_certificates(page, limit, sort, direction)
Property and unit certificates, type, expiry date and status. GET /v2/certificates. Returns data plus the vendor pagination; this is one page, not the whole portfolio.
输入模式
{
"type": "object",
"properties": {
"page": {
"description": "Results page (default 1). Read pagination.pageCount before requesting the next page.",
"type": "integer",
"minimum": 1,
"maximum": 1000000
},
"limit": {
"description": "Records per page, 1–100 (default 20).",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"sort": {
"description": "Vendor field to sort by, for example id or created.",
"type": "string",
"pattern": "^[A-Za-z][A-Za-z0-9_]{0,63}$"
},
"direction": {
"description": "Sort direction (default ASC when sorting).",
"type": "string",
"enum": [
"ASC",
"DESC"
]
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢arthur_get_certificate(id)
Property and unit certificates, type, expiry date and status. GET /v2/certificates/{id}.
输入模式
{
"type": "object",
"properties": {
"id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Arthur numeric record id, from the corresponding list tool."
}
},
"required": [
"id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟡arthur_create_unit_task(unit_id, description, task_type, due_date, due_time, ...)
WRITE: create a maintenance task associated with a unit when the user requests it. Confirm the intended unit and task details first. POST /v2/units/{unit_id}/tasks. No files, tenant invitations or financial changes; creates once and is never retried automatically.
输入模式
{
"type": "object",
"properties": {
"unit_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Arthur numeric record id, from the corresponding list tool."
},
"description": {
"type": "string",
"minLength": 1,
"maxLength": 10000
},
"task_type": {
"type": "string",
"maxLength": 500
},
"due_date": {
"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])))$",
"description": "Calendar date in YYYY-MM-DD format."
},
"due_time": {
"description": "Due time HH:MM in the Arthur account's local time.",
"type": "string",
"pattern": "^(?:[01][0-9]|2[0-3]):[0-5][0-9]$"
},
"tags": {
"maxItems": 30,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 100
}
},
"assigned_managers": {
"maxItems": 30,
"type": "array",
"items": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Arthur numeric record id, from the corresponding list tool."
}
},
"emergency": {
"type": "boolean"
},
"private": {
"type": "boolean"
},
"api_notes": {
"type": "string",
"maxLength": 10000
}
},
"required": [
"unit_id",
"description"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟡arthur_add_task_note(task_id, content, tags)
WRITE: add a note to an existing maintenance task when the user requests it. Confirm the intended task and note first. POST /v2/tasks/{task_id}/notes. This creates a note once; it is not a tenant message and is never retried automatically.
输入模式
{
"type": "object",
"properties": {
"task_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Arthur numeric record id, from the corresponding list tool."
},
"content": {
"type": "string",
"minLength": 1,
"maxLength": 10000
},
"tags": {
"maxItems": 30,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 100
}
}
},
"required": [
"task_id",
"content"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}社区
证据