@tocca-systems/twp-cli 0.14.1 → 0.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (318) hide show
  1. package/CHANGELOG.public.md +23 -0
  2. package/README.md +27 -0
  3. package/command-model/account-lock.json +108 -0
  4. package/command-model/address.json +40 -0
  5. package/command-model/agent-loop.json +1121 -0
  6. package/command-model/agent.json +838 -0
  7. package/command-model/ai-chat-history.json +239 -0
  8. package/command-model/ai-rag.json +118 -0
  9. package/command-model/ai-task-copilot.json +235 -0
  10. package/command-model/ai-token-usage.json +421 -0
  11. package/command-model/analysis-page-access-rule.json +250 -0
  12. package/command-model/analysis.json +153 -0
  13. package/command-model/announcement.json +208 -0
  14. package/command-model/api-key.json +255 -0
  15. package/command-model/api-usage.json +123 -0
  16. package/command-model/attendance-report-category.json +263 -0
  17. package/command-model/attendance-report-reason-detail.json +291 -0
  18. package/command-model/attendance-report-reason.json +279 -0
  19. package/command-model/attendance-report.json +384 -0
  20. package/command-model/attendance-timesheet.json +92 -0
  21. package/command-model/attendance.json +34 -0
  22. package/command-model/audit-log.json +146 -0
  23. package/command-model/auth.json +268 -0
  24. package/command-model/authorize.json +60 -0
  25. package/command-model/auto-charge.json +149 -0
  26. package/command-model/badge.json +116 -0
  27. package/command-model/billing.json +297 -0
  28. package/command-model/budget.json +505 -0
  29. package/command-model/business-card.json +47 -0
  30. package/command-model/business-place.json +323 -0
  31. package/command-model/capacity.json +171 -0
  32. package/command-model/catalog.json +234 -0
  33. package/command-model/chat-channel.json +566 -0
  34. package/command-model/chat-mention-group.json +135 -0
  35. package/command-model/chat-message.json +296 -0
  36. package/command-model/chat-tenant-connection.json +173 -0
  37. package/command-model/cli-auth.json +212 -0
  38. package/command-model/cms-tag.json +323 -0
  39. package/command-model/commuting-expense.json +422 -0
  40. package/command-model/company-case-document.json +41 -0
  41. package/command-model/company-contract-document.json +350 -0
  42. package/command-model/company.json +581 -0
  43. package/command-model/config.json +63 -0
  44. package/command-model/contract.json +546 -0
  45. package/command-model/credit.json +629 -0
  46. package/command-model/cross-project-report.json +40 -0
  47. package/command-model/customer-campaign.json +181 -0
  48. package/command-model/customer-contact.json +538 -0
  49. package/command-model/customer-interaction.json +714 -0
  50. package/command-model/customer-people.json +129 -0
  51. package/command-model/customer.json +129 -0
  52. package/command-model/cycle-time-analysis.json +59 -0
  53. package/command-model/dashboard-calendar.json +40 -0
  54. package/command-model/department.json +374 -0
  55. package/command-model/deposit-plan.json +69 -0
  56. package/command-model/deposit.json +498 -0
  57. package/command-model/desktop-release.json +63 -0
  58. package/command-model/domain-knowledge-doc.json +287 -0
  59. package/command-model/domain-knowledge.json +246 -0
  60. package/command-model/dynamo-attachment.json +253 -0
  61. package/command-model/dynamo-cms.json +1322 -0
  62. package/command-model/dynamo-inquiry.json +417 -0
  63. package/command-model/dynamo-support.json +297 -0
  64. package/command-model/email-change.json +59 -0
  65. package/command-model/equipment-category.json +129 -0
  66. package/command-model/equipment.json +614 -0
  67. package/command-model/estimate-case-document.json +349 -0
  68. package/command-model/estimate-format.json +465 -0
  69. package/command-model/estimate-no-rule.json +236 -0
  70. package/command-model/estimate.json +1025 -0
  71. package/command-model/evaluation-pdf.json +68 -0
  72. package/command-model/evaluation-period.json +476 -0
  73. package/command-model/evaluation.json +786 -0
  74. package/command-model/expense-settings.json +60 -0
  75. package/command-model/external-integration-proxy.json +1261 -0
  76. package/command-model/faq-notion-import.json +246 -0
  77. package/command-model/faq.json +410 -0
  78. package/command-model/favorite.json +179 -0
  79. package/command-model/feedback.json +544 -0
  80. package/command-model/fiscal-year-setting.json +167 -0
  81. package/command-model/floor-map.json +175 -0
  82. package/command-model/follow-up-message-template.json +197 -0
  83. package/command-model/git-hub-pr-status.json +41 -0
  84. package/command-model/goal-sheet.json +350 -0
  85. package/command-model/google-auth.json +100 -0
  86. package/command-model/hearing-auth.json +329 -0
  87. package/command-model/hearing-invitation.json +252 -0
  88. package/command-model/hearing-session.json +194 -0
  89. package/command-model/hearing.json +929 -0
  90. package/command-model/holiday.json +362 -0
  91. package/command-model/hr-checklist-template.json +261 -0
  92. package/command-model/hr-checklist.json +185 -0
  93. package/command-model/hr-qualification.json +108 -0
  94. package/command-model/html-editor.json +55 -0
  95. package/command-model/index.json +1500 -0
  96. package/command-model/inquiry-response-generator.json +43 -0
  97. package/command-model/inquiry-routing.json +364 -0
  98. package/command-model/invoice-auto-template.json +245 -0
  99. package/command-model/invoice-no-rule.json +236 -0
  100. package/command-model/invoice.json +897 -0
  101. package/command-model/job-title.json +421 -0
  102. package/command-model/knowledge-qa.json +62 -0
  103. package/command-model/knowledge-recommendation-feedback.json +102 -0
  104. package/command-model/knowledge-recommendation.json +56 -0
  105. package/command-model/legacy-migration.json +76 -0
  106. package/command-model/license-assignment.json +296 -0
  107. package/command-model/license-type.json +288 -0
  108. package/command-model/license.json +525 -0
  109. package/command-model/login-history.json +99 -0
  110. package/command-model/man-hour.json +107 -0
  111. package/command-model/master-announcement.json +520 -0
  112. package/command-model/master-billing.json +117 -0
  113. package/command-model/master-pricing.json +246 -0
  114. package/command-model/master-product.json +523 -0
  115. package/command-model/master-support-ai.json +39 -0
  116. package/command-model/master-support.json +450 -0
  117. package/command-model/master-tenant.json +1909 -0
  118. package/command-model/media-file-comment.json +142 -0
  119. package/command-model/media-file-hls.json +47 -0
  120. package/command-model/media-file-version.json +188 -0
  121. package/command-model/media-file.json +1712 -0
  122. package/command-model/media-folder.json +398 -0
  123. package/command-model/meeting-category.json +195 -0
  124. package/command-model/meeting-minutes.json +68 -0
  125. package/command-model/meeting-pdf.json +41 -0
  126. package/command-model/meeting-template.json +227 -0
  127. package/command-model/meeting.json +1030 -0
  128. package/command-model/member.json +132 -0
  129. package/command-model/microsoft-auth.json +97 -0
  130. package/command-model/milli-credit.json +273 -0
  131. package/command-model/ms365-calendar-o-auth.json +115 -0
  132. package/command-model/music-generation.json +232 -0
  133. package/command-model/my-task.json +167 -0
  134. package/command-model/my-training.json +158 -0
  135. package/command-model/news-perspective.json +215 -0
  136. package/command-model/note-category.json +149 -0
  137. package/command-model/note-comment.json +225 -0
  138. package/command-model/note-favorite.json +47 -0
  139. package/command-model/note-reaction.json +62 -0
  140. package/command-model/note-subscription.json +110 -0
  141. package/command-model/note.json +578 -0
  142. package/command-model/notification-recipient-rule.json +231 -0
  143. package/command-model/notification.json +336 -0
  144. package/command-model/notion-import.json +265 -0
  145. package/command-model/o-auth-client.json +334 -0
  146. package/command-model/onboarding-template.json +706 -0
  147. package/command-model/operating-hours.json +100 -0
  148. package/command-model/order-form-scan.json +33 -0
  149. package/command-model/org-chart.json +40 -0
  150. package/command-model/organization-announcement-category.json +135 -0
  151. package/command-model/organization-announcement.json +605 -0
  152. package/command-model/password-reset.json +100 -0
  153. package/command-model/payee.json +223 -0
  154. package/command-model/pc-situation.json +129 -0
  155. package/command-model/phone-change.json +65 -0
  156. package/command-model/policy-employee.json +99 -0
  157. package/command-model/policy.json +506 -0
  158. package/command-model/position.json +305 -0
  159. package/command-model/private-agent-loop.json +850 -0
  160. package/command-model/private-task.json +406 -0
  161. package/command-model/process.json +237 -0
  162. package/command-model/profit-analysis.json +183 -0
  163. package/command-model/profit-summary.json +70 -0
  164. package/command-model/project-assignment.json +55 -0
  165. package/command-model/project-cost.json +255 -0
  166. package/command-model/project-custom-field.json +379 -0
  167. package/command-model/project-digest.json +116 -0
  168. package/command-model/project-evaluation.json +313 -0
  169. package/command-model/project-health.json +158 -0
  170. package/command-model/project-member.json +468 -0
  171. package/command-model/project-process.json +310 -0
  172. package/command-model/project-profit-analysis.json +59 -0
  173. package/command-model/project-quality-check-corrective-task.json +126 -0
  174. package/command-model/project-quality-check-record.json +131 -0
  175. package/command-model/project-quality-check-scope.json +87 -0
  176. package/command-model/project-quality-check-status.json +63 -0
  177. package/command-model/project-repository.json +180 -0
  178. package/command-model/project-revenue.json +292 -0
  179. package/command-model/project-task-analytics.json +41 -0
  180. package/command-model/project-task-category.json +203 -0
  181. package/command-model/project-task-comment.json +430 -0
  182. package/command-model/project-task-form-options.json +41 -0
  183. package/command-model/project-task-label.json +203 -0
  184. package/command-model/project-task-link.json +169 -0
  185. package/command-model/project-task-milestone.json +215 -0
  186. package/command-model/project-task-rule.json +376 -0
  187. package/command-model/project-task-status.json +221 -0
  188. package/command-model/project-task-template.json +264 -0
  189. package/command-model/project-task-type.json +240 -0
  190. package/command-model/project-task-version.json +215 -0
  191. package/command-model/project-task-watcher.json +101 -0
  192. package/command-model/project-task.json +1476 -0
  193. package/command-model/project-template.json +443 -0
  194. package/command-model/project.json +979 -0
  195. package/command-model/prospect-activity.json +293 -0
  196. package/command-model/prospect-promotion.json +86 -0
  197. package/command-model/prospect.json +793 -0
  198. package/command-model/public-search.json +68 -0
  199. package/command-model/purchase-ai-field-mapping.json +293 -0
  200. package/command-model/purchase-document.json +349 -0
  201. package/command-model/purchase-estimate-scan.json +42 -0
  202. package/command-model/purchase-no-rule.json +242 -0
  203. package/command-model/purchase.json +608 -0
  204. package/command-model/push-subscription.json +108 -0
  205. package/command-model/qualification-import.json +91 -0
  206. package/command-model/qualification.json +252 -0
  207. package/command-model/quality-check-item.json +256 -0
  208. package/command-model/rag.json +76 -0
  209. package/command-model/rating-criteria.json +76 -0
  210. package/command-model/receivable-closing.json +105 -0
  211. package/command-model/receivable.json +63 -0
  212. package/command-model/received-invoice.json +151 -0
  213. package/command-model/refresh-token.json +31 -0
  214. package/command-model/report-format-order.json +48 -0
  215. package/command-model/report-saved-tab.json +154 -0
  216. package/command-model/report.json +2400 -0
  217. package/command-model/retrospective.json +591 -0
  218. package/command-model/revoke.json +34 -0
  219. package/command-model/risk-analysis.json +41 -0
  220. package/command-model/role-template.json +198 -0
  221. package/command-model/sales-ai-review-knowledge-draft.json +37 -0
  222. package/command-model/sales-ai-review-knowledge-pr.json +49 -0
  223. package/command-model/sales-ai-review-reason-list.json +70 -0
  224. package/command-model/sales-pdf.json +293 -0
  225. package/command-model/sales-rounding-setting.json +66 -0
  226. package/command-model/sales.json +425 -0
  227. package/command-model/saved-tab.json +150 -0
  228. package/command-model/saved-task-filter.json +154 -0
  229. package/command-model/seal-impression.json +195 -0
  230. package/command-model/segment.json +237 -0
  231. package/command-model/sidebar-badge-setting.json +60 -0
  232. package/command-model/skill-analytics.json +163 -0
  233. package/command-model/skill-category.json +235 -0
  234. package/command-model/skill-evaluation-export.json +49 -0
  235. package/command-model/skill-evaluation-record.json +140 -0
  236. package/command-model/skill-micro-feedback.json +132 -0
  237. package/command-model/skill-role-assignment.json +117 -0
  238. package/command-model/skill.json +327 -0
  239. package/command-model/staff-kpi-setting.json +186 -0
  240. package/command-model/staff-kpi.json +46 -0
  241. package/command-model/staffing-plan.json +428 -0
  242. package/command-model/storage.json +254 -0
  243. package/command-model/subscription.json +164 -0
  244. package/command-model/supplier-payment-schedule.json +237 -0
  245. package/command-model/supplier-payment.json +344 -0
  246. package/command-model/survey-tracker.json +398 -0
  247. package/command-model/survey.json +1759 -0
  248. package/command-model/task-analysis.json +34 -0
  249. package/command-model/task-branch.json +307 -0
  250. package/command-model/task-recurrence.json +261 -0
  251. package/command-model/task-wiki-link.json +155 -0
  252. package/command-model/tenant-ai-key.json +339 -0
  253. package/command-model/tenant-egress-policy.json +288 -0
  254. package/command-model/tenant-email-settings.json +143 -0
  255. package/command-model/tenant-git-hub-settings.json +361 -0
  256. package/command-model/tenant-master-email-change.json +59 -0
  257. package/command-model/tenant-rag-settings.json +382 -0
  258. package/command-model/tenant-registration.json +128 -0
  259. package/command-model/tenant-search.json +40 -0
  260. package/command-model/tenant-settings.json +1228 -0
  261. package/command-model/terms.json +90 -0
  262. package/command-model/test-execution.json +367 -0
  263. package/command-model/test-scenario.json +384 -0
  264. package/command-model/token.json +31 -0
  265. package/command-model/training-attendance.json +509 -0
  266. package/command-model/training-master.json +314 -0
  267. package/command-model/training-session.json +604 -0
  268. package/command-model/unified-search.json +127 -0
  269. package/command-model/update-record.json +90 -0
  270. package/command-model/user-api-key.json +357 -0
  271. package/command-model/user-assignment-calendar.json +47 -0
  272. package/command-model/user-assignment.json +663 -0
  273. package/command-model/user-contract-type.json +453 -0
  274. package/command-model/user-contract.json +759 -0
  275. package/command-model/user-group.json +147 -0
  276. package/command-model/user-info.json +34 -0
  277. package/command-model/user-invitation.json +1045 -0
  278. package/command-model/user-management.json +393 -0
  279. package/command-model/user-qualification.json +167 -0
  280. package/command-model/user-seal-generate.json +49 -0
  281. package/command-model/user-shortcut-setting.json +108 -0
  282. package/command-model/user-skill-profile.json +540 -0
  283. package/command-model/user.json +983 -0
  284. package/command-model/video-generation.json +456 -0
  285. package/command-model/web-search.json +67 -0
  286. package/command-model/well-known.json +63 -0
  287. package/command-model/whisper.json +88 -0
  288. package/command-model/wiki-collection.json +457 -0
  289. package/command-model/wiki-notion-import.json +172 -0
  290. package/command-model/wiki-template.json +187 -0
  291. package/command-model/wiki.json +449 -0
  292. package/command-model/worker-agent-run.json +185 -0
  293. package/command-model/worker-agent.json +524 -0
  294. package/command-model/workflow-ai-review.json +108 -0
  295. package/command-model/workflow-analysis.json +59 -0
  296. package/command-model/workflow-approval-delegation.json +135 -0
  297. package/command-model/workflow-approval.json +257 -0
  298. package/command-model/workflow-instance.json +273 -0
  299. package/command-model/workflow-tracker.json +481 -0
  300. package/command-model/workflow.json +553 -0
  301. package/command-model/workload-alert.json +105 -0
  302. package/dist/api-command-KPZHOOY2.js +73 -0
  303. package/dist/{app-BSEVWRJY.js → app-LLSZV6SM.js} +28 -27
  304. package/dist/{backlog-M5ORA4UV.js → backlog-AYEKG575.js} +2 -2
  305. package/dist/{chunk-V4VHRASG.js → chunk-7WEYBZSK.js} +1 -1
  306. package/dist/{chunk-EOFANBVM.js → chunk-FKIZ5ZJU.js} +2 -2
  307. package/dist/{chunk-6JGIC2IW.js → chunk-HCO3IYGJ.js} +1 -1
  308. package/dist/{run-6FWRZNZR.js → chunk-JD752WTS.js} +6 -7
  309. package/dist/{chunk-4WK2ECUX.js → chunk-S646CPM4.js} +3 -3
  310. package/dist/{chunk-ZVZL4QHS.js → chunk-Y5RTTQ4Y.js} +51 -25
  311. package/dist/cli.js +25 -23
  312. package/dist/{commands-S7RTRVR5.js → commands-RNBJ3AKL.js} +4 -4
  313. package/dist/{commands-YPT6RK74.js → commands-VUWI4ERO.js} +1 -1
  314. package/dist/{oneshot-FI5F5SP5.js → oneshot-HQJEXZHJ.js} +5 -5
  315. package/dist/run-N3HIHYO7.js +4 -0
  316. package/dist/{setup-JXETAINT.js → setup-OULTAG6G.js} +1 -1
  317. package/dist/{task-DAW7IUDT.js → task-UK4QO26W.js} +2 -2
  318. package/package.json +2 -1
