@hailer/mcp 1.1.11 → 1.1.13

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 (252) hide show
  1. package/dist/app.js +18 -5
  2. package/dist/bot/bot-config.d.ts +12 -1
  3. package/dist/bot/bot-config.js +98 -14
  4. package/dist/bot/bot-manager.d.ts +13 -3
  5. package/dist/bot/bot-manager.js +80 -25
  6. package/dist/bot/bot.d.ts +46 -0
  7. package/dist/bot/bot.js +542 -166
  8. package/dist/bot/services/message-classifier.js +17 -0
  9. package/dist/bot/services/permission-guard.d.ts +52 -0
  10. package/dist/bot/services/permission-guard.js +149 -0
  11. package/dist/bot/services/types.d.ts +5 -0
  12. package/dist/bot/services/typing-indicator.d.ts +6 -1
  13. package/dist/bot/services/typing-indicator.js +19 -3
  14. package/dist/config.d.ts +6 -1
  15. package/dist/config.js +43 -0
  16. package/dist/core.js +3 -6
  17. package/dist/mcp/UserContextCache.d.ts +5 -0
  18. package/dist/mcp/UserContextCache.js +51 -19
  19. package/dist/mcp/hailer-clients.d.ts +19 -1
  20. package/dist/mcp/hailer-clients.js +157 -20
  21. package/dist/mcp/session-store.d.ts +68 -0
  22. package/dist/mcp/session-store.js +169 -0
  23. package/dist/mcp/signal-handler.js +12 -12
  24. package/dist/mcp/tool-registry.d.ts +17 -4
  25. package/dist/mcp/tool-registry.js +37 -7
  26. package/dist/mcp/tools/activity.js +99 -7
  27. package/dist/mcp/tools/app-scaffold.js +304 -336
  28. package/dist/mcp/tools/company.d.ts +9 -0
  29. package/dist/mcp/tools/company.js +88 -0
  30. package/dist/mcp/tools/discussion.js +68 -0
  31. package/dist/mcp/tools/workflow-permissions.d.ts +15 -0
  32. package/dist/mcp/tools/workflow-permissions.js +204 -0
  33. package/dist/mcp/tools/workflow.js +57 -18
  34. package/dist/mcp/utils/index.d.ts +2 -0
  35. package/dist/mcp/utils/index.js +12 -1
  36. package/dist/mcp/utils/role-utils.d.ts +74 -0
  37. package/dist/mcp/utils/role-utils.js +151 -0
  38. package/dist/mcp/utils/types.d.ts +43 -1
  39. package/dist/mcp/utils/types.js +14 -0
  40. package/dist/mcp/webhook-handler.d.ts +6 -0
  41. package/dist/mcp/webhook-handler.js +11 -0
  42. package/dist/mcp-server.d.ts +23 -2
  43. package/dist/mcp-server.js +639 -111
  44. package/dist/plugins/vipunen/client.d.ts +150 -0
  45. package/dist/plugins/vipunen/client.js +535 -0
  46. package/dist/plugins/vipunen/config/schema-config.json +19 -0
  47. package/dist/plugins/vipunen/config/schema-doc.json +22 -0
  48. package/dist/plugins/vipunen/index.d.ts +41 -0
  49. package/dist/plugins/vipunen/index.js +88 -0
  50. package/dist/plugins/vipunen/tools.d.ts +26 -0
  51. package/dist/plugins/vipunen/tools.js +501 -0
  52. package/package.json +2 -1
  53. package/.claude/.context-watchdog.json +0 -1
  54. package/.claude/.session-checked +0 -1
  55. package/.claude/CLAUDE.md +0 -370
  56. package/.claude/agents/agent-ada-skill-builder.md +0 -94
  57. package/.claude/agents/agent-alejandro-function-fields.md +0 -342
  58. package/.claude/agents/agent-bjorn-config-audit.md +0 -103
  59. package/.claude/agents/agent-builder-agent-creator.md +0 -130
  60. package/.claude/agents/agent-code-simplifier.md +0 -53
  61. package/.claude/agents/agent-dmitri-activity-crud.md +0 -159
  62. package/.claude/agents/agent-giuseppe-app-builder.md +0 -247
  63. package/.claude/agents/agent-gunther-mcp-tools.md +0 -39
  64. package/.claude/agents/agent-helga-workflow-config.md +0 -204
  65. package/.claude/agents/agent-igor-activity-mover-automation.md +0 -125
  66. package/.claude/agents/agent-ingrid-doc-templates.md +0 -261
  67. package/.claude/agents/agent-ivan-monolith.md +0 -154
  68. package/.claude/agents/agent-kenji-data-reader.md +0 -86
  69. package/.claude/agents/agent-lars-code-inspector.md +0 -102
  70. package/.claude/agents/agent-marco-mockup-builder.md +0 -110
  71. package/.claude/agents/agent-marcus-api-documenter.md +0 -323
  72. package/.claude/agents/agent-marketplace-publisher.md +0 -280
  73. package/.claude/agents/agent-marketplace-reviewer.md +0 -309
  74. package/.claude/agents/agent-permissions-handler.md +0 -208
  75. package/.claude/agents/agent-simple-writer.md +0 -48
  76. package/.claude/agents/agent-svetlana-code-review.md +0 -171
  77. package/.claude/agents/agent-tanya-test-runner.md +0 -333
  78. package/.claude/agents/agent-ui-designer.md +0 -100
  79. package/.claude/agents/agent-viktor-sql-insights.md +0 -212
  80. package/.claude/agents/agent-web-search.md +0 -55
  81. package/.claude/agents/agent-yevgeni-discussions.md +0 -45
  82. package/.claude/agents/agent-zara-zapier.md +0 -159
  83. package/.claude/commands/app-squad.md +0 -135
  84. package/.claude/commands/audit-squad.md +0 -158
  85. package/.claude/commands/autoplan.md +0 -563
  86. package/.claude/commands/cleanup-squad.md +0 -98
  87. package/.claude/commands/config-squad.md +0 -106
  88. package/.claude/commands/crud-squad.md +0 -87
  89. package/.claude/commands/data-squad.md +0 -97
  90. package/.claude/commands/debug-squad.md +0 -303
  91. package/.claude/commands/doc-squad.md +0 -65
  92. package/.claude/commands/handoff.md +0 -137
  93. package/.claude/commands/health.md +0 -49
  94. package/.claude/commands/help.md +0 -29
  95. package/.claude/commands/help:agents.md +0 -151
  96. package/.claude/commands/help:commands.md +0 -78
  97. package/.claude/commands/help:faq.md +0 -79
  98. package/.claude/commands/help:plugins.md +0 -50
  99. package/.claude/commands/help:skills.md +0 -93
  100. package/.claude/commands/help:tools.md +0 -75
  101. package/.claude/commands/hotfix-squad.md +0 -112
  102. package/.claude/commands/integration-squad.md +0 -82
  103. package/.claude/commands/janitor-squad.md +0 -167
  104. package/.claude/commands/learn-auto.md +0 -120
  105. package/.claude/commands/learn.md +0 -120
  106. package/.claude/commands/mcp-list.md +0 -27
  107. package/.claude/commands/onboard-squad.md +0 -140
  108. package/.claude/commands/plan-workspace.md +0 -732
  109. package/.claude/commands/prd.md +0 -130
  110. package/.claude/commands/project-status.md +0 -82
  111. package/.claude/commands/publish.md +0 -138
  112. package/.claude/commands/recap.md +0 -69
  113. package/.claude/commands/restore.md +0 -64
  114. package/.claude/commands/review-squad.md +0 -152
  115. package/.claude/commands/save.md +0 -24
  116. package/.claude/commands/stats.md +0 -19
  117. package/.claude/commands/swarm.md +0 -210
  118. package/.claude/commands/tool-builder.md +0 -39
  119. package/.claude/commands/ws-pull.md +0 -44
  120. package/.claude/hooks/_shared-memory.cjs +0 -305
  121. package/.claude/hooks/_utils.cjs +0 -108
  122. package/.claude/hooks/agent-failure-detector.cjs +0 -383
  123. package/.claude/hooks/agent-usage-logger.cjs +0 -204
  124. package/.claude/hooks/app-edit-guard.cjs +0 -494
  125. package/.claude/hooks/auto-learn.cjs +0 -304
  126. package/.claude/hooks/bash-guard.cjs +0 -272
  127. package/.claude/hooks/builder-mode-manager.cjs +0 -354
  128. package/.claude/hooks/bulk-activity-guard.cjs +0 -271
  129. package/.claude/hooks/context-watchdog.cjs +0 -230
  130. package/.claude/hooks/delegation-reminder.cjs +0 -465
  131. package/.claude/hooks/design-system-lint.cjs +0 -271
  132. package/.claude/hooks/post-scaffold-hook.cjs +0 -181
  133. package/.claude/hooks/prompt-guard.cjs +0 -354
  134. package/.claude/hooks/publish-template-guard.cjs +0 -147
  135. package/.claude/hooks/session-start.cjs +0 -35
  136. package/.claude/hooks/shared-memory-writer.cjs +0 -147
  137. package/.claude/hooks/skill-injector.cjs +0 -140
  138. package/.claude/hooks/skill-usage-logger.cjs +0 -258
  139. package/.claude/hooks/src-edit-guard.cjs +0 -240
  140. package/.claude/hooks/sync-marketplace-agents.cjs +0 -346
  141. package/.claude/settings.json +0 -257
  142. package/.claude/skills/SDK-activity-patterns/SKILL.md +0 -428
  143. package/.claude/skills/SDK-document-templates/SKILL.md +0 -1033
  144. package/.claude/skills/SDK-function-fields/SKILL.md +0 -542
  145. package/.claude/skills/SDK-generate-skill/SKILL.md +0 -92
  146. package/.claude/skills/SDK-init-skill/SKILL.md +0 -127
  147. package/.claude/skills/SDK-insight-queries/SKILL.md +0 -787
  148. package/.claude/skills/SDK-ws-config-skill/SKILL.md +0 -1139
  149. package/.claude/skills/agent-structure/SKILL.md +0 -98
  150. package/.claude/skills/api-documentation-patterns/SKILL.md +0 -474
  151. package/.claude/skills/chrome-mcp-reference/SKILL.md +0 -370
  152. package/.claude/skills/delegation-routing/SKILL.md +0 -202
  153. package/.claude/skills/frontend-design/SKILL.md +0 -254
  154. package/.claude/skills/hailer-activity-mover/SKILL.md +0 -213
  155. package/.claude/skills/hailer-api-client/SKILL.md +0 -518
  156. package/.claude/skills/hailer-app-builder/SKILL.md +0 -1434
  157. package/.claude/skills/hailer-apps-pictures/SKILL.md +0 -269
  158. package/.claude/skills/hailer-design-system/SKILL.md +0 -235
  159. package/.claude/skills/hailer-monolith-automations/SKILL.md +0 -686
  160. package/.claude/skills/hailer-permissions-system/SKILL.md +0 -121
  161. package/.claude/skills/hailer-project-protocol/SKILL.md +0 -488
  162. package/.claude/skills/hailer-rest-api/SKILL.md +0 -61
  163. package/.claude/skills/hailer-rest-api/hailer-activities.md +0 -184
  164. package/.claude/skills/hailer-rest-api/hailer-admin.md +0 -473
  165. package/.claude/skills/hailer-rest-api/hailer-calendar.md +0 -256
  166. package/.claude/skills/hailer-rest-api/hailer-feed.md +0 -249
  167. package/.claude/skills/hailer-rest-api/hailer-insights.md +0 -195
  168. package/.claude/skills/hailer-rest-api/hailer-messaging.md +0 -276
  169. package/.claude/skills/hailer-rest-api/hailer-workflows.md +0 -283
  170. package/.claude/skills/insight-join-patterns/SKILL.md +0 -174
  171. package/.claude/skills/integration-patterns/SKILL.md +0 -421
  172. package/.claude/skills/json-only-output/SKILL.md +0 -72
  173. package/.claude/skills/lsp-setup/SKILL.md +0 -160
  174. package/.claude/skills/mcp-direct-tools/SKILL.md +0 -153
  175. package/.claude/skills/optional-parameters/SKILL.md +0 -72
  176. package/.claude/skills/publish-hailer-app/SKILL.md +0 -244
  177. package/.claude/skills/testing-patterns/SKILL.md +0 -630
  178. package/.claude/skills/tool-builder/SKILL.md +0 -250
  179. package/.claude/skills/tool-parameter-usage/SKILL.md +0 -126
  180. package/.claude/skills/tool-response-verification/SKILL.md +0 -92
  181. package/.claude/skills/zapier-hailer-patterns/SKILL.md +0 -581
  182. package/.hailer-mcp-port +0 -1
  183. package/.mcp.json +0 -13
  184. package/.opencode/agent/agent-ada-skill-builder.md +0 -35
  185. package/.opencode/agent/agent-alejandro-function-fields.md +0 -39
  186. package/.opencode/agent/agent-bjorn-config-audit.md +0 -36
  187. package/.opencode/agent/agent-builder-agent-creator.md +0 -39
  188. package/.opencode/agent/agent-code-simplifier.md +0 -31
  189. package/.opencode/agent/agent-dmitri-activity-crud.md +0 -40
  190. package/.opencode/agent/agent-giuseppe-app-builder.md +0 -37
  191. package/.opencode/agent/agent-gunther-mcp-tools.md +0 -39
  192. package/.opencode/agent/agent-helga-workflow-config.md +0 -204
  193. package/.opencode/agent/agent-igor-activity-mover-automation.md +0 -46
  194. package/.opencode/agent/agent-ingrid-doc-templates.md +0 -39
  195. package/.opencode/agent/agent-ivan-monolith.md +0 -46
  196. package/.opencode/agent/agent-kenji-data-reader.md +0 -53
  197. package/.opencode/agent/agent-lars-code-inspector.md +0 -28
  198. package/.opencode/agent/agent-marco-mockup-builder.md +0 -42
  199. package/.opencode/agent/agent-marcus-api-documenter.md +0 -53
  200. package/.opencode/agent/agent-marketplace-publisher.md +0 -44
  201. package/.opencode/agent/agent-marketplace-reviewer.md +0 -42
  202. package/.opencode/agent/agent-permissions-handler.md +0 -50
  203. package/.opencode/agent/agent-simple-writer.md +0 -45
  204. package/.opencode/agent/agent-svetlana-code-review.md +0 -39
  205. package/.opencode/agent/agent-tanya-test-runner.md +0 -57
  206. package/.opencode/agent/agent-ui-designer.md +0 -56
  207. package/.opencode/agent/agent-viktor-sql-insights.md +0 -34
  208. package/.opencode/agent/agent-web-search.md +0 -42
  209. package/.opencode/agent/agent-yevgeni-discussions.md +0 -37
  210. package/.opencode/agent/agent-zara-zapier.md +0 -53
  211. package/.opencode/commands/app-squad.md +0 -135
  212. package/.opencode/commands/audit-squad.md +0 -158
  213. package/.opencode/commands/autoplan.md +0 -563
  214. package/.opencode/commands/cleanup-squad.md +0 -98
  215. package/.opencode/commands/config-squad.md +0 -106
  216. package/.opencode/commands/crud-squad.md +0 -87
  217. package/.opencode/commands/data-squad.md +0 -97
  218. package/.opencode/commands/debug-squad.md +0 -303
  219. package/.opencode/commands/doc-squad.md +0 -65
  220. package/.opencode/commands/handoff.md +0 -137
  221. package/.opencode/commands/health.md +0 -49
  222. package/.opencode/commands/help-agents.md +0 -151
  223. package/.opencode/commands/help-commands.md +0 -32
  224. package/.opencode/commands/help-faq.md +0 -29
  225. package/.opencode/commands/help-plugins.md +0 -28
  226. package/.opencode/commands/help-skills.md +0 -7
  227. package/.opencode/commands/help-tools.md +0 -40
  228. package/.opencode/commands/help.md +0 -28
  229. package/.opencode/commands/hotfix-squad.md +0 -112
  230. package/.opencode/commands/integration-squad.md +0 -82
  231. package/.opencode/commands/janitor-squad.md +0 -167
  232. package/.opencode/commands/learn-auto.md +0 -120
  233. package/.opencode/commands/learn.md +0 -120
  234. package/.opencode/commands/mcp-list.md +0 -27
  235. package/.opencode/commands/onboard-squad.md +0 -140
  236. package/.opencode/commands/plan-workspace.md +0 -732
  237. package/.opencode/commands/prd.md +0 -131
  238. package/.opencode/commands/project-status.md +0 -82
  239. package/.opencode/commands/publish.md +0 -138
  240. package/.opencode/commands/recap.md +0 -69
  241. package/.opencode/commands/restore.md +0 -64
  242. package/.opencode/commands/review-squad.md +0 -152
  243. package/.opencode/commands/save.md +0 -24
  244. package/.opencode/commands/stats.md +0 -19
  245. package/.opencode/commands/swarm.md +0 -210
  246. package/.opencode/commands/tool-builder.md +0 -39
  247. package/.opencode/commands/ws-pull.md +0 -44
  248. package/.opencode/opencode.json +0 -21
  249. package/inbox/failures.log +0 -1
  250. package/inbox/usage.jsonl +0 -4
  251. package/scripts/postinstall.cjs +0 -64
  252. package/scripts/test-hal-tools.ts +0 -154
