current-cli 0.1.0__py3-none-any.whl

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.
current_cli/schema.yml ADDED
@@ -0,0 +1,3457 @@
1
+ openapi: 3.0.3
2
+ info:
3
+ title: Current API
4
+ version: 1.0.0
5
+ description: API for workspaces, projects, and custom fields
6
+ paths:
7
+ /api/accounts/auth/logout/:
8
+ post:
9
+ operationId: accounts_auth_logout_create
10
+ description: Invalidate the current user's auth token.
11
+ tags:
12
+ - accounts
13
+ security:
14
+ - tokenAuth: []
15
+ responses:
16
+ '200':
17
+ content:
18
+ application/json:
19
+ schema:
20
+ $ref: '#/components/schemas/LogoutResponse'
21
+ description: ''
22
+ /api/accounts/auth/magic-link/:
23
+ post:
24
+ operationId: accounts_auth_magic_link_create
25
+ description: Request a magic sign-in link. Creates the user if they don't exist.
26
+ tags:
27
+ - accounts
28
+ requestBody:
29
+ content:
30
+ application/json:
31
+ schema:
32
+ $ref: '#/components/schemas/RequestMagicLinkRequest'
33
+ application/x-www-form-urlencoded:
34
+ schema:
35
+ $ref: '#/components/schemas/RequestMagicLinkRequest'
36
+ multipart/form-data:
37
+ schema:
38
+ $ref: '#/components/schemas/RequestMagicLinkRequest'
39
+ required: true
40
+ security:
41
+ - {}
42
+ responses:
43
+ '200':
44
+ content:
45
+ application/json:
46
+ schema:
47
+ $ref: '#/components/schemas/RequestMagicLinkResponse'
48
+ description: ''
49
+ /api/accounts/auth/me/:
50
+ get:
51
+ operationId: accounts_auth_me_retrieve
52
+ description: Current user with workspace memberships.
53
+ tags:
54
+ - accounts
55
+ security:
56
+ - tokenAuth: []
57
+ responses:
58
+ '200':
59
+ content:
60
+ application/json:
61
+ schema:
62
+ $ref: '#/components/schemas/Me'
63
+ description: ''
64
+ /api/accounts/auth/verify/:
65
+ post:
66
+ operationId: accounts_auth_verify_create
67
+ description: Exchange a magic-link token for an auth token.
68
+ tags:
69
+ - accounts
70
+ requestBody:
71
+ content:
72
+ application/json:
73
+ schema:
74
+ $ref: '#/components/schemas/VerifyMagicLinkRequest'
75
+ application/x-www-form-urlencoded:
76
+ schema:
77
+ $ref: '#/components/schemas/VerifyMagicLinkRequest'
78
+ multipart/form-data:
79
+ schema:
80
+ $ref: '#/components/schemas/VerifyMagicLinkRequest'
81
+ required: true
82
+ security:
83
+ - {}
84
+ responses:
85
+ '200':
86
+ content:
87
+ application/json:
88
+ schema:
89
+ $ref: '#/components/schemas/VerifyMagicLinkResponse'
90
+ description: ''
91
+ /api/inbox/inbox/:
92
+ get:
93
+ operationId: inbox_retrieve
94
+ description: Fetch (and lazily provision) the workspace's forwarding inbox.
95
+ parameters:
96
+ - in: query
97
+ name: workspace
98
+ schema:
99
+ type: string
100
+ description: Workspace UUID
101
+ required: true
102
+ tags:
103
+ - inbox
104
+ security:
105
+ - tokenAuth: []
106
+ responses:
107
+ '200':
108
+ content:
109
+ application/json:
110
+ schema:
111
+ $ref: '#/components/schemas/WorkspaceInbox'
112
+ description: ''
113
+ /api/integrations/connections/:
114
+ get:
115
+ operationId: integrations_connections_list
116
+ description: |-
117
+ Workspace OAuth connections. Created only via the OAuth callback;
118
+ any member can list, only admins can authorize or disconnect.
119
+ parameters:
120
+ - in: query
121
+ name: workspace
122
+ schema:
123
+ type: string
124
+ description: Filter by workspace UUID
125
+ tags:
126
+ - integrations
127
+ security:
128
+ - tokenAuth: []
129
+ responses:
130
+ '200':
131
+ content:
132
+ application/json:
133
+ schema:
134
+ type: array
135
+ items:
136
+ $ref: '#/components/schemas/IntegrationConnection'
137
+ description: ''
138
+ /api/integrations/connections/{id}/:
139
+ delete:
140
+ operationId: integrations_connections_destroy
141
+ description: |-
142
+ Workspace OAuth connections. Created only via the OAuth callback;
143
+ any member can list, only admins can authorize or disconnect.
144
+ parameters:
145
+ - in: path
146
+ name: id
147
+ schema:
148
+ type: string
149
+ format: uuid
150
+ description: A UUID string identifying this integration connection.
151
+ required: true
152
+ tags:
153
+ - integrations
154
+ security:
155
+ - tokenAuth: []
156
+ responses:
157
+ '204':
158
+ description: No response body
159
+ /api/integrations/connections/{id}/channels/:
160
+ get:
161
+ operationId: integrations_connections_channels_list
162
+ description: List public Slack channels — verifies a Slack connection works.
163
+ parameters:
164
+ - in: path
165
+ name: id
166
+ schema:
167
+ type: string
168
+ format: uuid
169
+ description: A UUID string identifying this integration connection.
170
+ required: true
171
+ tags:
172
+ - integrations
173
+ security:
174
+ - tokenAuth: []
175
+ responses:
176
+ '200':
177
+ content:
178
+ application/json:
179
+ schema:
180
+ type: array
181
+ items:
182
+ $ref: '#/components/schemas/SlackChannel'
183
+ description: ''
184
+ /api/integrations/connections/authorize/:
185
+ post:
186
+ operationId: integrations_connections_authorize_create
187
+ description: 'Start an OAuth flow: returns the provider authorize URL to redirect
188
+ to.'
189
+ tags:
190
+ - integrations
191
+ requestBody:
192
+ content:
193
+ application/json:
194
+ schema:
195
+ $ref: '#/components/schemas/AuthorizeRequestRequest'
196
+ application/x-www-form-urlencoded:
197
+ schema:
198
+ $ref: '#/components/schemas/AuthorizeRequestRequest'
199
+ multipart/form-data:
200
+ schema:
201
+ $ref: '#/components/schemas/AuthorizeRequestRequest'
202
+ required: true
203
+ security:
204
+ - tokenAuth: []
205
+ responses:
206
+ '200':
207
+ content:
208
+ application/json:
209
+ schema:
210
+ $ref: '#/components/schemas/AuthorizeResponse'
211
+ description: ''
212
+ /api/integrations/connections/providers/:
213
+ get:
214
+ operationId: integrations_connections_providers_list
215
+ description: All known providers and whether OAuth credentials are configured.
216
+ tags:
217
+ - integrations
218
+ security:
219
+ - tokenAuth: []
220
+ responses:
221
+ '200':
222
+ content:
223
+ application/json:
224
+ schema:
225
+ type: array
226
+ items:
227
+ $ref: '#/components/schemas/ProviderInfo'
228
+ description: ''
229
+ /api/observations/observations/:
230
+ get:
231
+ operationId: observations_observations_list
232
+ description: |-
233
+ The workspace observation stream. List/retrieve for members; create is
234
+ quick-capture (source=user). No update or delete — content is immutable
235
+ and annotations belong to agents.
236
+ parameters:
237
+ - in: query
238
+ name: ids
239
+ schema:
240
+ type: string
241
+ description: Comma-separated observation UUIDs
242
+ - in: query
243
+ name: status
244
+ schema:
245
+ type: string
246
+ description: Filter by status (pending/ingested)
247
+ - in: query
248
+ name: workspace
249
+ schema:
250
+ type: string
251
+ description: Filter by workspace UUID
252
+ tags:
253
+ - observations
254
+ security:
255
+ - tokenAuth: []
256
+ responses:
257
+ '200':
258
+ content:
259
+ application/json:
260
+ schema:
261
+ type: array
262
+ items:
263
+ $ref: '#/components/schemas/Observation'
264
+ description: ''
265
+ post:
266
+ operationId: observations_observations_create
267
+ description: |-
268
+ The workspace observation stream. List/retrieve for members; create is
269
+ quick-capture (source=user). No update or delete — content is immutable
270
+ and annotations belong to agents.
271
+ tags:
272
+ - observations
273
+ requestBody:
274
+ content:
275
+ application/json:
276
+ schema:
277
+ $ref: '#/components/schemas/QuickCaptureRequest'
278
+ application/x-www-form-urlencoded:
279
+ schema:
280
+ $ref: '#/components/schemas/QuickCaptureRequest'
281
+ multipart/form-data:
282
+ schema:
283
+ $ref: '#/components/schemas/QuickCaptureRequest'
284
+ required: true
285
+ security:
286
+ - tokenAuth: []
287
+ responses:
288
+ '201':
289
+ content:
290
+ application/json:
291
+ schema:
292
+ $ref: '#/components/schemas/QuickCapture'
293
+ description: ''
294
+ /api/observations/observations/{id}/:
295
+ get:
296
+ operationId: observations_observations_retrieve
297
+ description: |-
298
+ The workspace observation stream. List/retrieve for members; create is
299
+ quick-capture (source=user). No update or delete — content is immutable
300
+ and annotations belong to agents.
301
+ parameters:
302
+ - in: path
303
+ name: id
304
+ schema:
305
+ type: string
306
+ format: uuid
307
+ description: A UUID string identifying this observation.
308
+ required: true
309
+ tags:
310
+ - observations
311
+ security:
312
+ - tokenAuth: []
313
+ responses:
314
+ '200':
315
+ content:
316
+ application/json:
317
+ schema:
318
+ $ref: '#/components/schemas/Observation'
319
+ description: ''
320
+ /api/projects/field-definitions/:
321
+ get:
322
+ operationId: projects_field_definitions_list
323
+ description: Workspace-level custom field definitions. Only admins can mutate.
324
+ parameters:
325
+ - in: query
326
+ name: workspace
327
+ schema:
328
+ type: string
329
+ description: Filter by workspace UUID
330
+ tags:
331
+ - projects
332
+ security:
333
+ - tokenAuth: []
334
+ responses:
335
+ '200':
336
+ content:
337
+ application/json:
338
+ schema:
339
+ type: array
340
+ items:
341
+ $ref: '#/components/schemas/ProjectFieldDefinition'
342
+ description: ''
343
+ post:
344
+ operationId: projects_field_definitions_create
345
+ description: Workspace-level custom field definitions. Only admins can mutate.
346
+ tags:
347
+ - projects
348
+ requestBody:
349
+ content:
350
+ application/json:
351
+ schema:
352
+ $ref: '#/components/schemas/ProjectFieldDefinitionRequest'
353
+ application/x-www-form-urlencoded:
354
+ schema:
355
+ $ref: '#/components/schemas/ProjectFieldDefinitionRequest'
356
+ multipart/form-data:
357
+ schema:
358
+ $ref: '#/components/schemas/ProjectFieldDefinitionRequest'
359
+ required: true
360
+ security:
361
+ - tokenAuth: []
362
+ responses:
363
+ '201':
364
+ content:
365
+ application/json:
366
+ schema:
367
+ $ref: '#/components/schemas/ProjectFieldDefinition'
368
+ description: ''
369
+ /api/projects/field-definitions/{id}/:
370
+ get:
371
+ operationId: projects_field_definitions_retrieve
372
+ description: Workspace-level custom field definitions. Only admins can mutate.
373
+ parameters:
374
+ - in: path
375
+ name: id
376
+ schema:
377
+ type: string
378
+ format: uuid
379
+ description: A UUID string identifying this project field definition.
380
+ required: true
381
+ tags:
382
+ - projects
383
+ security:
384
+ - tokenAuth: []
385
+ responses:
386
+ '200':
387
+ content:
388
+ application/json:
389
+ schema:
390
+ $ref: '#/components/schemas/ProjectFieldDefinition'
391
+ description: ''
392
+ put:
393
+ operationId: projects_field_definitions_update
394
+ description: Workspace-level custom field definitions. Only admins can mutate.
395
+ parameters:
396
+ - in: path
397
+ name: id
398
+ schema:
399
+ type: string
400
+ format: uuid
401
+ description: A UUID string identifying this project field definition.
402
+ required: true
403
+ tags:
404
+ - projects
405
+ requestBody:
406
+ content:
407
+ application/json:
408
+ schema:
409
+ $ref: '#/components/schemas/ProjectFieldDefinitionRequest'
410
+ application/x-www-form-urlencoded:
411
+ schema:
412
+ $ref: '#/components/schemas/ProjectFieldDefinitionRequest'
413
+ multipart/form-data:
414
+ schema:
415
+ $ref: '#/components/schemas/ProjectFieldDefinitionRequest'
416
+ required: true
417
+ security:
418
+ - tokenAuth: []
419
+ responses:
420
+ '200':
421
+ content:
422
+ application/json:
423
+ schema:
424
+ $ref: '#/components/schemas/ProjectFieldDefinition'
425
+ description: ''
426
+ patch:
427
+ operationId: projects_field_definitions_partial_update
428
+ description: Workspace-level custom field definitions. Only admins can mutate.
429
+ parameters:
430
+ - in: path
431
+ name: id
432
+ schema:
433
+ type: string
434
+ format: uuid
435
+ description: A UUID string identifying this project field definition.
436
+ required: true
437
+ tags:
438
+ - projects
439
+ requestBody:
440
+ content:
441
+ application/json:
442
+ schema:
443
+ $ref: '#/components/schemas/PatchedProjectFieldDefinitionRequest'
444
+ application/x-www-form-urlencoded:
445
+ schema:
446
+ $ref: '#/components/schemas/PatchedProjectFieldDefinitionRequest'
447
+ multipart/form-data:
448
+ schema:
449
+ $ref: '#/components/schemas/PatchedProjectFieldDefinitionRequest'
450
+ security:
451
+ - tokenAuth: []
452
+ responses:
453
+ '200':
454
+ content:
455
+ application/json:
456
+ schema:
457
+ $ref: '#/components/schemas/ProjectFieldDefinition'
458
+ description: ''
459
+ delete:
460
+ operationId: projects_field_definitions_destroy
461
+ description: Workspace-level custom field definitions. Only admins can mutate.
462
+ parameters:
463
+ - in: path
464
+ name: id
465
+ schema:
466
+ type: string
467
+ format: uuid
468
+ description: A UUID string identifying this project field definition.
469
+ required: true
470
+ tags:
471
+ - projects
472
+ security:
473
+ - tokenAuth: []
474
+ responses:
475
+ '204':
476
+ description: No response body
477
+ /api/projects/projects/:
478
+ get:
479
+ operationId: projects_projects_list
480
+ description: Projects across the caller's workspaces. Any member can create
481
+ and edit.
482
+ parameters:
483
+ - in: query
484
+ name: workspace
485
+ schema:
486
+ type: string
487
+ description: Filter by workspace UUID
488
+ tags:
489
+ - projects
490
+ security:
491
+ - tokenAuth: []
492
+ responses:
493
+ '200':
494
+ content:
495
+ application/json:
496
+ schema:
497
+ type: array
498
+ items:
499
+ $ref: '#/components/schemas/Project'
500
+ description: ''
501
+ post:
502
+ operationId: projects_projects_create
503
+ description: Projects across the caller's workspaces. Any member can create
504
+ and edit.
505
+ tags:
506
+ - projects
507
+ requestBody:
508
+ content:
509
+ application/json:
510
+ schema:
511
+ $ref: '#/components/schemas/ProjectRequest'
512
+ application/x-www-form-urlencoded:
513
+ schema:
514
+ $ref: '#/components/schemas/ProjectRequest'
515
+ multipart/form-data:
516
+ schema:
517
+ $ref: '#/components/schemas/ProjectRequest'
518
+ required: true
519
+ security:
520
+ - tokenAuth: []
521
+ responses:
522
+ '201':
523
+ content:
524
+ application/json:
525
+ schema:
526
+ $ref: '#/components/schemas/Project'
527
+ description: ''
528
+ /api/projects/projects/{id}/:
529
+ get:
530
+ operationId: projects_projects_retrieve
531
+ description: Projects across the caller's workspaces. Any member can create
532
+ and edit.
533
+ parameters:
534
+ - in: path
535
+ name: id
536
+ schema:
537
+ type: string
538
+ format: uuid
539
+ description: A UUID string identifying this project.
540
+ required: true
541
+ tags:
542
+ - projects
543
+ security:
544
+ - tokenAuth: []
545
+ responses:
546
+ '200':
547
+ content:
548
+ application/json:
549
+ schema:
550
+ $ref: '#/components/schemas/Project'
551
+ description: ''
552
+ put:
553
+ operationId: projects_projects_update
554
+ description: Projects across the caller's workspaces. Any member can create
555
+ and edit.
556
+ parameters:
557
+ - in: path
558
+ name: id
559
+ schema:
560
+ type: string
561
+ format: uuid
562
+ description: A UUID string identifying this project.
563
+ required: true
564
+ tags:
565
+ - projects
566
+ requestBody:
567
+ content:
568
+ application/json:
569
+ schema:
570
+ $ref: '#/components/schemas/ProjectRequest'
571
+ application/x-www-form-urlencoded:
572
+ schema:
573
+ $ref: '#/components/schemas/ProjectRequest'
574
+ multipart/form-data:
575
+ schema:
576
+ $ref: '#/components/schemas/ProjectRequest'
577
+ required: true
578
+ security:
579
+ - tokenAuth: []
580
+ responses:
581
+ '200':
582
+ content:
583
+ application/json:
584
+ schema:
585
+ $ref: '#/components/schemas/Project'
586
+ description: ''
587
+ patch:
588
+ operationId: projects_projects_partial_update
589
+ description: Projects across the caller's workspaces. Any member can create
590
+ and edit.
591
+ parameters:
592
+ - in: path
593
+ name: id
594
+ schema:
595
+ type: string
596
+ format: uuid
597
+ description: A UUID string identifying this project.
598
+ required: true
599
+ tags:
600
+ - projects
601
+ requestBody:
602
+ content:
603
+ application/json:
604
+ schema:
605
+ $ref: '#/components/schemas/PatchedProjectRequest'
606
+ application/x-www-form-urlencoded:
607
+ schema:
608
+ $ref: '#/components/schemas/PatchedProjectRequest'
609
+ multipart/form-data:
610
+ schema:
611
+ $ref: '#/components/schemas/PatchedProjectRequest'
612
+ security:
613
+ - tokenAuth: []
614
+ responses:
615
+ '200':
616
+ content:
617
+ application/json:
618
+ schema:
619
+ $ref: '#/components/schemas/Project'
620
+ description: ''
621
+ delete:
622
+ operationId: projects_projects_destroy
623
+ description: Projects across the caller's workspaces. Any member can create
624
+ and edit.
625
+ parameters:
626
+ - in: path
627
+ name: id
628
+ schema:
629
+ type: string
630
+ format: uuid
631
+ description: A UUID string identifying this project.
632
+ required: true
633
+ tags:
634
+ - projects
635
+ security:
636
+ - tokenAuth: []
637
+ responses:
638
+ '204':
639
+ description: No response body
640
+ /api/projects/projects/{id}/feed/:
641
+ get:
642
+ operationId: projects_projects_feed_retrieve
643
+ description: The project's field-value write history, newest first.
644
+ parameters:
645
+ - in: query
646
+ name: cursor
647
+ schema:
648
+ type: string
649
+ description: Keyset cursor from a previous page
650
+ - in: path
651
+ name: id
652
+ schema:
653
+ type: string
654
+ format: uuid
655
+ description: A UUID string identifying this project.
656
+ required: true
657
+ - in: query
658
+ name: limit
659
+ schema:
660
+ type: integer
661
+ description: Max writes per page (default 25)
662
+ tags:
663
+ - projects
664
+ security:
665
+ - tokenAuth: []
666
+ responses:
667
+ '200':
668
+ content:
669
+ application/json:
670
+ schema:
671
+ $ref: '#/components/schemas/FeedResponse'
672
+ description: ''
673
+ /api/projects/projects/{id}/revert/:
674
+ post:
675
+ operationId: projects_projects_revert_create
676
+ description: Append a write restoring the value that preceded the given write.
677
+ parameters:
678
+ - in: path
679
+ name: id
680
+ schema:
681
+ type: string
682
+ format: uuid
683
+ description: A UUID string identifying this project.
684
+ required: true
685
+ tags:
686
+ - projects
687
+ requestBody:
688
+ content:
689
+ application/json:
690
+ schema:
691
+ $ref: '#/components/schemas/RevertRequestRequest'
692
+ application/x-www-form-urlencoded:
693
+ schema:
694
+ $ref: '#/components/schemas/RevertRequestRequest'
695
+ multipart/form-data:
696
+ schema:
697
+ $ref: '#/components/schemas/RevertRequestRequest'
698
+ required: true
699
+ security:
700
+ - tokenAuth: []
701
+ responses:
702
+ '200':
703
+ content:
704
+ application/json:
705
+ schema:
706
+ $ref: '#/components/schemas/Project'
707
+ description: ''
708
+ /api/tasks/tasks/:
709
+ get:
710
+ operationId: tasks_tasks_list
711
+ description: The caller's personal todos. Incomplete tasks sort before completed
712
+ ones.
713
+ tags:
714
+ - tasks
715
+ security:
716
+ - tokenAuth: []
717
+ responses:
718
+ '200':
719
+ content:
720
+ application/json:
721
+ schema:
722
+ type: array
723
+ items:
724
+ $ref: '#/components/schemas/Task'
725
+ description: ''
726
+ post:
727
+ operationId: tasks_tasks_create
728
+ description: The caller's personal todos. Incomplete tasks sort before completed
729
+ ones.
730
+ tags:
731
+ - tasks
732
+ requestBody:
733
+ content:
734
+ application/json:
735
+ schema:
736
+ $ref: '#/components/schemas/TaskRequest'
737
+ application/x-www-form-urlencoded:
738
+ schema:
739
+ $ref: '#/components/schemas/TaskRequest'
740
+ multipart/form-data:
741
+ schema:
742
+ $ref: '#/components/schemas/TaskRequest'
743
+ required: true
744
+ security:
745
+ - tokenAuth: []
746
+ responses:
747
+ '201':
748
+ content:
749
+ application/json:
750
+ schema:
751
+ $ref: '#/components/schemas/Task'
752
+ description: ''
753
+ /api/tasks/tasks/{id}/:
754
+ get:
755
+ operationId: tasks_tasks_retrieve
756
+ description: The caller's personal todos. Incomplete tasks sort before completed
757
+ ones.
758
+ parameters:
759
+ - in: path
760
+ name: id
761
+ schema:
762
+ type: string
763
+ format: uuid
764
+ description: A UUID string identifying this task.
765
+ required: true
766
+ tags:
767
+ - tasks
768
+ security:
769
+ - tokenAuth: []
770
+ responses:
771
+ '200':
772
+ content:
773
+ application/json:
774
+ schema:
775
+ $ref: '#/components/schemas/Task'
776
+ description: ''
777
+ put:
778
+ operationId: tasks_tasks_update
779
+ description: The caller's personal todos. Incomplete tasks sort before completed
780
+ ones.
781
+ parameters:
782
+ - in: path
783
+ name: id
784
+ schema:
785
+ type: string
786
+ format: uuid
787
+ description: A UUID string identifying this task.
788
+ required: true
789
+ tags:
790
+ - tasks
791
+ requestBody:
792
+ content:
793
+ application/json:
794
+ schema:
795
+ $ref: '#/components/schemas/TaskRequest'
796
+ application/x-www-form-urlencoded:
797
+ schema:
798
+ $ref: '#/components/schemas/TaskRequest'
799
+ multipart/form-data:
800
+ schema:
801
+ $ref: '#/components/schemas/TaskRequest'
802
+ required: true
803
+ security:
804
+ - tokenAuth: []
805
+ responses:
806
+ '200':
807
+ content:
808
+ application/json:
809
+ schema:
810
+ $ref: '#/components/schemas/Task'
811
+ description: ''
812
+ patch:
813
+ operationId: tasks_tasks_partial_update
814
+ description: The caller's personal todos. Incomplete tasks sort before completed
815
+ ones.
816
+ parameters:
817
+ - in: path
818
+ name: id
819
+ schema:
820
+ type: string
821
+ format: uuid
822
+ description: A UUID string identifying this task.
823
+ required: true
824
+ tags:
825
+ - tasks
826
+ requestBody:
827
+ content:
828
+ application/json:
829
+ schema:
830
+ $ref: '#/components/schemas/PatchedTaskRequest'
831
+ application/x-www-form-urlencoded:
832
+ schema:
833
+ $ref: '#/components/schemas/PatchedTaskRequest'
834
+ multipart/form-data:
835
+ schema:
836
+ $ref: '#/components/schemas/PatchedTaskRequest'
837
+ security:
838
+ - tokenAuth: []
839
+ responses:
840
+ '200':
841
+ content:
842
+ application/json:
843
+ schema:
844
+ $ref: '#/components/schemas/Task'
845
+ description: ''
846
+ delete:
847
+ operationId: tasks_tasks_destroy
848
+ description: The caller's personal todos. Incomplete tasks sort before completed
849
+ ones.
850
+ parameters:
851
+ - in: path
852
+ name: id
853
+ schema:
854
+ type: string
855
+ format: uuid
856
+ description: A UUID string identifying this task.
857
+ required: true
858
+ tags:
859
+ - tasks
860
+ security:
861
+ - tokenAuth: []
862
+ responses:
863
+ '204':
864
+ description: No response body
865
+ /api/vendors/vendors/:
866
+ get:
867
+ operationId: vendors_vendors_list
868
+ description: Vendors across the caller's workspaces. Any member can create and
869
+ edit.
870
+ parameters:
871
+ - in: query
872
+ name: project
873
+ schema:
874
+ type: string
875
+ description: Filter by linked project UUID
876
+ - in: query
877
+ name: workspace
878
+ schema:
879
+ type: string
880
+ description: Filter by workspace UUID
881
+ tags:
882
+ - vendors
883
+ security:
884
+ - tokenAuth: []
885
+ responses:
886
+ '200':
887
+ content:
888
+ application/json:
889
+ schema:
890
+ type: array
891
+ items:
892
+ $ref: '#/components/schemas/Vendor'
893
+ description: ''
894
+ post:
895
+ operationId: vendors_vendors_create
896
+ description: Vendors across the caller's workspaces. Any member can create and
897
+ edit.
898
+ tags:
899
+ - vendors
900
+ requestBody:
901
+ content:
902
+ application/json:
903
+ schema:
904
+ $ref: '#/components/schemas/VendorRequest'
905
+ application/x-www-form-urlencoded:
906
+ schema:
907
+ $ref: '#/components/schemas/VendorRequest'
908
+ multipart/form-data:
909
+ schema:
910
+ $ref: '#/components/schemas/VendorRequest'
911
+ required: true
912
+ security:
913
+ - tokenAuth: []
914
+ responses:
915
+ '201':
916
+ content:
917
+ application/json:
918
+ schema:
919
+ $ref: '#/components/schemas/Vendor'
920
+ description: ''
921
+ /api/vendors/vendors/{id}/:
922
+ get:
923
+ operationId: vendors_vendors_retrieve
924
+ description: Vendors across the caller's workspaces. Any member can create and
925
+ edit.
926
+ parameters:
927
+ - in: path
928
+ name: id
929
+ schema:
930
+ type: string
931
+ format: uuid
932
+ description: A UUID string identifying this vendor.
933
+ required: true
934
+ tags:
935
+ - vendors
936
+ security:
937
+ - tokenAuth: []
938
+ responses:
939
+ '200':
940
+ content:
941
+ application/json:
942
+ schema:
943
+ $ref: '#/components/schemas/Vendor'
944
+ description: ''
945
+ put:
946
+ operationId: vendors_vendors_update
947
+ description: Vendors across the caller's workspaces. Any member can create and
948
+ edit.
949
+ parameters:
950
+ - in: path
951
+ name: id
952
+ schema:
953
+ type: string
954
+ format: uuid
955
+ description: A UUID string identifying this vendor.
956
+ required: true
957
+ tags:
958
+ - vendors
959
+ requestBody:
960
+ content:
961
+ application/json:
962
+ schema:
963
+ $ref: '#/components/schemas/VendorRequest'
964
+ application/x-www-form-urlencoded:
965
+ schema:
966
+ $ref: '#/components/schemas/VendorRequest'
967
+ multipart/form-data:
968
+ schema:
969
+ $ref: '#/components/schemas/VendorRequest'
970
+ required: true
971
+ security:
972
+ - tokenAuth: []
973
+ responses:
974
+ '200':
975
+ content:
976
+ application/json:
977
+ schema:
978
+ $ref: '#/components/schemas/Vendor'
979
+ description: ''
980
+ patch:
981
+ operationId: vendors_vendors_partial_update
982
+ description: Vendors across the caller's workspaces. Any member can create and
983
+ edit.
984
+ parameters:
985
+ - in: path
986
+ name: id
987
+ schema:
988
+ type: string
989
+ format: uuid
990
+ description: A UUID string identifying this vendor.
991
+ required: true
992
+ tags:
993
+ - vendors
994
+ requestBody:
995
+ content:
996
+ application/json:
997
+ schema:
998
+ $ref: '#/components/schemas/PatchedVendorRequest'
999
+ application/x-www-form-urlencoded:
1000
+ schema:
1001
+ $ref: '#/components/schemas/PatchedVendorRequest'
1002
+ multipart/form-data:
1003
+ schema:
1004
+ $ref: '#/components/schemas/PatchedVendorRequest'
1005
+ security:
1006
+ - tokenAuth: []
1007
+ responses:
1008
+ '200':
1009
+ content:
1010
+ application/json:
1011
+ schema:
1012
+ $ref: '#/components/schemas/Vendor'
1013
+ description: ''
1014
+ delete:
1015
+ operationId: vendors_vendors_destroy
1016
+ description: Vendors across the caller's workspaces. Any member can create and
1017
+ edit.
1018
+ parameters:
1019
+ - in: path
1020
+ name: id
1021
+ schema:
1022
+ type: string
1023
+ format: uuid
1024
+ description: A UUID string identifying this vendor.
1025
+ required: true
1026
+ tags:
1027
+ - vendors
1028
+ security:
1029
+ - tokenAuth: []
1030
+ responses:
1031
+ '204':
1032
+ description: No response body
1033
+ /api/workflows/definitions/apply/:
1034
+ post:
1035
+ operationId: workflows_definitions_apply_create
1036
+ description: |-
1037
+ Upsert a rendered workflow definition into a workspace and seed its
1038
+ record types (from the definition's ``emits[]`` plus the built-ins).
1039
+ Existing workspace schemas are never overwritten.
1040
+ tags:
1041
+ - workflows
1042
+ requestBody:
1043
+ content:
1044
+ application/json:
1045
+ schema:
1046
+ $ref: '#/components/schemas/DefinitionApplyRequest'
1047
+ application/x-www-form-urlencoded:
1048
+ schema:
1049
+ $ref: '#/components/schemas/DefinitionApplyRequest'
1050
+ multipart/form-data:
1051
+ schema:
1052
+ $ref: '#/components/schemas/DefinitionApplyRequest'
1053
+ required: true
1054
+ security:
1055
+ - tokenAuth: []
1056
+ responses:
1057
+ '200':
1058
+ content:
1059
+ application/json:
1060
+ schema:
1061
+ $ref: '#/components/schemas/WorkflowDefinition'
1062
+ description: ''
1063
+ /api/workflows/proposals/{record_id}/decision/:
1064
+ post:
1065
+ operationId: workflows_proposals_decision_create
1066
+ description: |-
1067
+ Approve or reject an agent_proposal record. Creates an
1068
+ approval_decision record and re-dispatches the run if it was parked on
1069
+ the gate. One decision per proposal — 409 on the second.
1070
+ parameters:
1071
+ - in: path
1072
+ name: record_id
1073
+ schema:
1074
+ type: string
1075
+ format: uuid
1076
+ required: true
1077
+ tags:
1078
+ - workflows
1079
+ requestBody:
1080
+ content:
1081
+ application/json:
1082
+ schema:
1083
+ $ref: '#/components/schemas/ProposalDecisionRequest'
1084
+ application/x-www-form-urlencoded:
1085
+ schema:
1086
+ $ref: '#/components/schemas/ProposalDecisionRequest'
1087
+ multipart/form-data:
1088
+ schema:
1089
+ $ref: '#/components/schemas/ProposalDecisionRequest'
1090
+ required: true
1091
+ security:
1092
+ - tokenAuth: []
1093
+ responses:
1094
+ '201':
1095
+ content:
1096
+ application/json:
1097
+ schema:
1098
+ $ref: '#/components/schemas/Record'
1099
+ description: ''
1100
+ /api/workflows/records/:
1101
+ get:
1102
+ operationId: workflows_records_list
1103
+ description: |-
1104
+ Append-only records across the caller's workspaces. Records are
1105
+ created by runs through the machine endpoint; there is no update or
1106
+ delete.
1107
+ parameters:
1108
+ - in: query
1109
+ name: project
1110
+ schema:
1111
+ type: string
1112
+ description: Filter by project UUID
1113
+ - in: query
1114
+ name: record_type
1115
+ schema:
1116
+ type: string
1117
+ description: Filter by record type key
1118
+ - in: query
1119
+ name: run
1120
+ schema:
1121
+ type: string
1122
+ description: Filter by run UUID
1123
+ - in: query
1124
+ name: workspace
1125
+ schema:
1126
+ type: string
1127
+ description: Filter by workspace UUID
1128
+ tags:
1129
+ - workflows
1130
+ security:
1131
+ - tokenAuth: []
1132
+ responses:
1133
+ '200':
1134
+ content:
1135
+ application/json:
1136
+ schema:
1137
+ type: array
1138
+ items:
1139
+ $ref: '#/components/schemas/Record'
1140
+ description: ''
1141
+ /api/workflows/records/{id}/:
1142
+ get:
1143
+ operationId: workflows_records_retrieve
1144
+ description: |-
1145
+ Append-only records across the caller's workspaces. Records are
1146
+ created by runs through the machine endpoint; there is no update or
1147
+ delete.
1148
+ parameters:
1149
+ - in: path
1150
+ name: id
1151
+ schema:
1152
+ type: string
1153
+ format: uuid
1154
+ description: A UUID string identifying this record.
1155
+ required: true
1156
+ tags:
1157
+ - workflows
1158
+ security:
1159
+ - tokenAuth: []
1160
+ responses:
1161
+ '200':
1162
+ content:
1163
+ application/json:
1164
+ schema:
1165
+ $ref: '#/components/schemas/Record'
1166
+ description: ''
1167
+ /api/workflows/runs/:
1168
+ get:
1169
+ operationId: workflows_runs_list
1170
+ description: |-
1171
+ Run history for workflows in the caller's workspaces, with step
1172
+ transitions inline. POST creates a run of a WorkflowDefinition and
1173
+ dispatches it (or queues it behind the per-project write queue).
1174
+ parameters:
1175
+ - in: query
1176
+ name: definition
1177
+ schema:
1178
+ type: string
1179
+ description: Filter by definition UUID
1180
+ - in: query
1181
+ name: project
1182
+ schema:
1183
+ type: string
1184
+ description: Filter by project UUID
1185
+ - in: query
1186
+ name: workflow
1187
+ schema:
1188
+ type: string
1189
+ description: Filter by workflow UUID
1190
+ tags:
1191
+ - workflows
1192
+ security:
1193
+ - tokenAuth: []
1194
+ responses:
1195
+ '200':
1196
+ content:
1197
+ application/json:
1198
+ schema:
1199
+ type: array
1200
+ items:
1201
+ $ref: '#/components/schemas/WorkflowRun'
1202
+ description: ''
1203
+ post:
1204
+ operationId: workflows_runs_create
1205
+ description: |-
1206
+ Run history for workflows in the caller's workspaces, with step
1207
+ transitions inline. POST creates a run of a WorkflowDefinition and
1208
+ dispatches it (or queues it behind the per-project write queue).
1209
+ tags:
1210
+ - workflows
1211
+ requestBody:
1212
+ content:
1213
+ application/json:
1214
+ schema:
1215
+ $ref: '#/components/schemas/WorkflowRunCreateRequest'
1216
+ application/x-www-form-urlencoded:
1217
+ schema:
1218
+ $ref: '#/components/schemas/WorkflowRunCreateRequest'
1219
+ multipart/form-data:
1220
+ schema:
1221
+ $ref: '#/components/schemas/WorkflowRunCreateRequest'
1222
+ required: true
1223
+ security:
1224
+ - tokenAuth: []
1225
+ responses:
1226
+ '201':
1227
+ content:
1228
+ application/json:
1229
+ schema:
1230
+ $ref: '#/components/schemas/WorkflowRun'
1231
+ description: ''
1232
+ /api/workflows/runs/{id}/:
1233
+ get:
1234
+ operationId: workflows_runs_retrieve
1235
+ description: |-
1236
+ Run history for workflows in the caller's workspaces, with step
1237
+ transitions inline. POST creates a run of a WorkflowDefinition and
1238
+ dispatches it (or queues it behind the per-project write queue).
1239
+ parameters:
1240
+ - in: path
1241
+ name: id
1242
+ schema:
1243
+ type: string
1244
+ format: uuid
1245
+ description: A UUID string identifying this workflow run.
1246
+ required: true
1247
+ tags:
1248
+ - workflows
1249
+ security:
1250
+ - tokenAuth: []
1251
+ responses:
1252
+ '200':
1253
+ content:
1254
+ application/json:
1255
+ schema:
1256
+ $ref: '#/components/schemas/WorkflowRun'
1257
+ description: ''
1258
+ /api/workflows/runs/{run_id}/definition/:
1259
+ get:
1260
+ operationId: workflows_runs_definition_retrieve
1261
+ description: |-
1262
+ Machine endpoint: the harness fetches its work order — the rendered
1263
+ definition plus the journal state it needs to resume (step states and
1264
+ gate decisions).
1265
+ parameters:
1266
+ - in: path
1267
+ name: run_id
1268
+ schema:
1269
+ type: string
1270
+ format: uuid
1271
+ required: true
1272
+ tags:
1273
+ - workflows
1274
+ security:
1275
+ - RunTokenAuth: []
1276
+ responses:
1277
+ '200':
1278
+ content:
1279
+ application/json:
1280
+ schema:
1281
+ $ref: '#/components/schemas/RunDefinition'
1282
+ description: ''
1283
+ /api/workflows/runs/{run_id}/records/:
1284
+ post:
1285
+ operationId: workflows_runs_records_create
1286
+ description: |-
1287
+ Machine endpoint: the harness emits typed records, validated against
1288
+ the workspace RecordType schema. Append-only — there is no update or
1289
+ delete.
1290
+ parameters:
1291
+ - in: path
1292
+ name: run_id
1293
+ schema:
1294
+ type: string
1295
+ format: uuid
1296
+ required: true
1297
+ tags:
1298
+ - workflows
1299
+ requestBody:
1300
+ content:
1301
+ application/json:
1302
+ schema:
1303
+ $ref: '#/components/schemas/RecordCreateRequest'
1304
+ application/x-www-form-urlencoded:
1305
+ schema:
1306
+ $ref: '#/components/schemas/RecordCreateRequest'
1307
+ multipart/form-data:
1308
+ schema:
1309
+ $ref: '#/components/schemas/RecordCreateRequest'
1310
+ required: true
1311
+ security:
1312
+ - RunTokenAuth: []
1313
+ responses:
1314
+ '201':
1315
+ content:
1316
+ application/json:
1317
+ schema:
1318
+ $ref: '#/components/schemas/RecordCreatedResponse'
1319
+ description: ''
1320
+ /api/workflows/runs/{run_id}/transitions/:
1321
+ post:
1322
+ operationId: workflows_runs_transitions_create
1323
+ description: |-
1324
+ Machine endpoint: the harness journals step state changes. Idempotent —
1325
+ a duplicate (step_id, status, attempt) returns the existing row with 200.
1326
+ parameters:
1327
+ - in: path
1328
+ name: run_id
1329
+ schema:
1330
+ type: string
1331
+ format: uuid
1332
+ required: true
1333
+ tags:
1334
+ - workflows
1335
+ requestBody:
1336
+ content:
1337
+ application/json:
1338
+ schema:
1339
+ $ref: '#/components/schemas/StepTransitionCreateRequest'
1340
+ application/x-www-form-urlencoded:
1341
+ schema:
1342
+ $ref: '#/components/schemas/StepTransitionCreateRequest'
1343
+ multipart/form-data:
1344
+ schema:
1345
+ $ref: '#/components/schemas/StepTransitionCreateRequest'
1346
+ required: true
1347
+ security:
1348
+ - RunTokenAuth: []
1349
+ responses:
1350
+ '200':
1351
+ content:
1352
+ application/json:
1353
+ schema:
1354
+ $ref: '#/components/schemas/StepTransition'
1355
+ description: ''
1356
+ '201':
1357
+ content:
1358
+ application/json:
1359
+ schema:
1360
+ $ref: '#/components/schemas/StepTransition'
1361
+ description: ''
1362
+ /api/workflows/workflows/:
1363
+ get:
1364
+ operationId: workflows_workflows_list
1365
+ description: Workflows across the caller's workspaces. Any member can create
1366
+ and edit.
1367
+ parameters:
1368
+ - in: query
1369
+ name: workspace
1370
+ schema:
1371
+ type: string
1372
+ description: Filter by workspace UUID
1373
+ tags:
1374
+ - workflows
1375
+ security:
1376
+ - tokenAuth: []
1377
+ responses:
1378
+ '200':
1379
+ content:
1380
+ application/json:
1381
+ schema:
1382
+ type: array
1383
+ items:
1384
+ $ref: '#/components/schemas/Workflow'
1385
+ description: ''
1386
+ post:
1387
+ operationId: workflows_workflows_create
1388
+ description: Workflows across the caller's workspaces. Any member can create
1389
+ and edit.
1390
+ tags:
1391
+ - workflows
1392
+ requestBody:
1393
+ content:
1394
+ application/json:
1395
+ schema:
1396
+ $ref: '#/components/schemas/WorkflowRequest'
1397
+ application/x-www-form-urlencoded:
1398
+ schema:
1399
+ $ref: '#/components/schemas/WorkflowRequest'
1400
+ multipart/form-data:
1401
+ schema:
1402
+ $ref: '#/components/schemas/WorkflowRequest'
1403
+ required: true
1404
+ security:
1405
+ - tokenAuth: []
1406
+ responses:
1407
+ '201':
1408
+ content:
1409
+ application/json:
1410
+ schema:
1411
+ $ref: '#/components/schemas/Workflow'
1412
+ description: ''
1413
+ /api/workflows/workflows/{id}/:
1414
+ get:
1415
+ operationId: workflows_workflows_retrieve
1416
+ description: Workflows across the caller's workspaces. Any member can create
1417
+ and edit.
1418
+ parameters:
1419
+ - in: path
1420
+ name: id
1421
+ schema:
1422
+ type: string
1423
+ format: uuid
1424
+ description: A UUID string identifying this workflow.
1425
+ required: true
1426
+ tags:
1427
+ - workflows
1428
+ security:
1429
+ - tokenAuth: []
1430
+ responses:
1431
+ '200':
1432
+ content:
1433
+ application/json:
1434
+ schema:
1435
+ $ref: '#/components/schemas/Workflow'
1436
+ description: ''
1437
+ put:
1438
+ operationId: workflows_workflows_update
1439
+ description: Workflows across the caller's workspaces. Any member can create
1440
+ and edit.
1441
+ parameters:
1442
+ - in: path
1443
+ name: id
1444
+ schema:
1445
+ type: string
1446
+ format: uuid
1447
+ description: A UUID string identifying this workflow.
1448
+ required: true
1449
+ tags:
1450
+ - workflows
1451
+ requestBody:
1452
+ content:
1453
+ application/json:
1454
+ schema:
1455
+ $ref: '#/components/schemas/WorkflowRequest'
1456
+ application/x-www-form-urlencoded:
1457
+ schema:
1458
+ $ref: '#/components/schemas/WorkflowRequest'
1459
+ multipart/form-data:
1460
+ schema:
1461
+ $ref: '#/components/schemas/WorkflowRequest'
1462
+ required: true
1463
+ security:
1464
+ - tokenAuth: []
1465
+ responses:
1466
+ '200':
1467
+ content:
1468
+ application/json:
1469
+ schema:
1470
+ $ref: '#/components/schemas/Workflow'
1471
+ description: ''
1472
+ patch:
1473
+ operationId: workflows_workflows_partial_update
1474
+ description: Workflows across the caller's workspaces. Any member can create
1475
+ and edit.
1476
+ parameters:
1477
+ - in: path
1478
+ name: id
1479
+ schema:
1480
+ type: string
1481
+ format: uuid
1482
+ description: A UUID string identifying this workflow.
1483
+ required: true
1484
+ tags:
1485
+ - workflows
1486
+ requestBody:
1487
+ content:
1488
+ application/json:
1489
+ schema:
1490
+ $ref: '#/components/schemas/PatchedWorkflowRequest'
1491
+ application/x-www-form-urlencoded:
1492
+ schema:
1493
+ $ref: '#/components/schemas/PatchedWorkflowRequest'
1494
+ multipart/form-data:
1495
+ schema:
1496
+ $ref: '#/components/schemas/PatchedWorkflowRequest'
1497
+ security:
1498
+ - tokenAuth: []
1499
+ responses:
1500
+ '200':
1501
+ content:
1502
+ application/json:
1503
+ schema:
1504
+ $ref: '#/components/schemas/Workflow'
1505
+ description: ''
1506
+ delete:
1507
+ operationId: workflows_workflows_destroy
1508
+ description: Workflows across the caller's workspaces. Any member can create
1509
+ and edit.
1510
+ parameters:
1511
+ - in: path
1512
+ name: id
1513
+ schema:
1514
+ type: string
1515
+ format: uuid
1516
+ description: A UUID string identifying this workflow.
1517
+ required: true
1518
+ tags:
1519
+ - workflows
1520
+ security:
1521
+ - tokenAuth: []
1522
+ responses:
1523
+ '204':
1524
+ description: No response body
1525
+ /api/workspaces/invites/{id}/:
1526
+ get:
1527
+ operationId: workspaces_invites_retrieve
1528
+ description: |-
1529
+ Invite details for the accept page. The invite id (from the emailed
1530
+ link) is the capability to view it.
1531
+ parameters:
1532
+ - in: path
1533
+ name: id
1534
+ schema:
1535
+ type: string
1536
+ format: uuid
1537
+ required: true
1538
+ tags:
1539
+ - workspaces
1540
+ security:
1541
+ - tokenAuth: []
1542
+ responses:
1543
+ '200':
1544
+ content:
1545
+ application/json:
1546
+ schema:
1547
+ $ref: '#/components/schemas/InviteDetailResponse'
1548
+ description: ''
1549
+ /api/workspaces/invites/{id}/accept/:
1550
+ post:
1551
+ operationId: workspaces_invites_accept_create
1552
+ description: |-
1553
+ Accept an invite as the authenticated user. The user must have signed in
1554
+ (via magic link) with the invited email.
1555
+ parameters:
1556
+ - in: path
1557
+ name: id
1558
+ schema:
1559
+ type: string
1560
+ format: uuid
1561
+ required: true
1562
+ tags:
1563
+ - workspaces
1564
+ security:
1565
+ - tokenAuth: []
1566
+ responses:
1567
+ '200':
1568
+ content:
1569
+ application/json:
1570
+ schema:
1571
+ $ref: '#/components/schemas/AcceptInviteResponse'
1572
+ description: ''
1573
+ /api/workspaces/workspaces/:
1574
+ get:
1575
+ operationId: workspaces_workspaces_list
1576
+ description: Workspaces the current user belongs to. Creating one makes you
1577
+ its admin.
1578
+ tags:
1579
+ - workspaces
1580
+ security:
1581
+ - tokenAuth: []
1582
+ responses:
1583
+ '200':
1584
+ content:
1585
+ application/json:
1586
+ schema:
1587
+ type: array
1588
+ items:
1589
+ $ref: '#/components/schemas/Workspace'
1590
+ description: ''
1591
+ post:
1592
+ operationId: workspaces_workspaces_create
1593
+ description: Workspaces the current user belongs to. Creating one makes you
1594
+ its admin.
1595
+ tags:
1596
+ - workspaces
1597
+ requestBody:
1598
+ content:
1599
+ application/json:
1600
+ schema:
1601
+ $ref: '#/components/schemas/WorkspaceRequest'
1602
+ application/x-www-form-urlencoded:
1603
+ schema:
1604
+ $ref: '#/components/schemas/WorkspaceRequest'
1605
+ multipart/form-data:
1606
+ schema:
1607
+ $ref: '#/components/schemas/WorkspaceRequest'
1608
+ required: true
1609
+ security:
1610
+ - tokenAuth: []
1611
+ responses:
1612
+ '201':
1613
+ content:
1614
+ application/json:
1615
+ schema:
1616
+ $ref: '#/components/schemas/Workspace'
1617
+ description: ''
1618
+ /api/workspaces/workspaces/{id}/:
1619
+ get:
1620
+ operationId: workspaces_workspaces_retrieve
1621
+ description: Workspaces the current user belongs to. Creating one makes you
1622
+ its admin.
1623
+ parameters:
1624
+ - in: path
1625
+ name: id
1626
+ schema:
1627
+ type: string
1628
+ format: uuid
1629
+ description: A UUID string identifying this workspace.
1630
+ required: true
1631
+ tags:
1632
+ - workspaces
1633
+ security:
1634
+ - tokenAuth: []
1635
+ responses:
1636
+ '200':
1637
+ content:
1638
+ application/json:
1639
+ schema:
1640
+ $ref: '#/components/schemas/Workspace'
1641
+ description: ''
1642
+ put:
1643
+ operationId: workspaces_workspaces_update
1644
+ description: Workspaces the current user belongs to. Creating one makes you
1645
+ its admin.
1646
+ parameters:
1647
+ - in: path
1648
+ name: id
1649
+ schema:
1650
+ type: string
1651
+ format: uuid
1652
+ description: A UUID string identifying this workspace.
1653
+ required: true
1654
+ tags:
1655
+ - workspaces
1656
+ requestBody:
1657
+ content:
1658
+ application/json:
1659
+ schema:
1660
+ $ref: '#/components/schemas/WorkspaceRequest'
1661
+ application/x-www-form-urlencoded:
1662
+ schema:
1663
+ $ref: '#/components/schemas/WorkspaceRequest'
1664
+ multipart/form-data:
1665
+ schema:
1666
+ $ref: '#/components/schemas/WorkspaceRequest'
1667
+ required: true
1668
+ security:
1669
+ - tokenAuth: []
1670
+ responses:
1671
+ '200':
1672
+ content:
1673
+ application/json:
1674
+ schema:
1675
+ $ref: '#/components/schemas/Workspace'
1676
+ description: ''
1677
+ patch:
1678
+ operationId: workspaces_workspaces_partial_update
1679
+ description: Workspaces the current user belongs to. Creating one makes you
1680
+ its admin.
1681
+ parameters:
1682
+ - in: path
1683
+ name: id
1684
+ schema:
1685
+ type: string
1686
+ format: uuid
1687
+ description: A UUID string identifying this workspace.
1688
+ required: true
1689
+ tags:
1690
+ - workspaces
1691
+ requestBody:
1692
+ content:
1693
+ application/json:
1694
+ schema:
1695
+ $ref: '#/components/schemas/PatchedWorkspaceRequest'
1696
+ application/x-www-form-urlencoded:
1697
+ schema:
1698
+ $ref: '#/components/schemas/PatchedWorkspaceRequest'
1699
+ multipart/form-data:
1700
+ schema:
1701
+ $ref: '#/components/schemas/PatchedWorkspaceRequest'
1702
+ security:
1703
+ - tokenAuth: []
1704
+ responses:
1705
+ '200':
1706
+ content:
1707
+ application/json:
1708
+ schema:
1709
+ $ref: '#/components/schemas/Workspace'
1710
+ description: ''
1711
+ delete:
1712
+ operationId: workspaces_workspaces_destroy
1713
+ description: Workspaces the current user belongs to. Creating one makes you
1714
+ its admin.
1715
+ parameters:
1716
+ - in: path
1717
+ name: id
1718
+ schema:
1719
+ type: string
1720
+ format: uuid
1721
+ description: A UUID string identifying this workspace.
1722
+ required: true
1723
+ tags:
1724
+ - workspaces
1725
+ security:
1726
+ - tokenAuth: []
1727
+ responses:
1728
+ '204':
1729
+ description: No response body
1730
+ /api/workspaces/workspaces/{workspace_id}/invites/:
1731
+ get:
1732
+ operationId: workspaces_workspaces_invites_list
1733
+ description: Pending invites for a workspace, nested under /workspaces/{workspace_id}/.
1734
+ parameters:
1735
+ - in: path
1736
+ name: workspace_id
1737
+ schema:
1738
+ type: string
1739
+ format: uuid
1740
+ required: true
1741
+ tags:
1742
+ - workspaces
1743
+ security:
1744
+ - tokenAuth: []
1745
+ responses:
1746
+ '200':
1747
+ content:
1748
+ application/json:
1749
+ schema:
1750
+ type: array
1751
+ items:
1752
+ $ref: '#/components/schemas/WorkspaceInvite'
1753
+ description: ''
1754
+ post:
1755
+ operationId: workspaces_workspaces_invites_create
1756
+ description: Pending invites for a workspace, nested under /workspaces/{workspace_id}/.
1757
+ parameters:
1758
+ - in: path
1759
+ name: workspace_id
1760
+ schema:
1761
+ type: string
1762
+ format: uuid
1763
+ required: true
1764
+ tags:
1765
+ - workspaces
1766
+ requestBody:
1767
+ content:
1768
+ application/json:
1769
+ schema:
1770
+ $ref: '#/components/schemas/WorkspaceInviteRequest'
1771
+ application/x-www-form-urlencoded:
1772
+ schema:
1773
+ $ref: '#/components/schemas/WorkspaceInviteRequest'
1774
+ multipart/form-data:
1775
+ schema:
1776
+ $ref: '#/components/schemas/WorkspaceInviteRequest'
1777
+ required: true
1778
+ security:
1779
+ - tokenAuth: []
1780
+ responses:
1781
+ '201':
1782
+ content:
1783
+ application/json:
1784
+ schema:
1785
+ $ref: '#/components/schemas/WorkspaceInvite'
1786
+ description: ''
1787
+ /api/workspaces/workspaces/{workspace_id}/invites/{id}/:
1788
+ delete:
1789
+ operationId: workspaces_workspaces_invites_destroy
1790
+ description: Pending invites for a workspace, nested under /workspaces/{workspace_id}/.
1791
+ parameters:
1792
+ - in: path
1793
+ name: id
1794
+ schema:
1795
+ type: string
1796
+ format: uuid
1797
+ description: A UUID string identifying this workspace invite.
1798
+ required: true
1799
+ - in: path
1800
+ name: workspace_id
1801
+ schema:
1802
+ type: string
1803
+ format: uuid
1804
+ required: true
1805
+ tags:
1806
+ - workspaces
1807
+ security:
1808
+ - tokenAuth: []
1809
+ responses:
1810
+ '204':
1811
+ description: No response body
1812
+ /api/workspaces/workspaces/{workspace_id}/members/:
1813
+ get:
1814
+ operationId: workspaces_workspaces_members_list
1815
+ description: Memberships of a workspace, nested under /workspaces/{workspace_id}/.
1816
+ parameters:
1817
+ - in: path
1818
+ name: workspace_id
1819
+ schema:
1820
+ type: string
1821
+ format: uuid
1822
+ required: true
1823
+ tags:
1824
+ - workspaces
1825
+ security:
1826
+ - tokenAuth: []
1827
+ responses:
1828
+ '200':
1829
+ content:
1830
+ application/json:
1831
+ schema:
1832
+ type: array
1833
+ items:
1834
+ $ref: '#/components/schemas/WorkspaceMembership'
1835
+ description: ''
1836
+ /api/workspaces/workspaces/{workspace_id}/members/{id}/:
1837
+ get:
1838
+ operationId: workspaces_workspaces_members_retrieve
1839
+ description: Memberships of a workspace, nested under /workspaces/{workspace_id}/.
1840
+ parameters:
1841
+ - in: path
1842
+ name: id
1843
+ schema:
1844
+ type: string
1845
+ format: uuid
1846
+ description: A UUID string identifying this workspace membership.
1847
+ required: true
1848
+ - in: path
1849
+ name: workspace_id
1850
+ schema:
1851
+ type: string
1852
+ format: uuid
1853
+ required: true
1854
+ tags:
1855
+ - workspaces
1856
+ security:
1857
+ - tokenAuth: []
1858
+ responses:
1859
+ '200':
1860
+ content:
1861
+ application/json:
1862
+ schema:
1863
+ $ref: '#/components/schemas/WorkspaceMembership'
1864
+ description: ''
1865
+ put:
1866
+ operationId: workspaces_workspaces_members_update
1867
+ description: Memberships of a workspace, nested under /workspaces/{workspace_id}/.
1868
+ parameters:
1869
+ - in: path
1870
+ name: id
1871
+ schema:
1872
+ type: string
1873
+ format: uuid
1874
+ description: A UUID string identifying this workspace membership.
1875
+ required: true
1876
+ - in: path
1877
+ name: workspace_id
1878
+ schema:
1879
+ type: string
1880
+ format: uuid
1881
+ required: true
1882
+ tags:
1883
+ - workspaces
1884
+ requestBody:
1885
+ content:
1886
+ application/json:
1887
+ schema:
1888
+ $ref: '#/components/schemas/WorkspaceMembershipRequest'
1889
+ application/x-www-form-urlencoded:
1890
+ schema:
1891
+ $ref: '#/components/schemas/WorkspaceMembershipRequest'
1892
+ multipart/form-data:
1893
+ schema:
1894
+ $ref: '#/components/schemas/WorkspaceMembershipRequest'
1895
+ security:
1896
+ - tokenAuth: []
1897
+ responses:
1898
+ '200':
1899
+ content:
1900
+ application/json:
1901
+ schema:
1902
+ $ref: '#/components/schemas/WorkspaceMembership'
1903
+ description: ''
1904
+ patch:
1905
+ operationId: workspaces_workspaces_members_partial_update
1906
+ description: Memberships of a workspace, nested under /workspaces/{workspace_id}/.
1907
+ parameters:
1908
+ - in: path
1909
+ name: id
1910
+ schema:
1911
+ type: string
1912
+ format: uuid
1913
+ description: A UUID string identifying this workspace membership.
1914
+ required: true
1915
+ - in: path
1916
+ name: workspace_id
1917
+ schema:
1918
+ type: string
1919
+ format: uuid
1920
+ required: true
1921
+ tags:
1922
+ - workspaces
1923
+ requestBody:
1924
+ content:
1925
+ application/json:
1926
+ schema:
1927
+ $ref: '#/components/schemas/PatchedWorkspaceMembershipRequest'
1928
+ application/x-www-form-urlencoded:
1929
+ schema:
1930
+ $ref: '#/components/schemas/PatchedWorkspaceMembershipRequest'
1931
+ multipart/form-data:
1932
+ schema:
1933
+ $ref: '#/components/schemas/PatchedWorkspaceMembershipRequest'
1934
+ security:
1935
+ - tokenAuth: []
1936
+ responses:
1937
+ '200':
1938
+ content:
1939
+ application/json:
1940
+ schema:
1941
+ $ref: '#/components/schemas/WorkspaceMembership'
1942
+ description: ''
1943
+ delete:
1944
+ operationId: workspaces_workspaces_members_destroy
1945
+ description: Memberships of a workspace, nested under /workspaces/{workspace_id}/.
1946
+ parameters:
1947
+ - in: path
1948
+ name: id
1949
+ schema:
1950
+ type: string
1951
+ format: uuid
1952
+ description: A UUID string identifying this workspace membership.
1953
+ required: true
1954
+ - in: path
1955
+ name: workspace_id
1956
+ schema:
1957
+ type: string
1958
+ format: uuid
1959
+ required: true
1960
+ tags:
1961
+ - workspaces
1962
+ security:
1963
+ - tokenAuth: []
1964
+ responses:
1965
+ '204':
1966
+ description: No response body
1967
+ components:
1968
+ schemas:
1969
+ AcceptInviteResponse:
1970
+ type: object
1971
+ properties:
1972
+ detail:
1973
+ type: string
1974
+ workspace_id:
1975
+ type: string
1976
+ format: uuid
1977
+ workspace_name:
1978
+ type: string
1979
+ role:
1980
+ type: string
1981
+ required:
1982
+ - detail
1983
+ - role
1984
+ - workspace_id
1985
+ - workspace_name
1986
+ AuthorizeRequestRequest:
1987
+ type: object
1988
+ properties:
1989
+ workspace:
1990
+ type: string
1991
+ format: uuid
1992
+ provider:
1993
+ $ref: '#/components/schemas/IntegrationProviderEnum'
1994
+ required:
1995
+ - provider
1996
+ - workspace
1997
+ AuthorizeResponse:
1998
+ type: object
1999
+ properties:
2000
+ authorize_url:
2001
+ type: string
2002
+ format: uri
2003
+ required:
2004
+ - authorize_url
2005
+ DataTypeEnum:
2006
+ enum:
2007
+ - text
2008
+ - number
2009
+ - boolean
2010
+ - date
2011
+ type: string
2012
+ description: |-
2013
+ * `text` - Text
2014
+ * `number` - Number
2015
+ * `boolean` - Boolean
2016
+ * `date` - Date
2017
+ DefinitionApplyRequest:
2018
+ type: object
2019
+ description: |-
2020
+ Body of the definition apply endpoint: the rendered definition JSON
2021
+ plus the target workspace. The definition's ``name`` keys the upsert.
2022
+ properties:
2023
+ workspace:
2024
+ type: string
2025
+ format: uuid
2026
+ required:
2027
+ - workspace
2028
+ FeedItem:
2029
+ type: object
2030
+ description: One write in a project's history feed.
2031
+ properties:
2032
+ write_id:
2033
+ type: string
2034
+ format: uuid
2035
+ field_key:
2036
+ type: string
2037
+ field_label:
2038
+ type: string
2039
+ value:
2040
+ nullable: true
2041
+ is_unset:
2042
+ type: boolean
2043
+ source:
2044
+ type: string
2045
+ reason:
2046
+ type: string
2047
+ evidence:
2048
+ type: array
2049
+ items:
2050
+ type: string
2051
+ format: uuid
2052
+ written_by_email:
2053
+ type: string
2054
+ created_at:
2055
+ type: string
2056
+ format: date-time
2057
+ required:
2058
+ - created_at
2059
+ - evidence
2060
+ - field_key
2061
+ - field_label
2062
+ - is_unset
2063
+ - reason
2064
+ - source
2065
+ - value
2066
+ - write_id
2067
+ - written_by_email
2068
+ FeedResponse:
2069
+ type: object
2070
+ properties:
2071
+ items:
2072
+ type: array
2073
+ items:
2074
+ $ref: '#/components/schemas/FeedItem'
2075
+ next_cursor:
2076
+ type: string
2077
+ nullable: true
2078
+ required:
2079
+ - items
2080
+ - next_cursor
2081
+ FieldOption:
2082
+ type: object
2083
+ properties:
2084
+ id:
2085
+ type: string
2086
+ format: uuid
2087
+ value: {}
2088
+ label:
2089
+ type: string
2090
+ maxLength: 255
2091
+ position:
2092
+ type: integer
2093
+ maximum: 2147483647
2094
+ minimum: 0
2095
+ is_archived:
2096
+ type: boolean
2097
+ required:
2098
+ - label
2099
+ - value
2100
+ FieldOptionRequest:
2101
+ type: object
2102
+ properties:
2103
+ id:
2104
+ type: string
2105
+ format: uuid
2106
+ value: {}
2107
+ label:
2108
+ type: string
2109
+ minLength: 1
2110
+ maxLength: 255
2111
+ position:
2112
+ type: integer
2113
+ maximum: 2147483647
2114
+ minimum: 0
2115
+ is_archived:
2116
+ type: boolean
2117
+ required:
2118
+ - label
2119
+ - value
2120
+ IntegrationConnection:
2121
+ type: object
2122
+ description: |-
2123
+ Read-only view of a connection. Tokens are intentionally absent —
2124
+ connections are created only via the OAuth callback.
2125
+ properties:
2126
+ id:
2127
+ type: string
2128
+ format: uuid
2129
+ readOnly: true
2130
+ workspace:
2131
+ type: string
2132
+ format: uuid
2133
+ readOnly: true
2134
+ provider:
2135
+ allOf:
2136
+ - $ref: '#/components/schemas/IntegrationProviderEnum'
2137
+ readOnly: true
2138
+ status:
2139
+ allOf:
2140
+ - $ref: '#/components/schemas/IntegrationConnectionStatusEnum'
2141
+ readOnly: true
2142
+ scopes:
2143
+ type: string
2144
+ readOnly: true
2145
+ external_account:
2146
+ readOnly: true
2147
+ connected_by_email:
2148
+ type: string
2149
+ readOnly: true
2150
+ created_at:
2151
+ type: string
2152
+ format: date-time
2153
+ readOnly: true
2154
+ updated_at:
2155
+ type: string
2156
+ format: date-time
2157
+ readOnly: true
2158
+ required:
2159
+ - connected_by_email
2160
+ - created_at
2161
+ - external_account
2162
+ - id
2163
+ - provider
2164
+ - scopes
2165
+ - status
2166
+ - updated_at
2167
+ - workspace
2168
+ IntegrationConnectionStatusEnum:
2169
+ enum:
2170
+ - active
2171
+ - error
2172
+ - revoked
2173
+ type: string
2174
+ description: |-
2175
+ * `active` - Active
2176
+ * `error` - Error
2177
+ * `revoked` - Revoked
2178
+ IntegrationProviderEnum:
2179
+ enum:
2180
+ - slack
2181
+ - teams
2182
+ - sharepoint
2183
+ - notion
2184
+ - salesforce
2185
+ type: string
2186
+ description: |-
2187
+ * `slack` - Slack
2188
+ * `teams` - Microsoft Teams
2189
+ * `sharepoint` - SharePoint
2190
+ * `notion` - Notion
2191
+ * `salesforce` - Salesforce
2192
+ InviteDetailResponse:
2193
+ type: object
2194
+ properties:
2195
+ id:
2196
+ type: string
2197
+ format: uuid
2198
+ email:
2199
+ type: string
2200
+ format: email
2201
+ role:
2202
+ type: string
2203
+ workspace_name:
2204
+ type: string
2205
+ invited_by_email:
2206
+ type: string
2207
+ format: email
2208
+ required:
2209
+ - email
2210
+ - id
2211
+ - invited_by_email
2212
+ - role
2213
+ - workspace_name
2214
+ LogoutResponse:
2215
+ type: object
2216
+ properties:
2217
+ detail:
2218
+ type: string
2219
+ required:
2220
+ - detail
2221
+ Me:
2222
+ type: object
2223
+ properties:
2224
+ id:
2225
+ type: integer
2226
+ readOnly: true
2227
+ email:
2228
+ type: string
2229
+ format: email
2230
+ readOnly: true
2231
+ title: Email address
2232
+ first_name:
2233
+ type: string
2234
+ readOnly: true
2235
+ last_name:
2236
+ type: string
2237
+ readOnly: true
2238
+ memberships:
2239
+ type: array
2240
+ items:
2241
+ $ref: '#/components/schemas/MeMembership'
2242
+ readOnly: true
2243
+ is_superadmin:
2244
+ type: boolean
2245
+ readOnly: true
2246
+ required:
2247
+ - email
2248
+ - first_name
2249
+ - id
2250
+ - is_superadmin
2251
+ - last_name
2252
+ - memberships
2253
+ MeMembership:
2254
+ type: object
2255
+ description: Inline workspace + role for the /auth/me/ payload.
2256
+ properties:
2257
+ workspace_id:
2258
+ type: string
2259
+ format: uuid
2260
+ workspace_name:
2261
+ type: string
2262
+ role:
2263
+ type: string
2264
+ required:
2265
+ - role
2266
+ - workspace_id
2267
+ - workspace_name
2268
+ Observation:
2269
+ type: object
2270
+ description: |-
2271
+ Read shape for the stream; everything an agent or connector sets is
2272
+ read-only. Creation happens via QuickCaptureSerializer only.
2273
+ properties:
2274
+ id:
2275
+ type: string
2276
+ format: uuid
2277
+ readOnly: true
2278
+ workspace:
2279
+ type: string
2280
+ format: uuid
2281
+ readOnly: true
2282
+ source:
2283
+ type: string
2284
+ readOnly: true
2285
+ body:
2286
+ type: string
2287
+ readOnly: true
2288
+ payload:
2289
+ readOnly: true
2290
+ occurred_at:
2291
+ type: string
2292
+ format: date-time
2293
+ readOnly: true
2294
+ observed_at:
2295
+ type: string
2296
+ format: date-time
2297
+ readOnly: true
2298
+ status:
2299
+ allOf:
2300
+ - $ref: '#/components/schemas/ObservationStatusEnum'
2301
+ readOnly: true
2302
+ description:
2303
+ type: string
2304
+ readOnly: true
2305
+ ingested_at:
2306
+ type: string
2307
+ format: date-time
2308
+ readOnly: true
2309
+ nullable: true
2310
+ required:
2311
+ - body
2312
+ - description
2313
+ - id
2314
+ - ingested_at
2315
+ - observed_at
2316
+ - occurred_at
2317
+ - payload
2318
+ - source
2319
+ - status
2320
+ - workspace
2321
+ ObservationStatusEnum:
2322
+ enum:
2323
+ - pending
2324
+ - ingested
2325
+ type: string
2326
+ description: |-
2327
+ * `pending` - Pending
2328
+ * `ingested` - Ingested
2329
+ PatchedProjectFieldDefinitionRequest:
2330
+ type: object
2331
+ properties:
2332
+ workspace:
2333
+ type: string
2334
+ format: uuid
2335
+ key:
2336
+ type: string
2337
+ minLength: 1
2338
+ maxLength: 64
2339
+ pattern: ^[-a-zA-Z0-9_]+$
2340
+ label:
2341
+ type: string
2342
+ minLength: 1
2343
+ maxLength: 255
2344
+ data_type:
2345
+ $ref: '#/components/schemas/DataTypeEnum'
2346
+ is_array:
2347
+ type: boolean
2348
+ required:
2349
+ type: boolean
2350
+ options:
2351
+ type: array
2352
+ items:
2353
+ $ref: '#/components/schemas/FieldOptionRequest'
2354
+ PatchedProjectRequest:
2355
+ type: object
2356
+ properties:
2357
+ workspace:
2358
+ type: string
2359
+ format: uuid
2360
+ fields: {}
2361
+ PatchedTaskRequest:
2362
+ type: object
2363
+ properties:
2364
+ title:
2365
+ type: string
2366
+ minLength: 1
2367
+ maxLength: 255
2368
+ notes:
2369
+ type: string
2370
+ due_date:
2371
+ type: string
2372
+ format: date
2373
+ nullable: true
2374
+ completed_at:
2375
+ type: string
2376
+ format: date-time
2377
+ nullable: true
2378
+ PatchedVendorRequest:
2379
+ type: object
2380
+ properties:
2381
+ workspace:
2382
+ type: string
2383
+ format: uuid
2384
+ name:
2385
+ type: string
2386
+ minLength: 1
2387
+ maxLength: 255
2388
+ vendor_type:
2389
+ $ref: '#/components/schemas/VendorTypeEnum'
2390
+ contact_name:
2391
+ type: string
2392
+ maxLength: 255
2393
+ email:
2394
+ oneOf:
2395
+ - type: string
2396
+ format: email
2397
+ maxLength: 254
2398
+ - type: string
2399
+ maxLength: 0
2400
+ phone:
2401
+ type: string
2402
+ maxLength: 32
2403
+ website:
2404
+ oneOf:
2405
+ - type: string
2406
+ format: uri
2407
+ maxLength: 200
2408
+ - type: string
2409
+ maxLength: 0
2410
+ notes:
2411
+ type: string
2412
+ projects:
2413
+ type: array
2414
+ items:
2415
+ type: string
2416
+ format: uuid
2417
+ PatchedWorkflowRequest:
2418
+ type: object
2419
+ properties:
2420
+ workspace:
2421
+ type: string
2422
+ format: uuid
2423
+ name:
2424
+ type: string
2425
+ minLength: 1
2426
+ maxLength: 255
2427
+ description:
2428
+ type: string
2429
+ enabled:
2430
+ type: boolean
2431
+ trigger:
2432
+ $ref: '#/components/schemas/TriggerEnum'
2433
+ PatchedWorkspaceMembershipRequest:
2434
+ type: object
2435
+ properties:
2436
+ role:
2437
+ $ref: '#/components/schemas/RoleEnum'
2438
+ PatchedWorkspaceRequest:
2439
+ type: object
2440
+ properties:
2441
+ name:
2442
+ type: string
2443
+ minLength: 1
2444
+ maxLength: 255
2445
+ Project:
2446
+ type: object
2447
+ properties:
2448
+ id:
2449
+ type: string
2450
+ format: uuid
2451
+ readOnly: true
2452
+ workspace:
2453
+ type: string
2454
+ format: uuid
2455
+ fields: {}
2456
+ field_freshness:
2457
+ type: object
2458
+ additionalProperties:
2459
+ type: string
2460
+ format: date-time
2461
+ readOnly: true
2462
+ created_at:
2463
+ type: string
2464
+ format: date-time
2465
+ readOnly: true
2466
+ updated_at:
2467
+ type: string
2468
+ format: date-time
2469
+ readOnly: true
2470
+ required:
2471
+ - created_at
2472
+ - field_freshness
2473
+ - id
2474
+ - updated_at
2475
+ - workspace
2476
+ ProjectFieldDefinition:
2477
+ type: object
2478
+ properties:
2479
+ id:
2480
+ type: string
2481
+ format: uuid
2482
+ readOnly: true
2483
+ workspace:
2484
+ type: string
2485
+ format: uuid
2486
+ key:
2487
+ type: string
2488
+ maxLength: 64
2489
+ pattern: ^[-a-zA-Z0-9_]+$
2490
+ label:
2491
+ type: string
2492
+ maxLength: 255
2493
+ data_type:
2494
+ $ref: '#/components/schemas/DataTypeEnum'
2495
+ is_array:
2496
+ type: boolean
2497
+ is_system:
2498
+ type: boolean
2499
+ readOnly: true
2500
+ required:
2501
+ type: boolean
2502
+ options:
2503
+ type: array
2504
+ items:
2505
+ $ref: '#/components/schemas/FieldOption'
2506
+ created_at:
2507
+ type: string
2508
+ format: date-time
2509
+ readOnly: true
2510
+ required:
2511
+ - created_at
2512
+ - data_type
2513
+ - id
2514
+ - is_system
2515
+ - key
2516
+ - label
2517
+ - workspace
2518
+ ProjectFieldDefinitionRequest:
2519
+ type: object
2520
+ properties:
2521
+ workspace:
2522
+ type: string
2523
+ format: uuid
2524
+ key:
2525
+ type: string
2526
+ minLength: 1
2527
+ maxLength: 64
2528
+ pattern: ^[-a-zA-Z0-9_]+$
2529
+ label:
2530
+ type: string
2531
+ minLength: 1
2532
+ maxLength: 255
2533
+ data_type:
2534
+ $ref: '#/components/schemas/DataTypeEnum'
2535
+ is_array:
2536
+ type: boolean
2537
+ required:
2538
+ type: boolean
2539
+ options:
2540
+ type: array
2541
+ items:
2542
+ $ref: '#/components/schemas/FieldOptionRequest'
2543
+ required:
2544
+ - data_type
2545
+ - key
2546
+ - label
2547
+ - workspace
2548
+ ProjectRequest:
2549
+ type: object
2550
+ properties:
2551
+ workspace:
2552
+ type: string
2553
+ format: uuid
2554
+ fields: {}
2555
+ required:
2556
+ - workspace
2557
+ ProposalDecisionRequest:
2558
+ type: object
2559
+ properties:
2560
+ state:
2561
+ $ref: '#/components/schemas/StateEnum'
2562
+ note:
2563
+ type: string
2564
+ required:
2565
+ - state
2566
+ ProviderInfo:
2567
+ type: object
2568
+ properties:
2569
+ key:
2570
+ $ref: '#/components/schemas/IntegrationProviderEnum'
2571
+ label:
2572
+ type: string
2573
+ configured:
2574
+ type: boolean
2575
+ required:
2576
+ - configured
2577
+ - key
2578
+ - label
2579
+ QuickCapture:
2580
+ type: object
2581
+ description: |-
2582
+ User note capture: workspace + body (+ optional payload hint). Source
2583
+ and annotations are never client-settable.
2584
+ properties:
2585
+ id:
2586
+ type: string
2587
+ format: uuid
2588
+ readOnly: true
2589
+ workspace:
2590
+ type: string
2591
+ format: uuid
2592
+ body:
2593
+ type: string
2594
+ payload: {}
2595
+ required:
2596
+ - id
2597
+ - workspace
2598
+ QuickCaptureRequest:
2599
+ type: object
2600
+ description: |-
2601
+ User note capture: workspace + body (+ optional payload hint). Source
2602
+ and annotations are never client-settable.
2603
+ properties:
2604
+ workspace:
2605
+ type: string
2606
+ format: uuid
2607
+ body:
2608
+ type: string
2609
+ payload: {}
2610
+ required:
2611
+ - workspace
2612
+ Record:
2613
+ type: object
2614
+ properties:
2615
+ id:
2616
+ type: string
2617
+ format: uuid
2618
+ readOnly: true
2619
+ workspace:
2620
+ type: string
2621
+ format: uuid
2622
+ readOnly: true
2623
+ project:
2624
+ type: string
2625
+ format: uuid
2626
+ readOnly: true
2627
+ nullable: true
2628
+ run:
2629
+ type: string
2630
+ format: uuid
2631
+ readOnly: true
2632
+ nullable: true
2633
+ step_id:
2634
+ type: string
2635
+ readOnly: true
2636
+ record_type:
2637
+ type: string
2638
+ readOnly: true
2639
+ data:
2640
+ readOnly: true
2641
+ extras:
2642
+ readOnly: true
2643
+ produced_at:
2644
+ type: string
2645
+ format: date-time
2646
+ readOnly: true
2647
+ supersedes:
2648
+ type: string
2649
+ format: uuid
2650
+ readOnly: true
2651
+ nullable: true
2652
+ created_at:
2653
+ type: string
2654
+ format: date-time
2655
+ readOnly: true
2656
+ required:
2657
+ - created_at
2658
+ - data
2659
+ - extras
2660
+ - id
2661
+ - produced_at
2662
+ - project
2663
+ - record_type
2664
+ - run
2665
+ - step_id
2666
+ - supersedes
2667
+ - workspace
2668
+ RecordCreateRequest:
2669
+ type: object
2670
+ description: |-
2671
+ Body of the machine records endpoint. Schema validation of ``data``
2672
+ happens in the view against the workspace RecordType.
2673
+ properties:
2674
+ record_type:
2675
+ type: string
2676
+ minLength: 1
2677
+ maxLength: 128
2678
+ project:
2679
+ type: string
2680
+ format: uuid
2681
+ nullable: true
2682
+ step_id:
2683
+ type: string
2684
+ default: ''
2685
+ maxLength: 128
2686
+ data: {}
2687
+ extras: {}
2688
+ produced_at:
2689
+ type: string
2690
+ format: date-time
2691
+ required:
2692
+ - data
2693
+ - produced_at
2694
+ - record_type
2695
+ RecordCreatedResponse:
2696
+ type: object
2697
+ properties:
2698
+ id:
2699
+ type: string
2700
+ required:
2701
+ - id
2702
+ RequestMagicLinkRequest:
2703
+ type: object
2704
+ properties:
2705
+ email:
2706
+ type: string
2707
+ format: email
2708
+ minLength: 1
2709
+ required:
2710
+ - email
2711
+ RequestMagicLinkResponse:
2712
+ type: object
2713
+ properties:
2714
+ detail:
2715
+ type: string
2716
+ debug_token:
2717
+ type: string
2718
+ nullable: true
2719
+ required:
2720
+ - detail
2721
+ RevertRequestRequest:
2722
+ type: object
2723
+ properties:
2724
+ write_id:
2725
+ type: string
2726
+ format: uuid
2727
+ required:
2728
+ - write_id
2729
+ RoleEnum:
2730
+ enum:
2731
+ - admin
2732
+ - member
2733
+ type: string
2734
+ description: |-
2735
+ * `admin` - Admin
2736
+ * `member` - Member
2737
+ RunDecision:
2738
+ type: object
2739
+ properties:
2740
+ gate_step_id:
2741
+ type: string
2742
+ proposal_record_id:
2743
+ type: string
2744
+ state:
2745
+ type: string
2746
+ required:
2747
+ - gate_step_id
2748
+ - proposal_record_id
2749
+ - state
2750
+ RunDefinition:
2751
+ type: object
2752
+ description: Response of the machine definition endpoint.
2753
+ properties:
2754
+ run_id:
2755
+ type: string
2756
+ format: uuid
2757
+ workspace:
2758
+ type: string
2759
+ format: uuid
2760
+ project:
2761
+ type: string
2762
+ format: uuid
2763
+ nullable: true
2764
+ definition: {}
2765
+ steps_state:
2766
+ type: array
2767
+ items:
2768
+ $ref: '#/components/schemas/StepState'
2769
+ decisions:
2770
+ type: array
2771
+ items:
2772
+ $ref: '#/components/schemas/RunDecision'
2773
+ required:
2774
+ - decisions
2775
+ - definition
2776
+ - project
2777
+ - run_id
2778
+ - steps_state
2779
+ - workspace
2780
+ SlackChannel:
2781
+ type: object
2782
+ properties:
2783
+ id:
2784
+ type: string
2785
+ name:
2786
+ type: string
2787
+ required:
2788
+ - id
2789
+ - name
2790
+ StateEnum:
2791
+ enum:
2792
+ - approved
2793
+ - rejected
2794
+ type: string
2795
+ description: |-
2796
+ * `approved` - approved
2797
+ * `rejected` - rejected
2798
+ StepState:
2799
+ type: object
2800
+ properties:
2801
+ step_id:
2802
+ type: string
2803
+ status:
2804
+ type: string
2805
+ attempts:
2806
+ type: integer
2807
+ required:
2808
+ - attempts
2809
+ - status
2810
+ - step_id
2811
+ StepTransition:
2812
+ type: object
2813
+ properties:
2814
+ id:
2815
+ type: string
2816
+ format: uuid
2817
+ readOnly: true
2818
+ run:
2819
+ type: string
2820
+ format: uuid
2821
+ readOnly: true
2822
+ step_id:
2823
+ type: string
2824
+ readOnly: true
2825
+ status:
2826
+ allOf:
2827
+ - $ref: '#/components/schemas/StepTransitionStatusEnum'
2828
+ readOnly: true
2829
+ attempt:
2830
+ type: integer
2831
+ readOnly: true
2832
+ default: 1
2833
+ error:
2834
+ type: string
2835
+ readOnly: true
2836
+ occurred_at:
2837
+ type: string
2838
+ format: date-time
2839
+ readOnly: true
2840
+ required:
2841
+ - attempt
2842
+ - error
2843
+ - id
2844
+ - occurred_at
2845
+ - run
2846
+ - status
2847
+ - step_id
2848
+ StepTransitionCreateRequest:
2849
+ type: object
2850
+ description: Body of the machine transitions endpoint.
2851
+ properties:
2852
+ step_id:
2853
+ type: string
2854
+ minLength: 1
2855
+ maxLength: 128
2856
+ status:
2857
+ $ref: '#/components/schemas/StepTransitionStatusEnum'
2858
+ attempt:
2859
+ type: integer
2860
+ minimum: 1
2861
+ default: 1
2862
+ error:
2863
+ type: string
2864
+ required:
2865
+ - status
2866
+ - step_id
2867
+ StepTransitionStatusEnum:
2868
+ enum:
2869
+ - running
2870
+ - succeeded
2871
+ - failed
2872
+ - skipped
2873
+ - waiting_on_gate
2874
+ type: string
2875
+ description: |-
2876
+ * `running` - Running
2877
+ * `succeeded` - Succeeded
2878
+ * `failed` - Failed
2879
+ * `skipped` - Skipped
2880
+ * `waiting_on_gate` - Waiting on gate
2881
+ Task:
2882
+ type: object
2883
+ properties:
2884
+ id:
2885
+ type: string
2886
+ format: uuid
2887
+ readOnly: true
2888
+ title:
2889
+ type: string
2890
+ maxLength: 255
2891
+ notes:
2892
+ type: string
2893
+ due_date:
2894
+ type: string
2895
+ format: date
2896
+ nullable: true
2897
+ completed_at:
2898
+ type: string
2899
+ format: date-time
2900
+ nullable: true
2901
+ created_at:
2902
+ type: string
2903
+ format: date-time
2904
+ readOnly: true
2905
+ updated_at:
2906
+ type: string
2907
+ format: date-time
2908
+ readOnly: true
2909
+ required:
2910
+ - created_at
2911
+ - id
2912
+ - title
2913
+ - updated_at
2914
+ TaskRequest:
2915
+ type: object
2916
+ properties:
2917
+ title:
2918
+ type: string
2919
+ minLength: 1
2920
+ maxLength: 255
2921
+ notes:
2922
+ type: string
2923
+ due_date:
2924
+ type: string
2925
+ format: date
2926
+ nullable: true
2927
+ completed_at:
2928
+ type: string
2929
+ format: date-time
2930
+ nullable: true
2931
+ required:
2932
+ - title
2933
+ TriggerEnum:
2934
+ enum:
2935
+ - manual
2936
+ - schedule
2937
+ - project_created
2938
+ - project_status_changed
2939
+ type: string
2940
+ description: |-
2941
+ * `manual` - Manual
2942
+ * `schedule` - Schedule
2943
+ * `project_created` - Project created
2944
+ * `project_status_changed` - Project status changed
2945
+ User:
2946
+ type: object
2947
+ properties:
2948
+ id:
2949
+ type: integer
2950
+ readOnly: true
2951
+ email:
2952
+ type: string
2953
+ format: email
2954
+ readOnly: true
2955
+ title: Email address
2956
+ first_name:
2957
+ type: string
2958
+ readOnly: true
2959
+ last_name:
2960
+ type: string
2961
+ readOnly: true
2962
+ required:
2963
+ - email
2964
+ - first_name
2965
+ - id
2966
+ - last_name
2967
+ Vendor:
2968
+ type: object
2969
+ properties:
2970
+ id:
2971
+ type: string
2972
+ format: uuid
2973
+ readOnly: true
2974
+ workspace:
2975
+ type: string
2976
+ format: uuid
2977
+ name:
2978
+ type: string
2979
+ maxLength: 255
2980
+ vendor_type:
2981
+ $ref: '#/components/schemas/VendorTypeEnum'
2982
+ contact_name:
2983
+ type: string
2984
+ maxLength: 255
2985
+ email:
2986
+ oneOf:
2987
+ - type: string
2988
+ format: email
2989
+ maxLength: 254
2990
+ - type: string
2991
+ maxLength: 0
2992
+ phone:
2993
+ type: string
2994
+ maxLength: 32
2995
+ website:
2996
+ oneOf:
2997
+ - type: string
2998
+ format: uri
2999
+ maxLength: 200
3000
+ - type: string
3001
+ maxLength: 0
3002
+ notes:
3003
+ type: string
3004
+ projects:
3005
+ type: array
3006
+ items:
3007
+ type: string
3008
+ format: uuid
3009
+ created_at:
3010
+ type: string
3011
+ format: date-time
3012
+ readOnly: true
3013
+ updated_at:
3014
+ type: string
3015
+ format: date-time
3016
+ readOnly: true
3017
+ required:
3018
+ - created_at
3019
+ - id
3020
+ - name
3021
+ - updated_at
3022
+ - workspace
3023
+ VendorRequest:
3024
+ type: object
3025
+ properties:
3026
+ workspace:
3027
+ type: string
3028
+ format: uuid
3029
+ name:
3030
+ type: string
3031
+ minLength: 1
3032
+ maxLength: 255
3033
+ vendor_type:
3034
+ $ref: '#/components/schemas/VendorTypeEnum'
3035
+ contact_name:
3036
+ type: string
3037
+ maxLength: 255
3038
+ email:
3039
+ oneOf:
3040
+ - type: string
3041
+ format: email
3042
+ maxLength: 254
3043
+ - type: string
3044
+ maxLength: 0
3045
+ phone:
3046
+ type: string
3047
+ maxLength: 32
3048
+ website:
3049
+ oneOf:
3050
+ - type: string
3051
+ format: uri
3052
+ maxLength: 200
3053
+ - type: string
3054
+ maxLength: 0
3055
+ notes:
3056
+ type: string
3057
+ projects:
3058
+ type: array
3059
+ items:
3060
+ type: string
3061
+ format: uuid
3062
+ required:
3063
+ - name
3064
+ - workspace
3065
+ VendorTypeEnum:
3066
+ enum:
3067
+ - firm
3068
+ - supplier
3069
+ - contractor
3070
+ - consultant
3071
+ - other
3072
+ type: string
3073
+ description: |-
3074
+ * `firm` - Firm
3075
+ * `supplier` - Supplier
3076
+ * `contractor` - Contractor
3077
+ * `consultant` - Consultant
3078
+ * `other` - Other
3079
+ VerifyMagicLinkRequest:
3080
+ type: object
3081
+ properties:
3082
+ token:
3083
+ type: string
3084
+ minLength: 1
3085
+ maxLength: 64
3086
+ required:
3087
+ - token
3088
+ VerifyMagicLinkResponse:
3089
+ type: object
3090
+ properties:
3091
+ token:
3092
+ type: string
3093
+ user:
3094
+ $ref: '#/components/schemas/User'
3095
+ required:
3096
+ - token
3097
+ - user
3098
+ Workflow:
3099
+ type: object
3100
+ properties:
3101
+ id:
3102
+ type: string
3103
+ format: uuid
3104
+ readOnly: true
3105
+ workspace:
3106
+ type: string
3107
+ format: uuid
3108
+ name:
3109
+ type: string
3110
+ maxLength: 255
3111
+ description:
3112
+ type: string
3113
+ enabled:
3114
+ type: boolean
3115
+ trigger:
3116
+ $ref: '#/components/schemas/TriggerEnum'
3117
+ last_run:
3118
+ allOf:
3119
+ - $ref: '#/components/schemas/WorkflowRun'
3120
+ nullable: true
3121
+ readOnly: true
3122
+ run_counts:
3123
+ allOf:
3124
+ - $ref: '#/components/schemas/WorkflowRunCounts'
3125
+ readOnly: true
3126
+ created_at:
3127
+ type: string
3128
+ format: date-time
3129
+ readOnly: true
3130
+ updated_at:
3131
+ type: string
3132
+ format: date-time
3133
+ readOnly: true
3134
+ required:
3135
+ - created_at
3136
+ - id
3137
+ - last_run
3138
+ - name
3139
+ - run_counts
3140
+ - trigger
3141
+ - updated_at
3142
+ - workspace
3143
+ WorkflowDefinition:
3144
+ type: object
3145
+ properties:
3146
+ id:
3147
+ type: string
3148
+ format: uuid
3149
+ readOnly: true
3150
+ workspace:
3151
+ type: string
3152
+ format: uuid
3153
+ readOnly: true
3154
+ name:
3155
+ type: string
3156
+ readOnly: true
3157
+ pattern: ^[-a-zA-Z0-9_]+$
3158
+ definition:
3159
+ readOnly: true
3160
+ rendered_hash:
3161
+ type: string
3162
+ readOnly: true
3163
+ applied_at:
3164
+ type: string
3165
+ format: date-time
3166
+ readOnly: true
3167
+ required:
3168
+ - applied_at
3169
+ - definition
3170
+ - id
3171
+ - name
3172
+ - rendered_hash
3173
+ - workspace
3174
+ WorkflowRequest:
3175
+ type: object
3176
+ properties:
3177
+ workspace:
3178
+ type: string
3179
+ format: uuid
3180
+ name:
3181
+ type: string
3182
+ minLength: 1
3183
+ maxLength: 255
3184
+ description:
3185
+ type: string
3186
+ enabled:
3187
+ type: boolean
3188
+ trigger:
3189
+ $ref: '#/components/schemas/TriggerEnum'
3190
+ required:
3191
+ - name
3192
+ - trigger
3193
+ - workspace
3194
+ WorkflowRun:
3195
+ type: object
3196
+ properties:
3197
+ id:
3198
+ type: string
3199
+ format: uuid
3200
+ readOnly: true
3201
+ workflow:
3202
+ type: string
3203
+ format: uuid
3204
+ readOnly: true
3205
+ nullable: true
3206
+ definition:
3207
+ type: string
3208
+ format: uuid
3209
+ readOnly: true
3210
+ nullable: true
3211
+ project:
3212
+ type: string
3213
+ format: uuid
3214
+ readOnly: true
3215
+ nullable: true
3216
+ status:
3217
+ allOf:
3218
+ - $ref: '#/components/schemas/WorkflowRunStatusEnum'
3219
+ readOnly: true
3220
+ sandbox_id:
3221
+ type: string
3222
+ readOnly: true
3223
+ dispatched_at:
3224
+ type: string
3225
+ format: date-time
3226
+ readOnly: true
3227
+ nullable: true
3228
+ started_at:
3229
+ type: string
3230
+ format: date-time
3231
+ readOnly: true
3232
+ finished_at:
3233
+ type: string
3234
+ format: date-time
3235
+ readOnly: true
3236
+ nullable: true
3237
+ summary:
3238
+ type: string
3239
+ readOnly: true
3240
+ error:
3241
+ type: string
3242
+ readOnly: true
3243
+ transitions:
3244
+ type: array
3245
+ items:
3246
+ $ref: '#/components/schemas/StepTransition'
3247
+ readOnly: true
3248
+ required:
3249
+ - definition
3250
+ - dispatched_at
3251
+ - error
3252
+ - finished_at
3253
+ - id
3254
+ - project
3255
+ - sandbox_id
3256
+ - started_at
3257
+ - status
3258
+ - summary
3259
+ - transitions
3260
+ - workflow
3261
+ WorkflowRunCounts:
3262
+ type: object
3263
+ description: Run counts by status over the last 30 days.
3264
+ properties:
3265
+ succeeded:
3266
+ type: integer
3267
+ failed:
3268
+ type: integer
3269
+ running:
3270
+ type: integer
3271
+ required:
3272
+ - failed
3273
+ - running
3274
+ - succeeded
3275
+ WorkflowRunCreateRequest:
3276
+ type: object
3277
+ description: |-
3278
+ Body of the user run-creation endpoint. ``definition`` accepts a
3279
+ WorkflowDefinition UUID or its (workspace-unique) name.
3280
+ properties:
3281
+ definition:
3282
+ type: string
3283
+ minLength: 1
3284
+ project:
3285
+ type: string
3286
+ format: uuid
3287
+ nullable: true
3288
+ required:
3289
+ - definition
3290
+ WorkflowRunStatusEnum:
3291
+ enum:
3292
+ - queued
3293
+ - running
3294
+ - waiting_on_gate
3295
+ - succeeded
3296
+ - failed
3297
+ - cancelled
3298
+ - stale
3299
+ type: string
3300
+ description: |-
3301
+ * `queued` - Queued
3302
+ * `running` - Running
3303
+ * `waiting_on_gate` - Waiting on gate
3304
+ * `succeeded` - Succeeded
3305
+ * `failed` - Failed
3306
+ * `cancelled` - Cancelled
3307
+ * `stale` - Stale
3308
+ Workspace:
3309
+ type: object
3310
+ properties:
3311
+ id:
3312
+ type: string
3313
+ format: uuid
3314
+ readOnly: true
3315
+ name:
3316
+ type: string
3317
+ maxLength: 255
3318
+ created_at:
3319
+ type: string
3320
+ format: date-time
3321
+ readOnly: true
3322
+ required:
3323
+ - created_at
3324
+ - id
3325
+ - name
3326
+ WorkspaceInbox:
3327
+ type: object
3328
+ properties:
3329
+ id:
3330
+ type: string
3331
+ format: uuid
3332
+ readOnly: true
3333
+ workspace:
3334
+ type: string
3335
+ format: uuid
3336
+ readOnly: true
3337
+ address:
3338
+ type: string
3339
+ readOnly: true
3340
+ created_at:
3341
+ type: string
3342
+ format: date-time
3343
+ readOnly: true
3344
+ required:
3345
+ - address
3346
+ - created_at
3347
+ - id
3348
+ - workspace
3349
+ WorkspaceInvite:
3350
+ type: object
3351
+ properties:
3352
+ id:
3353
+ type: string
3354
+ format: uuid
3355
+ readOnly: true
3356
+ workspace:
3357
+ type: string
3358
+ format: uuid
3359
+ readOnly: true
3360
+ email:
3361
+ type: string
3362
+ format: email
3363
+ maxLength: 254
3364
+ role:
3365
+ $ref: '#/components/schemas/RoleEnum'
3366
+ invited_by:
3367
+ type: integer
3368
+ readOnly: true
3369
+ created_at:
3370
+ type: string
3371
+ format: date-time
3372
+ readOnly: true
3373
+ accepted_at:
3374
+ type: string
3375
+ format: date-time
3376
+ readOnly: true
3377
+ nullable: true
3378
+ required:
3379
+ - accepted_at
3380
+ - created_at
3381
+ - email
3382
+ - id
3383
+ - invited_by
3384
+ - workspace
3385
+ WorkspaceInviteRequest:
3386
+ type: object
3387
+ properties:
3388
+ email:
3389
+ type: string
3390
+ format: email
3391
+ minLength: 1
3392
+ maxLength: 254
3393
+ role:
3394
+ $ref: '#/components/schemas/RoleEnum'
3395
+ required:
3396
+ - email
3397
+ WorkspaceMembership:
3398
+ type: object
3399
+ properties:
3400
+ id:
3401
+ type: string
3402
+ format: uuid
3403
+ readOnly: true
3404
+ user:
3405
+ type: integer
3406
+ readOnly: true
3407
+ email:
3408
+ type: string
3409
+ format: email
3410
+ readOnly: true
3411
+ first_name:
3412
+ type: string
3413
+ readOnly: true
3414
+ last_name:
3415
+ type: string
3416
+ readOnly: true
3417
+ workspace:
3418
+ type: string
3419
+ format: uuid
3420
+ readOnly: true
3421
+ role:
3422
+ $ref: '#/components/schemas/RoleEnum'
3423
+ created_at:
3424
+ type: string
3425
+ format: date-time
3426
+ readOnly: true
3427
+ required:
3428
+ - created_at
3429
+ - email
3430
+ - first_name
3431
+ - id
3432
+ - last_name
3433
+ - user
3434
+ - workspace
3435
+ WorkspaceMembershipRequest:
3436
+ type: object
3437
+ properties:
3438
+ role:
3439
+ $ref: '#/components/schemas/RoleEnum'
3440
+ WorkspaceRequest:
3441
+ type: object
3442
+ properties:
3443
+ name:
3444
+ type: string
3445
+ minLength: 1
3446
+ maxLength: 255
3447
+ required:
3448
+ - name
3449
+ securitySchemes:
3450
+ RunTokenAuth:
3451
+ type: http
3452
+ scheme: bearer
3453
+ tokenAuth:
3454
+ type: apiKey
3455
+ in: header
3456
+ name: Authorization
3457
+ description: Token-based authentication with required prefix "Token"