@hailer/mcp 0.0.1
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.
- package/.claude/commands/tool-builder.md +37 -0
- package/.claude/commands/ws-pull.md +44 -0
- package/.claude/settings.json +8 -0
- package/.claude/settings.local.json +49 -0
- package/.claude/skills/activity-api/SKILL.md +96 -0
- package/.claude/skills/activity-api/references/activity-endpoints.md +845 -0
- package/.claude/skills/add-app-member-skill/SKILL.md +977 -0
- package/.claude/skills/agent-building/SKILL.md +243 -0
- package/.claude/skills/agent-building/references/architecture-patterns.md +446 -0
- package/.claude/skills/agent-building/references/code-examples.md +587 -0
- package/.claude/skills/agent-building/references/implementation-guide.md +619 -0
- package/.claude/skills/app-api/SKILL.md +219 -0
- package/.claude/skills/app-api/references/app-endpoints.md +759 -0
- package/.claude/skills/building-hailer-apps-skill/SKILL.md +548 -0
- package/.claude/skills/create-app-skill/SKILL.md +1101 -0
- package/.claude/skills/create-insight-skill/SKILL.md +1317 -0
- package/.claude/skills/get-insight-data-skill/SKILL.md +1053 -0
- package/.claude/skills/hailer-api/SKILL.md +283 -0
- package/.claude/skills/hailer-api/references/activities.md +620 -0
- package/.claude/skills/hailer-api/references/authentication.md +216 -0
- package/.claude/skills/hailer-api/references/datasets.md +437 -0
- package/.claude/skills/hailer-api/references/files.md +301 -0
- package/.claude/skills/hailer-api/references/insights.md +469 -0
- package/.claude/skills/hailer-api/references/workflows.md +720 -0
- package/.claude/skills/hailer-api/references/workspaces-users.md +445 -0
- package/.claude/skills/insight-api/SKILL.md +185 -0
- package/.claude/skills/insight-api/references/insight-endpoints.md +514 -0
- package/.claude/skills/install-workflow-skill/SKILL.md +1056 -0
- package/.claude/skills/list-apps-skill/SKILL.md +1010 -0
- package/.claude/skills/list-workflows-minimal-skill/SKILL.md +992 -0
- package/.claude/skills/local-first-skill/SKILL.md +570 -0
- package/.claude/skills/mcp-tools/SKILL.md +419 -0
- package/.claude/skills/mcp-tools/references/api-endpoints.md +499 -0
- package/.claude/skills/mcp-tools/references/data-structures.md +554 -0
- package/.claude/skills/mcp-tools/references/implementation-patterns.md +717 -0
- package/.claude/skills/preview-insight-skill/SKILL.md +1290 -0
- package/.claude/skills/publish-hailer-app-skill/SKILL.md +453 -0
- package/.claude/skills/remove-app-member-skill/SKILL.md +671 -0
- package/.claude/skills/remove-app-skill/SKILL.md +985 -0
- package/.claude/skills/remove-insight-skill/SKILL.md +1011 -0
- package/.claude/skills/remove-workflow-skill/SKILL.md +920 -0
- package/.claude/skills/scaffold-hailer-app-skill/SKILL.md +1034 -0
- package/.claude/skills/skill-testing/README.md +137 -0
- package/.claude/skills/skill-testing/SKILL.md +348 -0
- package/.claude/skills/skill-testing/references/test-patterns.md +705 -0
- package/.claude/skills/skill-testing/references/testing-guide.md +603 -0
- package/.claude/skills/skill-testing/references/validation-checklist.md +537 -0
- package/.claude/skills/tool-builder/SKILL.md +328 -0
- package/.claude/skills/update-app-skill/SKILL.md +970 -0
- package/.claude/skills/update-workflow-field-skill/SKILL.md +1098 -0
- package/.env.example +81 -0
- package/.mcp.json +13 -0
- package/README.md +297 -0
- package/dist/app.d.ts +4 -0
- package/dist/app.js +74 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.js +5 -0
- package/dist/client/adaptive-documentation-bot.d.ts +108 -0
- package/dist/client/adaptive-documentation-bot.js +475 -0
- package/dist/client/adaptive-documentation-types.d.ts +66 -0
- package/dist/client/adaptive-documentation-types.js +9 -0
- package/dist/client/agent-activity-bot.d.ts +51 -0
- package/dist/client/agent-activity-bot.js +166 -0
- package/dist/client/agent-tracker.d.ts +499 -0
- package/dist/client/agent-tracker.js +659 -0
- package/dist/client/description-updater.d.ts +56 -0
- package/dist/client/description-updater.js +259 -0
- package/dist/client/log-parser.d.ts +72 -0
- package/dist/client/log-parser.js +387 -0
- package/dist/client/mcp-client.d.ts +50 -0
- package/dist/client/mcp-client.js +532 -0
- package/dist/client/message-processor.d.ts +35 -0
- package/dist/client/message-processor.js +352 -0
- package/dist/client/multi-bot-manager.d.ts +24 -0
- package/dist/client/multi-bot-manager.js +74 -0
- package/dist/client/providers/anthropic-provider.d.ts +19 -0
- package/dist/client/providers/anthropic-provider.js +631 -0
- package/dist/client/providers/llm-provider.d.ts +47 -0
- package/dist/client/providers/llm-provider.js +367 -0
- package/dist/client/providers/openai-provider.d.ts +23 -0
- package/dist/client/providers/openai-provider.js +621 -0
- package/dist/client/simple-llm-caller.d.ts +19 -0
- package/dist/client/simple-llm-caller.js +100 -0
- package/dist/client/skill-generator.d.ts +81 -0
- package/dist/client/skill-generator.js +386 -0
- package/dist/client/test-adaptive-bot.d.ts +9 -0
- package/dist/client/test-adaptive-bot.js +82 -0
- package/dist/client/token-pricing.d.ts +38 -0
- package/dist/client/token-pricing.js +127 -0
- package/dist/client/token-tracker.d.ts +232 -0
- package/dist/client/token-tracker.js +457 -0
- package/dist/client/token-usage-bot.d.ts +53 -0
- package/dist/client/token-usage-bot.js +153 -0
- package/dist/client/tool-executor.d.ts +69 -0
- package/dist/client/tool-executor.js +159 -0
- package/dist/client/tool-schema-loader.d.ts +60 -0
- package/dist/client/tool-schema-loader.js +178 -0
- package/dist/client/types.d.ts +69 -0
- package/dist/client/types.js +7 -0
- package/dist/config.d.ts +162 -0
- package/dist/config.js +296 -0
- package/dist/core.d.ts +26 -0
- package/dist/core.js +147 -0
- package/dist/lib/context-manager.d.ts +111 -0
- package/dist/lib/context-manager.js +431 -0
- package/dist/lib/logger.d.ts +74 -0
- package/dist/lib/logger.js +277 -0
- package/dist/lib/materialize.d.ts +3 -0
- package/dist/lib/materialize.js +101 -0
- package/dist/lib/normalizedName.d.ts +7 -0
- package/dist/lib/normalizedName.js +48 -0
- package/dist/lib/prompt-length-manager.d.ts +81 -0
- package/dist/lib/prompt-length-manager.js +457 -0
- package/dist/lib/terminal-prompt.d.ts +9 -0
- package/dist/lib/terminal-prompt.js +108 -0
- package/dist/mcp/UserContextCache.d.ts +56 -0
- package/dist/mcp/UserContextCache.js +163 -0
- package/dist/mcp/auth.d.ts +2 -0
- package/dist/mcp/auth.js +29 -0
- package/dist/mcp/hailer-clients.d.ts +42 -0
- package/dist/mcp/hailer-clients.js +246 -0
- package/dist/mcp/signal-handler.d.ts +45 -0
- package/dist/mcp/signal-handler.js +317 -0
- package/dist/mcp/tool-registry.d.ts +100 -0
- package/dist/mcp/tool-registry.js +306 -0
- package/dist/mcp/tools/activity.d.ts +15 -0
- package/dist/mcp/tools/activity.js +955 -0
- package/dist/mcp/tools/app.d.ts +20 -0
- package/dist/mcp/tools/app.js +1488 -0
- package/dist/mcp/tools/discussion.d.ts +19 -0
- package/dist/mcp/tools/discussion.js +950 -0
- package/dist/mcp/tools/file.d.ts +15 -0
- package/dist/mcp/tools/file.js +119 -0
- package/dist/mcp/tools/insight.d.ts +17 -0
- package/dist/mcp/tools/insight.js +806 -0
- package/dist/mcp/tools/skill.d.ts +10 -0
- package/dist/mcp/tools/skill.js +279 -0
- package/dist/mcp/tools/user.d.ts +10 -0
- package/dist/mcp/tools/user.js +108 -0
- package/dist/mcp/tools/workflow-template.d.ts +19 -0
- package/dist/mcp/tools/workflow-template.js +822 -0
- package/dist/mcp/tools/workflow.d.ts +18 -0
- package/dist/mcp/tools/workflow.js +1362 -0
- package/dist/mcp/utils/api-errors.d.ts +45 -0
- package/dist/mcp/utils/api-errors.js +160 -0
- package/dist/mcp/utils/data-transformers.d.ts +102 -0
- package/dist/mcp/utils/data-transformers.js +194 -0
- package/dist/mcp/utils/file-upload.d.ts +33 -0
- package/dist/mcp/utils/file-upload.js +148 -0
- package/dist/mcp/utils/hailer-api-client.d.ts +120 -0
- package/dist/mcp/utils/hailer-api-client.js +323 -0
- package/dist/mcp/utils/index.d.ts +13 -0
- package/dist/mcp/utils/index.js +39 -0
- package/dist/mcp/utils/logger.d.ts +42 -0
- package/dist/mcp/utils/logger.js +103 -0
- package/dist/mcp/utils/types.d.ts +286 -0
- package/dist/mcp/utils/types.js +7 -0
- package/dist/mcp/workspace-cache.d.ts +42 -0
- package/dist/mcp/workspace-cache.js +97 -0
- package/dist/mcp-server.d.ts +42 -0
- package/dist/mcp-server.js +280 -0
- package/package.json +56 -0
- package/tsconfig.json +23 -0
|
@@ -0,0 +1,845 @@
|
|
|
1
|
+
# Activity API Endpoints Reference
|
|
2
|
+
|
|
3
|
+
Complete reference for Hailer Activity API endpoints (v2 and v3).
|
|
4
|
+
|
|
5
|
+
## Table of Contents
|
|
6
|
+
|
|
7
|
+
### V2 Endpoints
|
|
8
|
+
- [v2.activities.copy](#v2activitiescopy) - Copy activities
|
|
9
|
+
- [v2.activities.expired](#v2activitiesexpired) - Query expired activities
|
|
10
|
+
- [v2.activities.events](#v2activitiesevents) - Activity events
|
|
11
|
+
- [v2.activities.timeline](#v2activitiestimeline) - Timeline view
|
|
12
|
+
- [v2.activities.files](#v2activitiesfiles) - Activity files
|
|
13
|
+
- [v2.activities.list](#v2activitieslist) - List activities
|
|
14
|
+
- [v2.activities.kanban.load](#v2activitieskanbanload) - Load kanban activity
|
|
15
|
+
- [v2.activities.kanban.list](#v2activitieskanbanlist) - Kanban list
|
|
16
|
+
- [v2.activities.count.linked](#v2activitiescountlinked) - Count linked activities
|
|
17
|
+
- [v2.activities.removeFollower](#v2activitiesremovefollower) - Remove follower
|
|
18
|
+
- [v2.activities.updatePriority](#v2activitiesupdatepriority) - Update priority
|
|
19
|
+
- [v2.activities.evaluate](#v2activitiesevaluate) - Evaluate function field
|
|
20
|
+
- [v2.activities.evaluateDependencies](#v2activitiesevaluatedependencies) - Dependency graph
|
|
21
|
+
- [v2.activities.dependentFields](#v2activitiesdependentfields) - Get dependent fields
|
|
22
|
+
- [v2.activities.nameIsUnique](#v2activitiesnameisunique) - Check name uniqueness
|
|
23
|
+
|
|
24
|
+
### V3 Endpoints
|
|
25
|
+
- [v3.activity.timeline2](#v3activitytimeline2) - Timeline view v2
|
|
26
|
+
- [v3.activity.count](#v3activitycount) - Count activities
|
|
27
|
+
- [v3.activity.create](#v3activitycreate) - Create single activity
|
|
28
|
+
- [v3.activity.createMany](#v3activitycreatemany) - Create multiple activities
|
|
29
|
+
- [v3.activity.updateMany](#v3activityupdatemany) - Update multiple activities
|
|
30
|
+
- [v3.activity.evaluateMany](#v3activityevaluatemany) - Evaluate multiple function fields
|
|
31
|
+
- [v3.activity.permissions](#v3activitypermissions) - Check permissions
|
|
32
|
+
- [v3.activity.template.create](#v3activitytemplatecreate) - Get activity template
|
|
33
|
+
- [v3.activity.linkedFrom.overview](#v3activitylinkedfromoverview) - Linked activities overview
|
|
34
|
+
- [v3.activity.linkedFrom.search](#v3activitylinkedfromsearch) - Search linked activities
|
|
35
|
+
- [v3.activity.linkedFrom.next](#v3activitylinkedfromnext) - Next linked activities
|
|
36
|
+
- [v3.activity.linkedFrom.refresh](#v3activitylinkedfromrefresh) - Refresh linked activities
|
|
37
|
+
- [v3.activity.removed.overview](#v3activityremovedoverview) - List deleted activities
|
|
38
|
+
- [v3.activity.removed.more](#v3activityremovedmore) - More deleted activities
|
|
39
|
+
- [v3.activity.removed.recover](#v3activityremovedrecover) - Recover deleted activities
|
|
40
|
+
- [v3.activity.import](#v3activityimport) - Import activities
|
|
41
|
+
- [v3.activity.list](#v3activitylist) - List activities (v3)
|
|
42
|
+
- [v3.activity.events](#v3activityevents) - Activity events (v3)
|
|
43
|
+
- [v3.activity.timeline](#v3activitytimeline) - Timeline with filtering
|
|
44
|
+
- [v3.activity.kanban.load](#v3activitykanbanload) - Load kanban activity
|
|
45
|
+
- [v3.activity.kanban.list](#v3activitykanbanlist) - Kanban list
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
## V2 Endpoints
|
|
50
|
+
|
|
51
|
+
### v2.activities.copy
|
|
52
|
+
|
|
53
|
+
Creates copies of activities provided in an array. The resulting activities will all be called 'Copy of ...' unless otherwise specified in the rename object within the second parameter. The values in any given field will be kept for all fields used in the initial phase of the workflow.
|
|
54
|
+
|
|
55
|
+
**Endpoint**: `POST /v2/activities/copy`
|
|
56
|
+
|
|
57
|
+
**Request Body**:
|
|
58
|
+
```json
|
|
59
|
+
{
|
|
60
|
+
"0": ["activityId1", "activityId2"], // Array of 24-char activityIds
|
|
61
|
+
"1": {
|
|
62
|
+
"workspaceId": "stringstringstringstring", // Optional
|
|
63
|
+
"advanced": false,
|
|
64
|
+
"rename": {
|
|
65
|
+
"activityId1": "New Name" // Optional rename mapping
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
**Response**:
|
|
72
|
+
```json
|
|
73
|
+
{
|
|
74
|
+
"code": 0,
|
|
75
|
+
"msg": "string",
|
|
76
|
+
"details": {},
|
|
77
|
+
"debug": null
|
|
78
|
+
}
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
---
|
|
82
|
+
|
|
83
|
+
### v2.activities.expired
|
|
84
|
+
|
|
85
|
+
**Endpoint**: `POST /v2/activities/expired`
|
|
86
|
+
|
|
87
|
+
**Request Body**:
|
|
88
|
+
```json
|
|
89
|
+
{
|
|
90
|
+
"0": {
|
|
91
|
+
"processes": [],
|
|
92
|
+
"phases": []
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
---
|
|
98
|
+
|
|
99
|
+
### v2.activities.events
|
|
100
|
+
|
|
101
|
+
**Endpoint**: `POST /v2/activities/events`
|
|
102
|
+
|
|
103
|
+
**Request Body**:
|
|
104
|
+
```json
|
|
105
|
+
{
|
|
106
|
+
"0": {
|
|
107
|
+
"dates": {},
|
|
108
|
+
"filter": {}
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
---
|
|
114
|
+
|
|
115
|
+
### v2.activities.timeline
|
|
116
|
+
|
|
117
|
+
**Endpoint**: `POST /v2/activities/timeline`
|
|
118
|
+
|
|
119
|
+
**Request Body**:
|
|
120
|
+
```json
|
|
121
|
+
{
|
|
122
|
+
"0": {
|
|
123
|
+
"dateFieldId": "stringstringstringstring",
|
|
124
|
+
"dates": {},
|
|
125
|
+
"groupByFieldId": "stringstringstringstring",
|
|
126
|
+
"phaseIds": [],
|
|
127
|
+
"processId": "stringstringstringstring",
|
|
128
|
+
"resourceIds": [],
|
|
129
|
+
"search": "string",
|
|
130
|
+
"showEmptyResources": true,
|
|
131
|
+
"teamAccount": "stringstringstringstring",
|
|
132
|
+
"user": {}
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
---
|
|
138
|
+
|
|
139
|
+
### v2.activities.files
|
|
140
|
+
|
|
141
|
+
**Endpoint**: `POST /v2/activities/files`
|
|
142
|
+
|
|
143
|
+
**Request Body**:
|
|
144
|
+
```json
|
|
145
|
+
{
|
|
146
|
+
"0": "stringstringstringstring", // Activity ID
|
|
147
|
+
"1": {
|
|
148
|
+
"limit": 100,
|
|
149
|
+
"skip": 0,
|
|
150
|
+
"search": "string"
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
---
|
|
156
|
+
|
|
157
|
+
### v2.activities.list
|
|
158
|
+
|
|
159
|
+
With this function, you can get the activities of one workflow and phase (or of one dataset and category) listed by calling the function with workflowId (optional) and phaseId (required) in the Phase object.
|
|
160
|
+
|
|
161
|
+
**Endpoint**: `POST /v2/activities/list`
|
|
162
|
+
|
|
163
|
+
**Request Body**:
|
|
164
|
+
```json
|
|
165
|
+
{
|
|
166
|
+
"0": {
|
|
167
|
+
"process": "stringstringstringstring", // Workflow ID
|
|
168
|
+
"phase": "stringstringstringstring" // Phase ID
|
|
169
|
+
},
|
|
170
|
+
"1": {
|
|
171
|
+
"sortBy": "updated",
|
|
172
|
+
"sortOrder": "asc",
|
|
173
|
+
"filter": {},
|
|
174
|
+
"search": "string",
|
|
175
|
+
"limit": 20,
|
|
176
|
+
"skip": 0,
|
|
177
|
+
"includeUsers": true,
|
|
178
|
+
"includeTeams": true,
|
|
179
|
+
"includeHistory": false
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
**Response**: Activities array with metadata object (up to 20 activities by default, sorted by latest update time).
|
|
185
|
+
|
|
186
|
+
---
|
|
187
|
+
|
|
188
|
+
### v2.activities.kanban.load
|
|
189
|
+
|
|
190
|
+
**Endpoint**: `POST /v2/activities/kanban/load`
|
|
191
|
+
|
|
192
|
+
**Request Body**:
|
|
193
|
+
```json
|
|
194
|
+
{
|
|
195
|
+
"0": "stringstringstringstring" // Activity ID
|
|
196
|
+
}
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
---
|
|
200
|
+
|
|
201
|
+
### v2.activities.kanban.list
|
|
202
|
+
|
|
203
|
+
**Endpoint**: `POST /v2/activities/kanban/list`
|
|
204
|
+
|
|
205
|
+
**Request Body**:
|
|
206
|
+
```json
|
|
207
|
+
{
|
|
208
|
+
"0": "stringstringstringstring", // Workflow ID
|
|
209
|
+
"1": {
|
|
210
|
+
"filter": {},
|
|
211
|
+
"search": "string",
|
|
212
|
+
"limit": 20,
|
|
213
|
+
"skip": 0,
|
|
214
|
+
"phase": "stringstringstringstring",
|
|
215
|
+
"includeUsers": true,
|
|
216
|
+
"includeTeams": true
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
---
|
|
222
|
+
|
|
223
|
+
### v2.activities.count.linked
|
|
224
|
+
|
|
225
|
+
**Endpoint**: `POST /v2/activities/count/linked`
|
|
226
|
+
|
|
227
|
+
**Request Body**:
|
|
228
|
+
```json
|
|
229
|
+
{
|
|
230
|
+
"0": ["activityId1", "activityId2"] // Array of activity IDs
|
|
231
|
+
}
|
|
232
|
+
```
|
|
233
|
+
|
|
234
|
+
---
|
|
235
|
+
|
|
236
|
+
### v2.activities.removeFollower
|
|
237
|
+
|
|
238
|
+
**Endpoint**: `POST /v2/activities/removeFollower`
|
|
239
|
+
|
|
240
|
+
**Request Body**:
|
|
241
|
+
```json
|
|
242
|
+
{
|
|
243
|
+
"0": {
|
|
244
|
+
"activityId": "stringstringstringstring",
|
|
245
|
+
"userId": "stringstringstringstring"
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
```
|
|
249
|
+
|
|
250
|
+
---
|
|
251
|
+
|
|
252
|
+
### v2.activities.updatePriority
|
|
253
|
+
|
|
254
|
+
Update one or many priority fields in a phase. Ex: change position for activity in Kanban view. Function only used when change position for an activity in same phase.
|
|
255
|
+
|
|
256
|
+
**Endpoint**: `POST /v2/activities/updatePriority`
|
|
257
|
+
|
|
258
|
+
**Request Body**:
|
|
259
|
+
```json
|
|
260
|
+
{
|
|
261
|
+
"0": {
|
|
262
|
+
"activityId": "stringstringstringstring",
|
|
263
|
+
"priority": 0
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
```
|
|
267
|
+
|
|
268
|
+
---
|
|
269
|
+
|
|
270
|
+
### v2.activities.evaluate
|
|
271
|
+
|
|
272
|
+
Dryrun Function Field function. Evaluation of Function Field function on a given activity and field without saving the result, only returning it.
|
|
273
|
+
|
|
274
|
+
**Endpoint**: `POST /v2/activities/evaluate`
|
|
275
|
+
|
|
276
|
+
**Request Body**:
|
|
277
|
+
```json
|
|
278
|
+
{
|
|
279
|
+
"0": "stringstringstringstring", // activityId
|
|
280
|
+
"1": "stringstringstringstring", // fieldId
|
|
281
|
+
"2": "string", // code
|
|
282
|
+
"3": {} // FunctionDependency
|
|
283
|
+
}
|
|
284
|
+
```
|
|
285
|
+
|
|
286
|
+
---
|
|
287
|
+
|
|
288
|
+
### v2.activities.evaluateDependencies
|
|
289
|
+
|
|
290
|
+
Get dependency graph to the field.
|
|
291
|
+
|
|
292
|
+
**Endpoint**: `POST /v2/activities/evaluateDependencies`
|
|
293
|
+
|
|
294
|
+
**Request Body**:
|
|
295
|
+
```json
|
|
296
|
+
{
|
|
297
|
+
"0": ["activityId1", "activityId2"], // activityIds
|
|
298
|
+
"1": ["fieldId1", "fieldId2"] // fieldIds
|
|
299
|
+
}
|
|
300
|
+
```
|
|
301
|
+
|
|
302
|
+
---
|
|
303
|
+
|
|
304
|
+
### v2.activities.dependentFields
|
|
305
|
+
|
|
306
|
+
Get dependent fields of the given fieldId.
|
|
307
|
+
|
|
308
|
+
**Endpoint**: `POST /v2/activities/dependentFields`
|
|
309
|
+
|
|
310
|
+
**Request Body**:
|
|
311
|
+
```json
|
|
312
|
+
{
|
|
313
|
+
"0": "stringstringstringstring", // processId
|
|
314
|
+
"1": "stringstringstringstring" // fieldId
|
|
315
|
+
}
|
|
316
|
+
```
|
|
317
|
+
|
|
318
|
+
---
|
|
319
|
+
|
|
320
|
+
### v2.activities.nameIsUnique
|
|
321
|
+
|
|
322
|
+
**Endpoint**: `POST /v2/activities/nameIsUnique`
|
|
323
|
+
|
|
324
|
+
**Request Body**:
|
|
325
|
+
```json
|
|
326
|
+
{
|
|
327
|
+
"0": "stringstringstringstring", // Process ID
|
|
328
|
+
"1": "string" // Activity name to check
|
|
329
|
+
}
|
|
330
|
+
```
|
|
331
|
+
|
|
332
|
+
---
|
|
333
|
+
|
|
334
|
+
## V3 Endpoints
|
|
335
|
+
|
|
336
|
+
### v3.activity.timeline2
|
|
337
|
+
|
|
338
|
+
**Endpoint**: `POST /v3/activity/timeline2`
|
|
339
|
+
|
|
340
|
+
**Request Body**:
|
|
341
|
+
```json
|
|
342
|
+
{
|
|
343
|
+
"0": {
|
|
344
|
+
"dateFieldId": "stringstringstringstring",
|
|
345
|
+
"dates": {},
|
|
346
|
+
"groupByFieldId": "stringstringstringstring",
|
|
347
|
+
"phaseIds": [],
|
|
348
|
+
"processId": "stringstringstringstring",
|
|
349
|
+
"resourceIds": [],
|
|
350
|
+
"search": "string",
|
|
351
|
+
"showEmptyResources": true,
|
|
352
|
+
"teamAccount": "stringstringstringstring",
|
|
353
|
+
"user": {}
|
|
354
|
+
}
|
|
355
|
+
}
|
|
356
|
+
```
|
|
357
|
+
|
|
358
|
+
---
|
|
359
|
+
|
|
360
|
+
### v3.activity.count
|
|
361
|
+
|
|
362
|
+
**Endpoint**: `POST /v3/activity/count`
|
|
363
|
+
|
|
364
|
+
**Request Body**:
|
|
365
|
+
```json
|
|
366
|
+
{
|
|
367
|
+
"0": "stringstringstringstring" // processId (Workflow ID)
|
|
368
|
+
}
|
|
369
|
+
```
|
|
370
|
+
|
|
371
|
+
---
|
|
372
|
+
|
|
373
|
+
### v3.activity.create
|
|
374
|
+
|
|
375
|
+
Creates one single activity. For creating multiple activities at a time use v3.activity.createMany.
|
|
376
|
+
|
|
377
|
+
**Endpoint**: `POST /v3/activity/create`
|
|
378
|
+
|
|
379
|
+
**Request Body**:
|
|
380
|
+
```json
|
|
381
|
+
{
|
|
382
|
+
"0": "stringstringstringstring", // workflowId
|
|
383
|
+
"1": {
|
|
384
|
+
"name": "string",
|
|
385
|
+
"fields": {},
|
|
386
|
+
"fileIds": [],
|
|
387
|
+
"followerIds": [],
|
|
388
|
+
"location": {},
|
|
389
|
+
"teamId": "stringstringstringstring",
|
|
390
|
+
"phaseId": "stringstringstringstring"
|
|
391
|
+
},
|
|
392
|
+
"2": {
|
|
393
|
+
"teamId": "stringstringstringstring",
|
|
394
|
+
"fileIds": [],
|
|
395
|
+
"followerIds": [],
|
|
396
|
+
"location": {},
|
|
397
|
+
"discussionId": "stringstringstringstring",
|
|
398
|
+
"phaseId": "stringstringstringstring",
|
|
399
|
+
"ignoreRequired": false
|
|
400
|
+
}
|
|
401
|
+
}
|
|
402
|
+
```
|
|
403
|
+
|
|
404
|
+
---
|
|
405
|
+
|
|
406
|
+
### v3.activity.createMany
|
|
407
|
+
|
|
408
|
+
This function is used to create one or more activities at the same time, all in the same workflow.
|
|
409
|
+
|
|
410
|
+
**Important Notes**:
|
|
411
|
+
- workflowId and at least one Activity object is required
|
|
412
|
+
- Options object applies to all activities unless overridden in Activity object
|
|
413
|
+
- Recommend using v3.activity.template.create first to get field structure
|
|
414
|
+
- If no predefined Owner Team, must set teamId in Activity or Options object
|
|
415
|
+
|
|
416
|
+
**Endpoint**: `POST /v3/activity/createMany`
|
|
417
|
+
|
|
418
|
+
**Request Body**:
|
|
419
|
+
```json
|
|
420
|
+
{
|
|
421
|
+
"0": "stringstringstringstring", // workflowId
|
|
422
|
+
"1": [
|
|
423
|
+
{
|
|
424
|
+
"name": "Activity 1",
|
|
425
|
+
"fields": {
|
|
426
|
+
"fieldId1": "value1"
|
|
427
|
+
},
|
|
428
|
+
"phaseId": "stringstringstringstring"
|
|
429
|
+
}
|
|
430
|
+
],
|
|
431
|
+
"2": {
|
|
432
|
+
"teamId": "stringstringstringstring",
|
|
433
|
+
"fileIds": [],
|
|
434
|
+
"followerIds": [],
|
|
435
|
+
"location": {},
|
|
436
|
+
"discussionId": "stringstringstringstring",
|
|
437
|
+
"phaseId": "stringstringstringstring",
|
|
438
|
+
"returnDocument": true,
|
|
439
|
+
"ignoreRequired": false
|
|
440
|
+
}
|
|
441
|
+
}
|
|
442
|
+
```
|
|
443
|
+
|
|
444
|
+
---
|
|
445
|
+
|
|
446
|
+
### v3.activity.updateMany
|
|
447
|
+
|
|
448
|
+
Update one or more activities.
|
|
449
|
+
|
|
450
|
+
**Important Notes**:
|
|
451
|
+
- Provide array of objects with at least `_id` of activity to update
|
|
452
|
+
- Options object applies to all unless overridden in Activity object
|
|
453
|
+
- Fields/files/followers left unchanged unless specified
|
|
454
|
+
- Adding `fieldId: null` removes old value
|
|
455
|
+
- Adding `"*": null` to files/followers removes all old values
|
|
456
|
+
- Adding `fileId: true` or `userId: true` sets new value
|
|
457
|
+
|
|
458
|
+
**Endpoint**: `POST /v3/activity/updateMany`
|
|
459
|
+
|
|
460
|
+
**Request Body**:
|
|
461
|
+
```json
|
|
462
|
+
{
|
|
463
|
+
"0": [
|
|
464
|
+
{
|
|
465
|
+
"_id": "stringstringstringstring",
|
|
466
|
+
"name": "New Name",
|
|
467
|
+
"fields": {
|
|
468
|
+
"fieldId1": "newValue",
|
|
469
|
+
"fieldId2": null // Removes value
|
|
470
|
+
}
|
|
471
|
+
}
|
|
472
|
+
],
|
|
473
|
+
"1": {
|
|
474
|
+
"fields": {},
|
|
475
|
+
"files": {
|
|
476
|
+
"*": null, // Remove all files
|
|
477
|
+
"fileId1": true // Add this file
|
|
478
|
+
},
|
|
479
|
+
"followers": {},
|
|
480
|
+
"location": {},
|
|
481
|
+
"discussionId": "stringstringstringstring",
|
|
482
|
+
"teamId": "stringstringstringstring",
|
|
483
|
+
"phaseId": "stringstringstringstring",
|
|
484
|
+
"returnDocument": true,
|
|
485
|
+
"ignoreRequired": false
|
|
486
|
+
}
|
|
487
|
+
}
|
|
488
|
+
```
|
|
489
|
+
|
|
490
|
+
---
|
|
491
|
+
|
|
492
|
+
### v3.activity.evaluateMany
|
|
493
|
+
|
|
494
|
+
Dryrun on multiple function fields. Evaluation of Function Field functions on a given activity and field without saving the result, only returning it.
|
|
495
|
+
|
|
496
|
+
**Endpoint**: `POST /v3/activity/evaluateMany`
|
|
497
|
+
|
|
498
|
+
**Request Body**:
|
|
499
|
+
```json
|
|
500
|
+
{
|
|
501
|
+
"0": {
|
|
502
|
+
"processId": "stringstringstringstring",
|
|
503
|
+
"phaseId": "stringstringstringstring",
|
|
504
|
+
"_id": "stringstringstringstring",
|
|
505
|
+
"name": "string",
|
|
506
|
+
"fields": {}
|
|
507
|
+
}
|
|
508
|
+
}
|
|
509
|
+
```
|
|
510
|
+
|
|
511
|
+
---
|
|
512
|
+
|
|
513
|
+
### v3.activity.permissions
|
|
514
|
+
|
|
515
|
+
Will return the permissions of the user in the specified workspace. As an admin you can check the permissions of other users in your workspace.
|
|
516
|
+
|
|
517
|
+
**Endpoint**: `POST /v3/activity/permissions`
|
|
518
|
+
|
|
519
|
+
**Request Body**:
|
|
520
|
+
```json
|
|
521
|
+
{
|
|
522
|
+
"0": "stringstringstringstring", // userId
|
|
523
|
+
"1": "stringstringstringstring", // workspaceId
|
|
524
|
+
"2": {
|
|
525
|
+
"details": true,
|
|
526
|
+
"items": {}
|
|
527
|
+
}
|
|
528
|
+
}
|
|
529
|
+
```
|
|
530
|
+
|
|
531
|
+
---
|
|
532
|
+
|
|
533
|
+
### v3.activity.template.create
|
|
534
|
+
|
|
535
|
+
The successful response from calling this endpoint will give you a template with information for making other API calls related to activities. For example, if you want to create activities, you would want to know the fieldIds for the fields you want to add data to.
|
|
536
|
+
|
|
537
|
+
**Activity Field Subtypes**:
|
|
538
|
+
- `text` - String (max 2048 chars)
|
|
539
|
+
- `textpredefinedoptions` - Drop-down with options in field's data array
|
|
540
|
+
- `textarea` - String (max 32768 chars)
|
|
541
|
+
- `numeric` - Numeric value
|
|
542
|
+
- `numericunit` - Numeric value with unit string
|
|
543
|
+
- `date`, `time`, `datetime` - Timestamp (integer) in milliseconds since 1970-01-01 UTC
|
|
544
|
+
- `daterange`, `timerange`, `datetimerange` - Object with "start" and "end" timestamps
|
|
545
|
+
- `country` - Two-letter (alpha-2) ISO 3166 country code
|
|
546
|
+
- `activitylink` - Allowed links listed as workflowId(s) in field's data array
|
|
547
|
+
- `users` - One 24-character userId as string
|
|
548
|
+
- `teams` - One 24-character teamId as string
|
|
549
|
+
|
|
550
|
+
**Endpoint**: `POST /v3/activity/template/create`
|
|
551
|
+
|
|
552
|
+
**Request Body**:
|
|
553
|
+
```json
|
|
554
|
+
{
|
|
555
|
+
"0": "stringstringstringstring", // workflowId
|
|
556
|
+
"1": "stringstringstringstring" // phaseId
|
|
557
|
+
}
|
|
558
|
+
```
|
|
559
|
+
|
|
560
|
+
**Response**: Template object with field definitions, types, and IDs.
|
|
561
|
+
|
|
562
|
+
---
|
|
563
|
+
|
|
564
|
+
### v3.activity.linkedFrom.overview
|
|
565
|
+
|
|
566
|
+
Loads given amount of linked activities.
|
|
567
|
+
|
|
568
|
+
**Endpoint**: `POST /v3/activity/linkedFrom/overview`
|
|
569
|
+
|
|
570
|
+
**Request Body**:
|
|
571
|
+
```json
|
|
572
|
+
{
|
|
573
|
+
"0": "stringstringstringstring", // Fetch activities linked to this activityId
|
|
574
|
+
"1": {
|
|
575
|
+
"activityLimit": 5000,
|
|
576
|
+
"includeEmptyWorkflows": false,
|
|
577
|
+
"phaseIds": []
|
|
578
|
+
}
|
|
579
|
+
}
|
|
580
|
+
```
|
|
581
|
+
|
|
582
|
+
---
|
|
583
|
+
|
|
584
|
+
### v3.activity.linkedFrom.search
|
|
585
|
+
|
|
586
|
+
Searches linked activities.
|
|
587
|
+
|
|
588
|
+
**Endpoint**: `POST /v3/activity/linkedFrom/search`
|
|
589
|
+
|
|
590
|
+
**Request Body**:
|
|
591
|
+
```json
|
|
592
|
+
{
|
|
593
|
+
"0": "stringstringstringstring", // Activity ID to search links for
|
|
594
|
+
"1": "string", // Search string (matches activity name)
|
|
595
|
+
"2": {
|
|
596
|
+
"activityLimit": 250
|
|
597
|
+
}
|
|
598
|
+
}
|
|
599
|
+
```
|
|
600
|
+
|
|
601
|
+
---
|
|
602
|
+
|
|
603
|
+
### v3.activity.linkedFrom.next
|
|
604
|
+
|
|
605
|
+
Loads linked activities after specified activityId.
|
|
606
|
+
|
|
607
|
+
**Endpoint**: `POST /v3/activity/linkedFrom/next`
|
|
608
|
+
|
|
609
|
+
**Request Body**:
|
|
610
|
+
```json
|
|
611
|
+
{
|
|
612
|
+
"0": "stringstringstringstring", // Fetch activities linked to this activityId
|
|
613
|
+
"1": "stringstringstringstring", // Load activities after this activityId
|
|
614
|
+
"2": {
|
|
615
|
+
"activityLimit": 250
|
|
616
|
+
}
|
|
617
|
+
}
|
|
618
|
+
```
|
|
619
|
+
|
|
620
|
+
---
|
|
621
|
+
|
|
622
|
+
### v3.activity.linkedFrom.refresh
|
|
623
|
+
|
|
624
|
+
Loads specified linked activities in a specified phase.
|
|
625
|
+
|
|
626
|
+
**Endpoint**: `POST /v3/activity/linkedFrom/refresh`
|
|
627
|
+
|
|
628
|
+
**Request Body**:
|
|
629
|
+
```json
|
|
630
|
+
{
|
|
631
|
+
"0": "stringstringstringstring", // Fetch activities linked to this activityId
|
|
632
|
+
"1": "stringstringstringstring", // Linked phaseId to load from
|
|
633
|
+
"2": {
|
|
634
|
+
"activityIds": [],
|
|
635
|
+
"searchString": "string"
|
|
636
|
+
}
|
|
637
|
+
}
|
|
638
|
+
```
|
|
639
|
+
|
|
640
|
+
---
|
|
641
|
+
|
|
642
|
+
### v3.activity.removed.overview
|
|
643
|
+
|
|
644
|
+
Lists activities from activityRemoved collection.
|
|
645
|
+
|
|
646
|
+
**Endpoint**: `POST /v3/activity/removed/overview`
|
|
647
|
+
|
|
648
|
+
**Request Body**:
|
|
649
|
+
```json
|
|
650
|
+
{
|
|
651
|
+
"0": ["processId1", "processId2"], // Array of workflow IDs
|
|
652
|
+
"1": {
|
|
653
|
+
"limit": 0,
|
|
654
|
+
"search": "string"
|
|
655
|
+
}
|
|
656
|
+
}
|
|
657
|
+
```
|
|
658
|
+
|
|
659
|
+
---
|
|
660
|
+
|
|
661
|
+
### v3.activity.removed.more
|
|
662
|
+
|
|
663
|
+
Lists activities from activityRemoved collection.
|
|
664
|
+
|
|
665
|
+
**Endpoint**: `POST /v3/activity/removed/more`
|
|
666
|
+
|
|
667
|
+
**Request Body**:
|
|
668
|
+
```json
|
|
669
|
+
{
|
|
670
|
+
"0": "stringstringstringstring", // phaseId
|
|
671
|
+
"1": {
|
|
672
|
+
"limit": 0,
|
|
673
|
+
"skip": 0,
|
|
674
|
+
"search": "string"
|
|
675
|
+
}
|
|
676
|
+
}
|
|
677
|
+
```
|
|
678
|
+
|
|
679
|
+
---
|
|
680
|
+
|
|
681
|
+
### v3.activity.removed.recover
|
|
682
|
+
|
|
683
|
+
Recover activities from activityRemoved collection.
|
|
684
|
+
|
|
685
|
+
**Endpoint**: `POST /v3/activity/removed/recover`
|
|
686
|
+
|
|
687
|
+
**Request Body**:
|
|
688
|
+
```json
|
|
689
|
+
{
|
|
690
|
+
"0": ["activityId1", "activityId2"] // Array of activity IDs to recover
|
|
691
|
+
}
|
|
692
|
+
```
|
|
693
|
+
|
|
694
|
+
---
|
|
695
|
+
|
|
696
|
+
### v3.activity.import
|
|
697
|
+
|
|
698
|
+
**Endpoint**: `POST /v3/activity/import`
|
|
699
|
+
|
|
700
|
+
**Request Body**:
|
|
701
|
+
```json
|
|
702
|
+
{
|
|
703
|
+
"0": "stringstringstringstring", // fileId
|
|
704
|
+
"1": {
|
|
705
|
+
"deleteFile": true
|
|
706
|
+
}
|
|
707
|
+
}
|
|
708
|
+
```
|
|
709
|
+
|
|
710
|
+
---
|
|
711
|
+
|
|
712
|
+
### v3.activity.list
|
|
713
|
+
|
|
714
|
+
**Endpoint**: `POST /v3/activity/list`
|
|
715
|
+
|
|
716
|
+
**Request Body**:
|
|
717
|
+
```json
|
|
718
|
+
{
|
|
719
|
+
"0": {
|
|
720
|
+
"processId": "stringstringstringstring",
|
|
721
|
+
"phaseId": "stringstringstringstring"
|
|
722
|
+
},
|
|
723
|
+
"1": {
|
|
724
|
+
"sortBy": "updated",
|
|
725
|
+
"sortOrder": "asc",
|
|
726
|
+
"limit": 20,
|
|
727
|
+
"page": 0,
|
|
728
|
+
"skip": 0,
|
|
729
|
+
"includeUsers": true,
|
|
730
|
+
"includeTeams": true,
|
|
731
|
+
"includeDates": false,
|
|
732
|
+
"includeStats": false,
|
|
733
|
+
"includeActivityLinks": true,
|
|
734
|
+
"includeHistory": false,
|
|
735
|
+
"filters": null,
|
|
736
|
+
"filter": null,
|
|
737
|
+
"search": "string",
|
|
738
|
+
"returnFlat": false,
|
|
739
|
+
"readPreference": "primary",
|
|
740
|
+
"useIndexedData": true
|
|
741
|
+
}
|
|
742
|
+
}
|
|
743
|
+
```
|
|
744
|
+
|
|
745
|
+
---
|
|
746
|
+
|
|
747
|
+
### v3.activity.events
|
|
748
|
+
|
|
749
|
+
**Endpoint**: `POST /v3/activity/events`
|
|
750
|
+
|
|
751
|
+
**Request Body**:
|
|
752
|
+
```json
|
|
753
|
+
{
|
|
754
|
+
"0": 0, // Start Date as iso date string or timestamp
|
|
755
|
+
"1": 0, // End Date as iso date string or timestamp
|
|
756
|
+
"2": {
|
|
757
|
+
"filter": {},
|
|
758
|
+
"fieldIds": [],
|
|
759
|
+
"workflowIds": [],
|
|
760
|
+
"workspaceIds": [],
|
|
761
|
+
"activityIds": [],
|
|
762
|
+
"unassigned": true
|
|
763
|
+
}
|
|
764
|
+
}
|
|
765
|
+
```
|
|
766
|
+
|
|
767
|
+
---
|
|
768
|
+
|
|
769
|
+
### v3.activity.timeline
|
|
770
|
+
|
|
771
|
+
Returns activity events for full-calendar timeline from specified time period and grouped by a field. Allows activity filtering.
|
|
772
|
+
|
|
773
|
+
**Endpoint**: `POST /v3/activity/timeline`
|
|
774
|
+
|
|
775
|
+
**Request Body**:
|
|
776
|
+
```json
|
|
777
|
+
{
|
|
778
|
+
"0": 0, // Start Date as iso date string or timestamp
|
|
779
|
+
"1": 0, // End Date as iso date string or timestamp
|
|
780
|
+
"2": {
|
|
781
|
+
"filter": {},
|
|
782
|
+
"groupBy": {},
|
|
783
|
+
"resourceIds": [],
|
|
784
|
+
"showEmptyResources": true,
|
|
785
|
+
"fieldIds": [],
|
|
786
|
+
"activityIds": []
|
|
787
|
+
}
|
|
788
|
+
}
|
|
789
|
+
```
|
|
790
|
+
|
|
791
|
+
---
|
|
792
|
+
|
|
793
|
+
### v3.activity.kanban.load
|
|
794
|
+
|
|
795
|
+
**Endpoint**: `POST /v3/activity/kanban/load`
|
|
796
|
+
|
|
797
|
+
**Request Body**:
|
|
798
|
+
```json
|
|
799
|
+
{
|
|
800
|
+
"0": "stringstringstringstring" // Activity ID
|
|
801
|
+
}
|
|
802
|
+
```
|
|
803
|
+
|
|
804
|
+
---
|
|
805
|
+
|
|
806
|
+
### v3.activity.kanban.list
|
|
807
|
+
|
|
808
|
+
**Endpoint**: `POST /v3/activity/kanban/list`
|
|
809
|
+
|
|
810
|
+
**Request Body**:
|
|
811
|
+
```json
|
|
812
|
+
{
|
|
813
|
+
"0": "stringstringstringstring", // workflowId
|
|
814
|
+
"1": {
|
|
815
|
+
"filter": {},
|
|
816
|
+
"search": "string",
|
|
817
|
+
"limit": 20,
|
|
818
|
+
"page": 1,
|
|
819
|
+
"skip": 1,
|
|
820
|
+
"phase": "stringstringstringstring",
|
|
821
|
+
"includeUsers": true,
|
|
822
|
+
"includeTeams": true
|
|
823
|
+
}
|
|
824
|
+
}
|
|
825
|
+
```
|
|
826
|
+
|
|
827
|
+
---
|
|
828
|
+
|
|
829
|
+
## Common Response Format
|
|
830
|
+
|
|
831
|
+
Most endpoints return responses in this format:
|
|
832
|
+
|
|
833
|
+
```json
|
|
834
|
+
{
|
|
835
|
+
"code": 0,
|
|
836
|
+
"msg": "string",
|
|
837
|
+
"details": {},
|
|
838
|
+
"debug": null
|
|
839
|
+
}
|
|
840
|
+
```
|
|
841
|
+
|
|
842
|
+
- `code: 0` indicates success
|
|
843
|
+
- `code: 403` indicates error/permission denied
|
|
844
|
+
- `details` contains the actual response data
|
|
845
|
+
- `debug` may contain debugging information
|