@@ -0,0 +1,1121 @@
1
+ {
2
+ "domain": "agent-loop",
3
+ "operations": [
4
+ {
5
+ "name": "claim",
6
+ "domain": "agent-loop",
7
+ "operationId": "agentLoop.claim",
8
+ "method": "POST",
9
+ "path": "/v2/projects/{projectId}/agent-loop/claim",
10
+ "summary": "pending アイテムをアトミックに取得",
11
+ "pathParams": [
12
+ {
13
+ "name": "projectId",
14
+ "type": "string",
15
+ "required": true,
16
+ "source": "spec"
17
+ }
18
+ ],
19
+ "queryParams": [],
20
+ "body": null,
21
+ "resultPath": null,
22
+ "risk": "write",
23
+ "aliases": []
24
+ },
25
+ {
26
+ "name": "claim-schedule-window",
27
+ "domain": "agent-loop",
28
+ "operationId": "agentLoop.claimScheduleWindow",
29
+ "method": "POST",
30
+ "path": "/v2/projects/{projectId}/agent-loop/schedules/{scheduleId}/claim",
31
+ "summary": "枠をアトミックに獲得する",
32
+ "pathParams": [
33
+ {
34
+ "name": "projectId",
35
+ "type": "string",
36
+ "required": true,
37
+ "source": "spec"
38
+ },
39
+ {
40
+ "name": "scheduleId",
41
+ "type": "string",
42
+ "required": true,
43
+ "source": "spec"
44
+ }
45
+ ],
46
+ "queryParams": [],
47
+ "body": null,
48
+ "resultPath": null,
49
+ "risk": "write",
50
+ "aliases": []
51
+ },
52
+ {
53
+ "name": "consume-counter",
54
+ "domain": "agent-loop",
55
+ "operationId": "agentLoop.consumeCounter",
56
+ "method": "POST",
57
+ "path": "/v2/projects/{projectId}/agent-loop/counters/consume",
58
+ "summary": "カウンタを1つ消費する",
59
+ "pathParams": [
60
+ {
61
+ "name": "projectId",
62
+ "type": "string",
63
+ "required": true,
64
+ "source": "spec"
65
+ }
66
+ ],
67
+ "queryParams": [],
68
+ "body": null,
69
+ "resultPath": null,
70
+ "risk": "write",
71
+ "aliases": []
72
+ },
73
+ {
74
+ "name": "count",
75
+ "domain": "agent-loop",
76
+ "operationId": "agentLoop.count",
77
+ "method": "GET",
78
+ "path": "/v2/projects/{projectId}/agent-loop/count",
79
+ "summary": "アイテム件数を概算取得(非同期・非ブロッキング用)",
80
+ "pathParams": [
81
+ {
82
+ "name": "projectId",
83
+ "type": "string",
84
+ "required": true,
85
+ "source": "spec"
86
+ }
87
+ ],
88
+ "queryParams": [
89
+ {
90
+ "name": "limit",
91
+ "type": "integer",
92
+ "required": false,
93
+ "description": "1ページあたりの件数",
94
+ "source": "curation"
95
+ },
96
+ {
97
+ "name": "cursor",
98
+ "type": "string",
99
+ "required": false,
100
+ "description": "次ページの取得に使うカーソル",
101
+ "source": "curation"
102
+ }
103
+ ],
104
+ "body": null,
105
+ "resultPath": null,
106
+ "risk": "read",
107
+ "aliases": []
108
+ },
109
+ {
110
+ "name": "counters",
111
+ "domain": "agent-loop",
112
+ "operationId": "agentLoop.counters",
113
+ "method": "GET",
114
+ "path": "/v2/projects/{projectId}/agent-loop/counters",
115
+ "summary": "カウンタ一覧を取得する",
116
+ "pathParams": [
117
+ {
118
+ "name": "projectId",
119
+ "type": "string",
120
+ "required": true,
121
+ "source": "spec"
122
+ }
123
+ ],
124
+ "queryParams": [
125
+ {
126
+ "name": "limit",
127
+ "type": "integer",
128
+ "required": false,
129
+ "description": "1ページあたりの件数",
130
+ "source": "curation"
131
+ },
132
+ {
133
+ "name": "cursor",
134
+ "type": "string",
135
+ "required": false,
136
+ "description": "次ページの取得に使うカーソル",
137
+ "source": "curation"
138
+ }
139
+ ],
140
+ "body": null,
141
+ "resultPath": null,
142
+ "risk": "read",
143
+ "aliases": []
144
+ },
145
+ {
146
+ "name": "create",
147
+ "domain": "agent-loop",
148
+ "operationId": "agentLoop.store",
149
+ "method": "POST",
150
+ "path": "/v2/projects/{projectId}/agent-loop",
151
+ "summary": "アイテムを作成",
152
+ "pathParams": [
153
+ {
154
+ "name": "projectId",
155
+ "type": "string",
156
+ "required": true,
157
+ "source": "spec"
158
+ }
159
+ ],
160
+ "queryParams": [],
161
+ "body": {
162
+ "schema": {
163
+ "type": "object",
164
+ "properties": {
165
+ "label": {
166
+ "type": "string",
167
+ "maxLength": 255
168
+ },
169
+ "prompt": {
170
+ "type": "string"
171
+ },
172
+ "ai_type": {
173
+ "type": [
174
+ "string",
175
+ "null"
176
+ ],
177
+ "enum": [
178
+ "claude",
179
+ "gemini",
180
+ "codex",
181
+ "copilot",
182
+ null
183
+ ]
184
+ },
185
+ "ai_model": {
186
+ "type": [
187
+ "string",
188
+ "null"
189
+ ],
190
+ "maxLength": 100
191
+ },
192
+ "ai_effort": {
193
+ "type": [
194
+ "string",
195
+ "null"
196
+ ],
197
+ "enum": [
198
+ "low",
199
+ "medium",
200
+ "high",
201
+ "xhigh",
202
+ "max",
203
+ null
204
+ ]
205
+ },
206
+ "task_key": {
207
+ "type": [
208
+ "string",
209
+ "null"
210
+ ],
211
+ "maxLength": 50
212
+ }
213
+ },
214
+ "required": [
215
+ "label",
216
+ "prompt"
217
+ ]
218
+ }
219
+ },
220
+ "resultPath": null,
221
+ "risk": "write",
222
+ "aliases": []
223
+ },
224
+ {
225
+ "name": "delete",
226
+ "domain": "agent-loop",
227
+ "operationId": "agentLoop.destroy",
228
+ "method": "DELETE",
229
+ "path": "/v2/projects/{projectId}/agent-loop/{itemId}",
230
+ "summary": "アイテムを削除",
231
+ "pathParams": [
232
+ {
233
+ "name": "projectId",
234
+ "type": "string",
235
+ "required": true,
236
+ "source": "spec"
237
+ },
238
+ {
239
+ "name": "itemId",
240
+ "type": "string",
241
+ "required": true,
242
+ "source": "spec"
243
+ }
244
+ ],
245
+ "queryParams": [],
246
+ "body": null,
247
+ "resultPath": null,
248
+ "risk": "destructive",
249
+ "aliases": []
250
+ },
251
+ {
252
+ "name": "deregister-runner",
253
+ "domain": "agent-loop",
254
+ "operationId": "agentLoop.deregisterRunner",
255
+ "method": "POST",
256
+ "path": "/v2/projects/{projectId}/agent-loop/runners/deregister",
257
+ "summary": "ランナーの登録解除(正常終了時)",
258
+ "pathParams": [
259
+ {
260
+ "name": "projectId",
261
+ "type": "string",
262
+ "required": true,
263
+ "source": "spec"
264
+ }
265
+ ],
266
+ "queryParams": [],
267
+ "body": null,
268
+ "resultPath": null,
269
+ "risk": "write",
270
+ "aliases": []
271
+ },
272
+ {
273
+ "name": "destroy-schedule-definition",
274
+ "domain": "agent-loop",
275
+ "operationId": "agentLoop.destroyScheduleDefinition",
276
+ "method": "DELETE",
277
+ "path": "/v2/projects/{projectId}/agent-loop/schedules/definitions/{scheduleId}",
278
+ "summary": "定義を削除(`revision` の楽観ロック)",
279
+ "pathParams": [
280
+ {
281
+ "name": "projectId",
282
+ "type": "string",
283
+ "required": true,
284
+ "source": "spec"
285
+ },
286
+ {
287
+ "name": "scheduleId",
288
+ "type": "string",
289
+ "required": true,
290
+ "source": "spec"
291
+ }
292
+ ],
293
+ "queryParams": [],
294
+ "body": null,
295
+ "resultPath": null,
296
+ "risk": "destructive",
297
+ "aliases": []
298
+ },
299
+ {
300
+ "name": "finish-plan",
301
+ "domain": "agent-loop",
302
+ "operationId": "agentLoop.finishPlan",
303
+ "method": "POST",
304
+ "path": "/v2/projects/{projectId}/agent-loop/plan/finish",
305
+ "summary": "計画ロックを解放",
306
+ "pathParams": [
307
+ {
308
+ "name": "projectId",
309
+ "type": "string",
310
+ "required": true,
311
+ "source": "spec"
312
+ }
313
+ ],
314
+ "queryParams": [],
315
+ "body": null,
316
+ "resultPath": null,
317
+ "risk": "write",
318
+ "aliases": []
319
+ },
320
+ {
321
+ "name": "get",
322
+ "domain": "agent-loop",
323
+ "operationId": "agentLoop.show",
324
+ "method": "GET",
325
+ "path": "/v2/projects/{projectId}/agent-loop/{itemId}",
326
+ "summary": "アイテムを取得",
327
+ "pathParams": [
328
+ {
329
+ "name": "projectId",
330
+ "type": "string",
331
+ "required": true,
332
+ "source": "spec"
333
+ },
334
+ {
335
+ "name": "itemId",
336
+ "type": "string",
337
+ "required": true,
338
+ "source": "spec"
339
+ }
340
+ ],
341
+ "queryParams": [
342
+ {
343
+ "name": "limit",
344
+ "type": "integer",
345
+ "required": false,
346
+ "description": "1ページあたりの件数",
347
+ "source": "curation"
348
+ },
349
+ {
350
+ "name": "cursor",
351
+ "type": "string",
352
+ "required": false,
353
+ "description": "次ページの取得に使うカーソル",
354
+ "source": "curation"
355
+ }
356
+ ],
357
+ "body": null,
358
+ "resultPath": null,
359
+ "risk": "read",
360
+ "aliases": []
361
+ },
362
+ {
363
+ "name": "heartbeat-runner",
364
+ "domain": "agent-loop",
365
+ "operationId": "agentLoop.heartbeatRunner",
366
+ "method": "POST",
367
+ "path": "/v2/projects/{projectId}/agent-loop/runners/heartbeat",
368
+ "summary": "ランナーのハートビート",
369
+ "pathParams": [
370
+ {
371
+ "name": "projectId",
372
+ "type": "string",
373
+ "required": true,
374
+ "source": "spec"
375
+ }
376
+ ],
377
+ "queryParams": [],
378
+ "body": null,
379
+ "resultPath": null,
380
+ "risk": "write",
381
+ "aliases": []
382
+ },
383
+ {
384
+ "name": "history",
385
+ "domain": "agent-loop",
386
+ "operationId": "agentLoop.history",
387
+ "method": "GET",
388
+ "path": "/v2/projects/{projectId}/agent-loop/history",
389
+ "summary": "実行履歴を期間指定で取得",
390
+ "pathParams": [
391
+ {
392
+ "name": "projectId",
393
+ "type": "string",
394
+ "required": true,
395
+ "source": "spec"
396
+ }
397
+ ],
398
+ "queryParams": [
399
+ {
400
+ "name": "limit",
401
+ "type": "integer",
402
+ "required": false,
403
+ "description": "1ページあたりの件数",
404
+ "source": "curation"
405
+ },
406
+ {
407
+ "name": "cursor",
408
+ "type": "string",
409
+ "required": false,
410
+ "description": "次ページの取得に使うカーソル",
411
+ "source": "curation"
412
+ }
413
+ ],
414
+ "body": null,
415
+ "resultPath": null,
416
+ "risk": "read",
417
+ "aliases": []
418
+ },
419
+ {
420
+ "name": "list",
421
+ "domain": "agent-loop",
422
+ "operationId": "agentLoop.index",
423
+ "method": "GET",
424
+ "path": "/v2/projects/{projectId}/agent-loop",
425
+ "summary": "アイテム一覧を取得",
426
+ "pathParams": [
427
+ {
428
+ "name": "projectId",
429
+ "type": "string",
430
+ "required": true,
431
+ "source": "spec"
432
+ }
433
+ ],
434
+ "queryParams": [
435
+ {
436
+ "name": "status",
437
+ "type": "string",
438
+ "required": false,
439
+ "source": "spec"
440
+ },
441
+ {
442
+ "name": "cursor",
443
+ "type": "string",
444
+ "required": false,
445
+ "description": "次ページの取得に使うカーソル",
446
+ "source": "curation"
447
+ },
448
+ {
449
+ "name": "limit",
450
+ "type": "integer",
451
+ "required": false,
452
+ "description": "1ページあたりの件数",
453
+ "source": "curation"
454
+ }
455
+ ],
456
+ "body": null,
457
+ "resultPath": null,
458
+ "risk": "read",
459
+ "aliases": []
460
+ },
461
+ {
462
+ "name": "log-upload-url",
463
+ "domain": "agent-loop",
464
+ "operationId": "agentLoop.logUploadUrl",
465
+ "method": "POST",
466
+ "path": "/v2/projects/{projectId}/agent-loop/{itemId}/log-upload-url",
467
+ "summary": "ステップログのアップロード用署名付きURLを発行",
468
+ "pathParams": [
469
+ {
470
+ "name": "projectId",
471
+ "type": "string",
472
+ "required": true,
473
+ "source": "spec"
474
+ },
475
+ {
476
+ "name": "itemId",
477
+ "type": "string",
478
+ "required": true,
479
+ "source": "spec"
480
+ }
481
+ ],
482
+ "queryParams": [],
483
+ "body": {
484
+ "schema": {
485
+ "type": "object",
486
+ "properties": {
487
+ "run_id": {
488
+ "type": "string",
489
+ "maxLength": 255
490
+ }
491
+ },
492
+ "required": [
493
+ "run_id"
494
+ ]
495
+ }
496
+ },
497
+ "resultPath": null,
498
+ "risk": "write",
499
+ "aliases": []
500
+ },
501
+ {
502
+ "name": "reclaim",
503
+ "domain": "agent-loop",
504
+ "operationId": "agentLoop.reclaim",
505
+ "method": "POST",
506
+ "path": "/v2/projects/{projectId}/agent-loop/reclaim",
507
+ "summary": "死んだランナーが握ったままのアイテムを回収",
508
+ "pathParams": [
509
+ {
510
+ "name": "projectId",
511
+ "type": "string",
512
+ "required": true,
513
+ "source": "spec"
514
+ }
515
+ ],
516
+ "queryParams": [],
517
+ "body": null,
518
+ "resultPath": null,
519
+ "risk": "write",
520
+ "aliases": []
521
+ },
522
+ {
523
+ "name": "record-schedule-outcome",
524
+ "domain": "agent-loop",
525
+ "operationId": "agentLoop.recordScheduleOutcome",
526
+ "method": "POST",
527
+ "path": "/v2/projects/{projectId}/agent-loop/schedules/{scheduleId}/record",
528
+ "summary": "実行結果を書き戻す",
529
+ "pathParams": [
530
+ {
531
+ "name": "projectId",
532
+ "type": "string",
533
+ "required": true,
534
+ "source": "spec"
535
+ },
536
+ {
537
+ "name": "scheduleId",
538
+ "type": "string",
539
+ "required": true,
540
+ "source": "spec"
541
+ }
542
+ ],
543
+ "queryParams": [],
544
+ "body": null,
545
+ "resultPath": null,
546
+ "risk": "write",
547
+ "aliases": []
548
+ },
549
+ {
550
+ "name": "record-schedule-outcome-by-item",
551
+ "domain": "agent-loop",
552
+ "operationId": "agentLoop.recordScheduleOutcomeByItem",
553
+ "method": "POST",
554
+ "path": "/v2/projects/{projectId}/agent-loop/schedules/record",
555
+ "summary": "`item_id` だけで枠を解決して結果を書き戻す",
556
+ "pathParams": [
557
+ {
558
+ "name": "projectId",
559
+ "type": "string",
560
+ "required": true,
561
+ "source": "spec"
562
+ }
563
+ ],
564
+ "queryParams": [],
565
+ "body": null,
566
+ "resultPath": null,
567
+ "risk": "write",
568
+ "aliases": []
569
+ },
570
+ {
571
+ "name": "register-runner",
572
+ "domain": "agent-loop",
573
+ "operationId": "agentLoop.registerRunner",
574
+ "method": "POST",
575
+ "path": "/v2/projects/{projectId}/agent-loop/runners/register",
576
+ "summary": "ランナーを登録(起動時)",
577
+ "pathParams": [
578
+ {
579
+ "name": "projectId",
580
+ "type": "string",
581
+ "required": true,
582
+ "source": "spec"
583
+ }
584
+ ],
585
+ "queryParams": [],
586
+ "body": null,
587
+ "resultPath": null,
588
+ "risk": "write",
589
+ "aliases": []
590
+ },
591
+ {
592
+ "name": "release-plan-lock",
593
+ "domain": "agent-loop",
594
+ "operationId": "agentLoop.releasePlanLock",
595
+ "method": "DELETE",
596
+ "path": "/v2/projects/{projectId}/agent-loop/plan/lock",
597
+ "summary": "計画ロックを手動で解除(UI の解除ボタン)",
598
+ "pathParams": [
599
+ {
600
+ "name": "projectId",
601
+ "type": "string",
602
+ "required": true,
603
+ "source": "spec"
604
+ }
605
+ ],
606
+ "queryParams": [],
607
+ "body": null,
608
+ "resultPath": null,
609
+ "risk": "destructive",
610
+ "aliases": []
611
+ },
612
+ {
613
+ "name": "release-schedule-window",
614
+ "domain": "agent-loop",
615
+ "operationId": "agentLoop.releaseScheduleWindow",
616
+ "method": "POST",
617
+ "path": "/v2/projects/{projectId}/agent-loop/schedules/{scheduleId}/release",
618
+ "summary": "孤立した枠を `failed` で終端する(救済経路)",
619
+ "pathParams": [
620
+ {
621
+ "name": "projectId",
622
+ "type": "string",
623
+ "required": true,
624
+ "source": "spec"
625
+ },
626
+ {
627
+ "name": "scheduleId",
628
+ "type": "string",
629
+ "required": true,
630
+ "source": "spec"
631
+ }
632
+ ],
633
+ "queryParams": [],
634
+ "body": null,
635
+ "resultPath": null,
636
+ "risk": "write",
637
+ "aliases": []
638
+ },
639
+ {
640
+ "name": "reorder",
641
+ "domain": "agent-loop",
642
+ "operationId": "agentLoop.reorder",
643
+ "method": "PUT",
644
+ "path": "/v2/projects/{projectId}/agent-loop/reorder",
645
+ "summary": "アイテムの並び替え",
646
+ "pathParams": [
647
+ {
648
+ "name": "projectId",
649
+ "type": "string",
650
+ "required": true,
651
+ "source": "spec"
652
+ }
653
+ ],
654
+ "queryParams": [],
655
+ "body": {
656
+ "schema": {
657
+ "type": "object",
658
+ "properties": {
659
+ "item_ids": {
660
+ "type": "array",
661
+ "items": {
662
+ "type": "string",
663
+ "format": "uuid"
664
+ },
665
+ "minItems": 1,
666
+ "uniqueItems": true
667
+ }
668
+ },
669
+ "required": [
670
+ "item_ids"
671
+ ]
672
+ }
673
+ },
674
+ "resultPath": null,
675
+ "risk": "write",
676
+ "aliases": []
677
+ },
678
+ {
679
+ "name": "runners",
680
+ "domain": "agent-loop",
681
+ "operationId": "agentLoop.runners",
682
+ "method": "GET",
683
+ "path": "/v2/projects/{projectId}/agent-loop/runners",
684
+ "summary": "ランナー一覧を取得",
685
+ "pathParams": [
686
+ {
687
+ "name": "projectId",
688
+ "type": "string",
689
+ "required": true,
690
+ "source": "spec"
691
+ }
692
+ ],
693
+ "queryParams": [
694
+ {
695
+ "name": "limit",
696
+ "type": "integer",
697
+ "required": false,
698
+ "description": "1ページあたりの件数",
699
+ "source": "curation"
700
+ },
701
+ {
702
+ "name": "cursor",
703
+ "type": "string",
704
+ "required": false,
705
+ "description": "次ページの取得に使うカーソル",
706
+ "source": "curation"
707
+ }
708
+ ],
709
+ "body": null,
710
+ "resultPath": null,
711
+ "risk": "read",
712
+ "aliases": []
713
+ },
714
+ {
715
+ "name": "schedule-definitions",
716
+ "domain": "agent-loop",
717
+ "operationId": "agentLoop.scheduleDefinitions",
718
+ "method": "GET",
719
+ "path": "/v2/projects/{projectId}/agent-loop/schedules/definitions",
720
+ "summary": "定義一覧+グローバル設定を取得",
721
+ "pathParams": [
722
+ {
723
+ "name": "projectId",
724
+ "type": "string",
725
+ "required": true,
726
+ "source": "spec"
727
+ }
728
+ ],
729
+ "queryParams": [
730
+ {
731
+ "name": "limit",
732
+ "type": "integer",
733
+ "required": false,
734
+ "description": "1ページあたりの件数",
735
+ "source": "curation"
736
+ },
737
+ {
738
+ "name": "cursor",
739
+ "type": "string",
740
+ "required": false,
741
+ "description": "次ページの取得に使うカーソル",
742
+ "source": "curation"
743
+ }
744
+ ],
745
+ "body": null,
746
+ "resultPath": null,
747
+ "risk": "read",
748
+ "aliases": []
749
+ },
750
+ {
751
+ "name": "schedule-history",
752
+ "domain": "agent-loop",
753
+ "operationId": "agentLoop.scheduleHistory",
754
+ "method": "GET",
755
+ "path": "/v2/projects/{projectId}/agent-loop/schedules/history",
756
+ "summary": "履歴を取得する(の置き換え先)",
757
+ "pathParams": [
758
+ {
759
+ "name": "projectId",
760
+ "type": "string",
761
+ "required": true,
762
+ "source": "spec"
763
+ }
764
+ ],
765
+ "queryParams": [
766
+ {
767
+ "name": "limit",
768
+ "type": "integer",
769
+ "required": false,
770
+ "description": "1ページあたりの件数",
771
+ "source": "curation"
772
+ },
773
+ {
774
+ "name": "cursor",
775
+ "type": "string",
776
+ "required": false,
777
+ "description": "次ページの取得に使うカーソル",
778
+ "source": "curation"
779
+ }
780
+ ],
781
+ "body": null,
782
+ "resultPath": null,
783
+ "risk": "read",
784
+ "aliases": []
785
+ },
786
+ {
787
+ "name": "start-plan",
788
+ "domain": "agent-loop",
789
+ "operationId": "agentLoop.startPlan",
790
+ "method": "POST",
791
+ "path": "/v2/projects/{projectId}/agent-loop/plan/start",
792
+ "summary": "計画ロックを獲得",
793
+ "pathParams": [
794
+ {
795
+ "name": "projectId",
796
+ "type": "string",
797
+ "required": true,
798
+ "source": "spec"
799
+ }
800
+ ],
801
+ "queryParams": [],
802
+ "body": null,
803
+ "resultPath": null,
804
+ "risk": "write",
805
+ "aliases": []
806
+ },
807
+ {
808
+ "name": "state",
809
+ "domain": "agent-loop",
810
+ "operationId": "agentLoop.state",
811
+ "method": "GET",
812
+ "path": "/v2/projects/{projectId}/agent-loop/state",
813
+ "summary": "ループ全体の状態を取得",
814
+ "pathParams": [
815
+ {
816
+ "name": "projectId",
817
+ "type": "string",
818
+ "required": true,
819
+ "source": "spec"
820
+ }
821
+ ],
822
+ "queryParams": [
823
+ {
824
+ "name": "limit",
825
+ "type": "integer",
826
+ "required": false,
827
+ "description": "1ページあたりの件数",
828
+ "source": "curation"
829
+ },
830
+ {
831
+ "name": "cursor",
832
+ "type": "string",
833
+ "required": false,
834
+ "description": "次ページの取得に使うカーソル",
835
+ "source": "curation"
836
+ }
837
+ ],
838
+ "body": null,
839
+ "resultPath": null,
840
+ "risk": "read",
841
+ "aliases": []
842
+ },
843
+ {
844
+ "name": "store-schedule-definition",
845
+ "domain": "agent-loop",
846
+ "operationId": "agentLoop.storeScheduleDefinition",
847
+ "method": "POST",
848
+ "path": "/v2/projects/{projectId}/agent-loop/schedules/definitions",
849
+ "summary": "定義を追加",
850
+ "pathParams": [
851
+ {
852
+ "name": "projectId",
853
+ "type": "string",
854
+ "required": true,
855
+ "source": "spec"
856
+ }
857
+ ],
858
+ "queryParams": [],
859
+ "body": null,
860
+ "resultPath": null,
861
+ "risk": "write",
862
+ "aliases": []
863
+ },
864
+ {
865
+ "name": "update",
866
+ "domain": "agent-loop",
867
+ "operationId": "agentLoop.update",
868
+ "method": "PUT",
869
+ "path": "/v2/projects/{projectId}/agent-loop/{itemId}",
870
+ "summary": "アイテムを更新",
871
+ "pathParams": [
872
+ {
873
+ "name": "projectId",
874
+ "type": "string",
875
+ "required": true,
876
+ "source": "spec"
877
+ },
878
+ {
879
+ "name": "itemId",
880
+ "type": "string",
881
+ "required": true,
882
+ "source": "spec"
883
+ }
884
+ ],
885
+ "queryParams": [],
886
+ "body": {
887
+ "schema": {
888
+ "type": "object",
889
+ "properties": {
890
+ "label": {
891
+ "type": "string",
892
+ "maxLength": 255
893
+ },
894
+ "prompt": {
895
+ "type": "string"
896
+ },
897
+ "status": {
898
+ "type": "string",
899
+ "enum": [
900
+ "pending",
901
+ "processing",
902
+ "completed",
903
+ "failed"
904
+ ]
905
+ },
906
+ "ai_type": {
907
+ "type": [
908
+ "string",
909
+ "null"
910
+ ],
911
+ "enum": [
912
+ "claude",
913
+ "gemini",
914
+ "codex",
915
+ "copilot",
916
+ null
917
+ ]
918
+ },
919
+ "ai_model": {
920
+ "type": [
921
+ "string",
922
+ "null"
923
+ ],
924
+ "maxLength": 100
925
+ },
926
+ "ai_effort": {
927
+ "type": [
928
+ "string",
929
+ "null"
930
+ ],
931
+ "enum": [
932
+ "low",
933
+ "medium",
934
+ "high",
935
+ "xhigh",
936
+ "max",
937
+ null
938
+ ]
939
+ },
940
+ "task_key": {
941
+ "type": [
942
+ "string",
943
+ "null"
944
+ ],
945
+ "maxLength": 50
946
+ },
947
+ "result": {
948
+ "type": [
949
+ "string",
950
+ "null"
951
+ ],
952
+ "maxLength": 102400
953
+ },
954
+ "error_message": {
955
+ "type": [
956
+ "string",
957
+ "null"
958
+ ],
959
+ "maxLength": 10240
960
+ },
961
+ "started_at": {
962
+ "type": [
963
+ "string",
964
+ "null"
965
+ ]
966
+ },
967
+ "completed_at": {
968
+ "type": [
969
+ "string",
970
+ "null"
971
+ ]
972
+ },
973
+ "run_id": {
974
+ "type": [
975
+ "string",
976
+ "null"
977
+ ],
978
+ "maxLength": 255
979
+ },
980
+ "duration_ms": {
981
+ "type": [
982
+ "integer",
983
+ "null"
984
+ ],
985
+ "minimum": 0
986
+ },
987
+ "turns": {
988
+ "type": [
989
+ "integer",
990
+ "null"
991
+ ],
992
+ "minimum": 0
993
+ },
994
+ "tokens_in": {
995
+ "type": [
996
+ "integer",
997
+ "null"
998
+ ],
999
+ "minimum": 0
1000
+ },
1001
+ "tokens_out": {
1002
+ "type": [
1003
+ "integer",
1004
+ "null"
1005
+ ],
1006
+ "minimum": 0
1007
+ },
1008
+ "cost_usd": {
1009
+ "type": [
1010
+ "number",
1011
+ "null"
1012
+ ],
1013
+ "minimum": 0
1014
+ },
1015
+ "skill": {
1016
+ "type": [
1017
+ "string",
1018
+ "null"
1019
+ ],
1020
+ "maxLength": 100
1021
+ },
1022
+ "effort": {
1023
+ "type": [
1024
+ "string",
1025
+ "null"
1026
+ ],
1027
+ "enum": [
1028
+ "low",
1029
+ "medium",
1030
+ "high",
1031
+ "xhigh",
1032
+ "max",
1033
+ null
1034
+ ]
1035
+ },
1036
+ "exit_reason": {
1037
+ "type": [
1038
+ "string",
1039
+ "null"
1040
+ ],
1041
+ "enum": [
1042
+ "ok",
1043
+ "timeout",
1044
+ "rate_limited",
1045
+ "interrupted",
1046
+ "error",
1047
+ null
1048
+ ]
1049
+ },
1050
+ "outcome_code": {
1051
+ "type": [
1052
+ "string",
1053
+ "null"
1054
+ ],
1055
+ "maxLength": 200
1056
+ },
1057
+ "log_s3_key": {
1058
+ "type": [
1059
+ "string",
1060
+ "null"
1061
+ ],
1062
+ "pattern": "#^tenants/[A-Za-z0-9_-]+/agent-loop-logs/[A-Za-z0-9_:-]+/\\d{4}/\\d{2}/\\d{2}/[A-Za-z0-9_-]+\\.log$#D",
1063
+ "maxLength": 512
1064
+ }
1065
+ }
1066
+ }
1067
+ },
1068
+ "resultPath": null,
1069
+ "risk": "write",
1070
+ "aliases": []
1071
+ },
1072
+ {
1073
+ "name": "update-schedule-config",
1074
+ "domain": "agent-loop",
1075
+ "operationId": "agentLoop.updateScheduleConfig",
1076
+ "method": "PUT",
1077
+ "path": "/v2/projects/{projectId}/agent-loop/schedules/config",
1078
+ "summary": "グローバル設定(`max_per_cycle` / `gates`)を更新",
1079
+ "pathParams": [
1080
+ {
1081
+ "name": "projectId",
1082
+ "type": "string",
1083
+ "required": true,
1084
+ "source": "spec"
1085
+ }
1086
+ ],
1087
+ "queryParams": [],
1088
+ "body": null,
1089
+ "resultPath": null,
1090
+ "risk": "write",
1091
+ "aliases": []
1092
+ },
1093
+ {
1094
+ "name": "update-schedule-definition",
1095
+ "domain": "agent-loop",
1096
+ "operationId": "agentLoop.updateScheduleDefinition",
1097
+ "method": "PUT",
1098
+ "path": "/v2/projects/{projectId}/agent-loop/schedules/definitions/{scheduleId}",
1099
+ "summary": "定義を更新(`revision` の楽観ロック)",
1100
+ "pathParams": [
1101
+ {
1102
+ "name": "projectId",
1103
+ "type": "string",
1104
+ "required": true,
1105
+ "source": "spec"
1106
+ },
1107
+ {
1108
+ "name": "scheduleId",
1109
+ "type": "string",
1110
+ "required": true,
1111
+ "source": "spec"
1112
+ }
1113
+ ],
1114
+ "queryParams": [],
1115
+ "body": null,
1116
+ "resultPath": null,
1117
+ "risk": "write",
1118
+ "aliases": []
1119
+ }
1120
+ ]
1121
+ }