@@ -1,184 +0,0 @@
1
- # Hailer Activities API
2
-
3
- Execute Hailer activity (row) operations via REST API.
4
-
5
- ## Base URL
6
- - **Production:** `https://api.hailer.com/api`
7
- - **Staging:** `https://api.hailer.biz/api`
8
-
9
- ## Authentication
10
- All requests require `hlrkey` header with session key.
11
-
12
- ---
13
-
14
- ## Core Operations (v3)
15
-
16
- ### Create Activity
17
- ```bash
18
- curl -X POST "https://api.hailer.com/api/v3/activity/create" \
19
- -H "Content-Type: application/json" \
20
- -H "hlrkey: YOUR_SESSION_KEY" \
21
- -d '["WORKFLOW_ID", {"name": "Activity Name", "fields": {"fieldId": "value"}}]'
22
- ```
23
-
24
- ### Create Many Activities
25
- ```bash
26
- curl -X POST "https://api.hailer.com/api/v3/activity/createMany" \
27
- -H "Content-Type: application/json" \
28
- -H "hlrkey: YOUR_SESSION_KEY" \
29
- -d '["WORKFLOW_ID", [{"name": "Activity 1"}, {"name": "Activity 2"}]]'
30
- ```
31
-
32
- ### Update Many Activities
33
- ```bash
34
- curl -X POST "https://api.hailer.com/api/v3/activity/updateMany" \
35
- -H "Content-Type: application/json" \
36
- -H "hlrkey: YOUR_SESSION_KEY" \
37
- -d '[[{"_id": "ACTIVITY_ID", "name": "Updated Name", "fields": {"fieldId": "newValue"}}]]'
38
- ```
39
-
40
- **GOTCHA:** All activities in the update array must belong to the same workflow. If updating activities across multiple workflows, make separate `updateMany` calls per workflow.
41
-
42
- ### List Activities
43
- ```bash
44
- curl -X POST "https://api.hailer.com/api/v3/activity/list" \
45
- -H "Content-Type: application/json" \
46
- -H "hlrkey: YOUR_SESSION_KEY" \
47
- -d '[{"processId": "WORKFLOW_ID", "phaseId": "PHASE_ID"}, {"limit": 50}]'
48
- ```
49
-
50
- ### Count Activities
51
- ```bash
52
- curl -X POST "https://api.hailer.com/api/v3/activity/count" \
53
- -H "Content-Type: application/json" \
54
- -H "hlrkey: YOUR_SESSION_KEY" \
55
- -d '["WORKFLOW_ID"]'
56
- ```
57
-
58
- ### Get Activity Permissions
59
- ```bash
60
- curl -X POST "https://api.hailer.com/api/v3/activity/permissions" \
61
- -H "Content-Type: application/json" \
62
- -H "hlrkey: YOUR_SESSION_KEY" \
63
- -d '["USER_ID", "WORKSPACE_ID"]'
64
- ```
65
-
66
- ---
67
-
68
- ## Kanban Operations (v3)
69
-
70
- ### Load Kanban for Activity
71
- ```bash
72
- curl -X POST "https://api.hailer.com/api/v3/activity/kanban/load" \
73
- -H "Content-Type: application/json" \
74
- -H "hlrkey: YOUR_SESSION_KEY" \
75
- -d '["ACTIVITY_ID"]'
76
- ```
77
-
78
- ### List Kanban Activities
79
- ```bash
80
- curl -X POST "https://api.hailer.com/api/v3/activity/kanban/list" \
81
- -H "Content-Type: application/json" \
82
- -H "hlrkey: YOUR_SESSION_KEY" \
83
- -d '["WORKFLOW_ID", {"phaseId": "PHASE_ID"}]'
84
- ```
85
-
86
- ---
87
-
88
- ## Timeline & Events (v3)
89
-
90
- ### Get Timeline
91
- ```bash
92
- curl -X POST "https://api.hailer.com/api/v3/activity/timeline" \
93
- -H "Content-Type: application/json" \
94
- -H "hlrkey: YOUR_SESSION_KEY" \
95
- -d '[START_TIMESTAMP, END_TIMESTAMP, {"workflowIds": ["WF_ID"]}]'
96
- ```
97
-
98
- ### Get Events
99
- ```bash
100
- curl -X POST "https://api.hailer.com/api/v3/activity/events" \
101
- -H "Content-Type: application/json" \
102
- -H "hlrkey: YOUR_SESSION_KEY" \
103
- -d '[START_TIMESTAMP, END_TIMESTAMP, {}]'
104
- ```
105
-
106
- ---
107
-
108
- ## Linked Activities (v3)
109
-
110
- ### Get Linked From Overview
111
- ```bash
112
- curl -X POST "https://api.hailer.com/api/v3/activity/linkedFrom/overview" \
113
- -H "Content-Type: application/json" \
114
- -H "hlrkey: YOUR_SESSION_KEY" \
115
- -d '["ACTIVITY_ID"]'
116
- ```
117
-
118
- ### Search Linked Activities
119
- ```bash
120
- curl -X POST "https://api.hailer.com/api/v3/activity/linkedFrom/search" \
121
- -H "Content-Type: application/json" \
122
- -H "hlrkey: YOUR_SESSION_KEY" \
123
- -d '["ACTIVITY_ID", "search term"]'
124
- ```
125
-
126
- ---
127
-
128
- ## Deleted Activities (v3)
129
-
130
- ### View Removed Activities
131
- ```bash
132
- curl -X POST "https://api.hailer.com/api/v3/activity/removed/overview" \
133
- -H "Content-Type: application/json" \
134
- -H "hlrkey: YOUR_SESSION_KEY" \
135
- -d '[["PHASE_ID_1", "PHASE_ID_2"]]'
136
- ```
137
-
138
- ### Recover Removed Activities
139
- ```bash
140
- curl -X POST "https://api.hailer.com/api/v3/activity/removed/recover" \
141
- -H "Content-Type: application/json" \
142
- -H "hlrkey: YOUR_SESSION_KEY" \
143
- -d '[["ACTIVITY_ID_1", "ACTIVITY_ID_2"]]'
144
- ```
145
-
146
- ---
147
-
148
- ## Import (v3)
149
-
150
- ### Import Activities from File
151
- ```bash
152
- curl -X POST "https://api.hailer.com/api/v3/activity/import" \
153
- -H "Content-Type: application/json" \
154
- -H "hlrkey: YOUR_SESSION_KEY" \
155
- -d '["FILE_ID", {"workflowId": "WF_ID", "phaseId": "PHASE_ID"}]'
156
- ```
157
-
158
- ---
159
-
160
- ## Legacy Operations (v2) - Use if v3 not available
161
-
162
- ### Copy Activities
163
- ```bash
164
- curl -X POST "https://api.hailer.com/api/v2/activities/copy" \
165
- -H "Content-Type: application/json" \
166
- -H "hlrkey: YOUR_SESSION_KEY" \
167
- -d '[["ACTIVITY_ID_1", "ACTIVITY_ID_2"]]'
168
- ```
169
-
170
- ### Check Name Uniqueness
171
- ```bash
172
- curl -X POST "https://api.hailer.com/api/v2/activities/nameIsUnique" \
173
- -H "Content-Type: application/json" \
174
- -H "hlrkey: YOUR_SESSION_KEY" \
175
- -d '["WORKFLOW_ID", "Activity Name"]'
176
- ```
177
-
178
- ---
179
-
180
- ## Notes
181
- - Timestamps are milliseconds since Unix epoch
182
- - Activity fields use fieldId as key, not field name
183
- - Phase determines activity state/status
184
- - workflowId = processId (legacy naming)
@@ -1,473 +0,0 @@
1
- # Hailer Admin API
2
-
3
- Execute Hailer workspace administration operations via REST API.
4
-
5
- ## Base URL
6
- - **Production:** `https://api.hailer.com/api`
7
- - **Staging:** `https://api.hailer.biz/api`
8
-
9
- ## Authentication
10
- All requests require `hlrkey` header with session key.
11
-
12
- ---
13
-
14
- ## Authentication & Session
15
-
16
- ### Login (v3)
17
- ```bash
18
- curl -X POST "https://api.hailer.com/api/v3/login" \
19
- -H "Content-Type: application/json" \
20
- -d '["user@email.com", "password"]'
21
- ```
22
- Returns session key to use as `hlrkey` header.
23
-
24
- ### Resume Session (v3)
25
- ```bash
26
- curl -X POST "https://api.hailer.com/api/v3/resume" \
27
- -H "Content-Type: application/json" \
28
- -H "hlrkey: YOUR_SESSION_KEY" \
29
- -d '[]'
30
- ```
31
-
32
- ### Logout
33
- ```bash
34
- curl -X POST "https://api.hailer.com/api/core/logout" \
35
- -H "Content-Type: application/json" \
36
- -H "hlrkey: YOUR_SESSION_KEY" \
37
- -d '[]'
38
- ```
39
-
40
- ### OAuth Logins (v3)
41
- ```bash
42
- # Google
43
- curl -X POST "https://api.hailer.com/api/v3/loginGoogle" \
44
- -H "Content-Type: application/json" \
45
- -d '["GOOGLE_TOKEN"]'
46
-
47
- # Microsoft
48
- curl -X POST "https://api.hailer.com/api/v3/loginMicrosoft" \
49
- -H "Content-Type: application/json" \
50
- -d '["MICROSOFT_TOKEN"]'
51
-
52
- # Apple
53
- curl -X POST "https://api.hailer.com/api/v3/loginApple" \
54
- -H "Content-Type: application/json" \
55
- -d '["APPLE_TOKEN"]'
56
- ```
57
-
58
- ---
59
-
60
- ## Workspace (Network) Management (v2)
61
-
62
- ### Create Workspace
63
- ```bash
64
- curl -X POST "https://api.hailer.com/api/v2/network/create" \
65
- -H "Content-Type: application/json" \
66
- -H "hlrkey: YOUR_SESSION_KEY" \
67
- -d '[{"name": "My Workspace"}]'
68
- ```
69
-
70
- ### Get Workspace
71
- ```bash
72
- curl -X POST "https://api.hailer.com/api/v2/network/get" \
73
- -H "Content-Type: application/json" \
74
- -H "hlrkey: YOUR_SESSION_KEY" \
75
- -d '["WORKSPACE_ID"]'
76
- ```
77
-
78
- ### Update Workspace
79
- ```bash
80
- curl -X POST "https://api.hailer.com/api/v2/network/update" \
81
- -H "Content-Type: application/json" \
82
- -H "hlrkey: YOUR_SESSION_KEY" \
83
- -d '["WORKSPACE_ID", {"name": "Updated Name", "description": "..."}]'
84
- ```
85
-
86
- ### Copy Workspace
87
- ```bash
88
- curl -X POST "https://api.hailer.com/api/v2/network/copy" \
89
- -H "Content-Type: application/json" \
90
- -H "hlrkey: YOUR_SESSION_KEY" \
91
- -d '["WORKSPACE_ID", {"name": "Copy of Workspace"}]'
92
- ```
93
-
94
- ### Get License Info
95
- ```bash
96
- curl -X POST "https://api.hailer.com/api/v2/network/license/get" \
97
- -H "Content-Type: application/json" \
98
- -H "hlrkey: YOUR_SESSION_KEY" \
99
- -d '["WORKSPACE_ID"]'
100
- ```
101
-
102
- ### Get Restrictions
103
- ```bash
104
- curl -X POST "https://api.hailer.com/api/v2/network/restrictions" \
105
- -H "Content-Type: application/json" \
106
- -H "hlrkey: YOUR_SESSION_KEY" \
107
- -d '["WORKSPACE_ID"]'
108
- ```
109
-
110
- ---
111
-
112
- ## User Invitations (v2)
113
-
114
- ### List Pending Invitations
115
- ```bash
116
- curl -X POST "https://api.hailer.com/api/v2/network/invite/list" \
117
- -H "Content-Type: application/json" \
118
- -H "hlrkey: YOUR_SESSION_KEY" \
119
- -d '["WORKSPACE_ID"]'
120
- ```
121
-
122
- ### Send Invitation
123
- ```bash
124
- curl -X POST "https://api.hailer.com/api/v2/network/invite/send" \
125
- -H "Content-Type: application/json" \
126
- -H "hlrkey: YOUR_SESSION_KEY" \
127
- -d '["WORKSPACE_ID", {"email": "user@email.com", "role": "member"}]'
128
- ```
129
-
130
- ### Resend Invitation
131
- ```bash
132
- curl -X POST "https://api.hailer.com/api/v2/network/invite/resend" \
133
- -H "Content-Type: application/json" \
134
- -H "hlrkey: YOUR_SESSION_KEY" \
135
- -d '["INVITE_ID"]'
136
- ```
137
-
138
- ### Edit Invitation
139
- ```bash
140
- curl -X POST "https://api.hailer.com/api/v2/network/invite/edit" \
141
- -H "Content-Type: application/json" \
142
- -H "hlrkey: YOUR_SESSION_KEY" \
143
- -d '["INVITE_ID", {"role": "admin"}]'
144
- ```
145
-
146
- ### Remove Invitation
147
- ```bash
148
- curl -X POST "https://api.hailer.com/api/v2/network/invite/remove" \
149
- -H "Content-Type: application/json" \
150
- -H "hlrkey: YOUR_SESSION_KEY" \
151
- -d '["INVITE_ID"]'
152
- ```
153
-
154
- ---
155
-
156
- ## Roles (v3)
157
-
158
- ### Create Role
159
- ```bash
160
- curl -X POST "https://api.hailer.com/api/v3/network/role/create" \
161
- -H "Content-Type: application/json" \
162
- -H "hlrkey: YOUR_SESSION_KEY" \
163
- -d '["WORKSPACE_ID", {"name": "Custom Role", "permissions": ["view", "edit"]}]'
164
- ```
165
-
166
- ### List Roles
167
- ```bash
168
- curl -X POST "https://api.hailer.com/api/v3/network/role/list" \
169
- -H "Content-Type: application/json" \
170
- -H "hlrkey: YOUR_SESSION_KEY" \
171
- -d '["WORKSPACE_ID"]'
172
- ```
173
-
174
- ### Update Role
175
- ```bash
176
- curl -X POST "https://api.hailer.com/api/v3/network/role/update" \
177
- -H "Content-Type: application/json" \
178
- -H "hlrkey: YOUR_SESSION_KEY" \
179
- -d '["ROLE_ID", {"name": "Updated Role", "permissions": ["view"]}]'
180
- ```
181
-
182
- ### Remove Role
183
- ```bash
184
- curl -X POST "https://api.hailer.com/api/v3/network/role/remove" \
185
- -H "Content-Type: application/json" \
186
- -H "hlrkey: YOUR_SESSION_KEY" \
187
- -d '["ROLE_ID"]'
188
- ```
189
-
190
- ---
191
-
192
- ## Apps (v3)
193
-
194
- ### Create App
195
- ```bash
196
- curl -X POST "https://api.hailer.com/api/v3/app/create" \
197
- -H "Content-Type: application/json" \
198
- -H "hlrkey: YOUR_SESSION_KEY" \
199
- -d '["WORKSPACE_ID", {"name": "My App", "url": "https://myapp.com"}]'
200
- ```
201
-
202
- ### List Apps
203
- ```bash
204
- curl -X POST "https://api.hailer.com/api/v3/app/list" \
205
- -H "Content-Type: application/json" \
206
- -H "hlrkey: YOUR_SESSION_KEY" \
207
- -d '["WORKSPACE_ID"]'
208
- ```
209
-
210
- ### Update App
211
- ```bash
212
- curl -X POST "https://api.hailer.com/api/v3/app/update" \
213
- -H "Content-Type: application/json" \
214
- -H "hlrkey: YOUR_SESSION_KEY" \
215
- -d '["APP_ID", {"name": "Updated App Name"}]'
216
- ```
217
-
218
- ### Remove App
219
- ```bash
220
- curl -X POST "https://api.hailer.com/api/v3/app/remove" \
221
- -H "Content-Type: application/json" \
222
- -H "hlrkey: YOUR_SESSION_KEY" \
223
- -d '["APP_ID"]'
224
- ```
225
-
226
- ### Add App Member
227
- ```bash
228
- curl -X POST "https://api.hailer.com/api/v3/app/member/add" \
229
- -H "Content-Type: application/json" \
230
- -H "hlrkey: YOUR_SESSION_KEY" \
231
- -d '["APP_ID", {"userId": "USER_ID"}]'
232
- ```
233
-
234
- ### Remove App Member
235
- ```bash
236
- curl -X POST "https://api.hailer.com/api/v3/app/member/remove" \
237
- -H "Content-Type: application/json" \
238
- -H "hlrkey: YOUR_SESSION_KEY" \
239
- -d '["APP_ID", {"userId": "USER_ID"}]'
240
- ```
241
-
242
- ### Update App Config
243
- ```bash
244
- curl -X POST "https://api.hailer.com/api/v3/app/config/update" \
245
- -H "Content-Type: application/json" \
246
- -H "hlrkey: YOUR_SESSION_KEY" \
247
- -d '["APP_ID", {"config": {"key": "value"}}]'
248
- ```
249
-
250
- ---
251
-
252
- ## User Management
253
-
254
- ### Load Current User
255
- ```bash
256
- curl -X POST "https://api.hailer.com/api/user/load" \
257
- -H "Content-Type: application/json" \
258
- -H "hlrkey: YOUR_SESSION_KEY" \
259
- -d '[]'
260
- ```
261
-
262
- ### Update User Info
263
- ```bash
264
- curl -X POST "https://api.hailer.com/api/user/set_user_info" \
265
- -H "Content-Type: application/json" \
266
- -H "hlrkey: YOUR_SESSION_KEY" \
267
- -d '[{"firstname": "John", "lastname": "Doe", "title": "Developer"}]'
268
- ```
269
-
270
- ### Save User Settings
271
- ```bash
272
- curl -X POST "https://api.hailer.com/api/user/save_settings" \
273
- -H "Content-Type: application/json" \
274
- -H "hlrkey: YOUR_SESSION_KEY" \
275
- -d '[{"language": "en", "timezone": "Europe/Helsinki"}]'
276
- ```
277
-
278
- ### Change Password
279
- ```bash
280
- curl -X POST "https://api.hailer.com/api/user/change_password" \
281
- -H "Content-Type: application/json" \
282
- -H "hlrkey: YOUR_SESSION_KEY" \
283
- -d '["OLD_PASSWORD", "NEW_PASSWORD"]'
284
- ```
285
-
286
- ### Get User Profile (v2)
287
- ```bash
288
- curl -X POST "https://api.hailer.com/api/v2/user/profile" \
289
- -H "Content-Type: application/json" \
290
- -H "hlrkey: YOUR_SESSION_KEY" \
291
- -d '["USER_ID"]'
292
- ```
293
-
294
- ### Get User Permissions (v3)
295
- ```bash
296
- curl -X POST "https://api.hailer.com/api/v3/user/permissions" \
297
- -H "Content-Type: application/json" \
298
- -H "hlrkey: YOUR_SESSION_KEY" \
299
- -d '["USER_ID", "WORKSPACE_ID"]'
300
- ```
301
-
302
- ---
303
-
304
- ## Registration (v3)
305
-
306
- ### Register New User
307
- ```bash
308
- curl -X POST "https://api.hailer.com/api/v3/user/register" \
309
- -H "Content-Type: application/json" \
310
- -d '[{"email": "user@email.com", "password": "password123", "firstname": "John", "lastname": "Doe"}]'
311
- ```
312
-
313
- ### Accept Invitation (v2)
314
- ```bash
315
- curl -X POST "https://api.hailer.com/api/v2/user/invite/accept" \
316
- -H "Content-Type: application/json" \
317
- -H "hlrkey: YOUR_SESSION_KEY" \
318
- -d '["INVITE_TOKEN"]'
319
- ```
320
-
321
- ---
322
-
323
- ## Teams (Company)
324
-
325
- ### Create Team
326
- ```bash
327
- curl -X POST "https://api.hailer.com/api/company/create_team" \
328
- -H "Content-Type: application/json" \
329
- -H "hlrkey: YOUR_SESSION_KEY" \
330
- -d '[{"name": "Engineering", "cid": "WORKSPACE_ID"}]'
331
- ```
332
-
333
- ### Update Team
334
- ```bash
335
- curl -X POST "https://api.hailer.com/api/company/set_team_data" \
336
- -H "Content-Type: application/json" \
337
- -H "hlrkey: YOUR_SESSION_KEY" \
338
- -d '["TEAM_ID", {"name": "Updated Team Name"}]'
339
- ```
340
-
341
- ### Update Team Users
342
- ```bash
343
- curl -X POST "https://api.hailer.com/api/company/update_team_users" \
344
- -H "Content-Type: application/json" \
345
- -H "hlrkey: YOUR_SESSION_KEY" \
346
- -d '["TEAM_ID", {"add": ["USER_ID_1"], "remove": ["USER_ID_2"]}]'
347
- ```
348
-
349
- ### Remove Team
350
- ```bash
351
- curl -X POST "https://api.hailer.com/api/company/remove_team" \
352
- -H "Content-Type: application/json" \
353
- -H "hlrkey: YOUR_SESSION_KEY" \
354
- -d '["TEAM_ID"]'
355
- ```
356
-
357
- ---
358
-
359
- ## Groups (Network Groups)
360
-
361
- ### Create Group
362
- ```bash
363
- curl -X POST "https://api.hailer.com/api/network/group/create" \
364
- -H "Content-Type: application/json" \
365
- -H "hlrkey: YOUR_SESSION_KEY" \
366
- -d '[{"name": "Partners", "cid": "WORKSPACE_ID"}]'
367
- ```
368
-
369
- ### Get Group
370
- ```bash
371
- curl -X POST "https://api.hailer.com/api/network/group/get" \
372
- -H "Content-Type: application/json" \
373
- -H "hlrkey: YOUR_SESSION_KEY" \
374
- -d '["GROUP_ID"]'
375
- ```
376
-
377
- ### Update Group
378
- ```bash
379
- curl -X POST "https://api.hailer.com/api/network/group/update" \
380
- -H "Content-Type: application/json" \
381
- -H "hlrkey: YOUR_SESSION_KEY" \
382
- -d '["GROUP_ID", {"name": "Updated Group"}]'
383
- ```
384
-
385
- ### Remove Group
386
- ```bash
387
- curl -X POST "https://api.hailer.com/api/network/group/remove" \
388
- -H "Content-Type: application/json" \
389
- -H "hlrkey: YOUR_SESSION_KEY" \
390
- -d '["GROUP_ID"]'
391
- ```
392
-
393
- ---
394
-
395
- ## Files
396
-
397
- ### Upload File
398
- ```bash
399
- curl -X POST "https://api.hailer.com/upload" \
400
- -H "hlrkey: YOUR_SESSION_KEY" \
401
- -H "Content-Type: multipart/form-data" \
402
- -F "data=@/path/to/file.pdf"
403
- ```
404
- Returns `{"_id": "FILE_ID"}` on success.
405
-
406
- ### List Files
407
- ```bash
408
- curl -X POST "https://api.hailer.com/api/files/list" \
409
- -H "Content-Type: application/json" \
410
- -H "hlrkey: YOUR_SESSION_KEY" \
411
- -d '[{"cid": "WORKSPACE_ID"}]'
412
- ```
413
-
414
- ### Get File Properties
415
- ```bash
416
- curl -X POST "https://api.hailer.com/api/files/get_file_properties" \
417
- -H "Content-Type: application/json" \
418
- -H "hlrkey: YOUR_SESSION_KEY" \
419
- -d '["FILE_ID"]'
420
- ```
421
-
422
- ### Remove Files
423
- ```bash
424
- curl -X POST "https://api.hailer.com/api/files/remove_files" \
425
- -H "Content-Type: application/json" \
426
- -H "hlrkey: YOUR_SESSION_KEY" \
427
- -d '[["FILE_ID_1", "FILE_ID_2"]]'
428
- ```
429
-
430
- ---
431
-
432
- ## Tags (v2)
433
-
434
- ### List Tags
435
- ```bash
436
- curl -X POST "https://api.hailer.com/api/v2/tags/list" \
437
- -H "Content-Type: application/json" \
438
- -H "hlrkey: YOUR_SESSION_KEY" \
439
- -d '["WORKSPACE_ID"]'
440
- ```
441
-
442
- ### Add Tag
443
- ```bash
444
- curl -X POST "https://api.hailer.com/api/v2/tags/manage/add" \
445
- -H "Content-Type: application/json" \
446
- -H "hlrkey: YOUR_SESSION_KEY" \
447
- -d '["WORKSPACE_ID", {"name": "Important", "color": "#FF0000"}]'
448
- ```
449
-
450
- ### Tag an Object
451
- ```bash
452
- curl -X POST "https://api.hailer.com/api/v2/tags/tag" \
453
- -H "Content-Type: application/json" \
454
- -H "hlrkey: YOUR_SESSION_KEY" \
455
- -d '["OBJECT_ID", "TAG_ID"]'
456
- ```
457
-
458
- ### Untag an Object
459
- ```bash
460
- curl -X POST "https://api.hailer.com/api/v2/tags/untag" \
461
- -H "Content-Type: application/json" \
462
- -H "hlrkey: YOUR_SESSION_KEY" \
463
- -d '["OBJECT_ID", "TAG_ID"]'
464
- ```
465
-
466
- ---
467
-
468
- ## Notes
469
- - Workspace = Network = Company (legacy naming)
470
- - Teams are internal groups within a workspace
471
- - Groups (network groups) can include external users
472
- - All IDs are 24-character MongoDB ObjectIds
473
- - Session keys expire after inactivity