@vibexp/api-client 0.1.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.
- package/LICENSE +21 -0
- package/README.md +93 -0
- package/dist/axios/client/client.gen.d.ts +2 -0
- package/dist/axios/client/client.gen.js +130 -0
- package/dist/axios/client/index.d.ts +10 -0
- package/dist/axios/client/index.js +6 -0
- package/dist/axios/client/types.gen.d.ts +87 -0
- package/dist/axios/client/types.gen.js +2 -0
- package/dist/axios/client/utils.gen.d.ts +14 -0
- package/dist/axios/client/utils.gen.js +168 -0
- package/dist/axios/client.gen.d.ts +12 -0
- package/dist/axios/client.gen.js +3 -0
- package/dist/axios/core/auth.gen.d.ts +25 -0
- package/dist/axios/core/auth.gen.js +14 -0
- package/dist/axios/core/bodySerializer.gen.d.ts +25 -0
- package/dist/axios/core/bodySerializer.gen.js +57 -0
- package/dist/axios/core/params.gen.d.ts +43 -0
- package/dist/axios/core/params.gen.js +100 -0
- package/dist/axios/core/pathSerializer.gen.d.ts +33 -0
- package/dist/axios/core/pathSerializer.gen.js +106 -0
- package/dist/axios/core/queryKeySerializer.gen.d.ts +18 -0
- package/dist/axios/core/queryKeySerializer.gen.js +92 -0
- package/dist/axios/core/serverSentEvents.gen.d.ts +71 -0
- package/dist/axios/core/serverSentEvents.gen.js +132 -0
- package/dist/axios/core/types.gen.d.ts +83 -0
- package/dist/axios/core/types.gen.js +2 -0
- package/dist/axios/core/utils.gen.d.ts +19 -0
- package/dist/axios/core/utils.gen.js +87 -0
- package/dist/axios/index.d.ts +2 -0
- package/dist/axios/index.js +2 -0
- package/dist/axios/sdk.gen.d.ts +1391 -0
- package/dist/axios/sdk.gen.js +3600 -0
- package/dist/axios/types.gen.d.ts +11043 -0
- package/dist/axios/types.gen.js +2 -0
- package/dist/axios-entry.d.ts +2 -0
- package/dist/axios-entry.js +6 -0
- package/dist/index.d.ts +15 -0
- package/dist/index.js +17 -0
- package/dist/schema.d.ts +18671 -0
- package/dist/schema.js +5 -0
- package/package.json +51 -0
|
@@ -0,0 +1,3600 @@
|
|
|
1
|
+
// This file is auto-generated by @hey-api/openapi-ts
|
|
2
|
+
import { formDataBodySerializer } from './client';
|
|
3
|
+
import { client } from './client.gen';
|
|
4
|
+
/**
|
|
5
|
+
* Health ping endpoint
|
|
6
|
+
*
|
|
7
|
+
* Simple endpoint to check if the service is running
|
|
8
|
+
*/
|
|
9
|
+
export const ping = (options) => (options?.client ?? client).get({
|
|
10
|
+
responseType: 'text',
|
|
11
|
+
url: '/ping',
|
|
12
|
+
...options
|
|
13
|
+
});
|
|
14
|
+
/**
|
|
15
|
+
* Detailed health check
|
|
16
|
+
*
|
|
17
|
+
* Returns detailed health status of the service
|
|
18
|
+
*/
|
|
19
|
+
export const health = (options) => (options?.client ?? client).get({
|
|
20
|
+
responseType: 'json',
|
|
21
|
+
url: '/health',
|
|
22
|
+
...options
|
|
23
|
+
});
|
|
24
|
+
/**
|
|
25
|
+
* Initiate WorkOS login
|
|
26
|
+
*
|
|
27
|
+
* Generates a CSRF state, stores it in a signed `vx_state` cookie, and returns the
|
|
28
|
+
* WorkOS AuthKit authorization URL. The client should redirect the user to this URL
|
|
29
|
+
* to begin the authentication flow.
|
|
30
|
+
*
|
|
31
|
+
*/
|
|
32
|
+
export const login = (options) => (options?.client ?? client).get({
|
|
33
|
+
responseType: 'json',
|
|
34
|
+
url: '/api/v1/auth/login',
|
|
35
|
+
...options
|
|
36
|
+
});
|
|
37
|
+
/**
|
|
38
|
+
* Handle WorkOS OAuth callback
|
|
39
|
+
*
|
|
40
|
+
* Validates the CSRF `vx_state` cookie, exchanges the authorization code with WorkOS,
|
|
41
|
+
* looks up or creates the user, writes a session cookie, and issues a 302 redirect
|
|
42
|
+
* to the frontend home page. This endpoint is called by the browser after the user
|
|
43
|
+
* authenticates with WorkOS — it does not return a JSON body on success.
|
|
44
|
+
*
|
|
45
|
+
*/
|
|
46
|
+
export const authCallback = (options) => (options.client ?? client).get({ url: '/api/v1/auth/callback', ...options });
|
|
47
|
+
/**
|
|
48
|
+
* Log out current user
|
|
49
|
+
*
|
|
50
|
+
* Clears the session cookie and returns a JSON confirmation. After calling this
|
|
51
|
+
* endpoint the client should discard any cached user state and redirect to the
|
|
52
|
+
* login page.
|
|
53
|
+
*
|
|
54
|
+
*/
|
|
55
|
+
export const logout = (options) => (options?.client ?? client).post({
|
|
56
|
+
responseType: 'json',
|
|
57
|
+
url: '/api/v1/auth/logout',
|
|
58
|
+
...options
|
|
59
|
+
});
|
|
60
|
+
/**
|
|
61
|
+
* Dev login (development only)
|
|
62
|
+
*
|
|
63
|
+
* Creates or retrieves a user by email address and sets a session cookie without
|
|
64
|
+
* going through WorkOS. Only available when the server is running in development
|
|
65
|
+
* mode (`DEV_LOGIN_ENABLED=true`). Returns 404 in all other environments.
|
|
66
|
+
*
|
|
67
|
+
*/
|
|
68
|
+
export const devLogin = (options) => (options.client ?? client).post({
|
|
69
|
+
responseType: 'json',
|
|
70
|
+
url: '/api/v1/auth/dev/login',
|
|
71
|
+
...options,
|
|
72
|
+
headers: {
|
|
73
|
+
'Content-Type': 'application/json',
|
|
74
|
+
...options.headers
|
|
75
|
+
}
|
|
76
|
+
});
|
|
77
|
+
/**
|
|
78
|
+
* Get current user information
|
|
79
|
+
*
|
|
80
|
+
* Returns information about the currently authenticated user. Authentication is
|
|
81
|
+
* verified via the encrypted session cookie (`vx_session`) set during the WorkOS
|
|
82
|
+
* OAuth flow or dev login.
|
|
83
|
+
*
|
|
84
|
+
*/
|
|
85
|
+
export const getMe = (options) => (options?.client ?? client).get({
|
|
86
|
+
responseType: 'json',
|
|
87
|
+
security: [{
|
|
88
|
+
key: 'BearerAuth',
|
|
89
|
+
scheme: 'bearer',
|
|
90
|
+
type: 'http'
|
|
91
|
+
}],
|
|
92
|
+
url: '/api/v1/auth/me',
|
|
93
|
+
...options
|
|
94
|
+
});
|
|
95
|
+
/**
|
|
96
|
+
* List API keys
|
|
97
|
+
*
|
|
98
|
+
* Retrieves all API keys for the authenticated user
|
|
99
|
+
*/
|
|
100
|
+
export const listApiKeys = (options) => (options?.client ?? client).get({
|
|
101
|
+
responseType: 'json',
|
|
102
|
+
security: [{
|
|
103
|
+
key: 'BearerAuth',
|
|
104
|
+
scheme: 'bearer',
|
|
105
|
+
type: 'http'
|
|
106
|
+
}],
|
|
107
|
+
url: '/api/v1/api-keys',
|
|
108
|
+
...options
|
|
109
|
+
});
|
|
110
|
+
/**
|
|
111
|
+
* Create new API key
|
|
112
|
+
*
|
|
113
|
+
* Creates a new API key for the authenticated user
|
|
114
|
+
*/
|
|
115
|
+
export const createApiKey = (options) => (options.client ?? client).post({
|
|
116
|
+
responseType: 'json',
|
|
117
|
+
security: [{
|
|
118
|
+
key: 'BearerAuth',
|
|
119
|
+
scheme: 'bearer',
|
|
120
|
+
type: 'http'
|
|
121
|
+
}],
|
|
122
|
+
url: '/api/v1/api-keys',
|
|
123
|
+
...options,
|
|
124
|
+
headers: {
|
|
125
|
+
'Content-Type': 'application/json',
|
|
126
|
+
...options.headers
|
|
127
|
+
}
|
|
128
|
+
});
|
|
129
|
+
/**
|
|
130
|
+
* Delete API key
|
|
131
|
+
*
|
|
132
|
+
* Deletes an API key by ID
|
|
133
|
+
*/
|
|
134
|
+
export const deleteApiKey = (options) => (options.client ?? client).delete({
|
|
135
|
+
responseType: 'json',
|
|
136
|
+
security: [{
|
|
137
|
+
key: 'BearerAuth',
|
|
138
|
+
scheme: 'bearer',
|
|
139
|
+
type: 'http'
|
|
140
|
+
}],
|
|
141
|
+
url: '/api/v1/api-keys/{id}',
|
|
142
|
+
...options
|
|
143
|
+
});
|
|
144
|
+
/**
|
|
145
|
+
* List API keys (Settings)
|
|
146
|
+
*
|
|
147
|
+
* Retrieves all API keys for the authenticated user (settings route)
|
|
148
|
+
*/
|
|
149
|
+
export const listApiKeysSettings = (options) => (options?.client ?? client).get({
|
|
150
|
+
responseType: 'json',
|
|
151
|
+
security: [{
|
|
152
|
+
key: 'BearerAuth',
|
|
153
|
+
scheme: 'bearer',
|
|
154
|
+
type: 'http'
|
|
155
|
+
}],
|
|
156
|
+
url: '/api/v1/settings/api-keys',
|
|
157
|
+
...options
|
|
158
|
+
});
|
|
159
|
+
/**
|
|
160
|
+
* Create new API key (Settings)
|
|
161
|
+
*
|
|
162
|
+
* Creates a new API key for the authenticated user (settings route)
|
|
163
|
+
*/
|
|
164
|
+
export const createApiKeySettings = (options) => (options.client ?? client).post({
|
|
165
|
+
responseType: 'json',
|
|
166
|
+
security: [{
|
|
167
|
+
key: 'BearerAuth',
|
|
168
|
+
scheme: 'bearer',
|
|
169
|
+
type: 'http'
|
|
170
|
+
}],
|
|
171
|
+
url: '/api/v1/settings/api-keys',
|
|
172
|
+
...options,
|
|
173
|
+
headers: {
|
|
174
|
+
'Content-Type': 'application/json',
|
|
175
|
+
...options.headers
|
|
176
|
+
}
|
|
177
|
+
});
|
|
178
|
+
/**
|
|
179
|
+
* Delete API key (Settings)
|
|
180
|
+
*
|
|
181
|
+
* Deletes an API key by ID (settings route)
|
|
182
|
+
*/
|
|
183
|
+
export const deleteApiKeySettings = (options) => (options.client ?? client).delete({
|
|
184
|
+
responseType: 'json',
|
|
185
|
+
security: [{
|
|
186
|
+
key: 'BearerAuth',
|
|
187
|
+
scheme: 'bearer',
|
|
188
|
+
type: 'http'
|
|
189
|
+
}],
|
|
190
|
+
url: '/api/v1/settings/api-keys/{id}',
|
|
191
|
+
...options
|
|
192
|
+
});
|
|
193
|
+
/**
|
|
194
|
+
* Submit support request
|
|
195
|
+
*
|
|
196
|
+
* Submit a support request from an authenticated user. The request is sent to the VibeXP support team
|
|
197
|
+
* via email. Optionally, an acknowledgement email can be sent to the user.
|
|
198
|
+
*
|
|
199
|
+
*/
|
|
200
|
+
export const submitSupportRequest = (options) => (options.client ?? client).post({
|
|
201
|
+
responseType: 'json',
|
|
202
|
+
security: [{
|
|
203
|
+
key: 'BearerAuth',
|
|
204
|
+
scheme: 'bearer',
|
|
205
|
+
type: 'http'
|
|
206
|
+
}],
|
|
207
|
+
url: '/api/v1/support/message',
|
|
208
|
+
...options,
|
|
209
|
+
headers: {
|
|
210
|
+
'Content-Type': 'application/json',
|
|
211
|
+
...options.headers
|
|
212
|
+
}
|
|
213
|
+
});
|
|
214
|
+
/**
|
|
215
|
+
* List artifacts
|
|
216
|
+
*
|
|
217
|
+
* Retrieves all artifacts for the specified team with optional filtering
|
|
218
|
+
*/
|
|
219
|
+
export const listArtifacts = (options) => (options.client ?? client).get({
|
|
220
|
+
responseType: 'json',
|
|
221
|
+
security: [{
|
|
222
|
+
key: 'BearerAuth',
|
|
223
|
+
scheme: 'bearer',
|
|
224
|
+
type: 'http'
|
|
225
|
+
}],
|
|
226
|
+
url: '/api/v1/{team_id}/artifacts',
|
|
227
|
+
...options
|
|
228
|
+
});
|
|
229
|
+
/**
|
|
230
|
+
* Create new artifact
|
|
231
|
+
*
|
|
232
|
+
* Creates a new artifact for the authenticated user within the specified team
|
|
233
|
+
*/
|
|
234
|
+
export const createArtifact = (options) => (options.client ?? client).post({
|
|
235
|
+
responseType: 'json',
|
|
236
|
+
security: [{
|
|
237
|
+
key: 'BearerAuth',
|
|
238
|
+
scheme: 'bearer',
|
|
239
|
+
type: 'http'
|
|
240
|
+
}],
|
|
241
|
+
url: '/api/v1/{team_id}/artifacts',
|
|
242
|
+
...options,
|
|
243
|
+
headers: {
|
|
244
|
+
'Content-Type': 'application/json',
|
|
245
|
+
...options.headers
|
|
246
|
+
}
|
|
247
|
+
});
|
|
248
|
+
/**
|
|
249
|
+
* Get artifact statistics
|
|
250
|
+
*
|
|
251
|
+
* Returns statistics about artifacts for the specified team
|
|
252
|
+
*/
|
|
253
|
+
export const getArtifactStats = (options) => (options.client ?? client).get({
|
|
254
|
+
responseType: 'json',
|
|
255
|
+
security: [{
|
|
256
|
+
key: 'BearerAuth',
|
|
257
|
+
scheme: 'bearer',
|
|
258
|
+
type: 'http'
|
|
259
|
+
}],
|
|
260
|
+
url: '/api/v1/{team_id}/artifacts/stats',
|
|
261
|
+
...options
|
|
262
|
+
});
|
|
263
|
+
/**
|
|
264
|
+
* List artifacts by project
|
|
265
|
+
*
|
|
266
|
+
* Retrieves artifacts for a specific project within the specified team
|
|
267
|
+
*/
|
|
268
|
+
export const listArtifactsByProject = (options) => (options.client ?? client).get({
|
|
269
|
+
responseType: 'json',
|
|
270
|
+
security: [{
|
|
271
|
+
key: 'BearerAuth',
|
|
272
|
+
scheme: 'bearer',
|
|
273
|
+
type: 'http'
|
|
274
|
+
}],
|
|
275
|
+
url: '/api/v1/{team_id}/artifacts/{project_id}',
|
|
276
|
+
...options
|
|
277
|
+
});
|
|
278
|
+
/**
|
|
279
|
+
* Delete artifact by project and slug
|
|
280
|
+
*
|
|
281
|
+
* Deletes a specific artifact by project ID and slug within the specified team
|
|
282
|
+
*/
|
|
283
|
+
export const deleteArtifact = (options) => (options.client ?? client).delete({
|
|
284
|
+
security: [{
|
|
285
|
+
key: 'BearerAuth',
|
|
286
|
+
scheme: 'bearer',
|
|
287
|
+
type: 'http'
|
|
288
|
+
}],
|
|
289
|
+
url: '/api/v1/{team_id}/artifacts/{project_id}/{slug}',
|
|
290
|
+
...options
|
|
291
|
+
});
|
|
292
|
+
/**
|
|
293
|
+
* Get artifact by project and slug
|
|
294
|
+
*
|
|
295
|
+
* Retrieves a specific artifact by project ID and slug within the specified team
|
|
296
|
+
*/
|
|
297
|
+
export const getArtifact = (options) => (options.client ?? client).get({
|
|
298
|
+
responseType: 'json',
|
|
299
|
+
security: [{
|
|
300
|
+
key: 'BearerAuth',
|
|
301
|
+
scheme: 'bearer',
|
|
302
|
+
type: 'http'
|
|
303
|
+
}],
|
|
304
|
+
url: '/api/v1/{team_id}/artifacts/{project_id}/{slug}',
|
|
305
|
+
...options
|
|
306
|
+
});
|
|
307
|
+
/**
|
|
308
|
+
* Update artifact by project and slug
|
|
309
|
+
*
|
|
310
|
+
* Updates a specific artifact by project ID and slug within the specified team
|
|
311
|
+
*/
|
|
312
|
+
export const updateArtifact = (options) => (options.client ?? client).put({
|
|
313
|
+
responseType: 'json',
|
|
314
|
+
security: [{
|
|
315
|
+
key: 'BearerAuth',
|
|
316
|
+
scheme: 'bearer',
|
|
317
|
+
type: 'http'
|
|
318
|
+
}],
|
|
319
|
+
url: '/api/v1/{team_id}/artifacts/{project_id}/{slug}',
|
|
320
|
+
...options,
|
|
321
|
+
headers: {
|
|
322
|
+
'Content-Type': 'application/json',
|
|
323
|
+
...options.headers
|
|
324
|
+
}
|
|
325
|
+
});
|
|
326
|
+
/**
|
|
327
|
+
* List attachments for an owner
|
|
328
|
+
*
|
|
329
|
+
* Returns all attachments for the resource identified by the `owner_type` and `owner_id` query parameters, newest first, plus their combined size.
|
|
330
|
+
*
|
|
331
|
+
*/
|
|
332
|
+
export const listAttachments = (options) => (options.client ?? client).get({
|
|
333
|
+
responseType: 'json',
|
|
334
|
+
security: [{
|
|
335
|
+
key: 'BearerAuth',
|
|
336
|
+
scheme: 'bearer',
|
|
337
|
+
type: 'http'
|
|
338
|
+
}],
|
|
339
|
+
url: '/api/v1/{team_id}/attachments',
|
|
340
|
+
...options
|
|
341
|
+
});
|
|
342
|
+
/**
|
|
343
|
+
* Upload an attachment
|
|
344
|
+
*
|
|
345
|
+
* Uploads a single file (multipart field `file`) as an attachment on the resource identified by `owner_type` + `owner_id`. The owner_type must have a registered authorizer (currently `artifact`, `prompt`, `blueprint`); an unsupported owner_type returns 404. Enforces a 5 MB per-file limit, a 10 MB cumulative limit per owner, and a safe file-type allowlist.
|
|
346
|
+
*
|
|
347
|
+
*/
|
|
348
|
+
export const uploadAttachment = (options) => (options.client ?? client).post({
|
|
349
|
+
...formDataBodySerializer,
|
|
350
|
+
responseType: 'json',
|
|
351
|
+
security: [{
|
|
352
|
+
key: 'BearerAuth',
|
|
353
|
+
scheme: 'bearer',
|
|
354
|
+
type: 'http'
|
|
355
|
+
}],
|
|
356
|
+
url: '/api/v1/{team_id}/attachments',
|
|
357
|
+
...options,
|
|
358
|
+
headers: {
|
|
359
|
+
'Content-Type': null,
|
|
360
|
+
...options.headers
|
|
361
|
+
}
|
|
362
|
+
});
|
|
363
|
+
/**
|
|
364
|
+
* Delete an attachment
|
|
365
|
+
*
|
|
366
|
+
* Deletes the attachment metadata row and the stored object. The attachment id is sufficient; its owner is read from the stored row and authorized via the owner authorizer registry.
|
|
367
|
+
*
|
|
368
|
+
*/
|
|
369
|
+
export const deleteAttachment = (options) => (options.client ?? client).delete({
|
|
370
|
+
security: [{
|
|
371
|
+
key: 'BearerAuth',
|
|
372
|
+
scheme: 'bearer',
|
|
373
|
+
type: 'http'
|
|
374
|
+
}],
|
|
375
|
+
url: '/api/v1/{team_id}/attachments/{id}',
|
|
376
|
+
...options
|
|
377
|
+
});
|
|
378
|
+
/**
|
|
379
|
+
* Download an attachment
|
|
380
|
+
*
|
|
381
|
+
* Streams the attachment file as a download (Content-Disposition: attachment). The attachment id is sufficient; its owner is read from the stored row and authorized via the owner authorizer registry.
|
|
382
|
+
*
|
|
383
|
+
*/
|
|
384
|
+
export const downloadAttachment = (options) => (options.client ?? client).get({
|
|
385
|
+
responseType: 'blob',
|
|
386
|
+
security: [{
|
|
387
|
+
key: 'BearerAuth',
|
|
388
|
+
scheme: 'bearer',
|
|
389
|
+
type: 'http'
|
|
390
|
+
}],
|
|
391
|
+
url: '/api/v1/{team_id}/attachments/{id}',
|
|
392
|
+
...options
|
|
393
|
+
});
|
|
394
|
+
/**
|
|
395
|
+
* List attachments for an artifact
|
|
396
|
+
*
|
|
397
|
+
* Returns all attachments on the artifact, newest first, plus their combined size.
|
|
398
|
+
*
|
|
399
|
+
* @deprecated
|
|
400
|
+
*/
|
|
401
|
+
export const listArtifactAttachments = (options) => (options.client ?? client).get({
|
|
402
|
+
responseType: 'json',
|
|
403
|
+
security: [{
|
|
404
|
+
key: 'BearerAuth',
|
|
405
|
+
scheme: 'bearer',
|
|
406
|
+
type: 'http'
|
|
407
|
+
}],
|
|
408
|
+
url: '/api/v1/{team_id}/artifacts/{project_id}/{slug}/attachments',
|
|
409
|
+
...options
|
|
410
|
+
});
|
|
411
|
+
/**
|
|
412
|
+
* Upload an attachment to an artifact
|
|
413
|
+
*
|
|
414
|
+
* Uploads a single file (multipart field `file`) as an attachment on the artifact. Enforces a 5 MB per-file limit, a 10 MB cumulative limit per artifact, and a safe file-type allowlist.
|
|
415
|
+
*
|
|
416
|
+
*
|
|
417
|
+
* @deprecated
|
|
418
|
+
*/
|
|
419
|
+
export const uploadArtifactAttachment = (options) => (options.client ?? client).post({
|
|
420
|
+
...formDataBodySerializer,
|
|
421
|
+
responseType: 'json',
|
|
422
|
+
security: [{
|
|
423
|
+
key: 'BearerAuth',
|
|
424
|
+
scheme: 'bearer',
|
|
425
|
+
type: 'http'
|
|
426
|
+
}],
|
|
427
|
+
url: '/api/v1/{team_id}/artifacts/{project_id}/{slug}/attachments',
|
|
428
|
+
...options,
|
|
429
|
+
headers: {
|
|
430
|
+
'Content-Type': null,
|
|
431
|
+
...options.headers
|
|
432
|
+
}
|
|
433
|
+
});
|
|
434
|
+
/**
|
|
435
|
+
* Delete an artifact attachment
|
|
436
|
+
*
|
|
437
|
+
* Deletes the attachment metadata row and the stored object.
|
|
438
|
+
*
|
|
439
|
+
* @deprecated
|
|
440
|
+
*/
|
|
441
|
+
export const deleteArtifactAttachment = (options) => (options.client ?? client).delete({
|
|
442
|
+
security: [{
|
|
443
|
+
key: 'BearerAuth',
|
|
444
|
+
scheme: 'bearer',
|
|
445
|
+
type: 'http'
|
|
446
|
+
}],
|
|
447
|
+
url: '/api/v1/{team_id}/artifacts/{project_id}/{slug}/attachments/{id}',
|
|
448
|
+
...options
|
|
449
|
+
});
|
|
450
|
+
/**
|
|
451
|
+
* Download an artifact attachment
|
|
452
|
+
*
|
|
453
|
+
* Streams the attachment file as a download (Content-Disposition attachment).
|
|
454
|
+
*
|
|
455
|
+
* @deprecated
|
|
456
|
+
*/
|
|
457
|
+
export const downloadArtifactAttachment = (options) => (options.client ?? client).get({
|
|
458
|
+
responseType: 'blob',
|
|
459
|
+
security: [{
|
|
460
|
+
key: 'BearerAuth',
|
|
461
|
+
scheme: 'bearer',
|
|
462
|
+
type: 'http'
|
|
463
|
+
}],
|
|
464
|
+
url: '/api/v1/{team_id}/artifacts/{project_id}/{slug}/attachments/{id}',
|
|
465
|
+
...options
|
|
466
|
+
});
|
|
467
|
+
/**
|
|
468
|
+
* List artifact content versions
|
|
469
|
+
*
|
|
470
|
+
* Returns the content-version history (newest first) for an artifact
|
|
471
|
+
*/
|
|
472
|
+
export const listArtifactVersions = (options) => (options.client ?? client).get({
|
|
473
|
+
responseType: 'json',
|
|
474
|
+
security: [{
|
|
475
|
+
key: 'BearerAuth',
|
|
476
|
+
scheme: 'bearer',
|
|
477
|
+
type: 'http'
|
|
478
|
+
}],
|
|
479
|
+
url: '/api/v1/{team_id}/artifacts/{project_id}/{slug}/versions',
|
|
480
|
+
...options
|
|
481
|
+
});
|
|
482
|
+
/**
|
|
483
|
+
* Get a specific artifact content version
|
|
484
|
+
*
|
|
485
|
+
* Returns a single content-version snapshot of an artifact by version number
|
|
486
|
+
*/
|
|
487
|
+
export const getArtifactVersion = (options) => (options.client ?? client).get({
|
|
488
|
+
responseType: 'json',
|
|
489
|
+
security: [{
|
|
490
|
+
key: 'BearerAuth',
|
|
491
|
+
scheme: 'bearer',
|
|
492
|
+
type: 'http'
|
|
493
|
+
}],
|
|
494
|
+
url: '/api/v1/{team_id}/artifacts/{project_id}/{slug}/versions/{version_number}',
|
|
495
|
+
...options
|
|
496
|
+
});
|
|
497
|
+
/**
|
|
498
|
+
* Restore an artifact to a content version
|
|
499
|
+
*
|
|
500
|
+
* Restores the artifact's content to the given version. The pre-restore content is snapshotted as a new version. Returns the updated artifact.
|
|
501
|
+
*/
|
|
502
|
+
export const restoreArtifactVersion = (options) => (options.client ?? client).post({
|
|
503
|
+
responseType: 'json',
|
|
504
|
+
security: [{
|
|
505
|
+
key: 'BearerAuth',
|
|
506
|
+
scheme: 'bearer',
|
|
507
|
+
type: 'http'
|
|
508
|
+
}],
|
|
509
|
+
url: '/api/v1/{team_id}/artifacts/{project_id}/{slug}/versions/{version_number}/restore',
|
|
510
|
+
...options
|
|
511
|
+
});
|
|
512
|
+
/**
|
|
513
|
+
* Semantic search across team resources
|
|
514
|
+
*
|
|
515
|
+
* Performs a pgvector cosine-similarity semantic search over the team's prompts, artifacts, blueprints and memories, returning relevance-ranked chunk excerpts for RAG retrieval. One result is returned per matching embedding chunk.
|
|
516
|
+
*/
|
|
517
|
+
export const searchTeamResources = (options) => (options.client ?? client).post({
|
|
518
|
+
responseType: 'json',
|
|
519
|
+
security: [{
|
|
520
|
+
key: 'BearerAuth',
|
|
521
|
+
scheme: 'bearer',
|
|
522
|
+
type: 'http'
|
|
523
|
+
}],
|
|
524
|
+
url: '/api/v1/{team_id}/search',
|
|
525
|
+
...options,
|
|
526
|
+
headers: {
|
|
527
|
+
'Content-Type': 'application/json',
|
|
528
|
+
...options.headers
|
|
529
|
+
}
|
|
530
|
+
});
|
|
531
|
+
/**
|
|
532
|
+
* Per-resource daily access metrics
|
|
533
|
+
*
|
|
534
|
+
* Returns a zero-filled daily access timeseries for a single resource, grouped by source (web, cli, mcp, api), for the resource detail-page chart. Every day in the requested range appears even when its count is zero. Free-tier accessible to team members.
|
|
535
|
+
*/
|
|
536
|
+
export const getResourceAccessMetrics = (options) => (options.client ?? client).get({
|
|
537
|
+
responseType: 'json',
|
|
538
|
+
security: [{
|
|
539
|
+
key: 'BearerAuth',
|
|
540
|
+
scheme: 'bearer',
|
|
541
|
+
type: 'http'
|
|
542
|
+
}],
|
|
543
|
+
url: '/api/v1/{team_id}/resource-access-metrics',
|
|
544
|
+
...options
|
|
545
|
+
});
|
|
546
|
+
/**
|
|
547
|
+
* List memories
|
|
548
|
+
*
|
|
549
|
+
* Retrieves all memories for the authenticated user within the specified team with optional filtering
|
|
550
|
+
*/
|
|
551
|
+
export const listMemories = (options) => (options.client ?? client).get({
|
|
552
|
+
responseType: 'json',
|
|
553
|
+
security: [{
|
|
554
|
+
key: 'BearerAuth',
|
|
555
|
+
scheme: 'bearer',
|
|
556
|
+
type: 'http'
|
|
557
|
+
}],
|
|
558
|
+
url: '/api/v1/{team_id}/memories',
|
|
559
|
+
...options
|
|
560
|
+
});
|
|
561
|
+
/**
|
|
562
|
+
* Create new memory
|
|
563
|
+
*
|
|
564
|
+
* Creates a new memory for the authenticated user within the specified team
|
|
565
|
+
*/
|
|
566
|
+
export const createMemory = (options) => (options.client ?? client).post({
|
|
567
|
+
responseType: 'json',
|
|
568
|
+
security: [{
|
|
569
|
+
key: 'BearerAuth',
|
|
570
|
+
scheme: 'bearer',
|
|
571
|
+
type: 'http'
|
|
572
|
+
}],
|
|
573
|
+
url: '/api/v1/{team_id}/memories',
|
|
574
|
+
...options,
|
|
575
|
+
headers: {
|
|
576
|
+
'Content-Type': 'application/json',
|
|
577
|
+
...options.headers
|
|
578
|
+
}
|
|
579
|
+
});
|
|
580
|
+
/**
|
|
581
|
+
* Search memories by metadata
|
|
582
|
+
*
|
|
583
|
+
* Searches memories by specific metadata key-value pairs within the specified team
|
|
584
|
+
*/
|
|
585
|
+
export const searchMemoriesByMetadata = (options) => (options.client ?? client).get({
|
|
586
|
+
responseType: 'json',
|
|
587
|
+
security: [{
|
|
588
|
+
key: 'BearerAuth',
|
|
589
|
+
scheme: 'bearer',
|
|
590
|
+
type: 'http'
|
|
591
|
+
}],
|
|
592
|
+
url: '/api/v1/{team_id}/memories/search',
|
|
593
|
+
...options
|
|
594
|
+
});
|
|
595
|
+
/**
|
|
596
|
+
* Delete memory by ID
|
|
597
|
+
*
|
|
598
|
+
* Deletes a specific memory by its ID within the specified team
|
|
599
|
+
*/
|
|
600
|
+
export const deleteMemory = (options) => (options.client ?? client).delete({
|
|
601
|
+
security: [{
|
|
602
|
+
key: 'BearerAuth',
|
|
603
|
+
scheme: 'bearer',
|
|
604
|
+
type: 'http'
|
|
605
|
+
}],
|
|
606
|
+
url: '/api/v1/{team_id}/memories/{id}',
|
|
607
|
+
...options
|
|
608
|
+
});
|
|
609
|
+
/**
|
|
610
|
+
* Get memory by ID
|
|
611
|
+
*
|
|
612
|
+
* Retrieves a specific memory by its ID within the specified team
|
|
613
|
+
*/
|
|
614
|
+
export const getMemory = (options) => (options.client ?? client).get({
|
|
615
|
+
responseType: 'json',
|
|
616
|
+
security: [{
|
|
617
|
+
key: 'BearerAuth',
|
|
618
|
+
scheme: 'bearer',
|
|
619
|
+
type: 'http'
|
|
620
|
+
}],
|
|
621
|
+
url: '/api/v1/{team_id}/memories/{id}',
|
|
622
|
+
...options
|
|
623
|
+
});
|
|
624
|
+
/**
|
|
625
|
+
* Update memory by ID
|
|
626
|
+
*
|
|
627
|
+
* Updates a specific memory by its ID within the specified team
|
|
628
|
+
*/
|
|
629
|
+
export const updateMemory = (options) => (options.client ?? client).put({
|
|
630
|
+
responseType: 'json',
|
|
631
|
+
security: [{
|
|
632
|
+
key: 'BearerAuth',
|
|
633
|
+
scheme: 'bearer',
|
|
634
|
+
type: 'http'
|
|
635
|
+
}],
|
|
636
|
+
url: '/api/v1/{team_id}/memories/{id}',
|
|
637
|
+
...options,
|
|
638
|
+
headers: {
|
|
639
|
+
'Content-Type': 'application/json',
|
|
640
|
+
...options.headers
|
|
641
|
+
}
|
|
642
|
+
});
|
|
643
|
+
/**
|
|
644
|
+
* List memory content versions
|
|
645
|
+
*
|
|
646
|
+
* Returns the content-version history (newest first) for a memory
|
|
647
|
+
*/
|
|
648
|
+
export const listMemoryVersions = (options) => (options.client ?? client).get({
|
|
649
|
+
responseType: 'json',
|
|
650
|
+
security: [{
|
|
651
|
+
key: 'BearerAuth',
|
|
652
|
+
scheme: 'bearer',
|
|
653
|
+
type: 'http'
|
|
654
|
+
}],
|
|
655
|
+
url: '/api/v1/{team_id}/memories/{id}/versions',
|
|
656
|
+
...options
|
|
657
|
+
});
|
|
658
|
+
/**
|
|
659
|
+
* Get a specific memory content version
|
|
660
|
+
*
|
|
661
|
+
* Returns a single content-version snapshot of a memory by version number
|
|
662
|
+
*/
|
|
663
|
+
export const getMemoryVersion = (options) => (options.client ?? client).get({
|
|
664
|
+
responseType: 'json',
|
|
665
|
+
security: [{
|
|
666
|
+
key: 'BearerAuth',
|
|
667
|
+
scheme: 'bearer',
|
|
668
|
+
type: 'http'
|
|
669
|
+
}],
|
|
670
|
+
url: '/api/v1/{team_id}/memories/{id}/versions/{version_number}',
|
|
671
|
+
...options
|
|
672
|
+
});
|
|
673
|
+
/**
|
|
674
|
+
* Restore a memory to a content version
|
|
675
|
+
*
|
|
676
|
+
* Restores the memory's text to the given version. The pre-restore text is snapshotted as a new version. Returns the updated memory.
|
|
677
|
+
*/
|
|
678
|
+
export const restoreMemoryVersion = (options) => (options.client ?? client).post({
|
|
679
|
+
responseType: 'json',
|
|
680
|
+
security: [{
|
|
681
|
+
key: 'BearerAuth',
|
|
682
|
+
scheme: 'bearer',
|
|
683
|
+
type: 'http'
|
|
684
|
+
}],
|
|
685
|
+
url: '/api/v1/{team_id}/memories/{id}/versions/{version_number}/restore',
|
|
686
|
+
...options
|
|
687
|
+
});
|
|
688
|
+
/**
|
|
689
|
+
* Get project statistics
|
|
690
|
+
*
|
|
691
|
+
* Returns resource counts for a specific project within the specified team.
|
|
692
|
+
*/
|
|
693
|
+
export const getProjectStats = (options) => (options.client ?? client).get({
|
|
694
|
+
responseType: 'json',
|
|
695
|
+
security: [{
|
|
696
|
+
key: 'BearerAuth',
|
|
697
|
+
scheme: 'bearer',
|
|
698
|
+
type: 'http'
|
|
699
|
+
}],
|
|
700
|
+
url: '/api/v1/{team_id}/projects/{slug}/stats',
|
|
701
|
+
...options
|
|
702
|
+
});
|
|
703
|
+
/**
|
|
704
|
+
* Per-project daily resource-creation metrics
|
|
705
|
+
*
|
|
706
|
+
* Returns a zero-filled daily creation timeseries for a single project, counting prompts, artifacts, blueprints, and memories created on each day, for the project detail-page chart. Every day in the requested range appears even when its count is zero. Authorized via team ownership/membership (same boundary as the project stats endpoint).
|
|
707
|
+
*/
|
|
708
|
+
export const getProjectResourceCreationMetrics = (options) => (options.client ?? client).get({
|
|
709
|
+
responseType: 'json',
|
|
710
|
+
security: [{
|
|
711
|
+
key: 'BearerAuth',
|
|
712
|
+
scheme: 'bearer',
|
|
713
|
+
type: 'http'
|
|
714
|
+
}],
|
|
715
|
+
url: '/api/v1/{team_id}/projects/{slug}/resource-creation-metrics',
|
|
716
|
+
...options
|
|
717
|
+
});
|
|
718
|
+
/**
|
|
719
|
+
* List spec libraries
|
|
720
|
+
*
|
|
721
|
+
* Retrieves all spec libraries for the authenticated user with optional filtering and pagination
|
|
722
|
+
*/
|
|
723
|
+
export const listSpecLibraries = (options) => (options.client ?? client).get({
|
|
724
|
+
responseType: 'json',
|
|
725
|
+
security: [{
|
|
726
|
+
key: 'BearerAuth',
|
|
727
|
+
scheme: 'bearer',
|
|
728
|
+
type: 'http'
|
|
729
|
+
}],
|
|
730
|
+
url: '/api/v1/{team_id}/blueprints',
|
|
731
|
+
...options
|
|
732
|
+
});
|
|
733
|
+
/**
|
|
734
|
+
* Create new spec library
|
|
735
|
+
*
|
|
736
|
+
* Creates a new spec library for the authenticated user. Spec libraries are used to store API specifications (OpenAPI, AsyncAPI, etc.) and other technical documentation.
|
|
737
|
+
*/
|
|
738
|
+
export const createBlueprint = (options) => (options.client ?? client).post({
|
|
739
|
+
responseType: 'json',
|
|
740
|
+
security: [{
|
|
741
|
+
key: 'BearerAuth',
|
|
742
|
+
scheme: 'bearer',
|
|
743
|
+
type: 'http'
|
|
744
|
+
}],
|
|
745
|
+
url: '/api/v1/{team_id}/blueprints',
|
|
746
|
+
...options,
|
|
747
|
+
headers: {
|
|
748
|
+
'Content-Type': 'application/json',
|
|
749
|
+
...options.headers
|
|
750
|
+
}
|
|
751
|
+
});
|
|
752
|
+
/**
|
|
753
|
+
* Get spec library statistics
|
|
754
|
+
*
|
|
755
|
+
* Returns statistics about user's spec libraries including counts by type, status, and recent additions
|
|
756
|
+
*/
|
|
757
|
+
export const getBlueprintStats = (options) => (options.client ?? client).get({
|
|
758
|
+
responseType: 'json',
|
|
759
|
+
security: [{
|
|
760
|
+
key: 'BearerAuth',
|
|
761
|
+
scheme: 'bearer',
|
|
762
|
+
type: 'http'
|
|
763
|
+
}],
|
|
764
|
+
url: '/api/v1/{team_id}/blueprints/stats',
|
|
765
|
+
...options
|
|
766
|
+
});
|
|
767
|
+
/**
|
|
768
|
+
* List spec libraries by project
|
|
769
|
+
*
|
|
770
|
+
* Retrieves spec libraries for a specific project with optional filtering
|
|
771
|
+
*/
|
|
772
|
+
export const listSpecLibrariesByProject = (options) => (options.client ?? client).get({
|
|
773
|
+
responseType: 'json',
|
|
774
|
+
security: [{
|
|
775
|
+
key: 'BearerAuth',
|
|
776
|
+
scheme: 'bearer',
|
|
777
|
+
type: 'http'
|
|
778
|
+
}],
|
|
779
|
+
url: '/api/v1/{team_id}/blueprints/{project_id}',
|
|
780
|
+
...options
|
|
781
|
+
});
|
|
782
|
+
/**
|
|
783
|
+
* Delete spec library by project and slug
|
|
784
|
+
*
|
|
785
|
+
* Deletes a specific spec library by project name and slug. This also deletes associated embeddings.
|
|
786
|
+
*/
|
|
787
|
+
export const deleteBlueprint = (options) => (options.client ?? client).delete({
|
|
788
|
+
security: [{
|
|
789
|
+
key: 'BearerAuth',
|
|
790
|
+
scheme: 'bearer',
|
|
791
|
+
type: 'http'
|
|
792
|
+
}],
|
|
793
|
+
url: '/api/v1/{team_id}/blueprints/{project_id}/{slug}',
|
|
794
|
+
...options
|
|
795
|
+
});
|
|
796
|
+
/**
|
|
797
|
+
* Get spec library by project and slug
|
|
798
|
+
*
|
|
799
|
+
* Retrieves a specific spec library by project name and slug
|
|
800
|
+
*/
|
|
801
|
+
export const getBlueprint = (options) => (options.client ?? client).get({
|
|
802
|
+
responseType: 'json',
|
|
803
|
+
security: [{
|
|
804
|
+
key: 'BearerAuth',
|
|
805
|
+
scheme: 'bearer',
|
|
806
|
+
type: 'http'
|
|
807
|
+
}],
|
|
808
|
+
url: '/api/v1/{team_id}/blueprints/{project_id}/{slug}',
|
|
809
|
+
...options
|
|
810
|
+
});
|
|
811
|
+
/**
|
|
812
|
+
* Update spec library by project and slug
|
|
813
|
+
*
|
|
814
|
+
* Updates a specific spec library by project name and slug. All fields in the request body are optional - only provided fields will be updated.
|
|
815
|
+
*/
|
|
816
|
+
export const updateBlueprint = (options) => (options.client ?? client).put({
|
|
817
|
+
responseType: 'json',
|
|
818
|
+
security: [{
|
|
819
|
+
key: 'BearerAuth',
|
|
820
|
+
scheme: 'bearer',
|
|
821
|
+
type: 'http'
|
|
822
|
+
}],
|
|
823
|
+
url: '/api/v1/{team_id}/blueprints/{project_id}/{slug}',
|
|
824
|
+
...options,
|
|
825
|
+
headers: {
|
|
826
|
+
'Content-Type': 'application/json',
|
|
827
|
+
...options.headers
|
|
828
|
+
}
|
|
829
|
+
});
|
|
830
|
+
/**
|
|
831
|
+
* List blueprint content versions
|
|
832
|
+
*
|
|
833
|
+
* Returns the content-version history (newest first) for a blueprint
|
|
834
|
+
*/
|
|
835
|
+
export const listBlueprintVersions = (options) => (options.client ?? client).get({
|
|
836
|
+
responseType: 'json',
|
|
837
|
+
security: [{
|
|
838
|
+
key: 'BearerAuth',
|
|
839
|
+
scheme: 'bearer',
|
|
840
|
+
type: 'http'
|
|
841
|
+
}],
|
|
842
|
+
url: '/api/v1/{team_id}/blueprints/{project_id}/{slug}/versions',
|
|
843
|
+
...options
|
|
844
|
+
});
|
|
845
|
+
/**
|
|
846
|
+
* Get a specific blueprint content version
|
|
847
|
+
*
|
|
848
|
+
* Returns a single content-version snapshot of a blueprint by version number
|
|
849
|
+
*/
|
|
850
|
+
export const getBlueprintVersion = (options) => (options.client ?? client).get({
|
|
851
|
+
responseType: 'json',
|
|
852
|
+
security: [{
|
|
853
|
+
key: 'BearerAuth',
|
|
854
|
+
scheme: 'bearer',
|
|
855
|
+
type: 'http'
|
|
856
|
+
}],
|
|
857
|
+
url: '/api/v1/{team_id}/blueprints/{project_id}/{slug}/versions/{version_number}',
|
|
858
|
+
...options
|
|
859
|
+
});
|
|
860
|
+
/**
|
|
861
|
+
* Restore a blueprint to a content version
|
|
862
|
+
*
|
|
863
|
+
* Restores the blueprint's content to the given version. The pre-restore content is snapshotted as a new version. Returns the updated blueprint.
|
|
864
|
+
*/
|
|
865
|
+
export const restoreBlueprintVersion = (options) => (options.client ?? client).post({
|
|
866
|
+
responseType: 'json',
|
|
867
|
+
security: [{
|
|
868
|
+
key: 'BearerAuth',
|
|
869
|
+
scheme: 'bearer',
|
|
870
|
+
type: 'http'
|
|
871
|
+
}],
|
|
872
|
+
url: '/api/v1/{team_id}/blueprints/{project_id}/{slug}/versions/{version_number}/restore',
|
|
873
|
+
...options
|
|
874
|
+
});
|
|
875
|
+
/**
|
|
876
|
+
* Delete Claude Code session
|
|
877
|
+
*
|
|
878
|
+
* Deletes a specific Claude Code session and all associated hook data
|
|
879
|
+
*/
|
|
880
|
+
export const deleteClaudeCodeSession = (options) => (options.client ?? client).delete({
|
|
881
|
+
security: [{
|
|
882
|
+
key: 'BearerAuth',
|
|
883
|
+
scheme: 'bearer',
|
|
884
|
+
type: 'http'
|
|
885
|
+
}],
|
|
886
|
+
url: '/api/v1/ai-tools/claude-code/sessions/{session_id}',
|
|
887
|
+
...options
|
|
888
|
+
});
|
|
889
|
+
/**
|
|
890
|
+
* Delete Cursor IDE session
|
|
891
|
+
*
|
|
892
|
+
* Deletes a specific Cursor IDE session and all associated hook data
|
|
893
|
+
*/
|
|
894
|
+
export const deleteCursorIdeSession = (options) => (options.client ?? client).delete({
|
|
895
|
+
security: [{
|
|
896
|
+
key: 'BearerAuth',
|
|
897
|
+
scheme: 'bearer',
|
|
898
|
+
type: 'http'
|
|
899
|
+
}],
|
|
900
|
+
url: '/api/v1/ai-tools/cursor-ide/sessions/{session_id}',
|
|
901
|
+
...options
|
|
902
|
+
});
|
|
903
|
+
/**
|
|
904
|
+
* Get resource usage statistics
|
|
905
|
+
*
|
|
906
|
+
* Returns resource usage information for the authenticated user
|
|
907
|
+
*/
|
|
908
|
+
export const getResourceUsage = (options) => (options?.client ?? client).get({
|
|
909
|
+
responseType: 'json',
|
|
910
|
+
security: [{
|
|
911
|
+
key: 'BearerAuth',
|
|
912
|
+
scheme: 'bearer',
|
|
913
|
+
type: 'http'
|
|
914
|
+
}],
|
|
915
|
+
url: '/api/v1/resource-usage',
|
|
916
|
+
...options
|
|
917
|
+
});
|
|
918
|
+
/**
|
|
919
|
+
* List prompts
|
|
920
|
+
*
|
|
921
|
+
* Retrieves a paginated list of prompts for the specified team with optional filtering.
|
|
922
|
+
*
|
|
923
|
+
*/
|
|
924
|
+
export const listPrompts = (options) => (options.client ?? client).get({
|
|
925
|
+
responseType: 'json',
|
|
926
|
+
security: [{
|
|
927
|
+
key: 'BearerAuth',
|
|
928
|
+
scheme: 'bearer',
|
|
929
|
+
type: 'http'
|
|
930
|
+
}],
|
|
931
|
+
url: '/api/v1/{team_id}/prompts',
|
|
932
|
+
...options
|
|
933
|
+
});
|
|
934
|
+
/**
|
|
935
|
+
* Create a new prompt
|
|
936
|
+
*
|
|
937
|
+
* Creates a new prompt template for the specified team. The prompt can be used to store
|
|
938
|
+
* reusable AI instructions with placeholders and references.
|
|
939
|
+
*
|
|
940
|
+
*/
|
|
941
|
+
export const createPrompt = (options) => (options.client ?? client).post({
|
|
942
|
+
responseType: 'json',
|
|
943
|
+
security: [{
|
|
944
|
+
key: 'BearerAuth',
|
|
945
|
+
scheme: 'bearer',
|
|
946
|
+
type: 'http'
|
|
947
|
+
}],
|
|
948
|
+
url: '/api/v1/{team_id}/prompts',
|
|
949
|
+
...options,
|
|
950
|
+
headers: {
|
|
951
|
+
'Content-Type': 'application/json',
|
|
952
|
+
...options.headers
|
|
953
|
+
}
|
|
954
|
+
});
|
|
955
|
+
/**
|
|
956
|
+
* Get prompt labels
|
|
957
|
+
*
|
|
958
|
+
* Retrieves all unique labels used across prompts for the specified team.
|
|
959
|
+
*
|
|
960
|
+
*/
|
|
961
|
+
export const getPromptLabels = (options) => (options.client ?? client).get({
|
|
962
|
+
responseType: 'json',
|
|
963
|
+
security: [{
|
|
964
|
+
key: 'BearerAuth',
|
|
965
|
+
scheme: 'bearer',
|
|
966
|
+
type: 'http'
|
|
967
|
+
}],
|
|
968
|
+
url: '/api/v1/{team_id}/prompts/labels',
|
|
969
|
+
...options
|
|
970
|
+
});
|
|
971
|
+
/**
|
|
972
|
+
* Delete a prompt
|
|
973
|
+
*
|
|
974
|
+
* Deletes a prompt and its associated embeddings for the specified team.
|
|
975
|
+
*
|
|
976
|
+
*/
|
|
977
|
+
export const deletePrompt = (options) => (options.client ?? client).delete({
|
|
978
|
+
security: [{
|
|
979
|
+
key: 'BearerAuth',
|
|
980
|
+
scheme: 'bearer',
|
|
981
|
+
type: 'http'
|
|
982
|
+
}],
|
|
983
|
+
url: '/api/v1/{team_id}/prompts/{slug}',
|
|
984
|
+
...options
|
|
985
|
+
});
|
|
986
|
+
/**
|
|
987
|
+
* Get a prompt by slug
|
|
988
|
+
*
|
|
989
|
+
* Retrieves a specific prompt by its slug identifier for the specified team.
|
|
990
|
+
*
|
|
991
|
+
*/
|
|
992
|
+
export const getPrompt = (options) => (options.client ?? client).get({
|
|
993
|
+
responseType: 'json',
|
|
994
|
+
security: [{
|
|
995
|
+
key: 'BearerAuth',
|
|
996
|
+
scheme: 'bearer',
|
|
997
|
+
type: 'http'
|
|
998
|
+
}],
|
|
999
|
+
url: '/api/v1/{team_id}/prompts/{slug}',
|
|
1000
|
+
...options
|
|
1001
|
+
});
|
|
1002
|
+
/**
|
|
1003
|
+
* Update a prompt
|
|
1004
|
+
*
|
|
1005
|
+
* Updates an existing prompt for the specified team. All fields are optional.
|
|
1006
|
+
*
|
|
1007
|
+
*/
|
|
1008
|
+
export const updatePrompt = (options) => (options.client ?? client).put({
|
|
1009
|
+
responseType: 'json',
|
|
1010
|
+
security: [{
|
|
1011
|
+
key: 'BearerAuth',
|
|
1012
|
+
scheme: 'bearer',
|
|
1013
|
+
type: 'http'
|
|
1014
|
+
}],
|
|
1015
|
+
url: '/api/v1/{team_id}/prompts/{slug}',
|
|
1016
|
+
...options,
|
|
1017
|
+
headers: {
|
|
1018
|
+
'Content-Type': 'application/json',
|
|
1019
|
+
...options.headers
|
|
1020
|
+
}
|
|
1021
|
+
});
|
|
1022
|
+
/**
|
|
1023
|
+
* Get prompt placeholders
|
|
1024
|
+
*
|
|
1025
|
+
* Extracts and returns all placeholders (e.g., {{variable}}) found in the prompt body.
|
|
1026
|
+
*
|
|
1027
|
+
*/
|
|
1028
|
+
export const getPromptPlaceholders = (options) => (options.client ?? client).get({
|
|
1029
|
+
responseType: 'json',
|
|
1030
|
+
security: [{
|
|
1031
|
+
key: 'BearerAuth',
|
|
1032
|
+
scheme: 'bearer',
|
|
1033
|
+
type: 'http'
|
|
1034
|
+
}],
|
|
1035
|
+
url: '/api/v1/{team_id}/prompts/{slug}/placeholders',
|
|
1036
|
+
...options
|
|
1037
|
+
});
|
|
1038
|
+
/**
|
|
1039
|
+
* Get prompt dependencies
|
|
1040
|
+
*
|
|
1041
|
+
* Returns prompts that reference this prompt using @references syntax.
|
|
1042
|
+
*
|
|
1043
|
+
*/
|
|
1044
|
+
export const getPromptDependencies = (options) => (options.client ?? client).get({
|
|
1045
|
+
responseType: 'json',
|
|
1046
|
+
security: [{
|
|
1047
|
+
key: 'BearerAuth',
|
|
1048
|
+
scheme: 'bearer',
|
|
1049
|
+
type: 'http'
|
|
1050
|
+
}],
|
|
1051
|
+
url: '/api/v1/{team_id}/prompts/{slug}/dependencies',
|
|
1052
|
+
...options
|
|
1053
|
+
});
|
|
1054
|
+
/**
|
|
1055
|
+
* Render a prompt
|
|
1056
|
+
*
|
|
1057
|
+
* Renders a prompt by resolving @references and substituting placeholders with provided values.
|
|
1058
|
+
*
|
|
1059
|
+
*/
|
|
1060
|
+
export const renderPrompt = (options) => (options.client ?? client).post({
|
|
1061
|
+
responseType: 'json',
|
|
1062
|
+
security: [{
|
|
1063
|
+
key: 'BearerAuth',
|
|
1064
|
+
scheme: 'bearer',
|
|
1065
|
+
type: 'http'
|
|
1066
|
+
}],
|
|
1067
|
+
url: '/api/v1/{team_id}/prompts/{slug}/render',
|
|
1068
|
+
...options,
|
|
1069
|
+
headers: {
|
|
1070
|
+
'Content-Type': 'application/json',
|
|
1071
|
+
...options.headers
|
|
1072
|
+
}
|
|
1073
|
+
});
|
|
1074
|
+
/**
|
|
1075
|
+
* Delete prompt share
|
|
1076
|
+
*
|
|
1077
|
+
* Removes the share for a prompt, making it no longer accessible via the shared link
|
|
1078
|
+
*/
|
|
1079
|
+
export const deletePromptShare = (options) => (options.client ?? client).delete({
|
|
1080
|
+
security: [{
|
|
1081
|
+
key: 'BearerAuth',
|
|
1082
|
+
scheme: 'bearer',
|
|
1083
|
+
type: 'http'
|
|
1084
|
+
}],
|
|
1085
|
+
url: '/api/v1/{team_id}/prompts/{slug}/share',
|
|
1086
|
+
...options
|
|
1087
|
+
});
|
|
1088
|
+
/**
|
|
1089
|
+
* Get prompt share details
|
|
1090
|
+
*
|
|
1091
|
+
* Retrieves the share configuration for a prompt
|
|
1092
|
+
*/
|
|
1093
|
+
export const getPromptShare = (options) => (options.client ?? client).get({
|
|
1094
|
+
responseType: 'json',
|
|
1095
|
+
security: [{
|
|
1096
|
+
key: 'BearerAuth',
|
|
1097
|
+
scheme: 'bearer',
|
|
1098
|
+
type: 'http'
|
|
1099
|
+
}],
|
|
1100
|
+
url: '/api/v1/{team_id}/prompts/{slug}/share',
|
|
1101
|
+
...options
|
|
1102
|
+
});
|
|
1103
|
+
/**
|
|
1104
|
+
* Create or update prompt share
|
|
1105
|
+
*
|
|
1106
|
+
* Creates or updates a share for a prompt. Supports two share types:
|
|
1107
|
+
* - `public`: Anyone with the link can access the prompt
|
|
1108
|
+
* - `restricted`: Only specific email addresses can access the prompt
|
|
1109
|
+
*
|
|
1110
|
+
*/
|
|
1111
|
+
export const createPromptShare = (options) => (options.client ?? client).post({
|
|
1112
|
+
responseType: 'json',
|
|
1113
|
+
security: [{
|
|
1114
|
+
key: 'BearerAuth',
|
|
1115
|
+
scheme: 'bearer',
|
|
1116
|
+
type: 'http'
|
|
1117
|
+
}],
|
|
1118
|
+
url: '/api/v1/{team_id}/prompts/{slug}/share',
|
|
1119
|
+
...options,
|
|
1120
|
+
headers: {
|
|
1121
|
+
'Content-Type': 'application/json',
|
|
1122
|
+
...options.headers
|
|
1123
|
+
}
|
|
1124
|
+
});
|
|
1125
|
+
/**
|
|
1126
|
+
* List prompt content versions
|
|
1127
|
+
*
|
|
1128
|
+
* Returns the content-version history (newest first) for a prompt. Each snapshot holds the raw prompt Body template (placeholders and @slug references), not any rendered output.
|
|
1129
|
+
*/
|
|
1130
|
+
export const listPromptVersions = (options) => (options.client ?? client).get({
|
|
1131
|
+
responseType: 'json',
|
|
1132
|
+
security: [{
|
|
1133
|
+
key: 'BearerAuth',
|
|
1134
|
+
scheme: 'bearer',
|
|
1135
|
+
type: 'http'
|
|
1136
|
+
}],
|
|
1137
|
+
url: '/api/v1/{team_id}/prompts/{slug}/versions',
|
|
1138
|
+
...options
|
|
1139
|
+
});
|
|
1140
|
+
/**
|
|
1141
|
+
* Get a specific prompt content version
|
|
1142
|
+
*
|
|
1143
|
+
* Returns a single content-version snapshot of a prompt by version number
|
|
1144
|
+
*/
|
|
1145
|
+
export const getPromptVersion = (options) => (options.client ?? client).get({
|
|
1146
|
+
responseType: 'json',
|
|
1147
|
+
security: [{
|
|
1148
|
+
key: 'BearerAuth',
|
|
1149
|
+
scheme: 'bearer',
|
|
1150
|
+
type: 'http'
|
|
1151
|
+
}],
|
|
1152
|
+
url: '/api/v1/{team_id}/prompts/{slug}/versions/{version_number}',
|
|
1153
|
+
...options
|
|
1154
|
+
});
|
|
1155
|
+
/**
|
|
1156
|
+
* Restore a prompt to a content version
|
|
1157
|
+
*
|
|
1158
|
+
* Restores the prompt's raw Body template to the given version. The pre-restore body is snapshotted as a new version, so restore is non-destructive and preserves placeholders and @slug references. Returns the updated prompt.
|
|
1159
|
+
*/
|
|
1160
|
+
export const restorePromptVersion = (options) => (options.client ?? client).post({
|
|
1161
|
+
responseType: 'json',
|
|
1162
|
+
security: [{
|
|
1163
|
+
key: 'BearerAuth',
|
|
1164
|
+
scheme: 'bearer',
|
|
1165
|
+
type: 'http'
|
|
1166
|
+
}],
|
|
1167
|
+
url: '/api/v1/{team_id}/prompts/{slug}/versions/{version_number}/restore',
|
|
1168
|
+
...options
|
|
1169
|
+
});
|
|
1170
|
+
/**
|
|
1171
|
+
* Get prompt gallery categories
|
|
1172
|
+
*
|
|
1173
|
+
* Retrieves all prompt categories with counts
|
|
1174
|
+
*/
|
|
1175
|
+
export const getPromptGalleryCategories = (options) => (options?.client ?? client).get({
|
|
1176
|
+
responseType: 'json',
|
|
1177
|
+
security: [{
|
|
1178
|
+
key: 'BearerAuth',
|
|
1179
|
+
scheme: 'bearer',
|
|
1180
|
+
type: 'http'
|
|
1181
|
+
}],
|
|
1182
|
+
url: '/api/v1/prompt-gallery/categories',
|
|
1183
|
+
...options
|
|
1184
|
+
});
|
|
1185
|
+
/**
|
|
1186
|
+
* List prompt gallery prompts
|
|
1187
|
+
*
|
|
1188
|
+
* Retrieves prompts from the gallery with optional filtering
|
|
1189
|
+
*/
|
|
1190
|
+
export const listPromptGalleryPrompts = (options) => (options?.client ?? client).get({
|
|
1191
|
+
responseType: 'json',
|
|
1192
|
+
security: [{
|
|
1193
|
+
key: 'BearerAuth',
|
|
1194
|
+
scheme: 'bearer',
|
|
1195
|
+
type: 'http'
|
|
1196
|
+
}],
|
|
1197
|
+
url: '/api/v1/prompt-gallery/prompts',
|
|
1198
|
+
...options
|
|
1199
|
+
});
|
|
1200
|
+
/**
|
|
1201
|
+
* Get prompt gallery prompt by ID
|
|
1202
|
+
*
|
|
1203
|
+
* Retrieves a specific prompt from the gallery
|
|
1204
|
+
*/
|
|
1205
|
+
export const getPromptGalleryPrompt = (options) => (options.client ?? client).get({
|
|
1206
|
+
responseType: 'json',
|
|
1207
|
+
security: [{
|
|
1208
|
+
key: 'BearerAuth',
|
|
1209
|
+
scheme: 'bearer',
|
|
1210
|
+
type: 'http'
|
|
1211
|
+
}],
|
|
1212
|
+
url: '/api/v1/prompt-gallery/prompts/{id}',
|
|
1213
|
+
...options
|
|
1214
|
+
});
|
|
1215
|
+
/**
|
|
1216
|
+
* Track prompt gallery usage
|
|
1217
|
+
*
|
|
1218
|
+
* Tracks when a user uses a prompt from the gallery
|
|
1219
|
+
*/
|
|
1220
|
+
export const trackPromptGalleryUsage = (options) => (options.client ?? client).post({
|
|
1221
|
+
responseType: 'json',
|
|
1222
|
+
security: [{
|
|
1223
|
+
key: 'BearerAuth',
|
|
1224
|
+
scheme: 'bearer',
|
|
1225
|
+
type: 'http'
|
|
1226
|
+
}],
|
|
1227
|
+
url: '/api/v1/prompt-gallery/prompts/{id}/use',
|
|
1228
|
+
...options
|
|
1229
|
+
});
|
|
1230
|
+
/**
|
|
1231
|
+
* Access shared prompt
|
|
1232
|
+
*
|
|
1233
|
+
* Public endpoint to access a shared prompt via its share token.
|
|
1234
|
+
* - For `public` shares: No authentication required
|
|
1235
|
+
* - For `restricted` shares: JWT authentication required and email must be in the access list
|
|
1236
|
+
*
|
|
1237
|
+
* Returns the prompt with @references resolved but {{placeholders}} preserved for client-side substitution.
|
|
1238
|
+
*
|
|
1239
|
+
*/
|
|
1240
|
+
export const getSharedPrompt = (options) => (options.client ?? client).get({
|
|
1241
|
+
responseType: 'json',
|
|
1242
|
+
security: [{
|
|
1243
|
+
key: 'BearerAuth',
|
|
1244
|
+
scheme: 'bearer',
|
|
1245
|
+
type: 'http'
|
|
1246
|
+
}],
|
|
1247
|
+
url: '/api/v1/shared/prompts/{token}',
|
|
1248
|
+
...options
|
|
1249
|
+
});
|
|
1250
|
+
/**
|
|
1251
|
+
* Get usage and growth data
|
|
1252
|
+
*
|
|
1253
|
+
* Retrieves platform-wide usage metrics and per-user activity data.
|
|
1254
|
+
* This endpoint is for administrative purposes only and requires the back office admin API key.
|
|
1255
|
+
* It is NOT accessible via JWT tokens or regular API keys.
|
|
1256
|
+
*
|
|
1257
|
+
*/
|
|
1258
|
+
export const getUsageAndGrowth = (options) => (options?.client ?? client).get({
|
|
1259
|
+
responseType: 'json',
|
|
1260
|
+
security: [{
|
|
1261
|
+
key: 'BackofficeAuth',
|
|
1262
|
+
scheme: 'bearer',
|
|
1263
|
+
type: 'http'
|
|
1264
|
+
}],
|
|
1265
|
+
url: '/bo/v1/reports/usage-and-growth',
|
|
1266
|
+
...options
|
|
1267
|
+
});
|
|
1268
|
+
/**
|
|
1269
|
+
* Regenerate embeddings
|
|
1270
|
+
*
|
|
1271
|
+
* Republishes the `.created` event for embeddable entities (prompts,
|
|
1272
|
+
* artifacts, memories, blueprints, and feed items) so the embedding pipeline
|
|
1273
|
+
* regenerates vectors under the currently configured embedding model. This is
|
|
1274
|
+
* the operational step after an embedding model or dimension change. The
|
|
1275
|
+
* operation is idempotent (the pipeline uses delete-then-insert per entity).
|
|
1276
|
+
*
|
|
1277
|
+
* The scope is explicit: the request body must set exactly one of `all` or a
|
|
1278
|
+
* non-empty `entity_types`. Set `missing_only` to limit the run to entities
|
|
1279
|
+
* that lack an embedding for the configured model. This endpoint is for
|
|
1280
|
+
* administrative purposes only and requires the back office admin API key.
|
|
1281
|
+
*
|
|
1282
|
+
*/
|
|
1283
|
+
export const backfillEmbeddings = (options) => (options.client ?? client).post({
|
|
1284
|
+
responseType: 'json',
|
|
1285
|
+
security: [{
|
|
1286
|
+
key: 'BackofficeAuth',
|
|
1287
|
+
scheme: 'bearer',
|
|
1288
|
+
type: 'http'
|
|
1289
|
+
}],
|
|
1290
|
+
url: '/bo/v1/embeddings/backfill',
|
|
1291
|
+
...options,
|
|
1292
|
+
headers: {
|
|
1293
|
+
'Content-Type': 'application/json',
|
|
1294
|
+
...options.headers
|
|
1295
|
+
}
|
|
1296
|
+
});
|
|
1297
|
+
/**
|
|
1298
|
+
* Get GitHub App installation status
|
|
1299
|
+
*
|
|
1300
|
+
* Returns the GitHub App installation status for the specified team. Requires an active subscription.
|
|
1301
|
+
*/
|
|
1302
|
+
export const getGitHubStatus = (options) => (options.client ?? client).get({
|
|
1303
|
+
responseType: 'json',
|
|
1304
|
+
security: [{
|
|
1305
|
+
key: 'BearerAuth',
|
|
1306
|
+
scheme: 'bearer',
|
|
1307
|
+
type: 'http'
|
|
1308
|
+
}],
|
|
1309
|
+
url: '/api/v1/{team_id}/integrations/github/status',
|
|
1310
|
+
...options
|
|
1311
|
+
});
|
|
1312
|
+
/**
|
|
1313
|
+
* Get GitHub App installation URL
|
|
1314
|
+
*
|
|
1315
|
+
* Returns a signed GitHub App installation URL with CSRF protection. Requires an active subscription.
|
|
1316
|
+
*/
|
|
1317
|
+
export const getGitHubInstallUrl = (options) => (options.client ?? client).get({
|
|
1318
|
+
responseType: 'json',
|
|
1319
|
+
security: [{
|
|
1320
|
+
key: 'BearerAuth',
|
|
1321
|
+
scheme: 'bearer',
|
|
1322
|
+
type: 'http'
|
|
1323
|
+
}],
|
|
1324
|
+
url: '/api/v1/{team_id}/integrations/github/install-url',
|
|
1325
|
+
...options
|
|
1326
|
+
});
|
|
1327
|
+
/**
|
|
1328
|
+
* Handle GitHub App installation callback
|
|
1329
|
+
*
|
|
1330
|
+
* Completes the GitHub App installation flow after the user authorizes the app on GitHub.
|
|
1331
|
+
* The request must include the `installation_id` returned by GitHub and the signed `state`
|
|
1332
|
+
* parameter from the install URL to prevent CSRF attacks. Requires an active subscription.
|
|
1333
|
+
*
|
|
1334
|
+
*/
|
|
1335
|
+
export const handleGitHubCallback = (options) => (options.client ?? client).post({
|
|
1336
|
+
responseType: 'json',
|
|
1337
|
+
security: [{
|
|
1338
|
+
key: 'BearerAuth',
|
|
1339
|
+
scheme: 'bearer',
|
|
1340
|
+
type: 'http'
|
|
1341
|
+
}],
|
|
1342
|
+
url: '/api/v1/{team_id}/integrations/github/callback',
|
|
1343
|
+
...options,
|
|
1344
|
+
headers: {
|
|
1345
|
+
'Content-Type': 'application/json',
|
|
1346
|
+
...options.headers
|
|
1347
|
+
}
|
|
1348
|
+
});
|
|
1349
|
+
/**
|
|
1350
|
+
* List GitHub repositories
|
|
1351
|
+
*
|
|
1352
|
+
* Lists GitHub repositories accessible by the team's GitHub App installation with pagination. Requires an active subscription.
|
|
1353
|
+
*/
|
|
1354
|
+
export const listGitHubRepositories = (options) => (options.client ?? client).get({
|
|
1355
|
+
responseType: 'json',
|
|
1356
|
+
security: [{
|
|
1357
|
+
key: 'BearerAuth',
|
|
1358
|
+
scheme: 'bearer',
|
|
1359
|
+
type: 'http'
|
|
1360
|
+
}],
|
|
1361
|
+
url: '/api/v1/{team_id}/integrations/github/repositories',
|
|
1362
|
+
...options
|
|
1363
|
+
});
|
|
1364
|
+
/**
|
|
1365
|
+
* Import GitHub repository as a project
|
|
1366
|
+
*
|
|
1367
|
+
* Imports a GitHub repository as a VibeXP project for the team. If a project already exists
|
|
1368
|
+
* for the repository URL it returns the existing project (idempotent). Requires an active subscription.
|
|
1369
|
+
*
|
|
1370
|
+
*/
|
|
1371
|
+
export const importGitHubProject = (options) => (options.client ?? client).post({
|
|
1372
|
+
responseType: 'json',
|
|
1373
|
+
security: [{
|
|
1374
|
+
key: 'BearerAuth',
|
|
1375
|
+
scheme: 'bearer',
|
|
1376
|
+
type: 'http'
|
|
1377
|
+
}],
|
|
1378
|
+
url: '/api/v1/{team_id}/integrations/github/repositories/{repo_id}/import-project',
|
|
1379
|
+
...options
|
|
1380
|
+
});
|
|
1381
|
+
/**
|
|
1382
|
+
* Import AI assistant configurations as blueprints
|
|
1383
|
+
*
|
|
1384
|
+
* Scans the specified GitHub repository for AI assistant configuration files
|
|
1385
|
+
* (`.claude/`, `.cursor/`, `.codex/`, `.agents/`, `CLAUDE.md`, `CURSOR.md`, `AGENTS.md`)
|
|
1386
|
+
* and imports each markdown file as a blueprint. A project must already exist for the
|
|
1387
|
+
* repository — use the import-project endpoint first. Requires an active subscription.
|
|
1388
|
+
*
|
|
1389
|
+
*/
|
|
1390
|
+
export const importGitHubBlueprints = (options) => (options.client ?? client).post({
|
|
1391
|
+
responseType: 'json',
|
|
1392
|
+
security: [{
|
|
1393
|
+
key: 'BearerAuth',
|
|
1394
|
+
scheme: 'bearer',
|
|
1395
|
+
type: 'http'
|
|
1396
|
+
}],
|
|
1397
|
+
url: '/api/v1/{team_id}/integrations/github/import-blueprints',
|
|
1398
|
+
...options,
|
|
1399
|
+
headers: {
|
|
1400
|
+
'Content-Type': 'application/json',
|
|
1401
|
+
...options.headers
|
|
1402
|
+
}
|
|
1403
|
+
});
|
|
1404
|
+
/**
|
|
1405
|
+
* Disconnect GitHub App installation
|
|
1406
|
+
*
|
|
1407
|
+
* Removes the GitHub App installation link for the team. Requires an active subscription.
|
|
1408
|
+
*/
|
|
1409
|
+
export const disconnectGitHub = (options) => (options.client ?? client).delete({
|
|
1410
|
+
security: [{
|
|
1411
|
+
key: 'BearerAuth',
|
|
1412
|
+
scheme: 'bearer',
|
|
1413
|
+
type: 'http'
|
|
1414
|
+
}],
|
|
1415
|
+
url: '/api/v1/{team_id}/integrations/github/disconnect',
|
|
1416
|
+
...options
|
|
1417
|
+
});
|
|
1418
|
+
/**
|
|
1419
|
+
* Handle GitHub webhook events
|
|
1420
|
+
*
|
|
1421
|
+
* Receives and processes GitHub webhook events (e.g., push, installation changes).
|
|
1422
|
+
* This endpoint validates the webhook signature using the configured GitHub webhook secret.
|
|
1423
|
+
* This is a public endpoint — no authentication header is required; GitHub signs the payload.
|
|
1424
|
+
*
|
|
1425
|
+
*/
|
|
1426
|
+
export const handleGitHubWebhook = (options) => (options.client ?? client).post({
|
|
1427
|
+
url: '/api/v1/webhooks/github',
|
|
1428
|
+
...options,
|
|
1429
|
+
headers: {
|
|
1430
|
+
'Content-Type': 'application/json',
|
|
1431
|
+
...options.headers
|
|
1432
|
+
}
|
|
1433
|
+
});
|
|
1434
|
+
/**
|
|
1435
|
+
* List feeds
|
|
1436
|
+
*
|
|
1437
|
+
* Returns all feeds for the specified team with optional pagination
|
|
1438
|
+
*/
|
|
1439
|
+
export const listFeeds = (options) => (options.client ?? client).get({
|
|
1440
|
+
responseType: 'json',
|
|
1441
|
+
security: [{
|
|
1442
|
+
key: 'BearerAuth',
|
|
1443
|
+
scheme: 'bearer',
|
|
1444
|
+
type: 'http'
|
|
1445
|
+
}, {
|
|
1446
|
+
key: 'ApiKeyAuth',
|
|
1447
|
+
scheme: 'bearer',
|
|
1448
|
+
type: 'http'
|
|
1449
|
+
}],
|
|
1450
|
+
url: '/api/v1/{team_id}/feeds',
|
|
1451
|
+
...options
|
|
1452
|
+
});
|
|
1453
|
+
/**
|
|
1454
|
+
* Create a new feed
|
|
1455
|
+
*
|
|
1456
|
+
* Creates a new AI feed channel for the specified team (free-tier accessible)
|
|
1457
|
+
*/
|
|
1458
|
+
export const createFeed = (options) => (options.client ?? client).post({
|
|
1459
|
+
responseType: 'json',
|
|
1460
|
+
security: [{
|
|
1461
|
+
key: 'BearerAuth',
|
|
1462
|
+
scheme: 'bearer',
|
|
1463
|
+
type: 'http'
|
|
1464
|
+
}, {
|
|
1465
|
+
key: 'ApiKeyAuth',
|
|
1466
|
+
scheme: 'bearer',
|
|
1467
|
+
type: 'http'
|
|
1468
|
+
}],
|
|
1469
|
+
url: '/api/v1/{team_id}/feeds',
|
|
1470
|
+
...options,
|
|
1471
|
+
headers: {
|
|
1472
|
+
'Content-Type': 'application/json',
|
|
1473
|
+
...options.headers
|
|
1474
|
+
}
|
|
1475
|
+
});
|
|
1476
|
+
/**
|
|
1477
|
+
* Delete a feed
|
|
1478
|
+
*
|
|
1479
|
+
* Permanently deletes a feed and cascades deletion to all its items
|
|
1480
|
+
*/
|
|
1481
|
+
export const deleteFeed = (options) => (options.client ?? client).delete({
|
|
1482
|
+
security: [{
|
|
1483
|
+
key: 'BearerAuth',
|
|
1484
|
+
scheme: 'bearer',
|
|
1485
|
+
type: 'http'
|
|
1486
|
+
}, {
|
|
1487
|
+
key: 'ApiKeyAuth',
|
|
1488
|
+
scheme: 'bearer',
|
|
1489
|
+
type: 'http'
|
|
1490
|
+
}],
|
|
1491
|
+
url: '/api/v1/{team_id}/feeds/{feed_id}',
|
|
1492
|
+
...options
|
|
1493
|
+
});
|
|
1494
|
+
/**
|
|
1495
|
+
* Get a feed
|
|
1496
|
+
*
|
|
1497
|
+
* Retrieves a specific feed by ID
|
|
1498
|
+
*/
|
|
1499
|
+
export const getFeed = (options) => (options.client ?? client).get({
|
|
1500
|
+
responseType: 'json',
|
|
1501
|
+
security: [{
|
|
1502
|
+
key: 'BearerAuth',
|
|
1503
|
+
scheme: 'bearer',
|
|
1504
|
+
type: 'http'
|
|
1505
|
+
}, {
|
|
1506
|
+
key: 'ApiKeyAuth',
|
|
1507
|
+
scheme: 'bearer',
|
|
1508
|
+
type: 'http'
|
|
1509
|
+
}],
|
|
1510
|
+
url: '/api/v1/{team_id}/feeds/{feed_id}',
|
|
1511
|
+
...options
|
|
1512
|
+
});
|
|
1513
|
+
/**
|
|
1514
|
+
* Update a feed
|
|
1515
|
+
*
|
|
1516
|
+
* Updates the name and/or description of an existing feed
|
|
1517
|
+
*/
|
|
1518
|
+
export const updateFeed = (options) => (options.client ?? client).put({
|
|
1519
|
+
responseType: 'json',
|
|
1520
|
+
security: [{
|
|
1521
|
+
key: 'BearerAuth',
|
|
1522
|
+
scheme: 'bearer',
|
|
1523
|
+
type: 'http'
|
|
1524
|
+
}, {
|
|
1525
|
+
key: 'ApiKeyAuth',
|
|
1526
|
+
scheme: 'bearer',
|
|
1527
|
+
type: 'http'
|
|
1528
|
+
}],
|
|
1529
|
+
url: '/api/v1/{team_id}/feeds/{feed_id}',
|
|
1530
|
+
...options,
|
|
1531
|
+
headers: {
|
|
1532
|
+
'Content-Type': 'application/json',
|
|
1533
|
+
...options.headers
|
|
1534
|
+
}
|
|
1535
|
+
});
|
|
1536
|
+
/**
|
|
1537
|
+
* List items in a feed
|
|
1538
|
+
*
|
|
1539
|
+
* Returns paginated items for a specific feed
|
|
1540
|
+
*/
|
|
1541
|
+
export const listFeedItemsByFeed = (options) => (options.client ?? client).get({
|
|
1542
|
+
responseType: 'json',
|
|
1543
|
+
security: [{
|
|
1544
|
+
key: 'BearerAuth',
|
|
1545
|
+
scheme: 'bearer',
|
|
1546
|
+
type: 'http'
|
|
1547
|
+
}, {
|
|
1548
|
+
key: 'ApiKeyAuth',
|
|
1549
|
+
scheme: 'bearer',
|
|
1550
|
+
type: 'http'
|
|
1551
|
+
}],
|
|
1552
|
+
url: '/api/v1/{team_id}/feeds/{feed_id}/items',
|
|
1553
|
+
...options
|
|
1554
|
+
});
|
|
1555
|
+
/**
|
|
1556
|
+
* Create a feed item
|
|
1557
|
+
*
|
|
1558
|
+
* Posts a new AI-generated item to a specific feed
|
|
1559
|
+
*/
|
|
1560
|
+
export const createFeedItem = (options) => (options.client ?? client).post({
|
|
1561
|
+
responseType: 'json',
|
|
1562
|
+
security: [{
|
|
1563
|
+
key: 'BearerAuth',
|
|
1564
|
+
scheme: 'bearer',
|
|
1565
|
+
type: 'http'
|
|
1566
|
+
}, {
|
|
1567
|
+
key: 'ApiKeyAuth',
|
|
1568
|
+
scheme: 'bearer',
|
|
1569
|
+
type: 'http'
|
|
1570
|
+
}],
|
|
1571
|
+
url: '/api/v1/{team_id}/feeds/{feed_id}/items',
|
|
1572
|
+
...options,
|
|
1573
|
+
headers: {
|
|
1574
|
+
'Content-Type': 'application/json',
|
|
1575
|
+
...options.headers
|
|
1576
|
+
}
|
|
1577
|
+
});
|
|
1578
|
+
/**
|
|
1579
|
+
* List all feed items (cross-feed)
|
|
1580
|
+
*
|
|
1581
|
+
* Returns paginated feed items across all feeds for the team, with optional filters
|
|
1582
|
+
*/
|
|
1583
|
+
export const listFeedItems = (options) => (options.client ?? client).get({
|
|
1584
|
+
responseType: 'json',
|
|
1585
|
+
security: [{
|
|
1586
|
+
key: 'BearerAuth',
|
|
1587
|
+
scheme: 'bearer',
|
|
1588
|
+
type: 'http'
|
|
1589
|
+
}, {
|
|
1590
|
+
key: 'ApiKeyAuth',
|
|
1591
|
+
scheme: 'bearer',
|
|
1592
|
+
type: 'http'
|
|
1593
|
+
}],
|
|
1594
|
+
url: '/api/v1/{team_id}/feed-items',
|
|
1595
|
+
...options
|
|
1596
|
+
});
|
|
1597
|
+
/**
|
|
1598
|
+
* Delete a feed item
|
|
1599
|
+
*
|
|
1600
|
+
* Permanently deletes a feed item (hard delete)
|
|
1601
|
+
*/
|
|
1602
|
+
export const deleteFeedItem = (options) => (options.client ?? client).delete({
|
|
1603
|
+
security: [{
|
|
1604
|
+
key: 'BearerAuth',
|
|
1605
|
+
scheme: 'bearer',
|
|
1606
|
+
type: 'http'
|
|
1607
|
+
}, {
|
|
1608
|
+
key: 'ApiKeyAuth',
|
|
1609
|
+
scheme: 'bearer',
|
|
1610
|
+
type: 'http'
|
|
1611
|
+
}],
|
|
1612
|
+
url: '/api/v1/{team_id}/feed-items/{item_id}',
|
|
1613
|
+
...options
|
|
1614
|
+
});
|
|
1615
|
+
/**
|
|
1616
|
+
* Get a feed item
|
|
1617
|
+
*
|
|
1618
|
+
* Retrieves a specific feed item by ID (detail page)
|
|
1619
|
+
*/
|
|
1620
|
+
export const getFeedItem = (options) => (options.client ?? client).get({
|
|
1621
|
+
responseType: 'json',
|
|
1622
|
+
security: [{
|
|
1623
|
+
key: 'BearerAuth',
|
|
1624
|
+
scheme: 'bearer',
|
|
1625
|
+
type: 'http'
|
|
1626
|
+
}, {
|
|
1627
|
+
key: 'ApiKeyAuth',
|
|
1628
|
+
scheme: 'bearer',
|
|
1629
|
+
type: 'http'
|
|
1630
|
+
}],
|
|
1631
|
+
url: '/api/v1/{team_id}/feed-items/{item_id}',
|
|
1632
|
+
...options
|
|
1633
|
+
});
|
|
1634
|
+
/**
|
|
1635
|
+
* Archive a feed item
|
|
1636
|
+
*
|
|
1637
|
+
* Sets archived_at to the current server time for the specified feed item
|
|
1638
|
+
*/
|
|
1639
|
+
export const archiveFeedItem = (options) => (options.client ?? client).post({
|
|
1640
|
+
security: [{
|
|
1641
|
+
key: 'BearerAuth',
|
|
1642
|
+
scheme: 'bearer',
|
|
1643
|
+
type: 'http'
|
|
1644
|
+
}, {
|
|
1645
|
+
key: 'ApiKeyAuth',
|
|
1646
|
+
scheme: 'bearer',
|
|
1647
|
+
type: 'http'
|
|
1648
|
+
}],
|
|
1649
|
+
url: '/api/v1/{team_id}/feed-items/{item_id}/archive',
|
|
1650
|
+
...options
|
|
1651
|
+
});
|
|
1652
|
+
/**
|
|
1653
|
+
* Unarchive a feed item
|
|
1654
|
+
*
|
|
1655
|
+
* Clears archived_at (sets to NULL) for the specified feed item
|
|
1656
|
+
*/
|
|
1657
|
+
export const unarchiveFeedItem = (options) => (options.client ?? client).post({
|
|
1658
|
+
security: [{
|
|
1659
|
+
key: 'BearerAuth',
|
|
1660
|
+
scheme: 'bearer',
|
|
1661
|
+
type: 'http'
|
|
1662
|
+
}, {
|
|
1663
|
+
key: 'ApiKeyAuth',
|
|
1664
|
+
scheme: 'bearer',
|
|
1665
|
+
type: 'http'
|
|
1666
|
+
}],
|
|
1667
|
+
url: '/api/v1/{team_id}/feed-items/{item_id}/unarchive',
|
|
1668
|
+
...options
|
|
1669
|
+
});
|
|
1670
|
+
/**
|
|
1671
|
+
* Get invitation details by token
|
|
1672
|
+
*
|
|
1673
|
+
* Returns enriched invitation details (team name, inviter info, role, status, expiry)
|
|
1674
|
+
* for the email-link landing page so the user can review the invitation before
|
|
1675
|
+
* accepting or rejecting it.
|
|
1676
|
+
*
|
|
1677
|
+
* Returns honest, distinct HTTP statuses for the lifecycle:
|
|
1678
|
+
* - `200` — valid pending invitation
|
|
1679
|
+
* - `404` — unknown / not found token
|
|
1680
|
+
* - `410 Gone` — invitation pending but past `expires_at`
|
|
1681
|
+
* - `409 Conflict` — invitation already accepted, rejected, or revoked
|
|
1682
|
+
*
|
|
1683
|
+
*/
|
|
1684
|
+
export const getInvitationByToken = (options) => (options.client ?? client).get({
|
|
1685
|
+
responseType: 'json',
|
|
1686
|
+
security: [{
|
|
1687
|
+
key: 'BearerAuth',
|
|
1688
|
+
scheme: 'bearer',
|
|
1689
|
+
type: 'http'
|
|
1690
|
+
}],
|
|
1691
|
+
url: '/api/v1/invitations/{token}',
|
|
1692
|
+
...options
|
|
1693
|
+
});
|
|
1694
|
+
/**
|
|
1695
|
+
* List agents
|
|
1696
|
+
*
|
|
1697
|
+
* Returns the agents of the specified team with optional filtering, sorting, and pagination
|
|
1698
|
+
*/
|
|
1699
|
+
export const listAgents = (options) => (options.client ?? client).get({
|
|
1700
|
+
responseType: 'json',
|
|
1701
|
+
security: [{
|
|
1702
|
+
key: 'ApiKeyAuth',
|
|
1703
|
+
scheme: 'bearer',
|
|
1704
|
+
type: 'http'
|
|
1705
|
+
}, {
|
|
1706
|
+
in: 'cookie',
|
|
1707
|
+
name: 'vx_session',
|
|
1708
|
+
type: 'apiKey'
|
|
1709
|
+
}],
|
|
1710
|
+
url: '/api/v1/{team_id}/agents',
|
|
1711
|
+
...options
|
|
1712
|
+
});
|
|
1713
|
+
/**
|
|
1714
|
+
* Create new agent
|
|
1715
|
+
*
|
|
1716
|
+
* Registers a new A2A agent for the specified team. The agent card is fetched
|
|
1717
|
+
* from `card_url` at creation time; name and description default to the card
|
|
1718
|
+
* values when omitted.
|
|
1719
|
+
*
|
|
1720
|
+
*/
|
|
1721
|
+
export const createAgent = (options) => (options.client ?? client).post({
|
|
1722
|
+
responseType: 'json',
|
|
1723
|
+
security: [{
|
|
1724
|
+
key: 'ApiKeyAuth',
|
|
1725
|
+
scheme: 'bearer',
|
|
1726
|
+
type: 'http'
|
|
1727
|
+
}, {
|
|
1728
|
+
in: 'cookie',
|
|
1729
|
+
name: 'vx_session',
|
|
1730
|
+
type: 'apiKey'
|
|
1731
|
+
}],
|
|
1732
|
+
url: '/api/v1/{team_id}/agents',
|
|
1733
|
+
...options,
|
|
1734
|
+
headers: {
|
|
1735
|
+
'Content-Type': 'application/json',
|
|
1736
|
+
...options.headers
|
|
1737
|
+
}
|
|
1738
|
+
});
|
|
1739
|
+
/**
|
|
1740
|
+
* Preview agent card
|
|
1741
|
+
*
|
|
1742
|
+
* Fetches and returns an A2A agent card from the given URL without creating an agent
|
|
1743
|
+
*/
|
|
1744
|
+
export const previewAgentCard = (options) => (options.client ?? client).post({
|
|
1745
|
+
responseType: 'json',
|
|
1746
|
+
security: [{
|
|
1747
|
+
key: 'ApiKeyAuth',
|
|
1748
|
+
scheme: 'bearer',
|
|
1749
|
+
type: 'http'
|
|
1750
|
+
}, {
|
|
1751
|
+
in: 'cookie',
|
|
1752
|
+
name: 'vx_session',
|
|
1753
|
+
type: 'apiKey'
|
|
1754
|
+
}],
|
|
1755
|
+
url: '/api/v1/{team_id}/agents/preview-card',
|
|
1756
|
+
...options,
|
|
1757
|
+
headers: {
|
|
1758
|
+
'Content-Type': 'application/json',
|
|
1759
|
+
...options.headers
|
|
1760
|
+
}
|
|
1761
|
+
});
|
|
1762
|
+
/**
|
|
1763
|
+
* Get agent statistics
|
|
1764
|
+
*
|
|
1765
|
+
* Returns aggregate agent statistics and recent activity for the specified team
|
|
1766
|
+
*/
|
|
1767
|
+
export const getAgentStats = (options) => (options.client ?? client).get({
|
|
1768
|
+
responseType: 'json',
|
|
1769
|
+
security: [{
|
|
1770
|
+
key: 'ApiKeyAuth',
|
|
1771
|
+
scheme: 'bearer',
|
|
1772
|
+
type: 'http'
|
|
1773
|
+
}, {
|
|
1774
|
+
in: 'cookie',
|
|
1775
|
+
name: 'vx_session',
|
|
1776
|
+
type: 'apiKey'
|
|
1777
|
+
}],
|
|
1778
|
+
url: '/api/v1/{team_id}/agents/stats',
|
|
1779
|
+
...options
|
|
1780
|
+
});
|
|
1781
|
+
/**
|
|
1782
|
+
* Delete agent
|
|
1783
|
+
*
|
|
1784
|
+
* Permanently deletes an agent
|
|
1785
|
+
*/
|
|
1786
|
+
export const deleteAgent = (options) => (options.client ?? client).delete({
|
|
1787
|
+
security: [{
|
|
1788
|
+
key: 'ApiKeyAuth',
|
|
1789
|
+
scheme: 'bearer',
|
|
1790
|
+
type: 'http'
|
|
1791
|
+
}, {
|
|
1792
|
+
in: 'cookie',
|
|
1793
|
+
name: 'vx_session',
|
|
1794
|
+
type: 'apiKey'
|
|
1795
|
+
}],
|
|
1796
|
+
url: '/api/v1/{team_id}/agents/{id}',
|
|
1797
|
+
...options
|
|
1798
|
+
});
|
|
1799
|
+
/**
|
|
1800
|
+
* Get agent
|
|
1801
|
+
*
|
|
1802
|
+
* Retrieves a specific agent by ID
|
|
1803
|
+
*/
|
|
1804
|
+
export const getAgent = (options) => (options.client ?? client).get({
|
|
1805
|
+
responseType: 'json',
|
|
1806
|
+
security: [{
|
|
1807
|
+
key: 'ApiKeyAuth',
|
|
1808
|
+
scheme: 'bearer',
|
|
1809
|
+
type: 'http'
|
|
1810
|
+
}, {
|
|
1811
|
+
in: 'cookie',
|
|
1812
|
+
name: 'vx_session',
|
|
1813
|
+
type: 'apiKey'
|
|
1814
|
+
}],
|
|
1815
|
+
url: '/api/v1/{team_id}/agents/{id}',
|
|
1816
|
+
...options
|
|
1817
|
+
});
|
|
1818
|
+
/**
|
|
1819
|
+
* Update agent
|
|
1820
|
+
*
|
|
1821
|
+
* Updates an existing agent. When `card_url` is provided the agent card is
|
|
1822
|
+
* re-fetched. Agents cannot be moved between teams once created.
|
|
1823
|
+
*
|
|
1824
|
+
*/
|
|
1825
|
+
export const updateAgent = (options) => (options.client ?? client).put({
|
|
1826
|
+
responseType: 'json',
|
|
1827
|
+
security: [{
|
|
1828
|
+
key: 'ApiKeyAuth',
|
|
1829
|
+
scheme: 'bearer',
|
|
1830
|
+
type: 'http'
|
|
1831
|
+
}, {
|
|
1832
|
+
in: 'cookie',
|
|
1833
|
+
name: 'vx_session',
|
|
1834
|
+
type: 'apiKey'
|
|
1835
|
+
}],
|
|
1836
|
+
url: '/api/v1/{team_id}/agents/{id}',
|
|
1837
|
+
...options,
|
|
1838
|
+
headers: {
|
|
1839
|
+
'Content-Type': 'application/json',
|
|
1840
|
+
...options.headers
|
|
1841
|
+
}
|
|
1842
|
+
});
|
|
1843
|
+
/**
|
|
1844
|
+
* Update agent credentials
|
|
1845
|
+
*
|
|
1846
|
+
* Replaces the stored credentials for an agent. Values are encrypted at rest and never returned.
|
|
1847
|
+
*/
|
|
1848
|
+
export const updateAgentCredentials = (options) => (options.client ?? client).put({
|
|
1849
|
+
security: [{
|
|
1850
|
+
key: 'ApiKeyAuth',
|
|
1851
|
+
scheme: 'bearer',
|
|
1852
|
+
type: 'http'
|
|
1853
|
+
}, {
|
|
1854
|
+
in: 'cookie',
|
|
1855
|
+
name: 'vx_session',
|
|
1856
|
+
type: 'apiKey'
|
|
1857
|
+
}],
|
|
1858
|
+
url: '/api/v1/{team_id}/agents/{id}/credentials',
|
|
1859
|
+
...options,
|
|
1860
|
+
headers: {
|
|
1861
|
+
'Content-Type': 'application/json',
|
|
1862
|
+
...options.headers
|
|
1863
|
+
}
|
|
1864
|
+
});
|
|
1865
|
+
/**
|
|
1866
|
+
* Execute agent
|
|
1867
|
+
*
|
|
1868
|
+
* Invokes an agent via the A2A protocol. For streaming-capable agents the call
|
|
1869
|
+
* returns immediately with status `pending` or `submitted`; poll
|
|
1870
|
+
* `GET /agents/executions/{id}/status` and fetch
|
|
1871
|
+
* `GET /agents/executions/{id}/events` for progress. For non-streaming agents
|
|
1872
|
+
* the call blocks until the execution finishes with status `success` or `error`.
|
|
1873
|
+
*
|
|
1874
|
+
*/
|
|
1875
|
+
export const executeAgent = (options) => (options.client ?? client).post({
|
|
1876
|
+
responseType: 'json',
|
|
1877
|
+
security: [{
|
|
1878
|
+
key: 'ApiKeyAuth',
|
|
1879
|
+
scheme: 'bearer',
|
|
1880
|
+
type: 'http'
|
|
1881
|
+
}, {
|
|
1882
|
+
in: 'cookie',
|
|
1883
|
+
name: 'vx_session',
|
|
1884
|
+
type: 'apiKey'
|
|
1885
|
+
}],
|
|
1886
|
+
url: '/api/v1/{team_id}/agents/{id}/execute',
|
|
1887
|
+
...options,
|
|
1888
|
+
headers: {
|
|
1889
|
+
'Content-Type': 'application/json',
|
|
1890
|
+
...options.headers
|
|
1891
|
+
}
|
|
1892
|
+
});
|
|
1893
|
+
/**
|
|
1894
|
+
* List agent executions
|
|
1895
|
+
*
|
|
1896
|
+
* Returns executions for an agent with optional filtering and pagination
|
|
1897
|
+
*/
|
|
1898
|
+
export const listAgentExecutions = (options) => (options.client ?? client).get({
|
|
1899
|
+
responseType: 'json',
|
|
1900
|
+
security: [{
|
|
1901
|
+
key: 'ApiKeyAuth',
|
|
1902
|
+
scheme: 'bearer',
|
|
1903
|
+
type: 'http'
|
|
1904
|
+
}, {
|
|
1905
|
+
in: 'cookie',
|
|
1906
|
+
name: 'vx_session',
|
|
1907
|
+
type: 'apiKey'
|
|
1908
|
+
}],
|
|
1909
|
+
url: '/api/v1/{team_id}/agents/{id}/executions',
|
|
1910
|
+
...options
|
|
1911
|
+
});
|
|
1912
|
+
/**
|
|
1913
|
+
* Start agent execution
|
|
1914
|
+
*
|
|
1915
|
+
* Creates a new execution record for an agent (manual execution tracking)
|
|
1916
|
+
*/
|
|
1917
|
+
export const startAgentExecution = (options) => (options.client ?? client).post({
|
|
1918
|
+
responseType: 'json',
|
|
1919
|
+
security: [{
|
|
1920
|
+
key: 'ApiKeyAuth',
|
|
1921
|
+
scheme: 'bearer',
|
|
1922
|
+
type: 'http'
|
|
1923
|
+
}, {
|
|
1924
|
+
in: 'cookie',
|
|
1925
|
+
name: 'vx_session',
|
|
1926
|
+
type: 'apiKey'
|
|
1927
|
+
}],
|
|
1928
|
+
url: '/api/v1/{team_id}/agents/{id}/executions',
|
|
1929
|
+
...options,
|
|
1930
|
+
headers: {
|
|
1931
|
+
'Content-Type': 'application/json',
|
|
1932
|
+
...options.headers
|
|
1933
|
+
}
|
|
1934
|
+
});
|
|
1935
|
+
/**
|
|
1936
|
+
* List agent conversations
|
|
1937
|
+
*
|
|
1938
|
+
* Returns paginated conversation summaries for an agent
|
|
1939
|
+
*/
|
|
1940
|
+
export const listAgentConversations = (options) => (options.client ?? client).get({
|
|
1941
|
+
responseType: 'json',
|
|
1942
|
+
security: [{
|
|
1943
|
+
key: 'ApiKeyAuth',
|
|
1944
|
+
scheme: 'bearer',
|
|
1945
|
+
type: 'http'
|
|
1946
|
+
}, {
|
|
1947
|
+
in: 'cookie',
|
|
1948
|
+
name: 'vx_session',
|
|
1949
|
+
type: 'apiKey'
|
|
1950
|
+
}],
|
|
1951
|
+
url: '/api/v1/{team_id}/agents/{id}/conversations',
|
|
1952
|
+
...options
|
|
1953
|
+
});
|
|
1954
|
+
/**
|
|
1955
|
+
* Get agent execution
|
|
1956
|
+
*
|
|
1957
|
+
* Retrieves a specific agent execution by ID
|
|
1958
|
+
*/
|
|
1959
|
+
export const getAgentExecution = (options) => (options.client ?? client).get({
|
|
1960
|
+
responseType: 'json',
|
|
1961
|
+
security: [{
|
|
1962
|
+
key: 'ApiKeyAuth',
|
|
1963
|
+
scheme: 'bearer',
|
|
1964
|
+
type: 'http'
|
|
1965
|
+
}, {
|
|
1966
|
+
in: 'cookie',
|
|
1967
|
+
name: 'vx_session',
|
|
1968
|
+
type: 'apiKey'
|
|
1969
|
+
}],
|
|
1970
|
+
url: '/api/v1/{team_id}/agents/executions/{execution_id}',
|
|
1971
|
+
...options
|
|
1972
|
+
});
|
|
1973
|
+
/**
|
|
1974
|
+
* Complete agent execution
|
|
1975
|
+
*
|
|
1976
|
+
* Updates an execution with its final status, output, and optional error (manual execution tracking)
|
|
1977
|
+
*/
|
|
1978
|
+
export const completeAgentExecution = (options) => (options.client ?? client).put({
|
|
1979
|
+
responseType: 'json',
|
|
1980
|
+
security: [{
|
|
1981
|
+
key: 'ApiKeyAuth',
|
|
1982
|
+
scheme: 'bearer',
|
|
1983
|
+
type: 'http'
|
|
1984
|
+
}, {
|
|
1985
|
+
in: 'cookie',
|
|
1986
|
+
name: 'vx_session',
|
|
1987
|
+
type: 'apiKey'
|
|
1988
|
+
}],
|
|
1989
|
+
url: '/api/v1/{team_id}/agents/executions/{execution_id}',
|
|
1990
|
+
...options,
|
|
1991
|
+
headers: {
|
|
1992
|
+
'Content-Type': 'application/json',
|
|
1993
|
+
...options.headers
|
|
1994
|
+
}
|
|
1995
|
+
});
|
|
1996
|
+
/**
|
|
1997
|
+
* Get execution status
|
|
1998
|
+
*
|
|
1999
|
+
* Returns the current status and A2A state of an agent execution, including
|
|
2000
|
+
* artifacts. The execution's agent must belong to the specified team.
|
|
2001
|
+
*
|
|
2002
|
+
*/
|
|
2003
|
+
export const getAgentExecutionStatus = (options) => (options.client ?? client).get({
|
|
2004
|
+
responseType: 'json',
|
|
2005
|
+
security: [{
|
|
2006
|
+
key: 'ApiKeyAuth',
|
|
2007
|
+
scheme: 'bearer',
|
|
2008
|
+
type: 'http'
|
|
2009
|
+
}, {
|
|
2010
|
+
in: 'cookie',
|
|
2011
|
+
name: 'vx_session',
|
|
2012
|
+
type: 'apiKey'
|
|
2013
|
+
}],
|
|
2014
|
+
url: '/api/v1/{team_id}/agents/executions/{id}/status',
|
|
2015
|
+
...options
|
|
2016
|
+
});
|
|
2017
|
+
/**
|
|
2018
|
+
* Get execution events
|
|
2019
|
+
*
|
|
2020
|
+
* Returns streaming events for an execution. Supports two modes: cursor-based
|
|
2021
|
+
* polling via `?since={sequence}` (returns execution status plus events after
|
|
2022
|
+
* that sequence number) and page-based pagination via `?page`/`?limit` for
|
|
2023
|
+
* historical viewing.
|
|
2024
|
+
*
|
|
2025
|
+
*/
|
|
2026
|
+
export const getAgentExecutionEvents = (options) => (options.client ?? client).get({
|
|
2027
|
+
responseType: 'json',
|
|
2028
|
+
security: [{
|
|
2029
|
+
key: 'ApiKeyAuth',
|
|
2030
|
+
scheme: 'bearer',
|
|
2031
|
+
type: 'http'
|
|
2032
|
+
}, {
|
|
2033
|
+
in: 'cookie',
|
|
2034
|
+
name: 'vx_session',
|
|
2035
|
+
type: 'apiKey'
|
|
2036
|
+
}],
|
|
2037
|
+
url: '/api/v1/{team_id}/agents/executions/{id}/events',
|
|
2038
|
+
...options
|
|
2039
|
+
});
|
|
2040
|
+
/**
|
|
2041
|
+
* List conversation executions
|
|
2042
|
+
*
|
|
2043
|
+
* Returns the executions belonging to a conversation with cursor-based pagination (newest first, use `before` to page backwards)
|
|
2044
|
+
*/
|
|
2045
|
+
export const listConversationExecutions = (options) => (options.client ?? client).get({
|
|
2046
|
+
responseType: 'json',
|
|
2047
|
+
security: [{
|
|
2048
|
+
key: 'ApiKeyAuth',
|
|
2049
|
+
scheme: 'bearer',
|
|
2050
|
+
type: 'http'
|
|
2051
|
+
}, {
|
|
2052
|
+
in: 'cookie',
|
|
2053
|
+
name: 'vx_session',
|
|
2054
|
+
type: 'apiKey'
|
|
2055
|
+
}],
|
|
2056
|
+
url: '/api/v1/{team_id}/agents/conversations/{conversation_id}/executions',
|
|
2057
|
+
...options
|
|
2058
|
+
});
|
|
2059
|
+
/**
|
|
2060
|
+
* List Claude Code hook payloads
|
|
2061
|
+
*
|
|
2062
|
+
* Returns the authenticated user's stored Claude Code hook payloads with pagination and optional filters
|
|
2063
|
+
*/
|
|
2064
|
+
export const listClaudeCodeHooks = (options) => (options?.client ?? client).get({
|
|
2065
|
+
responseType: 'json',
|
|
2066
|
+
security: [{
|
|
2067
|
+
key: 'ApiKeyAuth',
|
|
2068
|
+
scheme: 'bearer',
|
|
2069
|
+
type: 'http'
|
|
2070
|
+
}, {
|
|
2071
|
+
in: 'cookie',
|
|
2072
|
+
name: 'vx_session',
|
|
2073
|
+
type: 'apiKey'
|
|
2074
|
+
}],
|
|
2075
|
+
url: '/api/v1/ai-tools/claude-code/hooks',
|
|
2076
|
+
...options
|
|
2077
|
+
});
|
|
2078
|
+
/**
|
|
2079
|
+
* List Claude Code sessions
|
|
2080
|
+
*
|
|
2081
|
+
* Returns the authenticated user's Claude Code session summaries with pagination
|
|
2082
|
+
*/
|
|
2083
|
+
export const listClaudeCodeSessions = (options) => (options?.client ?? client).get({
|
|
2084
|
+
responseType: 'json',
|
|
2085
|
+
security: [{
|
|
2086
|
+
key: 'ApiKeyAuth',
|
|
2087
|
+
scheme: 'bearer',
|
|
2088
|
+
type: 'http'
|
|
2089
|
+
}, {
|
|
2090
|
+
in: 'cookie',
|
|
2091
|
+
name: 'vx_session',
|
|
2092
|
+
type: 'apiKey'
|
|
2093
|
+
}],
|
|
2094
|
+
url: '/api/v1/ai-tools/claude-code/sessions',
|
|
2095
|
+
...options
|
|
2096
|
+
});
|
|
2097
|
+
/**
|
|
2098
|
+
* Get Claude Code session counts
|
|
2099
|
+
*
|
|
2100
|
+
* Returns the authenticated user's Claude Code session counts per day for the requested range
|
|
2101
|
+
*/
|
|
2102
|
+
export const getClaudeCodeSessionCounts = (options) => (options?.client ?? client).get({
|
|
2103
|
+
responseType: 'json',
|
|
2104
|
+
security: [{
|
|
2105
|
+
key: 'ApiKeyAuth',
|
|
2106
|
+
scheme: 'bearer',
|
|
2107
|
+
type: 'http'
|
|
2108
|
+
}, {
|
|
2109
|
+
in: 'cookie',
|
|
2110
|
+
name: 'vx_session',
|
|
2111
|
+
type: 'apiKey'
|
|
2112
|
+
}],
|
|
2113
|
+
url: '/api/v1/ai-tools/claude-code/session-counts',
|
|
2114
|
+
...options
|
|
2115
|
+
});
|
|
2116
|
+
/**
|
|
2117
|
+
* Get Claude Code overview statistics
|
|
2118
|
+
*
|
|
2119
|
+
* Returns aggregated Claude Code usage statistics for the authenticated user's overview dashboard
|
|
2120
|
+
*/
|
|
2121
|
+
export const getClaudeCodeOverviewStats = (options) => (options?.client ?? client).get({
|
|
2122
|
+
responseType: 'json',
|
|
2123
|
+
security: [{
|
|
2124
|
+
key: 'ApiKeyAuth',
|
|
2125
|
+
scheme: 'bearer',
|
|
2126
|
+
type: 'http'
|
|
2127
|
+
}, {
|
|
2128
|
+
in: 'cookie',
|
|
2129
|
+
name: 'vx_session',
|
|
2130
|
+
type: 'apiKey'
|
|
2131
|
+
}],
|
|
2132
|
+
url: '/api/v1/ai-tools/claude-code/overview-stats',
|
|
2133
|
+
...options
|
|
2134
|
+
});
|
|
2135
|
+
/**
|
|
2136
|
+
* List recent Claude Code activities
|
|
2137
|
+
*
|
|
2138
|
+
* Returns the authenticated user's recent Claude Code activities with pagination and optional filters
|
|
2139
|
+
*/
|
|
2140
|
+
export const listClaudeCodeRecentActivities = (options) => (options?.client ?? client).get({
|
|
2141
|
+
responseType: 'json',
|
|
2142
|
+
security: [{
|
|
2143
|
+
key: 'ApiKeyAuth',
|
|
2144
|
+
scheme: 'bearer',
|
|
2145
|
+
type: 'http'
|
|
2146
|
+
}, {
|
|
2147
|
+
in: 'cookie',
|
|
2148
|
+
name: 'vx_session',
|
|
2149
|
+
type: 'apiKey'
|
|
2150
|
+
}],
|
|
2151
|
+
url: '/api/v1/ai-tools/claude-code/recent-activities',
|
|
2152
|
+
...options
|
|
2153
|
+
});
|
|
2154
|
+
/**
|
|
2155
|
+
* List Cursor IDE hook payloads
|
|
2156
|
+
*
|
|
2157
|
+
* Returns the authenticated user's stored Cursor IDE hook payloads with pagination and optional filters
|
|
2158
|
+
*/
|
|
2159
|
+
export const listCursorIdeHooks = (options) => (options?.client ?? client).get({
|
|
2160
|
+
responseType: 'json',
|
|
2161
|
+
security: [{
|
|
2162
|
+
key: 'ApiKeyAuth',
|
|
2163
|
+
scheme: 'bearer',
|
|
2164
|
+
type: 'http'
|
|
2165
|
+
}, {
|
|
2166
|
+
in: 'cookie',
|
|
2167
|
+
name: 'vx_session',
|
|
2168
|
+
type: 'apiKey'
|
|
2169
|
+
}],
|
|
2170
|
+
url: '/api/v1/ai-tools/cursor-ide/hooks',
|
|
2171
|
+
...options
|
|
2172
|
+
});
|
|
2173
|
+
/**
|
|
2174
|
+
* List Cursor IDE sessions
|
|
2175
|
+
*
|
|
2176
|
+
* Returns the authenticated user's Cursor IDE session summaries with pagination
|
|
2177
|
+
*/
|
|
2178
|
+
export const listCursorIdeSessions = (options) => (options?.client ?? client).get({
|
|
2179
|
+
responseType: 'json',
|
|
2180
|
+
security: [{
|
|
2181
|
+
key: 'ApiKeyAuth',
|
|
2182
|
+
scheme: 'bearer',
|
|
2183
|
+
type: 'http'
|
|
2184
|
+
}, {
|
|
2185
|
+
in: 'cookie',
|
|
2186
|
+
name: 'vx_session',
|
|
2187
|
+
type: 'apiKey'
|
|
2188
|
+
}],
|
|
2189
|
+
url: '/api/v1/ai-tools/cursor-ide/sessions',
|
|
2190
|
+
...options
|
|
2191
|
+
});
|
|
2192
|
+
/**
|
|
2193
|
+
* Get Cursor IDE session counts
|
|
2194
|
+
*
|
|
2195
|
+
* Returns the authenticated user's Cursor IDE session counts per day for the requested range
|
|
2196
|
+
*/
|
|
2197
|
+
export const getCursorIdeSessionCounts = (options) => (options?.client ?? client).get({
|
|
2198
|
+
responseType: 'json',
|
|
2199
|
+
security: [{
|
|
2200
|
+
key: 'ApiKeyAuth',
|
|
2201
|
+
scheme: 'bearer',
|
|
2202
|
+
type: 'http'
|
|
2203
|
+
}, {
|
|
2204
|
+
in: 'cookie',
|
|
2205
|
+
name: 'vx_session',
|
|
2206
|
+
type: 'apiKey'
|
|
2207
|
+
}],
|
|
2208
|
+
url: '/api/v1/ai-tools/cursor-ide/session-counts',
|
|
2209
|
+
...options
|
|
2210
|
+
});
|
|
2211
|
+
/**
|
|
2212
|
+
* Get Cursor IDE overview statistics
|
|
2213
|
+
*
|
|
2214
|
+
* Returns aggregated Cursor IDE usage statistics for the authenticated user's overview dashboard
|
|
2215
|
+
*/
|
|
2216
|
+
export const getCursorIdeOverviewStats = (options) => (options?.client ?? client).get({
|
|
2217
|
+
responseType: 'json',
|
|
2218
|
+
security: [{
|
|
2219
|
+
key: 'ApiKeyAuth',
|
|
2220
|
+
scheme: 'bearer',
|
|
2221
|
+
type: 'http'
|
|
2222
|
+
}, {
|
|
2223
|
+
in: 'cookie',
|
|
2224
|
+
name: 'vx_session',
|
|
2225
|
+
type: 'apiKey'
|
|
2226
|
+
}],
|
|
2227
|
+
url: '/api/v1/ai-tools/cursor-ide/overview-stats',
|
|
2228
|
+
...options
|
|
2229
|
+
});
|
|
2230
|
+
/**
|
|
2231
|
+
* List recent Cursor IDE activities
|
|
2232
|
+
*
|
|
2233
|
+
* Returns the authenticated user's recent Cursor IDE activities with pagination and optional filters
|
|
2234
|
+
*/
|
|
2235
|
+
export const listCursorIdeRecentActivities = (options) => (options?.client ?? client).get({
|
|
2236
|
+
responseType: 'json',
|
|
2237
|
+
security: [{
|
|
2238
|
+
key: 'ApiKeyAuth',
|
|
2239
|
+
scheme: 'bearer',
|
|
2240
|
+
type: 'http'
|
|
2241
|
+
}, {
|
|
2242
|
+
in: 'cookie',
|
|
2243
|
+
name: 'vx_session',
|
|
2244
|
+
type: 'apiKey'
|
|
2245
|
+
}],
|
|
2246
|
+
url: '/api/v1/ai-tools/cursor-ide/recent-activities',
|
|
2247
|
+
...options
|
|
2248
|
+
});
|
|
2249
|
+
/**
|
|
2250
|
+
* Ingest Claude Code hook payload
|
|
2251
|
+
*
|
|
2252
|
+
* Stores a hook payload fired by the Claude Code CLI during an active coding session. Authenticated via API key (bearer) or session cookie; not IP-rate-limited. Responses use the legacy CLI-compatible `{status, message}` shape rather than the standard envelope. New sessions are checked against the user's `ai_session` resource limit (and `ai_tool` limit for the first-ever session), returning 403 when exceeded.
|
|
2253
|
+
*/
|
|
2254
|
+
export const ingestClaudeCodeHook = (options) => (options.client ?? client).post({
|
|
2255
|
+
responseType: 'json',
|
|
2256
|
+
security: [{
|
|
2257
|
+
key: 'ApiKeyAuth',
|
|
2258
|
+
scheme: 'bearer',
|
|
2259
|
+
type: 'http'
|
|
2260
|
+
}, {
|
|
2261
|
+
in: 'cookie',
|
|
2262
|
+
name: 'vx_session',
|
|
2263
|
+
type: 'apiKey'
|
|
2264
|
+
}],
|
|
2265
|
+
url: '/api/v1/claude-code/hooks',
|
|
2266
|
+
...options,
|
|
2267
|
+
headers: {
|
|
2268
|
+
'Content-Type': 'application/json',
|
|
2269
|
+
...options.headers
|
|
2270
|
+
}
|
|
2271
|
+
});
|
|
2272
|
+
/**
|
|
2273
|
+
* Ingest Cursor IDE hook payload
|
|
2274
|
+
*
|
|
2275
|
+
* Stores a hook payload fired by Cursor IDE hooks. Authenticated via API key (bearer) or session cookie; not IP-rate-limited. When `session_id` is absent, `conversation_id` is used as the session identifier (one of the two is required). Responses use the legacy CLI-compatible `{status, message}` shape rather than the standard envelope. New sessions are checked against the user's `ai_session` resource limit (and `ai_tool` limit for the first-ever session), returning 403 when exceeded.
|
|
2276
|
+
*/
|
|
2277
|
+
export const ingestCursorIdeHook = (options) => (options.client ?? client).post({
|
|
2278
|
+
responseType: 'json',
|
|
2279
|
+
security: [{
|
|
2280
|
+
key: 'ApiKeyAuth',
|
|
2281
|
+
scheme: 'bearer',
|
|
2282
|
+
type: 'http'
|
|
2283
|
+
}, {
|
|
2284
|
+
in: 'cookie',
|
|
2285
|
+
name: 'vx_session',
|
|
2286
|
+
type: 'apiKey'
|
|
2287
|
+
}],
|
|
2288
|
+
url: '/api/v1/cursor-ide/hooks',
|
|
2289
|
+
...options,
|
|
2290
|
+
headers: {
|
|
2291
|
+
'Content-Type': 'application/json',
|
|
2292
|
+
...options.headers
|
|
2293
|
+
}
|
|
2294
|
+
});
|
|
2295
|
+
/**
|
|
2296
|
+
* List teams
|
|
2297
|
+
*
|
|
2298
|
+
* Returns the paginated list of teams the current user belongs to. Invalid
|
|
2299
|
+
* `page`/`page_size` values silently fall back to the defaults.
|
|
2300
|
+
*
|
|
2301
|
+
*/
|
|
2302
|
+
export const listTeams = (options) => (options?.client ?? client).get({
|
|
2303
|
+
responseType: 'json',
|
|
2304
|
+
security: [{
|
|
2305
|
+
key: 'ApiKeyAuth',
|
|
2306
|
+
scheme: 'bearer',
|
|
2307
|
+
type: 'http'
|
|
2308
|
+
}, {
|
|
2309
|
+
in: 'cookie',
|
|
2310
|
+
name: 'vx_session',
|
|
2311
|
+
type: 'apiKey'
|
|
2312
|
+
}],
|
|
2313
|
+
url: '/api/v1/teams',
|
|
2314
|
+
...options
|
|
2315
|
+
});
|
|
2316
|
+
/**
|
|
2317
|
+
* Create a new team
|
|
2318
|
+
*
|
|
2319
|
+
* Creates a new team owned by the current user and synchronously bootstraps a
|
|
2320
|
+
* default "Project 1" project inside it so resources created immediately
|
|
2321
|
+
* afterwards are correctly scoped.
|
|
2322
|
+
*
|
|
2323
|
+
* Team creation is subject to the plan's team resource limit; exceeding it
|
|
2324
|
+
* returns `403` with code `RESOURCE_LIMIT_EXCEEDED`.
|
|
2325
|
+
*
|
|
2326
|
+
*/
|
|
2327
|
+
export const createTeam = (options) => (options.client ?? client).post({
|
|
2328
|
+
responseType: 'json',
|
|
2329
|
+
security: [{
|
|
2330
|
+
key: 'ApiKeyAuth',
|
|
2331
|
+
scheme: 'bearer',
|
|
2332
|
+
type: 'http'
|
|
2333
|
+
}, {
|
|
2334
|
+
in: 'cookie',
|
|
2335
|
+
name: 'vx_session',
|
|
2336
|
+
type: 'apiKey'
|
|
2337
|
+
}],
|
|
2338
|
+
url: '/api/v1/teams',
|
|
2339
|
+
...options,
|
|
2340
|
+
headers: {
|
|
2341
|
+
'Content-Type': 'application/json',
|
|
2342
|
+
...options.headers
|
|
2343
|
+
}
|
|
2344
|
+
});
|
|
2345
|
+
/**
|
|
2346
|
+
* Delete a team
|
|
2347
|
+
*
|
|
2348
|
+
* Deletes a team. Only team owners can delete a team; personal workspaces and
|
|
2349
|
+
* the default team cannot be deleted.
|
|
2350
|
+
*
|
|
2351
|
+
* Deletion conflicts return `409` with RFC 9457 problem details carrying an
|
|
2352
|
+
* UPPERCASE `code` and string-valued `metadata`:
|
|
2353
|
+
* - `ACTIVE_SUBSCRIPTION_EXISTS` — the team still has an active subscription
|
|
2354
|
+
* - `SUBSCRIPTION_CANCELING` — the subscription is scheduled to cancel; retry after `metadata.cancel_at`
|
|
2355
|
+
* - `TEAM_HAS_MEMBERS` — remove all members first (`metadata.member_count`)
|
|
2356
|
+
*
|
|
2357
|
+
*/
|
|
2358
|
+
export const deleteTeam = (options) => (options.client ?? client).delete({
|
|
2359
|
+
security: [{
|
|
2360
|
+
key: 'ApiKeyAuth',
|
|
2361
|
+
scheme: 'bearer',
|
|
2362
|
+
type: 'http'
|
|
2363
|
+
}, {
|
|
2364
|
+
in: 'cookie',
|
|
2365
|
+
name: 'vx_session',
|
|
2366
|
+
type: 'apiKey'
|
|
2367
|
+
}],
|
|
2368
|
+
url: '/api/v1/teams/{id}',
|
|
2369
|
+
...options
|
|
2370
|
+
});
|
|
2371
|
+
/**
|
|
2372
|
+
* Get a team
|
|
2373
|
+
*
|
|
2374
|
+
* Returns the team with the requesting user's role populated (member_count is only populated on list responses and is 0 here).
|
|
2375
|
+
*/
|
|
2376
|
+
export const getTeam = (options) => (options.client ?? client).get({
|
|
2377
|
+
responseType: 'json',
|
|
2378
|
+
security: [{
|
|
2379
|
+
key: 'ApiKeyAuth',
|
|
2380
|
+
scheme: 'bearer',
|
|
2381
|
+
type: 'http'
|
|
2382
|
+
}, {
|
|
2383
|
+
in: 'cookie',
|
|
2384
|
+
name: 'vx_session',
|
|
2385
|
+
type: 'apiKey'
|
|
2386
|
+
}],
|
|
2387
|
+
url: '/api/v1/teams/{id}',
|
|
2388
|
+
...options
|
|
2389
|
+
});
|
|
2390
|
+
/**
|
|
2391
|
+
* Update a team
|
|
2392
|
+
*
|
|
2393
|
+
* Updates the team's name and/or description. Only team owners can update a
|
|
2394
|
+
* team. At least one of `name` or `description` must be provided.
|
|
2395
|
+
*
|
|
2396
|
+
*/
|
|
2397
|
+
export const updateTeam = (options) => (options.client ?? client).put({
|
|
2398
|
+
responseType: 'json',
|
|
2399
|
+
security: [{
|
|
2400
|
+
key: 'ApiKeyAuth',
|
|
2401
|
+
scheme: 'bearer',
|
|
2402
|
+
type: 'http'
|
|
2403
|
+
}, {
|
|
2404
|
+
in: 'cookie',
|
|
2405
|
+
name: 'vx_session',
|
|
2406
|
+
type: 'apiKey'
|
|
2407
|
+
}],
|
|
2408
|
+
url: '/api/v1/teams/{id}',
|
|
2409
|
+
...options,
|
|
2410
|
+
headers: {
|
|
2411
|
+
'Content-Type': 'application/json',
|
|
2412
|
+
...options.headers
|
|
2413
|
+
}
|
|
2414
|
+
});
|
|
2415
|
+
/**
|
|
2416
|
+
* List team members
|
|
2417
|
+
*
|
|
2418
|
+
* Returns the paginated list of team members with user details and invitation
|
|
2419
|
+
* status. Invalid `page`/`page_size` values silently fall back to the defaults.
|
|
2420
|
+
*
|
|
2421
|
+
*/
|
|
2422
|
+
export const getTeamMembers = (options) => (options.client ?? client).get({
|
|
2423
|
+
responseType: 'json',
|
|
2424
|
+
security: [{
|
|
2425
|
+
key: 'ApiKeyAuth',
|
|
2426
|
+
scheme: 'bearer',
|
|
2427
|
+
type: 'http'
|
|
2428
|
+
}, {
|
|
2429
|
+
in: 'cookie',
|
|
2430
|
+
name: 'vx_session',
|
|
2431
|
+
type: 'apiKey'
|
|
2432
|
+
}],
|
|
2433
|
+
url: '/api/v1/teams/{id}/members',
|
|
2434
|
+
...options
|
|
2435
|
+
});
|
|
2436
|
+
/**
|
|
2437
|
+
* Remove a team member
|
|
2438
|
+
*
|
|
2439
|
+
* Removes a member from the team. Only team owners can remove members, and the
|
|
2440
|
+
* team owner cannot be removed.
|
|
2441
|
+
*
|
|
2442
|
+
*/
|
|
2443
|
+
export const removeTeamMember = (options) => (options.client ?? client).delete({
|
|
2444
|
+
security: [{
|
|
2445
|
+
key: 'ApiKeyAuth',
|
|
2446
|
+
scheme: 'bearer',
|
|
2447
|
+
type: 'http'
|
|
2448
|
+
}, {
|
|
2449
|
+
in: 'cookie',
|
|
2450
|
+
name: 'vx_session',
|
|
2451
|
+
type: 'apiKey'
|
|
2452
|
+
}],
|
|
2453
|
+
url: '/api/v1/teams/{id}/members/{userId}',
|
|
2454
|
+
...options
|
|
2455
|
+
});
|
|
2456
|
+
/**
|
|
2457
|
+
* List team invitations
|
|
2458
|
+
*
|
|
2459
|
+
* Returns all invitations for the team. The `token`, `team_name` and
|
|
2460
|
+
* `invited_by` fields are not populated on this listing.
|
|
2461
|
+
*
|
|
2462
|
+
*/
|
|
2463
|
+
export const listTeamInvitations = (options) => (options.client ?? client).get({
|
|
2464
|
+
responseType: 'json',
|
|
2465
|
+
security: [{
|
|
2466
|
+
key: 'ApiKeyAuth',
|
|
2467
|
+
scheme: 'bearer',
|
|
2468
|
+
type: 'http'
|
|
2469
|
+
}, {
|
|
2470
|
+
in: 'cookie',
|
|
2471
|
+
name: 'vx_session',
|
|
2472
|
+
type: 'apiKey'
|
|
2473
|
+
}],
|
|
2474
|
+
url: '/api/v1/teams/{id}/invitations',
|
|
2475
|
+
...options
|
|
2476
|
+
});
|
|
2477
|
+
/**
|
|
2478
|
+
* Send team invitations
|
|
2479
|
+
*
|
|
2480
|
+
* Sends invitations to join the team to up to 50 email addresses with the given
|
|
2481
|
+
* role. Requires an eligible team (not a personal workspace), an active team
|
|
2482
|
+
* subscription, and enough available seats.
|
|
2483
|
+
*
|
|
2484
|
+
* Limit failures return `403` with code `RESOURCE_LIMIT_EXCEEDED` and a
|
|
2485
|
+
* `metadata` object: for missing subscriptions it carries `team_id`, `feature`
|
|
2486
|
+
* and `upgrade_url`; for seat limits it carries `team_id` plus seat accounting fields
|
|
2487
|
+
* (`total_seats`, `occupied_seats`, `current_members`, `pending_invitations`,
|
|
2488
|
+
* `requested_invitations`, `available_seats`, `additional_seats_needed`,
|
|
2489
|
+
* `upgrade_url`).
|
|
2490
|
+
*
|
|
2491
|
+
* Inviting users who are already team members returns `409` with code
|
|
2492
|
+
* `DUPLICATE_MEMBERS` and a top-level `duplicate_emails` string array.
|
|
2493
|
+
*
|
|
2494
|
+
*/
|
|
2495
|
+
export const sendTeamInvitations = (options) => (options.client ?? client).post({
|
|
2496
|
+
responseType: 'json',
|
|
2497
|
+
security: [{
|
|
2498
|
+
key: 'ApiKeyAuth',
|
|
2499
|
+
scheme: 'bearer',
|
|
2500
|
+
type: 'http'
|
|
2501
|
+
}, {
|
|
2502
|
+
in: 'cookie',
|
|
2503
|
+
name: 'vx_session',
|
|
2504
|
+
type: 'apiKey'
|
|
2505
|
+
}],
|
|
2506
|
+
url: '/api/v1/teams/{id}/invitations',
|
|
2507
|
+
...options,
|
|
2508
|
+
headers: {
|
|
2509
|
+
'Content-Type': 'application/json',
|
|
2510
|
+
...options.headers
|
|
2511
|
+
}
|
|
2512
|
+
});
|
|
2513
|
+
/**
|
|
2514
|
+
* Revoke a team invitation
|
|
2515
|
+
*
|
|
2516
|
+
* Revokes a pending team invitation so its token can no longer be accepted.
|
|
2517
|
+
*/
|
|
2518
|
+
export const revokeTeamInvitation = (options) => (options.client ?? client).delete({
|
|
2519
|
+
security: [{
|
|
2520
|
+
key: 'ApiKeyAuth',
|
|
2521
|
+
scheme: 'bearer',
|
|
2522
|
+
type: 'http'
|
|
2523
|
+
}, {
|
|
2524
|
+
in: 'cookie',
|
|
2525
|
+
name: 'vx_session',
|
|
2526
|
+
type: 'apiKey'
|
|
2527
|
+
}],
|
|
2528
|
+
url: '/api/v1/teams/{id}/invitations/{invitationId}',
|
|
2529
|
+
...options
|
|
2530
|
+
});
|
|
2531
|
+
/**
|
|
2532
|
+
* Get team statistics
|
|
2533
|
+
*
|
|
2534
|
+
* Returns team-wide resource counts (projects, prompts, artifacts, blueprints, memories, feed items) for the team analytics page. Authorized via team membership.
|
|
2535
|
+
*/
|
|
2536
|
+
export const getTeamStats = (options) => (options.client ?? client).get({
|
|
2537
|
+
responseType: 'json',
|
|
2538
|
+
security: [{
|
|
2539
|
+
key: 'ApiKeyAuth',
|
|
2540
|
+
scheme: 'bearer',
|
|
2541
|
+
type: 'http'
|
|
2542
|
+
}, {
|
|
2543
|
+
in: 'cookie',
|
|
2544
|
+
name: 'vx_session',
|
|
2545
|
+
type: 'apiKey'
|
|
2546
|
+
}],
|
|
2547
|
+
url: '/api/v1/teams/{id}/stats',
|
|
2548
|
+
...options
|
|
2549
|
+
});
|
|
2550
|
+
/**
|
|
2551
|
+
* Per-team daily resource-creation metrics
|
|
2552
|
+
*
|
|
2553
|
+
* Returns a zero-filled daily creation timeseries for a team, counting prompts, artifacts, blueprints, memories, and projects created on each day, for the team analytics-page chart. Every day in the requested range appears even when its count is zero. Authorized via team membership.
|
|
2554
|
+
*/
|
|
2555
|
+
export const getTeamResourceCreationMetrics = (options) => (options.client ?? client).get({
|
|
2556
|
+
responseType: 'json',
|
|
2557
|
+
security: [{
|
|
2558
|
+
key: 'ApiKeyAuth',
|
|
2559
|
+
scheme: 'bearer',
|
|
2560
|
+
type: 'http'
|
|
2561
|
+
}, {
|
|
2562
|
+
in: 'cookie',
|
|
2563
|
+
name: 'vx_session',
|
|
2564
|
+
type: 'apiKey'
|
|
2565
|
+
}],
|
|
2566
|
+
url: '/api/v1/teams/{id}/resource-creation-metrics',
|
|
2567
|
+
...options
|
|
2568
|
+
});
|
|
2569
|
+
/**
|
|
2570
|
+
* Per-team daily access metrics
|
|
2571
|
+
*
|
|
2572
|
+
* Returns a zero-filled daily access timeseries for a team, grouped by source (web, cli, mcp, api), aggregated across every resource in the team, for the team analytics-page chart. Every day in the requested range appears even when its count is zero. Authorized via team membership.
|
|
2573
|
+
*/
|
|
2574
|
+
export const getTeamResourceAccessMetrics = (options) => (options.client ?? client).get({
|
|
2575
|
+
responseType: 'json',
|
|
2576
|
+
security: [{
|
|
2577
|
+
key: 'ApiKeyAuth',
|
|
2578
|
+
scheme: 'bearer',
|
|
2579
|
+
type: 'http'
|
|
2580
|
+
}, {
|
|
2581
|
+
in: 'cookie',
|
|
2582
|
+
name: 'vx_session',
|
|
2583
|
+
type: 'apiKey'
|
|
2584
|
+
}],
|
|
2585
|
+
url: '/api/v1/teams/{id}/resource-access-metrics',
|
|
2586
|
+
...options
|
|
2587
|
+
});
|
|
2588
|
+
/**
|
|
2589
|
+
* Per-team daily feed-creation metrics
|
|
2590
|
+
*
|
|
2591
|
+
* Returns a zero-filled daily feed-creation timeseries for a team, counting feeds (channels, by creation date) and feed_items (AI updates posted, by posted date) on each day, for the team analytics-page "AI feeds created" chart. Every day in the requested range appears even when its count is zero. Authorized via team membership.
|
|
2592
|
+
*/
|
|
2593
|
+
export const getTeamFeedCreationMetrics = (options) => (options.client ?? client).get({
|
|
2594
|
+
responseType: 'json',
|
|
2595
|
+
security: [{
|
|
2596
|
+
key: 'ApiKeyAuth',
|
|
2597
|
+
scheme: 'bearer',
|
|
2598
|
+
type: 'http'
|
|
2599
|
+
}, {
|
|
2600
|
+
in: 'cookie',
|
|
2601
|
+
name: 'vx_session',
|
|
2602
|
+
type: 'apiKey'
|
|
2603
|
+
}],
|
|
2604
|
+
url: '/api/v1/teams/{id}/feed-creation-metrics',
|
|
2605
|
+
...options
|
|
2606
|
+
});
|
|
2607
|
+
/**
|
|
2608
|
+
* Per-team most-accessed resources
|
|
2609
|
+
*
|
|
2610
|
+
* Returns the team's most-accessed resources over the requested window, ranked by access count descending and capped by the limit parameter, with each row's display name resolved so the frontend can render and deep-link it. Authorized via team membership.
|
|
2611
|
+
*/
|
|
2612
|
+
export const getTeamTopAccessedResources = (options) => (options.client ?? client).get({
|
|
2613
|
+
responseType: 'json',
|
|
2614
|
+
security: [{
|
|
2615
|
+
key: 'ApiKeyAuth',
|
|
2616
|
+
scheme: 'bearer',
|
|
2617
|
+
type: 'http'
|
|
2618
|
+
}, {
|
|
2619
|
+
in: 'cookie',
|
|
2620
|
+
name: 'vx_session',
|
|
2621
|
+
type: 'apiKey'
|
|
2622
|
+
}],
|
|
2623
|
+
url: '/api/v1/teams/{id}/top-accessed-resources',
|
|
2624
|
+
...options
|
|
2625
|
+
});
|
|
2626
|
+
/**
|
|
2627
|
+
* Get pending invitations for the current user
|
|
2628
|
+
*
|
|
2629
|
+
* Returns the current user's pending team invitations (matched by the user's
|
|
2630
|
+
* email), enriched with team name and inviter details where available. The
|
|
2631
|
+
* response is not actually paginated: all pending invitations are returned and
|
|
2632
|
+
* `page`/`page_size` are fixed at `1`/`20`.
|
|
2633
|
+
*
|
|
2634
|
+
*/
|
|
2635
|
+
export const getPendingInvitations = (options) => (options?.client ?? client).get({
|
|
2636
|
+
responseType: 'json',
|
|
2637
|
+
security: [{
|
|
2638
|
+
key: 'ApiKeyAuth',
|
|
2639
|
+
scheme: 'bearer',
|
|
2640
|
+
type: 'http'
|
|
2641
|
+
}, {
|
|
2642
|
+
in: 'cookie',
|
|
2643
|
+
name: 'vx_session',
|
|
2644
|
+
type: 'apiKey'
|
|
2645
|
+
}],
|
|
2646
|
+
url: '/api/v1/invitations/pending',
|
|
2647
|
+
...options
|
|
2648
|
+
});
|
|
2649
|
+
/**
|
|
2650
|
+
* Accept a team invitation
|
|
2651
|
+
*
|
|
2652
|
+
* Accepts a pending team invitation by token and adds the current user to the
|
|
2653
|
+
* team. The invitation must have been sent to the authenticated user's email
|
|
2654
|
+
* address.
|
|
2655
|
+
*
|
|
2656
|
+
*/
|
|
2657
|
+
export const acceptInvitation = (options) => (options.client ?? client).post({
|
|
2658
|
+
responseType: 'json',
|
|
2659
|
+
security: [{
|
|
2660
|
+
key: 'ApiKeyAuth',
|
|
2661
|
+
scheme: 'bearer',
|
|
2662
|
+
type: 'http'
|
|
2663
|
+
}, {
|
|
2664
|
+
in: 'cookie',
|
|
2665
|
+
name: 'vx_session',
|
|
2666
|
+
type: 'apiKey'
|
|
2667
|
+
}],
|
|
2668
|
+
url: '/api/v1/invitations/{token}/accept',
|
|
2669
|
+
...options
|
|
2670
|
+
});
|
|
2671
|
+
/**
|
|
2672
|
+
* Reject a team invitation
|
|
2673
|
+
*
|
|
2674
|
+
* Rejects a pending team invitation by token. Only the invited user can reject it.
|
|
2675
|
+
*/
|
|
2676
|
+
export const rejectInvitation = (options) => (options.client ?? client).post({
|
|
2677
|
+
security: [{
|
|
2678
|
+
key: 'ApiKeyAuth',
|
|
2679
|
+
scheme: 'bearer',
|
|
2680
|
+
type: 'http'
|
|
2681
|
+
}, {
|
|
2682
|
+
in: 'cookie',
|
|
2683
|
+
name: 'vx_session',
|
|
2684
|
+
type: 'apiKey'
|
|
2685
|
+
}],
|
|
2686
|
+
url: '/api/v1/invitations/{token}/reject',
|
|
2687
|
+
...options
|
|
2688
|
+
});
|
|
2689
|
+
/**
|
|
2690
|
+
* List notifications
|
|
2691
|
+
*
|
|
2692
|
+
* Returns the authenticated user's in-app notifications, newest first, with
|
|
2693
|
+
* offset-based pagination. `count` is the number of items in this page (≤ `limit`),
|
|
2694
|
+
* not the global total — use the unread-count endpoint for unread totals.
|
|
2695
|
+
*
|
|
2696
|
+
*/
|
|
2697
|
+
export const listNotifications = (options) => (options?.client ?? client).get({
|
|
2698
|
+
responseType: 'json',
|
|
2699
|
+
security: [{
|
|
2700
|
+
key: 'ApiKeyAuth',
|
|
2701
|
+
scheme: 'bearer',
|
|
2702
|
+
type: 'http'
|
|
2703
|
+
}, {
|
|
2704
|
+
in: 'cookie',
|
|
2705
|
+
name: 'vx_session',
|
|
2706
|
+
type: 'apiKey'
|
|
2707
|
+
}],
|
|
2708
|
+
url: '/api/v1/notifications',
|
|
2709
|
+
...options
|
|
2710
|
+
});
|
|
2711
|
+
/**
|
|
2712
|
+
* Get unread notification count
|
|
2713
|
+
*
|
|
2714
|
+
* Returns the total number of unread notifications for the authenticated user.
|
|
2715
|
+
*/
|
|
2716
|
+
export const getUnreadNotificationCount = (options) => (options?.client ?? client).get({
|
|
2717
|
+
responseType: 'json',
|
|
2718
|
+
security: [{
|
|
2719
|
+
key: 'ApiKeyAuth',
|
|
2720
|
+
scheme: 'bearer',
|
|
2721
|
+
type: 'http'
|
|
2722
|
+
}, {
|
|
2723
|
+
in: 'cookie',
|
|
2724
|
+
name: 'vx_session',
|
|
2725
|
+
type: 'apiKey'
|
|
2726
|
+
}],
|
|
2727
|
+
url: '/api/v1/notifications/unread-count',
|
|
2728
|
+
...options
|
|
2729
|
+
});
|
|
2730
|
+
/**
|
|
2731
|
+
* Mark notification as read
|
|
2732
|
+
*
|
|
2733
|
+
* Marks a single notification as read for the authenticated user. Idempotent —
|
|
2734
|
+
* succeeds with 204 even if the notification is already read or does not belong
|
|
2735
|
+
* to the user (no 404 is returned).
|
|
2736
|
+
*
|
|
2737
|
+
*/
|
|
2738
|
+
export const markNotificationRead = (options) => (options.client ?? client).patch({
|
|
2739
|
+
security: [{
|
|
2740
|
+
key: 'ApiKeyAuth',
|
|
2741
|
+
scheme: 'bearer',
|
|
2742
|
+
type: 'http'
|
|
2743
|
+
}, {
|
|
2744
|
+
in: 'cookie',
|
|
2745
|
+
name: 'vx_session',
|
|
2746
|
+
type: 'apiKey'
|
|
2747
|
+
}],
|
|
2748
|
+
url: '/api/v1/notifications/{id}/read',
|
|
2749
|
+
...options
|
|
2750
|
+
});
|
|
2751
|
+
/**
|
|
2752
|
+
* Mark all notifications as read
|
|
2753
|
+
*
|
|
2754
|
+
* Marks all of the authenticated user's notifications as read. No request body is required.
|
|
2755
|
+
*/
|
|
2756
|
+
export const markAllNotificationsRead = (options) => (options?.client ?? client).patch({
|
|
2757
|
+
security: [{
|
|
2758
|
+
key: 'ApiKeyAuth',
|
|
2759
|
+
scheme: 'bearer',
|
|
2760
|
+
type: 'http'
|
|
2761
|
+
}, {
|
|
2762
|
+
in: 'cookie',
|
|
2763
|
+
name: 'vx_session',
|
|
2764
|
+
type: 'apiKey'
|
|
2765
|
+
}],
|
|
2766
|
+
url: '/api/v1/notifications/read-all',
|
|
2767
|
+
...options
|
|
2768
|
+
});
|
|
2769
|
+
/**
|
|
2770
|
+
* List types for a resource
|
|
2771
|
+
*
|
|
2772
|
+
* Returns every type visible to the team for the given `resource_type`: the global system defaults plus the team's own custom types, system defaults first.
|
|
2773
|
+
*
|
|
2774
|
+
*/
|
|
2775
|
+
export const listTypes = (options) => (options.client ?? client).get({
|
|
2776
|
+
responseType: 'json',
|
|
2777
|
+
security: [{
|
|
2778
|
+
key: 'ApiKeyAuth',
|
|
2779
|
+
scheme: 'bearer',
|
|
2780
|
+
type: 'http'
|
|
2781
|
+
}, {
|
|
2782
|
+
in: 'cookie',
|
|
2783
|
+
name: 'vx_session',
|
|
2784
|
+
type: 'apiKey'
|
|
2785
|
+
}],
|
|
2786
|
+
url: '/api/v1/{team_id}/types',
|
|
2787
|
+
...options
|
|
2788
|
+
});
|
|
2789
|
+
/**
|
|
2790
|
+
* Create a custom type
|
|
2791
|
+
*
|
|
2792
|
+
* Creates a team-owned custom type for the given resource. The slug must be URL-safe (lowercase letters, numbers, hyphens) and unique within the team for the resource — a collision with a global default or an existing team type returns 409.
|
|
2793
|
+
*
|
|
2794
|
+
*/
|
|
2795
|
+
export const createType = (options) => (options.client ?? client).post({
|
|
2796
|
+
responseType: 'json',
|
|
2797
|
+
security: [{
|
|
2798
|
+
key: 'ApiKeyAuth',
|
|
2799
|
+
scheme: 'bearer',
|
|
2800
|
+
type: 'http'
|
|
2801
|
+
}, {
|
|
2802
|
+
in: 'cookie',
|
|
2803
|
+
name: 'vx_session',
|
|
2804
|
+
type: 'apiKey'
|
|
2805
|
+
}],
|
|
2806
|
+
url: '/api/v1/{team_id}/types',
|
|
2807
|
+
...options,
|
|
2808
|
+
headers: {
|
|
2809
|
+
'Content-Type': 'application/json',
|
|
2810
|
+
...options.headers
|
|
2811
|
+
}
|
|
2812
|
+
});
|
|
2813
|
+
/**
|
|
2814
|
+
* Delete a custom type
|
|
2815
|
+
*
|
|
2816
|
+
* Deletes a team-owned custom type. System defaults cannot be deleted (a delete targeting one — or another team's type — returns 404). Any resources still referencing the deleted type are reassigned to the resource's system default in the same transaction.
|
|
2817
|
+
*
|
|
2818
|
+
*/
|
|
2819
|
+
export const deleteType = (options) => (options.client ?? client).delete({
|
|
2820
|
+
security: [{
|
|
2821
|
+
key: 'ApiKeyAuth',
|
|
2822
|
+
scheme: 'bearer',
|
|
2823
|
+
type: 'http'
|
|
2824
|
+
}, {
|
|
2825
|
+
in: 'cookie',
|
|
2826
|
+
name: 'vx_session',
|
|
2827
|
+
type: 'apiKey'
|
|
2828
|
+
}],
|
|
2829
|
+
url: '/api/v1/{team_id}/types/{id}',
|
|
2830
|
+
...options
|
|
2831
|
+
});
|
|
2832
|
+
/**
|
|
2833
|
+
* List embedding providers
|
|
2834
|
+
*
|
|
2835
|
+
* Retrieves all embedding providers belonging to the authenticated user.
|
|
2836
|
+
* Returns a bare JSON array (no pagination envelope). Encrypted API keys
|
|
2837
|
+
* are never included; each item carries a `has_api_key` boolean instead.
|
|
2838
|
+
*
|
|
2839
|
+
*/
|
|
2840
|
+
export const listEmbeddingProviders = (options) => (options?.client ?? client).get({
|
|
2841
|
+
responseType: 'json',
|
|
2842
|
+
security: [{
|
|
2843
|
+
key: 'ApiKeyAuth',
|
|
2844
|
+
scheme: 'bearer',
|
|
2845
|
+
type: 'http'
|
|
2846
|
+
}, {
|
|
2847
|
+
in: 'cookie',
|
|
2848
|
+
name: 'vx_session',
|
|
2849
|
+
type: 'apiKey'
|
|
2850
|
+
}],
|
|
2851
|
+
url: '/api/v1/embedding-providers',
|
|
2852
|
+
...options
|
|
2853
|
+
});
|
|
2854
|
+
/**
|
|
2855
|
+
* Create embedding provider
|
|
2856
|
+
*
|
|
2857
|
+
* Creates a new embedding provider configuration for the authenticated user.
|
|
2858
|
+
* The `api_key` supplied in the request is encrypted at rest and is never
|
|
2859
|
+
* returned by the API — responses expose only a `has_api_key` boolean.
|
|
2860
|
+
* Returns 200 (not 201) on success.
|
|
2861
|
+
*
|
|
2862
|
+
*/
|
|
2863
|
+
export const createEmbeddingProvider = (options) => (options.client ?? client).post({
|
|
2864
|
+
responseType: 'json',
|
|
2865
|
+
security: [{
|
|
2866
|
+
key: 'ApiKeyAuth',
|
|
2867
|
+
scheme: 'bearer',
|
|
2868
|
+
type: 'http'
|
|
2869
|
+
}, {
|
|
2870
|
+
in: 'cookie',
|
|
2871
|
+
name: 'vx_session',
|
|
2872
|
+
type: 'apiKey'
|
|
2873
|
+
}],
|
|
2874
|
+
url: '/api/v1/embedding-providers',
|
|
2875
|
+
...options,
|
|
2876
|
+
headers: {
|
|
2877
|
+
'Content-Type': 'application/json',
|
|
2878
|
+
...options.headers
|
|
2879
|
+
}
|
|
2880
|
+
});
|
|
2881
|
+
/**
|
|
2882
|
+
* Delete embedding provider
|
|
2883
|
+
*
|
|
2884
|
+
* Deletes an embedding provider owned by the authenticated user. Deleting
|
|
2885
|
+
* the user's last remaining provider is blocked with a 400
|
|
2886
|
+
* `PROVIDER_LAST_DELETE_BLOCKED` error.
|
|
2887
|
+
*
|
|
2888
|
+
*/
|
|
2889
|
+
export const deleteEmbeddingProvider = (options) => (options.client ?? client).delete({
|
|
2890
|
+
security: [{
|
|
2891
|
+
key: 'ApiKeyAuth',
|
|
2892
|
+
scheme: 'bearer',
|
|
2893
|
+
type: 'http'
|
|
2894
|
+
}, {
|
|
2895
|
+
in: 'cookie',
|
|
2896
|
+
name: 'vx_session',
|
|
2897
|
+
type: 'apiKey'
|
|
2898
|
+
}],
|
|
2899
|
+
url: '/api/v1/embedding-providers/{id}',
|
|
2900
|
+
...options
|
|
2901
|
+
});
|
|
2902
|
+
/**
|
|
2903
|
+
* Get embedding provider
|
|
2904
|
+
*
|
|
2905
|
+
* Retrieves a single embedding provider owned by the authenticated user.
|
|
2906
|
+
* The encrypted API key is never returned; `has_api_key` indicates whether
|
|
2907
|
+
* one is stored.
|
|
2908
|
+
*
|
|
2909
|
+
*/
|
|
2910
|
+
export const getEmbeddingProvider = (options) => (options.client ?? client).get({
|
|
2911
|
+
responseType: 'json',
|
|
2912
|
+
security: [{
|
|
2913
|
+
key: 'ApiKeyAuth',
|
|
2914
|
+
scheme: 'bearer',
|
|
2915
|
+
type: 'http'
|
|
2916
|
+
}, {
|
|
2917
|
+
in: 'cookie',
|
|
2918
|
+
name: 'vx_session',
|
|
2919
|
+
type: 'apiKey'
|
|
2920
|
+
}],
|
|
2921
|
+
url: '/api/v1/embedding-providers/{id}',
|
|
2922
|
+
...options
|
|
2923
|
+
});
|
|
2924
|
+
/**
|
|
2925
|
+
* Update embedding provider
|
|
2926
|
+
*
|
|
2927
|
+
* Updates an existing embedding provider. All fields are optional; only
|
|
2928
|
+
* provided fields are changed. A supplied `api_key` replaces the stored
|
|
2929
|
+
* (encrypted) key and is never echoed back in the response.
|
|
2930
|
+
*
|
|
2931
|
+
*/
|
|
2932
|
+
export const updateEmbeddingProvider = (options) => (options.client ?? client).put({
|
|
2933
|
+
responseType: 'json',
|
|
2934
|
+
security: [{
|
|
2935
|
+
key: 'ApiKeyAuth',
|
|
2936
|
+
scheme: 'bearer',
|
|
2937
|
+
type: 'http'
|
|
2938
|
+
}, {
|
|
2939
|
+
in: 'cookie',
|
|
2940
|
+
name: 'vx_session',
|
|
2941
|
+
type: 'apiKey'
|
|
2942
|
+
}],
|
|
2943
|
+
url: '/api/v1/embedding-providers/{id}',
|
|
2944
|
+
...options,
|
|
2945
|
+
headers: {
|
|
2946
|
+
'Content-Type': 'application/json',
|
|
2947
|
+
...options.headers
|
|
2948
|
+
}
|
|
2949
|
+
});
|
|
2950
|
+
/**
|
|
2951
|
+
* Validate embedding provider configuration
|
|
2952
|
+
*
|
|
2953
|
+
* Validates an embedding provider configuration (connectivity/credentials)
|
|
2954
|
+
* without persisting anything. Validation outcome — including an invalid
|
|
2955
|
+
* configuration — is reported in the 200 response body (`is_valid`,
|
|
2956
|
+
* `message`, `details`); 500 is returned only for internal service errors.
|
|
2957
|
+
*
|
|
2958
|
+
*/
|
|
2959
|
+
export const validateEmbeddingProvider = (options) => (options.client ?? client).post({
|
|
2960
|
+
responseType: 'json',
|
|
2961
|
+
security: [{
|
|
2962
|
+
key: 'ApiKeyAuth',
|
|
2963
|
+
scheme: 'bearer',
|
|
2964
|
+
type: 'http'
|
|
2965
|
+
}, {
|
|
2966
|
+
in: 'cookie',
|
|
2967
|
+
name: 'vx_session',
|
|
2968
|
+
type: 'apiKey'
|
|
2969
|
+
}],
|
|
2970
|
+
url: '/api/v1/embedding-providers/validate',
|
|
2971
|
+
...options,
|
|
2972
|
+
headers: {
|
|
2973
|
+
'Content-Type': 'application/json',
|
|
2974
|
+
...options.headers
|
|
2975
|
+
}
|
|
2976
|
+
});
|
|
2977
|
+
/**
|
|
2978
|
+
* List embedding providers (Settings)
|
|
2979
|
+
*
|
|
2980
|
+
* Retrieves all embedding providers belonging to the authenticated user (settings route).
|
|
2981
|
+
* Returns a bare JSON array (no pagination envelope). Encrypted API keys
|
|
2982
|
+
* are never included; each item carries a `has_api_key` boolean instead.
|
|
2983
|
+
*
|
|
2984
|
+
*/
|
|
2985
|
+
export const listEmbeddingProvidersSettings = (options) => (options?.client ?? client).get({
|
|
2986
|
+
responseType: 'json',
|
|
2987
|
+
security: [{
|
|
2988
|
+
key: 'ApiKeyAuth',
|
|
2989
|
+
scheme: 'bearer',
|
|
2990
|
+
type: 'http'
|
|
2991
|
+
}, {
|
|
2992
|
+
in: 'cookie',
|
|
2993
|
+
name: 'vx_session',
|
|
2994
|
+
type: 'apiKey'
|
|
2995
|
+
}],
|
|
2996
|
+
url: '/api/v1/settings/embedding-providers',
|
|
2997
|
+
...options
|
|
2998
|
+
});
|
|
2999
|
+
/**
|
|
3000
|
+
* Create embedding provider (Settings)
|
|
3001
|
+
*
|
|
3002
|
+
* Creates a new embedding provider configuration for the authenticated user (settings route).
|
|
3003
|
+
* The `api_key` supplied in the request is encrypted at rest and is never
|
|
3004
|
+
* returned by the API — responses expose only a `has_api_key` boolean.
|
|
3005
|
+
* Returns 200 (not 201) on success.
|
|
3006
|
+
*
|
|
3007
|
+
*/
|
|
3008
|
+
export const createEmbeddingProviderSettings = (options) => (options.client ?? client).post({
|
|
3009
|
+
responseType: 'json',
|
|
3010
|
+
security: [{
|
|
3011
|
+
key: 'ApiKeyAuth',
|
|
3012
|
+
scheme: 'bearer',
|
|
3013
|
+
type: 'http'
|
|
3014
|
+
}, {
|
|
3015
|
+
in: 'cookie',
|
|
3016
|
+
name: 'vx_session',
|
|
3017
|
+
type: 'apiKey'
|
|
3018
|
+
}],
|
|
3019
|
+
url: '/api/v1/settings/embedding-providers',
|
|
3020
|
+
...options,
|
|
3021
|
+
headers: {
|
|
3022
|
+
'Content-Type': 'application/json',
|
|
3023
|
+
...options.headers
|
|
3024
|
+
}
|
|
3025
|
+
});
|
|
3026
|
+
/**
|
|
3027
|
+
* Delete embedding provider (Settings)
|
|
3028
|
+
*
|
|
3029
|
+
* Deletes an embedding provider owned by the authenticated user (settings route).
|
|
3030
|
+
* Deleting the user's last remaining provider is blocked with a 400
|
|
3031
|
+
* `PROVIDER_LAST_DELETE_BLOCKED` error.
|
|
3032
|
+
*
|
|
3033
|
+
*/
|
|
3034
|
+
export const deleteEmbeddingProviderSettings = (options) => (options.client ?? client).delete({
|
|
3035
|
+
security: [{
|
|
3036
|
+
key: 'ApiKeyAuth',
|
|
3037
|
+
scheme: 'bearer',
|
|
3038
|
+
type: 'http'
|
|
3039
|
+
}, {
|
|
3040
|
+
in: 'cookie',
|
|
3041
|
+
name: 'vx_session',
|
|
3042
|
+
type: 'apiKey'
|
|
3043
|
+
}],
|
|
3044
|
+
url: '/api/v1/settings/embedding-providers/{id}',
|
|
3045
|
+
...options
|
|
3046
|
+
});
|
|
3047
|
+
/**
|
|
3048
|
+
* Get embedding provider (Settings)
|
|
3049
|
+
*
|
|
3050
|
+
* Retrieves a single embedding provider owned by the authenticated user (settings route).
|
|
3051
|
+
* The encrypted API key is never returned; `has_api_key` indicates whether
|
|
3052
|
+
* one is stored.
|
|
3053
|
+
*
|
|
3054
|
+
*/
|
|
3055
|
+
export const getEmbeddingProviderSettings = (options) => (options.client ?? client).get({
|
|
3056
|
+
responseType: 'json',
|
|
3057
|
+
security: [{
|
|
3058
|
+
key: 'ApiKeyAuth',
|
|
3059
|
+
scheme: 'bearer',
|
|
3060
|
+
type: 'http'
|
|
3061
|
+
}, {
|
|
3062
|
+
in: 'cookie',
|
|
3063
|
+
name: 'vx_session',
|
|
3064
|
+
type: 'apiKey'
|
|
3065
|
+
}],
|
|
3066
|
+
url: '/api/v1/settings/embedding-providers/{id}',
|
|
3067
|
+
...options
|
|
3068
|
+
});
|
|
3069
|
+
/**
|
|
3070
|
+
* Update embedding provider (Settings)
|
|
3071
|
+
*
|
|
3072
|
+
* Updates an existing embedding provider (settings route). All fields are
|
|
3073
|
+
* optional; only provided fields are changed. A supplied `api_key`
|
|
3074
|
+
* replaces the stored (encrypted) key and is never echoed back in the
|
|
3075
|
+
* response.
|
|
3076
|
+
*
|
|
3077
|
+
*/
|
|
3078
|
+
export const updateEmbeddingProviderSettings = (options) => (options.client ?? client).put({
|
|
3079
|
+
responseType: 'json',
|
|
3080
|
+
security: [{
|
|
3081
|
+
key: 'ApiKeyAuth',
|
|
3082
|
+
scheme: 'bearer',
|
|
3083
|
+
type: 'http'
|
|
3084
|
+
}, {
|
|
3085
|
+
in: 'cookie',
|
|
3086
|
+
name: 'vx_session',
|
|
3087
|
+
type: 'apiKey'
|
|
3088
|
+
}],
|
|
3089
|
+
url: '/api/v1/settings/embedding-providers/{id}',
|
|
3090
|
+
...options,
|
|
3091
|
+
headers: {
|
|
3092
|
+
'Content-Type': 'application/json',
|
|
3093
|
+
...options.headers
|
|
3094
|
+
}
|
|
3095
|
+
});
|
|
3096
|
+
/**
|
|
3097
|
+
* Validate embedding provider configuration (Settings)
|
|
3098
|
+
*
|
|
3099
|
+
* Validates an embedding provider configuration (connectivity/credentials)
|
|
3100
|
+
* without persisting anything (settings route). Validation outcome —
|
|
3101
|
+
* including an invalid configuration — is reported in the 200 response
|
|
3102
|
+
* body (`is_valid`, `message`, `details`); 500 is returned only for
|
|
3103
|
+
* internal service errors.
|
|
3104
|
+
*
|
|
3105
|
+
*/
|
|
3106
|
+
export const validateEmbeddingProviderSettings = (options) => (options.client ?? client).post({
|
|
3107
|
+
responseType: 'json',
|
|
3108
|
+
security: [{
|
|
3109
|
+
key: 'ApiKeyAuth',
|
|
3110
|
+
scheme: 'bearer',
|
|
3111
|
+
type: 'http'
|
|
3112
|
+
}, {
|
|
3113
|
+
in: 'cookie',
|
|
3114
|
+
name: 'vx_session',
|
|
3115
|
+
type: 'apiKey'
|
|
3116
|
+
}],
|
|
3117
|
+
url: '/api/v1/settings/embedding-providers/validate',
|
|
3118
|
+
...options,
|
|
3119
|
+
headers: {
|
|
3120
|
+
'Content-Type': 'application/json',
|
|
3121
|
+
...options.headers
|
|
3122
|
+
}
|
|
3123
|
+
});
|
|
3124
|
+
/**
|
|
3125
|
+
* List projects
|
|
3126
|
+
*
|
|
3127
|
+
* Returns a paginated list of projects within the specified team. Each
|
|
3128
|
+
* project is enriched with a `github_connected` flag indicating whether
|
|
3129
|
+
* its git URL matches a repository accessible via the team's GitHub App
|
|
3130
|
+
* installation.
|
|
3131
|
+
*
|
|
3132
|
+
*/
|
|
3133
|
+
export const listProjects = (options) => (options.client ?? client).get({
|
|
3134
|
+
responseType: 'json',
|
|
3135
|
+
security: [{
|
|
3136
|
+
key: 'ApiKeyAuth',
|
|
3137
|
+
scheme: 'bearer',
|
|
3138
|
+
type: 'http'
|
|
3139
|
+
}, {
|
|
3140
|
+
in: 'cookie',
|
|
3141
|
+
name: 'vx_session',
|
|
3142
|
+
type: 'apiKey'
|
|
3143
|
+
}],
|
|
3144
|
+
url: '/api/v1/{team_id}/projects',
|
|
3145
|
+
...options
|
|
3146
|
+
});
|
|
3147
|
+
/**
|
|
3148
|
+
* Create new project
|
|
3149
|
+
*
|
|
3150
|
+
* Creates a new project within the specified team. Project slugs must be
|
|
3151
|
+
* unique within the team. Requires team membership and an active subscription.
|
|
3152
|
+
*
|
|
3153
|
+
*/
|
|
3154
|
+
export const createProject = (options) => (options.client ?? client).post({
|
|
3155
|
+
responseType: 'json',
|
|
3156
|
+
security: [{
|
|
3157
|
+
key: 'ApiKeyAuth',
|
|
3158
|
+
scheme: 'bearer',
|
|
3159
|
+
type: 'http'
|
|
3160
|
+
}, {
|
|
3161
|
+
in: 'cookie',
|
|
3162
|
+
name: 'vx_session',
|
|
3163
|
+
type: 'apiKey'
|
|
3164
|
+
}],
|
|
3165
|
+
url: '/api/v1/{team_id}/projects',
|
|
3166
|
+
...options,
|
|
3167
|
+
headers: {
|
|
3168
|
+
'Content-Type': 'application/json',
|
|
3169
|
+
...options.headers
|
|
3170
|
+
}
|
|
3171
|
+
});
|
|
3172
|
+
/**
|
|
3173
|
+
* Delete project
|
|
3174
|
+
*
|
|
3175
|
+
* Deletes a project identified by its slug. The last remaining project in
|
|
3176
|
+
* a team cannot be deleted (returns 400).
|
|
3177
|
+
*
|
|
3178
|
+
*/
|
|
3179
|
+
export const deleteProject = (options) => (options.client ?? client).delete({
|
|
3180
|
+
security: [{
|
|
3181
|
+
key: 'ApiKeyAuth',
|
|
3182
|
+
scheme: 'bearer',
|
|
3183
|
+
type: 'http'
|
|
3184
|
+
}, {
|
|
3185
|
+
in: 'cookie',
|
|
3186
|
+
name: 'vx_session',
|
|
3187
|
+
type: 'apiKey'
|
|
3188
|
+
}],
|
|
3189
|
+
url: '/api/v1/{team_id}/projects/{slug}',
|
|
3190
|
+
...options
|
|
3191
|
+
});
|
|
3192
|
+
/**
|
|
3193
|
+
* Get project by slug
|
|
3194
|
+
*
|
|
3195
|
+
* Returns a single project identified by its URL-encoded slug within the specified team.
|
|
3196
|
+
*/
|
|
3197
|
+
export const getProject = (options) => (options.client ?? client).get({
|
|
3198
|
+
responseType: 'json',
|
|
3199
|
+
security: [{
|
|
3200
|
+
key: 'ApiKeyAuth',
|
|
3201
|
+
scheme: 'bearer',
|
|
3202
|
+
type: 'http'
|
|
3203
|
+
}, {
|
|
3204
|
+
in: 'cookie',
|
|
3205
|
+
name: 'vx_session',
|
|
3206
|
+
type: 'apiKey'
|
|
3207
|
+
}],
|
|
3208
|
+
url: '/api/v1/{team_id}/projects/{slug}',
|
|
3209
|
+
...options
|
|
3210
|
+
});
|
|
3211
|
+
/**
|
|
3212
|
+
* Update project
|
|
3213
|
+
*
|
|
3214
|
+
* Partially updates a project identified by its slug. Only fields present
|
|
3215
|
+
* in the request body are changed. Uses optimistic locking — a concurrent
|
|
3216
|
+
* modification returns 409. Projects cannot be moved between teams.
|
|
3217
|
+
*
|
|
3218
|
+
*/
|
|
3219
|
+
export const updateProject = (options) => (options.client ?? client).put({
|
|
3220
|
+
responseType: 'json',
|
|
3221
|
+
security: [{
|
|
3222
|
+
key: 'ApiKeyAuth',
|
|
3223
|
+
scheme: 'bearer',
|
|
3224
|
+
type: 'http'
|
|
3225
|
+
}, {
|
|
3226
|
+
in: 'cookie',
|
|
3227
|
+
name: 'vx_session',
|
|
3228
|
+
type: 'apiKey'
|
|
3229
|
+
}],
|
|
3230
|
+
url: '/api/v1/{team_id}/projects/{slug}',
|
|
3231
|
+
...options,
|
|
3232
|
+
headers: {
|
|
3233
|
+
'Content-Type': 'application/json',
|
|
3234
|
+
...options.headers
|
|
3235
|
+
}
|
|
3236
|
+
});
|
|
3237
|
+
/**
|
|
3238
|
+
* Get project migration inventory
|
|
3239
|
+
*
|
|
3240
|
+
* Returns a count and item list of all migratable resources (prompts,
|
|
3241
|
+
* artifacts, spec libraries, feed items) in the given project, used to
|
|
3242
|
+
* drive the migration UI.
|
|
3243
|
+
*
|
|
3244
|
+
*/
|
|
3245
|
+
export const getProjectMigrationInventory = (options) => (options.client ?? client).get({
|
|
3246
|
+
responseType: 'json',
|
|
3247
|
+
security: [{
|
|
3248
|
+
key: 'ApiKeyAuth',
|
|
3249
|
+
scheme: 'bearer',
|
|
3250
|
+
type: 'http'
|
|
3251
|
+
}, {
|
|
3252
|
+
in: 'cookie',
|
|
3253
|
+
name: 'vx_session',
|
|
3254
|
+
type: 'apiKey'
|
|
3255
|
+
}],
|
|
3256
|
+
url: '/api/v1/{team_id}/projects/{project_id}/migration/inventory',
|
|
3257
|
+
...options
|
|
3258
|
+
});
|
|
3259
|
+
/**
|
|
3260
|
+
* Migrate project resources
|
|
3261
|
+
*
|
|
3262
|
+
* Moves selected resources (prompts, artifacts, spec libraries, feed items)
|
|
3263
|
+
* from the source project to a destination project in the same team.
|
|
3264
|
+
* Slug collisions are handled per the requested conflict policy
|
|
3265
|
+
* (skip, rename, or overwrite; defaults to skip). Returns per-type
|
|
3266
|
+
* migrated counts plus skipped/failed outcomes with a 200 status.
|
|
3267
|
+
*
|
|
3268
|
+
*/
|
|
3269
|
+
export const migrateProject = (options) => (options.client ?? client).post({
|
|
3270
|
+
responseType: 'json',
|
|
3271
|
+
security: [{
|
|
3272
|
+
key: 'ApiKeyAuth',
|
|
3273
|
+
scheme: 'bearer',
|
|
3274
|
+
type: 'http'
|
|
3275
|
+
}, {
|
|
3276
|
+
in: 'cookie',
|
|
3277
|
+
name: 'vx_session',
|
|
3278
|
+
type: 'apiKey'
|
|
3279
|
+
}],
|
|
3280
|
+
url: '/api/v1/{team_id}/projects/{project_id}/migration',
|
|
3281
|
+
...options,
|
|
3282
|
+
headers: {
|
|
3283
|
+
'Content-Type': 'application/json',
|
|
3284
|
+
...options.headers
|
|
3285
|
+
}
|
|
3286
|
+
});
|
|
3287
|
+
/**
|
|
3288
|
+
* List activities
|
|
3289
|
+
*
|
|
3290
|
+
* Returns a paginated list of the authenticated user's activities, with
|
|
3291
|
+
* optional filtering by type, entity, session, free-text search, and date
|
|
3292
|
+
* range. Activities are user-scoped (not team-scoped). Invalid filter or
|
|
3293
|
+
* pagination values are silently ignored and defaults applied.
|
|
3294
|
+
*
|
|
3295
|
+
*/
|
|
3296
|
+
export const listActivities = (options) => (options?.client ?? client).get({
|
|
3297
|
+
responseType: 'json',
|
|
3298
|
+
security: [{
|
|
3299
|
+
key: 'ApiKeyAuth',
|
|
3300
|
+
scheme: 'bearer',
|
|
3301
|
+
type: 'http'
|
|
3302
|
+
}, {
|
|
3303
|
+
in: 'cookie',
|
|
3304
|
+
name: 'vx_session',
|
|
3305
|
+
type: 'apiKey'
|
|
3306
|
+
}],
|
|
3307
|
+
url: '/api/v1/activities',
|
|
3308
|
+
...options
|
|
3309
|
+
});
|
|
3310
|
+
/**
|
|
3311
|
+
* Create activity
|
|
3312
|
+
*
|
|
3313
|
+
* Manually records an activity for the authenticated user. The server
|
|
3314
|
+
* enriches the activity metadata with manual_creation/created_via flags
|
|
3315
|
+
* and overwrites source_ip and user_agent from the request.
|
|
3316
|
+
*
|
|
3317
|
+
*/
|
|
3318
|
+
export const createActivity = (options) => (options.client ?? client).post({
|
|
3319
|
+
responseType: 'json',
|
|
3320
|
+
security: [{
|
|
3321
|
+
key: 'ApiKeyAuth',
|
|
3322
|
+
scheme: 'bearer',
|
|
3323
|
+
type: 'http'
|
|
3324
|
+
}, {
|
|
3325
|
+
in: 'cookie',
|
|
3326
|
+
name: 'vx_session',
|
|
3327
|
+
type: 'apiKey'
|
|
3328
|
+
}],
|
|
3329
|
+
url: '/api/v1/activities',
|
|
3330
|
+
...options,
|
|
3331
|
+
headers: {
|
|
3332
|
+
'Content-Type': 'application/json',
|
|
3333
|
+
...options.headers
|
|
3334
|
+
}
|
|
3335
|
+
});
|
|
3336
|
+
/**
|
|
3337
|
+
* Get activity statistics
|
|
3338
|
+
*
|
|
3339
|
+
* Returns aggregated activity statistics for the authenticated user,
|
|
3340
|
+
* including totals, top activity/entity types, recent activities, and a
|
|
3341
|
+
* per-day count for the current week.
|
|
3342
|
+
*
|
|
3343
|
+
*/
|
|
3344
|
+
export const getActivityStats = (options) => (options?.client ?? client).get({
|
|
3345
|
+
responseType: 'json',
|
|
3346
|
+
security: [{
|
|
3347
|
+
key: 'ApiKeyAuth',
|
|
3348
|
+
scheme: 'bearer',
|
|
3349
|
+
type: 'http'
|
|
3350
|
+
}, {
|
|
3351
|
+
in: 'cookie',
|
|
3352
|
+
name: 'vx_session',
|
|
3353
|
+
type: 'apiKey'
|
|
3354
|
+
}],
|
|
3355
|
+
url: '/api/v1/activities/stats',
|
|
3356
|
+
...options
|
|
3357
|
+
});
|
|
3358
|
+
/**
|
|
3359
|
+
* Get activity and entity types
|
|
3360
|
+
*
|
|
3361
|
+
* Returns the catalog of activity types this endpoint exposes (a curated subset of all recorded types) and the entity types, in a single response.
|
|
3362
|
+
*/
|
|
3363
|
+
export const getActivityTypes = (options) => (options?.client ?? client).get({
|
|
3364
|
+
responseType: 'json',
|
|
3365
|
+
security: [{
|
|
3366
|
+
key: 'ApiKeyAuth',
|
|
3367
|
+
scheme: 'bearer',
|
|
3368
|
+
type: 'http'
|
|
3369
|
+
}, {
|
|
3370
|
+
in: 'cookie',
|
|
3371
|
+
name: 'vx_session',
|
|
3372
|
+
type: 'apiKey'
|
|
3373
|
+
}],
|
|
3374
|
+
url: '/api/v1/activities/types',
|
|
3375
|
+
...options
|
|
3376
|
+
});
|
|
3377
|
+
/**
|
|
3378
|
+
* Get entity types
|
|
3379
|
+
*
|
|
3380
|
+
* Returns the static catalog of known entity types as a plain string array.
|
|
3381
|
+
*/
|
|
3382
|
+
export const getActivityEntityTypes = (options) => (options?.client ?? client).get({
|
|
3383
|
+
responseType: 'json',
|
|
3384
|
+
security: [{
|
|
3385
|
+
key: 'ApiKeyAuth',
|
|
3386
|
+
scheme: 'bearer',
|
|
3387
|
+
type: 'http'
|
|
3388
|
+
}, {
|
|
3389
|
+
in: 'cookie',
|
|
3390
|
+
name: 'vx_session',
|
|
3391
|
+
type: 'apiKey'
|
|
3392
|
+
}],
|
|
3393
|
+
url: '/api/v1/activities/entity-types',
|
|
3394
|
+
...options
|
|
3395
|
+
});
|
|
3396
|
+
/**
|
|
3397
|
+
* Get activity by ID
|
|
3398
|
+
*
|
|
3399
|
+
* Returns a single activity owned by the authenticated user.
|
|
3400
|
+
*/
|
|
3401
|
+
export const getActivity = (options) => (options.client ?? client).get({
|
|
3402
|
+
responseType: 'json',
|
|
3403
|
+
security: [{
|
|
3404
|
+
key: 'ApiKeyAuth',
|
|
3405
|
+
scheme: 'bearer',
|
|
3406
|
+
type: 'http'
|
|
3407
|
+
}, {
|
|
3408
|
+
in: 'cookie',
|
|
3409
|
+
name: 'vx_session',
|
|
3410
|
+
type: 'apiKey'
|
|
3411
|
+
}],
|
|
3412
|
+
url: '/api/v1/activities/{id}',
|
|
3413
|
+
...options
|
|
3414
|
+
});
|
|
3415
|
+
/**
|
|
3416
|
+
* Get user preferences
|
|
3417
|
+
*
|
|
3418
|
+
* Returns the authenticated user's preferences (email notification settings and
|
|
3419
|
+
* per-channel/per-type notification delivery preferences). Defaults are created
|
|
3420
|
+
* on first access if the user has no stored preferences.
|
|
3421
|
+
*
|
|
3422
|
+
*/
|
|
3423
|
+
export const getPreferences = (options) => (options?.client ?? client).get({
|
|
3424
|
+
responseType: 'json',
|
|
3425
|
+
security: [{
|
|
3426
|
+
key: 'ApiKeyAuth',
|
|
3427
|
+
scheme: 'bearer',
|
|
3428
|
+
type: 'http'
|
|
3429
|
+
}, {
|
|
3430
|
+
in: 'cookie',
|
|
3431
|
+
name: 'vx_session',
|
|
3432
|
+
type: 'apiKey'
|
|
3433
|
+
}],
|
|
3434
|
+
url: '/api/v1/preferences',
|
|
3435
|
+
...options
|
|
3436
|
+
});
|
|
3437
|
+
/**
|
|
3438
|
+
* Update user preferences
|
|
3439
|
+
*
|
|
3440
|
+
* Updates the authenticated user's preferences. Both top-level fields are optional;
|
|
3441
|
+
* only the categories present in the request body are updated.
|
|
3442
|
+
*
|
|
3443
|
+
*/
|
|
3444
|
+
export const updatePreferences = (options) => (options.client ?? client).put({
|
|
3445
|
+
responseType: 'json',
|
|
3446
|
+
security: [{
|
|
3447
|
+
key: 'ApiKeyAuth',
|
|
3448
|
+
scheme: 'bearer',
|
|
3449
|
+
type: 'http'
|
|
3450
|
+
}, {
|
|
3451
|
+
in: 'cookie',
|
|
3452
|
+
name: 'vx_session',
|
|
3453
|
+
type: 'apiKey'
|
|
3454
|
+
}],
|
|
3455
|
+
url: '/api/v1/preferences',
|
|
3456
|
+
...options,
|
|
3457
|
+
headers: {
|
|
3458
|
+
'Content-Type': 'application/json',
|
|
3459
|
+
...options.headers
|
|
3460
|
+
}
|
|
3461
|
+
});
|
|
3462
|
+
/**
|
|
3463
|
+
* Delete a device token
|
|
3464
|
+
*
|
|
3465
|
+
* Removes a push notification device token for the authenticated user. The token to
|
|
3466
|
+
* delete is supplied in the JSON request body. Request body is capped at 4 KB.
|
|
3467
|
+
*
|
|
3468
|
+
*/
|
|
3469
|
+
export const deleteDeviceToken = (options) => (options.client ?? client).delete({
|
|
3470
|
+
security: [{
|
|
3471
|
+
key: 'ApiKeyAuth',
|
|
3472
|
+
scheme: 'bearer',
|
|
3473
|
+
type: 'http'
|
|
3474
|
+
}, {
|
|
3475
|
+
in: 'cookie',
|
|
3476
|
+
name: 'vx_session',
|
|
3477
|
+
type: 'apiKey'
|
|
3478
|
+
}],
|
|
3479
|
+
url: '/api/v1/device-tokens',
|
|
3480
|
+
...options,
|
|
3481
|
+
headers: {
|
|
3482
|
+
'Content-Type': 'application/json',
|
|
3483
|
+
...options.headers
|
|
3484
|
+
}
|
|
3485
|
+
});
|
|
3486
|
+
/**
|
|
3487
|
+
* Register a device token
|
|
3488
|
+
*
|
|
3489
|
+
* Upserts a push notification device token for the authenticated user. Currently
|
|
3490
|
+
* only the "web" platform (Web Push / FCM browser push) is supported. Re-registering
|
|
3491
|
+
* the same token for the same user is idempotent. Request body is capped at 4 KB.
|
|
3492
|
+
* Free-tier accessible — push notification registration is not a gated resource.
|
|
3493
|
+
*
|
|
3494
|
+
*/
|
|
3495
|
+
export const registerDeviceToken = (options) => (options.client ?? client).post({
|
|
3496
|
+
security: [{
|
|
3497
|
+
key: 'ApiKeyAuth',
|
|
3498
|
+
scheme: 'bearer',
|
|
3499
|
+
type: 'http'
|
|
3500
|
+
}, {
|
|
3501
|
+
in: 'cookie',
|
|
3502
|
+
name: 'vx_session',
|
|
3503
|
+
type: 'apiKey'
|
|
3504
|
+
}],
|
|
3505
|
+
url: '/api/v1/device-tokens',
|
|
3506
|
+
...options,
|
|
3507
|
+
headers: {
|
|
3508
|
+
'Content-Type': 'application/json',
|
|
3509
|
+
...options.headers
|
|
3510
|
+
}
|
|
3511
|
+
});
|
|
3512
|
+
/**
|
|
3513
|
+
* Mark onboarding as completed
|
|
3514
|
+
*
|
|
3515
|
+
* Marks the authenticated user's onboarding flow as completed and returns the
|
|
3516
|
+
* updated user object. Takes no request body.
|
|
3517
|
+
*
|
|
3518
|
+
*/
|
|
3519
|
+
export const completeOnboarding = (options) => (options?.client ?? client).post({
|
|
3520
|
+
responseType: 'json',
|
|
3521
|
+
security: [{
|
|
3522
|
+
key: 'ApiKeyAuth',
|
|
3523
|
+
scheme: 'bearer',
|
|
3524
|
+
type: 'http'
|
|
3525
|
+
}, {
|
|
3526
|
+
in: 'cookie',
|
|
3527
|
+
name: 'vx_session',
|
|
3528
|
+
type: 'apiKey'
|
|
3529
|
+
}],
|
|
3530
|
+
url: '/api/v1/user/onboarding/complete',
|
|
3531
|
+
...options
|
|
3532
|
+
});
|
|
3533
|
+
/**
|
|
3534
|
+
* Send a contact form message
|
|
3535
|
+
*
|
|
3536
|
+
* Submits a contact form message from the public marketing website and fans it out
|
|
3537
|
+
* to the email provider. This is a public endpoint (no authentication) with a very
|
|
3538
|
+
* strict per-IP rate limit; exceeding it returns 429. Request body is capped at 64 KB.
|
|
3539
|
+
* Note — error responses deviate from the standard `ErrorResponse` shape: validation
|
|
3540
|
+
* failures (400) and email-send failures (500) return a `ContactFormResponse` with
|
|
3541
|
+
* `success: false`, while malformed JSON (400) and oversized bodies (413) return a
|
|
3542
|
+
* plain-text message.
|
|
3543
|
+
*
|
|
3544
|
+
*/
|
|
3545
|
+
export const sendContactMessage = (options) => (options.client ?? client).post({
|
|
3546
|
+
responseType: 'json',
|
|
3547
|
+
url: '/api/v1/website/contact/send-message',
|
|
3548
|
+
...options,
|
|
3549
|
+
headers: {
|
|
3550
|
+
'Content-Type': 'application/json',
|
|
3551
|
+
...options.headers
|
|
3552
|
+
}
|
|
3553
|
+
});
|
|
3554
|
+
/**
|
|
3555
|
+
* List feed item replies
|
|
3556
|
+
*
|
|
3557
|
+
* Returns paginated threaded replies for the specified feed item, team-scoped
|
|
3558
|
+
* (free-tier accessible).
|
|
3559
|
+
*
|
|
3560
|
+
*/
|
|
3561
|
+
export const listFeedItemReplies = (options) => (options.client ?? client).get({
|
|
3562
|
+
responseType: 'json',
|
|
3563
|
+
security: [{
|
|
3564
|
+
key: 'ApiKeyAuth',
|
|
3565
|
+
scheme: 'bearer',
|
|
3566
|
+
type: 'http'
|
|
3567
|
+
}, {
|
|
3568
|
+
in: 'cookie',
|
|
3569
|
+
name: 'vx_session',
|
|
3570
|
+
type: 'apiKey'
|
|
3571
|
+
}],
|
|
3572
|
+
url: '/api/v1/{team_id}/feed-items/{item_id}/replies',
|
|
3573
|
+
...options
|
|
3574
|
+
});
|
|
3575
|
+
/**
|
|
3576
|
+
* Create a feed item reply
|
|
3577
|
+
*
|
|
3578
|
+
* Posts a threaded reply to the specified feed item, team-scoped (free-tier
|
|
3579
|
+
* accessible). Replies cannot be posted to archived feed items. Reply creation
|
|
3580
|
+
* counts against the user's feed item resource limit.
|
|
3581
|
+
*
|
|
3582
|
+
*/
|
|
3583
|
+
export const createFeedItemReply = (options) => (options.client ?? client).post({
|
|
3584
|
+
responseType: 'json',
|
|
3585
|
+
security: [{
|
|
3586
|
+
key: 'ApiKeyAuth',
|
|
3587
|
+
scheme: 'bearer',
|
|
3588
|
+
type: 'http'
|
|
3589
|
+
}, {
|
|
3590
|
+
in: 'cookie',
|
|
3591
|
+
name: 'vx_session',
|
|
3592
|
+
type: 'apiKey'
|
|
3593
|
+
}],
|
|
3594
|
+
url: '/api/v1/{team_id}/feed-items/{item_id}/replies',
|
|
3595
|
+
...options,
|
|
3596
|
+
headers: {
|
|
3597
|
+
'Content-Type': 'application/json',
|
|
3598
|
+
...options.headers
|
|
3599
|
+
}
|
|
3600
|
+
});
|