1basePath: /v1
2definitions:
3 catwalk.Model:
4 properties:
5 can_reason:
6 type: boolean
7 context_window:
8 type: integer
9 cost_per_1m_in:
10 type: number
11 cost_per_1m_in_cached:
12 type: number
13 cost_per_1m_out:
14 type: number
15 cost_per_1m_out_cached:
16 type: number
17 default_max_tokens:
18 type: integer
19 default_reasoning_effort:
20 type: string
21 id:
22 type: string
23 name:
24 type: string
25 options:
26 $ref: '#/definitions/catwalk.ModelOptions'
27 reasoning_levels:
28 items:
29 type: string
30 type: array
31 supports_attachments:
32 type: boolean
33 type: object
34 catwalk.ModelOptions:
35 properties:
36 frequency_penalty:
37 type: number
38 presence_penalty:
39 type: number
40 provider_options:
41 additionalProperties: {}
42 type: object
43 temperature:
44 type: number
45 top_k:
46 type: integer
47 top_p:
48 type: number
49 type: object
50 config.Attribution:
51 properties:
52 co_authored_by:
53 type: boolean
54 generated_with:
55 type: boolean
56 trailer_style:
57 $ref: '#/definitions/config.TrailerStyle'
58 type: object
59 config.Completions:
60 properties:
61 max_depth:
62 type: integer
63 max_items:
64 type: integer
65 type: object
66 config.HookConfig:
67 properties:
68 command:
69 description: Shell command to execute.
70 type: string
71 matcher:
72 description: Regex pattern tested against the tool name. Empty means match
73 all.
74 type: string
75 timeout:
76 description: Timeout in seconds. Default 30.
77 type: integer
78 type: object
79 config.LSPConfig:
80 properties:
81 args:
82 items:
83 type: string
84 type: array
85 command:
86 type: string
87 disabled:
88 type: boolean
89 env:
90 additionalProperties:
91 type: string
92 type: object
93 filetypes:
94 items:
95 type: string
96 type: array
97 init_options:
98 additionalProperties: {}
99 type: object
100 options:
101 additionalProperties: {}
102 type: object
103 root_markers:
104 items:
105 type: string
106 type: array
107 timeout:
108 type: integer
109 type: object
110 config.LSPs:
111 additionalProperties:
112 $ref: '#/definitions/config.LSPConfig'
113 type: object
114 config.MCPConfig:
115 properties:
116 args:
117 items:
118 type: string
119 type: array
120 command:
121 type: string
122 disabled:
123 type: boolean
124 disabled_tools:
125 items:
126 type: string
127 type: array
128 enabled_tools:
129 items:
130 type: string
131 type: array
132 env:
133 additionalProperties:
134 type: string
135 type: object
136 headers:
137 additionalProperties:
138 type: string
139 description: |-
140 Headers are HTTP headers for HTTP/SSE MCP servers. Values run
141 through shell expansion at MCP startup, so $VAR and $(cmd)
142 work. A header whose value resolves to the empty string (unset
143 bare $VAR under lenient nounset, $(echo), or literal "") is
144 omitted from the outgoing request rather than sent as
145 "Header:".
146 type: object
147 timeout:
148 type: integer
149 type:
150 $ref: '#/definitions/config.MCPType'
151 url:
152 type: string
153 type: object
154 config.MCPType:
155 enum:
156 - stdio
157 - sse
158 - http
159 type: string
160 x-enum-varnames:
161 - MCPStdio
162 - MCPSSE
163 - MCPHttp
164 config.MCPs:
165 additionalProperties:
166 $ref: '#/definitions/config.MCPConfig'
167 type: object
168 config.Permissions:
169 properties:
170 allowed_tools:
171 items:
172 type: string
173 type: array
174 type: object
175 config.Scope:
176 enum:
177 - 0
178 - 1
179 type: integer
180 x-enum-varnames:
181 - ScopeGlobal
182 - ScopeWorkspace
183 config.SelectedModel:
184 properties:
185 frequency_penalty:
186 type: number
187 max_tokens:
188 description: Overrides the default model configuration.
189 type: integer
190 model:
191 description: |-
192 The model id as used by the provider API.
193 Required.
194 type: string
195 presence_penalty:
196 type: number
197 provider:
198 description: |-
199 The model provider, same as the key/id used in the providers config.
200 Required.
201 type: string
202 provider_options:
203 additionalProperties: {}
204 description: Override provider specific options.
205 type: object
206 reasoning_effort:
207 description: Only used by models that use the openai provider and need this
208 set.
209 type: string
210 temperature:
211 type: number
212 think:
213 description: Used by anthropic models that can reason to indicate if the model
214 should think.
215 type: boolean
216 top_k:
217 type: integer
218 top_p:
219 type: number
220 type: object
221 config.SelectedModelType:
222 enum:
223 - large
224 - small
225 type: string
226 x-enum-varnames:
227 - SelectedModelTypeLarge
228 - SelectedModelTypeSmall
229 config.TUIOptions:
230 properties:
231 compact_mode:
232 type: boolean
233 completions:
234 $ref: '#/definitions/config.Completions'
235 diff_mode:
236 type: string
237 transparent:
238 type: boolean
239 type: object
240 config.ToolGrep:
241 properties:
242 timeout:
243 $ref: '#/definitions/time.Duration'
244 type: object
245 config.ToolLs:
246 properties:
247 max_depth:
248 type: integer
249 max_items:
250 type: integer
251 type: object
252 config.Tools:
253 properties:
254 grep:
255 $ref: '#/definitions/config.ToolGrep'
256 ls:
257 $ref: '#/definitions/config.ToolLs'
258 type: object
259 config.TrailerStyle:
260 enum:
261 - none
262 - co-authored-by
263 - assisted-by
264 type: string
265 x-enum-varnames:
266 - TrailerStyleNone
267 - TrailerStyleCoAuthoredBy
268 - TrailerStyleAssistedBy
269 csync.Map-string-config_ProviderConfig:
270 type: object
271 github_com_charmbracelet_crush_internal_config.Config:
272 properties:
273 $schema:
274 type: string
275 hooks:
276 additionalProperties:
277 items:
278 $ref: '#/definitions/config.HookConfig'
279 type: array
280 type: object
281 lsp:
282 $ref: '#/definitions/config.LSPs'
283 mcp:
284 $ref: '#/definitions/config.MCPs'
285 models:
286 additionalProperties:
287 $ref: '#/definitions/config.SelectedModel'
288 description: We currently only support large/small as values here.
289 type: object
290 options:
291 $ref: '#/definitions/github_com_charmbracelet_crush_internal_config.Options'
292 permissions:
293 $ref: '#/definitions/config.Permissions'
294 providers:
295 allOf:
296 - $ref: '#/definitions/csync.Map-string-config_ProviderConfig'
297 description: The providers that are configured
298 recent_models:
299 additionalProperties:
300 items:
301 $ref: '#/definitions/config.SelectedModel'
302 type: array
303 description: Recently used models stored in the data directory config.
304 type: object
305 tools:
306 $ref: '#/definitions/config.Tools'
307 type: object
308 github_com_charmbracelet_crush_internal_config.Options:
309 properties:
310 attribution:
311 $ref: '#/definitions/config.Attribution'
312 auto_lsp:
313 type: boolean
314 context_paths:
315 items:
316 type: string
317 type: array
318 data_directory:
319 description: |-
320 DataDirectory is where Crush keeps per-project state such as
321 the SQLite database and workspace overrides. Relative paths are
322 resolved against the working directory; absolute paths are used
323 verbatim. After defaulting the stored value is always absolute.
324 type: string
325 debug:
326 type: boolean
327 debug_lsp:
328 type: boolean
329 disable_auto_summarize:
330 type: boolean
331 disable_default_providers:
332 type: boolean
333 disable_metrics:
334 type: boolean
335 disable_notifications:
336 type: boolean
337 disable_provider_auto_update:
338 type: boolean
339 disabled_skills:
340 items:
341 type: string
342 type: array
343 disabled_tools:
344 items:
345 type: string
346 type: array
347 initialize_as:
348 type: string
349 progress:
350 type: boolean
351 skills_paths:
352 items:
353 type: string
354 type: array
355 tui:
356 $ref: '#/definitions/config.TUIOptions'
357 type: object
358 github_com_charmbracelet_crush_internal_proto.Message:
359 properties:
360 created_at:
361 type: integer
362 id:
363 type: string
364 model:
365 type: string
366 parts:
367 items: {}
368 type: array
369 provider:
370 type: string
371 role:
372 $ref: '#/definitions/proto.MessageRole'
373 session_id:
374 type: string
375 updated_at:
376 type: integer
377 type: object
378 lsp.ServerState:
379 enum:
380 - 0
381 - 1
382 - 2
383 - 3
384 - 4
385 - 5
386 type: integer
387 x-enum-varnames:
388 - StateUnstarted
389 - StateStarting
390 - StateReady
391 - StateError
392 - StateStopped
393 - StateDisabled
394 proto.APIKeyKind:
395 enum:
396 - string
397 - oauth
398 type: string
399 x-enum-varnames:
400 - APIKeyKindString
401 - APIKeyKindOAuth
402 proto.AgentInfo:
403 properties:
404 is_busy:
405 type: boolean
406 is_ready:
407 type: boolean
408 model:
409 $ref: '#/definitions/catwalk.Model'
410 model_cfg:
411 $ref: '#/definitions/config.SelectedModel'
412 type: object
413 proto.AgentMessage:
414 properties:
415 attachments:
416 items:
417 $ref: '#/definitions/proto.Attachment'
418 type: array
419 prompt:
420 type: string
421 session_id:
422 type: string
423 type: object
424 proto.AgentSession:
425 properties:
426 completion_tokens:
427 type: integer
428 cost:
429 type: number
430 created_at:
431 type: integer
432 id:
433 type: string
434 is_busy:
435 type: boolean
436 message_count:
437 type: integer
438 parent_session_id:
439 type: string
440 prompt_tokens:
441 type: integer
442 summary_message_id:
443 type: string
444 title:
445 type: string
446 updated_at:
447 type: integer
448 type: object
449 proto.Attachment:
450 properties:
451 content:
452 items:
453 type: integer
454 type: array
455 file_name:
456 type: string
457 file_path:
458 type: string
459 mime_type:
460 type: string
461 type: object
462 proto.ConfigCompactRequest:
463 properties:
464 enabled:
465 type: boolean
466 scope:
467 $ref: '#/definitions/config.Scope'
468 type: object
469 proto.ConfigModelRequest:
470 properties:
471 model:
472 $ref: '#/definitions/config.SelectedModel'
473 model_type:
474 $ref: '#/definitions/config.SelectedModelType'
475 scope:
476 $ref: '#/definitions/config.Scope'
477 type: object
478 proto.ConfigProviderKeyRequest:
479 properties:
480 api_key:
481 items:
482 type: integer
483 type: array
484 kind:
485 $ref: '#/definitions/proto.APIKeyKind'
486 provider_id:
487 type: string
488 scope:
489 $ref: '#/definitions/config.Scope'
490 type: object
491 proto.ConfigRefreshOAuthRequest:
492 properties:
493 provider_id:
494 type: string
495 scope:
496 $ref: '#/definitions/config.Scope'
497 type: object
498 proto.ConfigRemoveRequest:
499 properties:
500 key:
501 type: string
502 scope:
503 $ref: '#/definitions/config.Scope'
504 type: object
505 proto.ConfigSetRequest:
506 properties:
507 key:
508 type: string
509 scope:
510 $ref: '#/definitions/config.Scope'
511 value: {}
512 type: object
513 proto.Error:
514 properties:
515 message:
516 type: string
517 type: object
518 proto.File:
519 properties:
520 content:
521 type: string
522 created_at:
523 type: integer
524 id:
525 type: string
526 path:
527 type: string
528 session_id:
529 type: string
530 updated_at:
531 type: integer
532 version:
533 type: integer
534 type: object
535 proto.FileTrackerReadRequest:
536 properties:
537 path:
538 type: string
539 session_id:
540 type: string
541 type: object
542 proto.ImportCopilotResponse:
543 properties:
544 success:
545 type: boolean
546 token: {}
547 type: object
548 proto.LSPClientInfo:
549 properties:
550 connected_at:
551 type: string
552 diagnostic_count:
553 type: integer
554 error: {}
555 name:
556 type: string
557 state:
558 $ref: '#/definitions/lsp.ServerState'
559 type: object
560 proto.LSPStartRequest:
561 properties:
562 path:
563 type: string
564 type: object
565 proto.MCPClientInfo:
566 properties:
567 connected_at:
568 type: string
569 error: {}
570 name:
571 type: string
572 prompt_count:
573 type: integer
574 resource_count:
575 type: integer
576 state:
577 $ref: '#/definitions/proto.MCPState'
578 tool_count:
579 type: integer
580 type: object
581 proto.MCPGetPromptRequest:
582 properties:
583 args:
584 additionalProperties:
585 type: string
586 type: object
587 client_id:
588 type: string
589 prompt_id:
590 type: string
591 type: object
592 proto.MCPGetPromptResponse:
593 properties:
594 prompt:
595 type: string
596 type: object
597 proto.MCPNameRequest:
598 properties:
599 name:
600 type: string
601 type: object
602 proto.MCPReadResourceRequest:
603 properties:
604 name:
605 type: string
606 uri:
607 type: string
608 type: object
609 proto.MCPState:
610 enum:
611 - 0
612 - 1
613 - 2
614 - 3
615 type: integer
616 x-enum-varnames:
617 - MCPStateDisabled
618 - MCPStateStarting
619 - MCPStateConnected
620 - MCPStateError
621 proto.MessageRole:
622 enum:
623 - assistant
624 - user
625 - system
626 - tool
627 type: string
628 x-enum-varnames:
629 - Assistant
630 - User
631 - System
632 - Tool
633 proto.PermissionAction:
634 enum:
635 - allow
636 - allow_session
637 - deny
638 type: string
639 x-enum-varnames:
640 - PermissionAllow
641 - PermissionAllowForSession
642 - PermissionDeny
643 proto.PermissionGrant:
644 properties:
645 action:
646 $ref: '#/definitions/proto.PermissionAction'
647 permission:
648 $ref: '#/definitions/proto.PermissionRequest'
649 type: object
650 proto.PermissionRequest:
651 properties:
652 action:
653 type: string
654 description:
655 type: string
656 id:
657 type: string
658 params: {}
659 path:
660 type: string
661 session_id:
662 type: string
663 tool_call_id:
664 type: string
665 tool_name:
666 type: string
667 type: object
668 proto.PermissionSkipRequest:
669 properties:
670 skip:
671 type: boolean
672 type: object
673 proto.ProjectInitPromptResponse:
674 properties:
675 prompt:
676 type: string
677 type: object
678 proto.ProjectNeedsInitResponse:
679 properties:
680 needs_init:
681 type: boolean
682 type: object
683 proto.ServerControl:
684 properties:
685 command:
686 type: string
687 type: object
688 proto.Session:
689 properties:
690 completion_tokens:
691 type: integer
692 cost:
693 type: number
694 created_at:
695 type: integer
696 id:
697 type: string
698 message_count:
699 type: integer
700 parent_session_id:
701 type: string
702 prompt_tokens:
703 type: integer
704 summary_message_id:
705 type: string
706 title:
707 type: string
708 updated_at:
709 type: integer
710 type: object
711 proto.VersionInfo:
712 properties:
713 build_id:
714 type: string
715 commit:
716 type: string
717 go_version:
718 type: string
719 platform:
720 type: string
721 version:
722 type: string
723 type: object
724 proto.Workspace:
725 properties:
726 config:
727 $ref: '#/definitions/github_com_charmbracelet_crush_internal_config.Config'
728 data_dir:
729 type: string
730 debug:
731 type: boolean
732 env:
733 items:
734 type: string
735 type: array
736 id:
737 type: string
738 path:
739 type: string
740 version:
741 type: string
742 yolo:
743 type: boolean
744 type: object
745 time.Duration:
746 enum:
747 - -9223372036854775808
748 - 9223372036854775807
749 - 1
750 - 1000
751 - 1000000
752 - 1000000000
753 - 60000000000
754 - 3600000000000
755 format: int64
756 type: integer
757 x-enum-varnames:
758 - minDuration
759 - maxDuration
760 - Nanosecond
761 - Microsecond
762 - Millisecond
763 - Second
764 - Minute
765 - Hour
766info:
767 contact:
768 name: Charm
769 url: https://charm.sh
770 description: Crush is a terminal-based AI coding assistant. This API is served over
771 a Unix socket (or Windows named pipe) and provides programmatic access to workspaces,
772 sessions, agents, LSP, MCP, and more.
773 license:
774 name: MIT
775 url: https://github.com/charmbracelet/crush/blob/main/LICENSE
776 title: Crush API
777 version: "1.0"
778paths:
779 /config:
780 get:
781 produces:
782 - application/json
783 responses:
784 "200":
785 description: OK
786 schema:
787 type: object
788 summary: Get server config
789 tags:
790 - system
791 /control:
792 post:
793 consumes:
794 - application/json
795 parameters:
796 - description: Control command (e.g. shutdown)
797 in: body
798 name: request
799 required: true
800 schema:
801 $ref: '#/definitions/proto.ServerControl'
802 responses:
803 "200":
804 description: OK
805 "400":
806 description: Bad Request
807 schema:
808 $ref: '#/definitions/proto.Error'
809 summary: Send server control command
810 tags:
811 - system
812 /health:
813 get:
814 responses:
815 "200":
816 description: OK
817 summary: Health check
818 tags:
819 - system
820 /version:
821 get:
822 produces:
823 - application/json
824 responses:
825 "200":
826 description: OK
827 schema:
828 $ref: '#/definitions/proto.VersionInfo'
829 summary: Get server version
830 tags:
831 - system
832 /workspaces:
833 get:
834 produces:
835 - application/json
836 responses:
837 "200":
838 description: OK
839 schema:
840 items:
841 $ref: '#/definitions/proto.Workspace'
842 type: array
843 summary: List workspaces
844 tags:
845 - workspaces
846 post:
847 consumes:
848 - application/json
849 parameters:
850 - description: Workspace creation params
851 in: body
852 name: request
853 required: true
854 schema:
855 $ref: '#/definitions/proto.Workspace'
856 produces:
857 - application/json
858 responses:
859 "200":
860 description: OK
861 schema:
862 $ref: '#/definitions/proto.Workspace'
863 "400":
864 description: Bad Request
865 schema:
866 $ref: '#/definitions/proto.Error'
867 "500":
868 description: Internal Server Error
869 schema:
870 $ref: '#/definitions/proto.Error'
871 summary: Create workspace
872 tags:
873 - workspaces
874 /workspaces/{id}:
875 delete:
876 parameters:
877 - description: Workspace ID
878 in: path
879 name: id
880 required: true
881 type: string
882 responses:
883 "200":
884 description: OK
885 "404":
886 description: Not Found
887 schema:
888 $ref: '#/definitions/proto.Error'
889 summary: Delete workspace
890 tags:
891 - workspaces
892 get:
893 parameters:
894 - description: Workspace ID
895 in: path
896 name: id
897 required: true
898 type: string
899 produces:
900 - application/json
901 responses:
902 "200":
903 description: OK
904 schema:
905 $ref: '#/definitions/proto.Workspace'
906 "404":
907 description: Not Found
908 schema:
909 $ref: '#/definitions/proto.Error'
910 "500":
911 description: Internal Server Error
912 schema:
913 $ref: '#/definitions/proto.Error'
914 summary: Get workspace
915 tags:
916 - workspaces
917 /workspaces/{id}/agent:
918 get:
919 parameters:
920 - description: Workspace ID
921 in: path
922 name: id
923 required: true
924 type: string
925 produces:
926 - application/json
927 responses:
928 "200":
929 description: OK
930 schema:
931 $ref: '#/definitions/proto.AgentInfo'
932 "404":
933 description: Not Found
934 schema:
935 $ref: '#/definitions/proto.Error'
936 "500":
937 description: Internal Server Error
938 schema:
939 $ref: '#/definitions/proto.Error'
940 summary: Get agent info
941 tags:
942 - agent
943 post:
944 consumes:
945 - application/json
946 parameters:
947 - description: Workspace ID
948 in: path
949 name: id
950 required: true
951 type: string
952 - description: Agent message
953 in: body
954 name: request
955 required: true
956 schema:
957 $ref: '#/definitions/proto.AgentMessage'
958 responses:
959 "200":
960 description: OK
961 "400":
962 description: Bad Request
963 schema:
964 $ref: '#/definitions/proto.Error'
965 "404":
966 description: Not Found
967 schema:
968 $ref: '#/definitions/proto.Error'
969 "500":
970 description: Internal Server Error
971 schema:
972 $ref: '#/definitions/proto.Error'
973 summary: Send message to agent
974 tags:
975 - agent
976 /workspaces/{id}/agent/default-small-model:
977 get:
978 parameters:
979 - description: Workspace ID
980 in: path
981 name: id
982 required: true
983 type: string
984 - description: Provider ID
985 in: query
986 name: provider_id
987 type: string
988 produces:
989 - application/json
990 responses:
991 "200":
992 description: OK
993 schema:
994 type: object
995 "404":
996 description: Not Found
997 schema:
998 $ref: '#/definitions/proto.Error'
999 "500":
1000 description: Internal Server Error
1001 schema:
1002 $ref: '#/definitions/proto.Error'
1003 summary: Get default small model
1004 tags:
1005 - agent
1006 /workspaces/{id}/agent/init:
1007 post:
1008 parameters:
1009 - description: Workspace ID
1010 in: path
1011 name: id
1012 required: true
1013 type: string
1014 responses:
1015 "200":
1016 description: OK
1017 "404":
1018 description: Not Found
1019 schema:
1020 $ref: '#/definitions/proto.Error'
1021 "500":
1022 description: Internal Server Error
1023 schema:
1024 $ref: '#/definitions/proto.Error'
1025 summary: Initialize agent
1026 tags:
1027 - agent
1028 /workspaces/{id}/agent/sessions/{sid}:
1029 get:
1030 parameters:
1031 - description: Workspace ID
1032 in: path
1033 name: id
1034 required: true
1035 type: string
1036 - description: Session ID
1037 in: path
1038 name: sid
1039 required: true
1040 type: string
1041 produces:
1042 - application/json
1043 responses:
1044 "200":
1045 description: OK
1046 schema:
1047 $ref: '#/definitions/proto.AgentSession'
1048 "404":
1049 description: Not Found
1050 schema:
1051 $ref: '#/definitions/proto.Error'
1052 "500":
1053 description: Internal Server Error
1054 schema:
1055 $ref: '#/definitions/proto.Error'
1056 summary: Get agent session
1057 tags:
1058 - agent
1059 /workspaces/{id}/agent/sessions/{sid}/cancel:
1060 post:
1061 parameters:
1062 - description: Workspace ID
1063 in: path
1064 name: id
1065 required: true
1066 type: string
1067 - description: Session ID
1068 in: path
1069 name: sid
1070 required: true
1071 type: string
1072 responses:
1073 "200":
1074 description: OK
1075 "404":
1076 description: Not Found
1077 schema:
1078 $ref: '#/definitions/proto.Error'
1079 "500":
1080 description: Internal Server Error
1081 schema:
1082 $ref: '#/definitions/proto.Error'
1083 summary: Cancel agent session
1084 tags:
1085 - agent
1086 /workspaces/{id}/agent/sessions/{sid}/prompts/clear:
1087 post:
1088 parameters:
1089 - description: Workspace ID
1090 in: path
1091 name: id
1092 required: true
1093 type: string
1094 - description: Session ID
1095 in: path
1096 name: sid
1097 required: true
1098 type: string
1099 responses:
1100 "200":
1101 description: OK
1102 "404":
1103 description: Not Found
1104 schema:
1105 $ref: '#/definitions/proto.Error'
1106 "500":
1107 description: Internal Server Error
1108 schema:
1109 $ref: '#/definitions/proto.Error'
1110 summary: Clear prompt queue
1111 tags:
1112 - agent
1113 /workspaces/{id}/agent/sessions/{sid}/prompts/list:
1114 get:
1115 parameters:
1116 - description: Workspace ID
1117 in: path
1118 name: id
1119 required: true
1120 type: string
1121 - description: Session ID
1122 in: path
1123 name: sid
1124 required: true
1125 type: string
1126 produces:
1127 - application/json
1128 responses:
1129 "200":
1130 description: OK
1131 schema:
1132 items:
1133 type: string
1134 type: array
1135 "404":
1136 description: Not Found
1137 schema:
1138 $ref: '#/definitions/proto.Error'
1139 "500":
1140 description: Internal Server Error
1141 schema:
1142 $ref: '#/definitions/proto.Error'
1143 summary: List queued prompts
1144 tags:
1145 - agent
1146 /workspaces/{id}/agent/sessions/{sid}/prompts/queued:
1147 get:
1148 parameters:
1149 - description: Workspace ID
1150 in: path
1151 name: id
1152 required: true
1153 type: string
1154 - description: Session ID
1155 in: path
1156 name: sid
1157 required: true
1158 type: string
1159 produces:
1160 - application/json
1161 responses:
1162 "200":
1163 description: OK
1164 schema:
1165 type: object
1166 "404":
1167 description: Not Found
1168 schema:
1169 $ref: '#/definitions/proto.Error'
1170 "500":
1171 description: Internal Server Error
1172 schema:
1173 $ref: '#/definitions/proto.Error'
1174 summary: Get queued prompt status
1175 tags:
1176 - agent
1177 /workspaces/{id}/agent/sessions/{sid}/summarize:
1178 post:
1179 parameters:
1180 - description: Workspace ID
1181 in: path
1182 name: id
1183 required: true
1184 type: string
1185 - description: Session ID
1186 in: path
1187 name: sid
1188 required: true
1189 type: string
1190 responses:
1191 "200":
1192 description: OK
1193 "404":
1194 description: Not Found
1195 schema:
1196 $ref: '#/definitions/proto.Error'
1197 "500":
1198 description: Internal Server Error
1199 schema:
1200 $ref: '#/definitions/proto.Error'
1201 summary: Summarize session
1202 tags:
1203 - agent
1204 /workspaces/{id}/agent/update:
1205 post:
1206 parameters:
1207 - description: Workspace ID
1208 in: path
1209 name: id
1210 required: true
1211 type: string
1212 responses:
1213 "200":
1214 description: OK
1215 "404":
1216 description: Not Found
1217 schema:
1218 $ref: '#/definitions/proto.Error'
1219 "500":
1220 description: Internal Server Error
1221 schema:
1222 $ref: '#/definitions/proto.Error'
1223 summary: Update agent
1224 tags:
1225 - agent
1226 /workspaces/{id}/config:
1227 get:
1228 parameters:
1229 - description: Workspace ID
1230 in: path
1231 name: id
1232 required: true
1233 type: string
1234 produces:
1235 - application/json
1236 responses:
1237 "200":
1238 description: OK
1239 schema:
1240 type: object
1241 "404":
1242 description: Not Found
1243 schema:
1244 $ref: '#/definitions/proto.Error'
1245 "500":
1246 description: Internal Server Error
1247 schema:
1248 $ref: '#/definitions/proto.Error'
1249 summary: Get workspace config
1250 tags:
1251 - workspaces
1252 /workspaces/{id}/config/compact:
1253 post:
1254 consumes:
1255 - application/json
1256 parameters:
1257 - description: Workspace ID
1258 in: path
1259 name: id
1260 required: true
1261 type: string
1262 - description: Config compact request
1263 in: body
1264 name: request
1265 required: true
1266 schema:
1267 $ref: '#/definitions/proto.ConfigCompactRequest'
1268 responses:
1269 "200":
1270 description: OK
1271 "400":
1272 description: Bad Request
1273 schema:
1274 $ref: '#/definitions/proto.Error'
1275 "404":
1276 description: Not Found
1277 schema:
1278 $ref: '#/definitions/proto.Error'
1279 "500":
1280 description: Internal Server Error
1281 schema:
1282 $ref: '#/definitions/proto.Error'
1283 summary: Set compact mode
1284 tags:
1285 - config
1286 /workspaces/{id}/config/import-copilot:
1287 post:
1288 parameters:
1289 - description: Workspace ID
1290 in: path
1291 name: id
1292 required: true
1293 type: string
1294 produces:
1295 - application/json
1296 responses:
1297 "200":
1298 description: OK
1299 schema:
1300 $ref: '#/definitions/proto.ImportCopilotResponse'
1301 "404":
1302 description: Not Found
1303 schema:
1304 $ref: '#/definitions/proto.Error'
1305 "500":
1306 description: Internal Server Error
1307 schema:
1308 $ref: '#/definitions/proto.Error'
1309 summary: Import Copilot credentials
1310 tags:
1311 - config
1312 /workspaces/{id}/config/model:
1313 post:
1314 consumes:
1315 - application/json
1316 parameters:
1317 - description: Workspace ID
1318 in: path
1319 name: id
1320 required: true
1321 type: string
1322 - description: Config model request
1323 in: body
1324 name: request
1325 required: true
1326 schema:
1327 $ref: '#/definitions/proto.ConfigModelRequest'
1328 responses:
1329 "200":
1330 description: OK
1331 "400":
1332 description: Bad Request
1333 schema:
1334 $ref: '#/definitions/proto.Error'
1335 "404":
1336 description: Not Found
1337 schema:
1338 $ref: '#/definitions/proto.Error'
1339 "500":
1340 description: Internal Server Error
1341 schema:
1342 $ref: '#/definitions/proto.Error'
1343 summary: Set the preferred model
1344 tags:
1345 - config
1346 /workspaces/{id}/config/provider-key:
1347 post:
1348 consumes:
1349 - application/json
1350 parameters:
1351 - description: Workspace ID
1352 in: path
1353 name: id
1354 required: true
1355 type: string
1356 - description: Config provider key request
1357 in: body
1358 name: request
1359 required: true
1360 schema:
1361 $ref: '#/definitions/proto.ConfigProviderKeyRequest'
1362 responses:
1363 "200":
1364 description: OK
1365 "400":
1366 description: Bad Request
1367 schema:
1368 $ref: '#/definitions/proto.Error'
1369 "404":
1370 description: Not Found
1371 schema:
1372 $ref: '#/definitions/proto.Error'
1373 "500":
1374 description: Internal Server Error
1375 schema:
1376 $ref: '#/definitions/proto.Error'
1377 summary: Set provider API key
1378 tags:
1379 - config
1380 /workspaces/{id}/config/refresh-oauth:
1381 post:
1382 consumes:
1383 - application/json
1384 parameters:
1385 - description: Workspace ID
1386 in: path
1387 name: id
1388 required: true
1389 type: string
1390 - description: Refresh OAuth request
1391 in: body
1392 name: request
1393 required: true
1394 schema:
1395 $ref: '#/definitions/proto.ConfigRefreshOAuthRequest'
1396 responses:
1397 "200":
1398 description: OK
1399 "400":
1400 description: Bad Request
1401 schema:
1402 $ref: '#/definitions/proto.Error'
1403 "404":
1404 description: Not Found
1405 schema:
1406 $ref: '#/definitions/proto.Error'
1407 "500":
1408 description: Internal Server Error
1409 schema:
1410 $ref: '#/definitions/proto.Error'
1411 summary: Refresh OAuth token
1412 tags:
1413 - config
1414 /workspaces/{id}/config/remove:
1415 post:
1416 consumes:
1417 - application/json
1418 parameters:
1419 - description: Workspace ID
1420 in: path
1421 name: id
1422 required: true
1423 type: string
1424 - description: Config remove request
1425 in: body
1426 name: request
1427 required: true
1428 schema:
1429 $ref: '#/definitions/proto.ConfigRemoveRequest'
1430 responses:
1431 "200":
1432 description: OK
1433 "400":
1434 description: Bad Request
1435 schema:
1436 $ref: '#/definitions/proto.Error'
1437 "404":
1438 description: Not Found
1439 schema:
1440 $ref: '#/definitions/proto.Error'
1441 "500":
1442 description: Internal Server Error
1443 schema:
1444 $ref: '#/definitions/proto.Error'
1445 summary: Remove a config field
1446 tags:
1447 - config
1448 /workspaces/{id}/config/set:
1449 post:
1450 consumes:
1451 - application/json
1452 parameters:
1453 - description: Workspace ID
1454 in: path
1455 name: id
1456 required: true
1457 type: string
1458 - description: Config set request
1459 in: body
1460 name: request
1461 required: true
1462 schema:
1463 $ref: '#/definitions/proto.ConfigSetRequest'
1464 responses:
1465 "200":
1466 description: OK
1467 "400":
1468 description: Bad Request
1469 schema:
1470 $ref: '#/definitions/proto.Error'
1471 "404":
1472 description: Not Found
1473 schema:
1474 $ref: '#/definitions/proto.Error'
1475 "500":
1476 description: Internal Server Error
1477 schema:
1478 $ref: '#/definitions/proto.Error'
1479 summary: Set a config field
1480 tags:
1481 - config
1482 /workspaces/{id}/events:
1483 get:
1484 parameters:
1485 - description: Workspace ID
1486 in: path
1487 name: id
1488 required: true
1489 type: string
1490 produces:
1491 - text/event-stream
1492 responses:
1493 "200":
1494 description: OK
1495 "404":
1496 description: Not Found
1497 schema:
1498 $ref: '#/definitions/proto.Error'
1499 "500":
1500 description: Internal Server Error
1501 schema:
1502 $ref: '#/definitions/proto.Error'
1503 summary: Stream workspace events (SSE)
1504 tags:
1505 - workspaces
1506 /workspaces/{id}/filetracker/lastread:
1507 get:
1508 parameters:
1509 - description: Workspace ID
1510 in: path
1511 name: id
1512 required: true
1513 type: string
1514 - description: Session ID
1515 in: query
1516 name: session_id
1517 type: string
1518 - description: File path
1519 in: query
1520 name: path
1521 required: true
1522 type: string
1523 produces:
1524 - application/json
1525 responses:
1526 "200":
1527 description: OK
1528 schema:
1529 type: object
1530 "404":
1531 description: Not Found
1532 schema:
1533 $ref: '#/definitions/proto.Error'
1534 "500":
1535 description: Internal Server Error
1536 schema:
1537 $ref: '#/definitions/proto.Error'
1538 summary: Get last read time for file
1539 tags:
1540 - filetracker
1541 /workspaces/{id}/filetracker/read:
1542 post:
1543 consumes:
1544 - application/json
1545 parameters:
1546 - description: Workspace ID
1547 in: path
1548 name: id
1549 required: true
1550 type: string
1551 - description: File tracker read request
1552 in: body
1553 name: request
1554 required: true
1555 schema:
1556 $ref: '#/definitions/proto.FileTrackerReadRequest'
1557 responses:
1558 "200":
1559 description: OK
1560 "400":
1561 description: Bad Request
1562 schema:
1563 $ref: '#/definitions/proto.Error'
1564 "404":
1565 description: Not Found
1566 schema:
1567 $ref: '#/definitions/proto.Error'
1568 "500":
1569 description: Internal Server Error
1570 schema:
1571 $ref: '#/definitions/proto.Error'
1572 summary: Record file read
1573 tags:
1574 - filetracker
1575 /workspaces/{id}/lsps:
1576 get:
1577 parameters:
1578 - description: Workspace ID
1579 in: path
1580 name: id
1581 required: true
1582 type: string
1583 produces:
1584 - application/json
1585 responses:
1586 "200":
1587 description: OK
1588 schema:
1589 additionalProperties:
1590 $ref: '#/definitions/proto.LSPClientInfo'
1591 type: object
1592 "404":
1593 description: Not Found
1594 schema:
1595 $ref: '#/definitions/proto.Error'
1596 "500":
1597 description: Internal Server Error
1598 schema:
1599 $ref: '#/definitions/proto.Error'
1600 summary: List LSP clients
1601 tags:
1602 - lsp
1603 /workspaces/{id}/lsps/{lsp}/diagnostics:
1604 get:
1605 parameters:
1606 - description: Workspace ID
1607 in: path
1608 name: id
1609 required: true
1610 type: string
1611 - description: LSP client name
1612 in: path
1613 name: lsp
1614 required: true
1615 type: string
1616 produces:
1617 - application/json
1618 responses:
1619 "200":
1620 description: OK
1621 schema:
1622 type: object
1623 "404":
1624 description: Not Found
1625 schema:
1626 $ref: '#/definitions/proto.Error'
1627 "500":
1628 description: Internal Server Error
1629 schema:
1630 $ref: '#/definitions/proto.Error'
1631 summary: Get LSP diagnostics
1632 tags:
1633 - lsp
1634 /workspaces/{id}/lsps/start:
1635 post:
1636 consumes:
1637 - application/json
1638 parameters:
1639 - description: Workspace ID
1640 in: path
1641 name: id
1642 required: true
1643 type: string
1644 - description: LSP start request
1645 in: body
1646 name: request
1647 required: true
1648 schema:
1649 $ref: '#/definitions/proto.LSPStartRequest'
1650 responses:
1651 "200":
1652 description: OK
1653 "400":
1654 description: Bad Request
1655 schema:
1656 $ref: '#/definitions/proto.Error'
1657 "404":
1658 description: Not Found
1659 schema:
1660 $ref: '#/definitions/proto.Error'
1661 "500":
1662 description: Internal Server Error
1663 schema:
1664 $ref: '#/definitions/proto.Error'
1665 summary: Start LSP server
1666 tags:
1667 - lsp
1668 /workspaces/{id}/lsps/stop:
1669 post:
1670 parameters:
1671 - description: Workspace ID
1672 in: path
1673 name: id
1674 required: true
1675 type: string
1676 responses:
1677 "200":
1678 description: OK
1679 "404":
1680 description: Not Found
1681 schema:
1682 $ref: '#/definitions/proto.Error'
1683 "500":
1684 description: Internal Server Error
1685 schema:
1686 $ref: '#/definitions/proto.Error'
1687 summary: Stop all LSP servers
1688 tags:
1689 - lsp
1690 /workspaces/{id}/mcp/docker/disable:
1691 post:
1692 parameters:
1693 - description: Workspace ID
1694 in: path
1695 name: id
1696 required: true
1697 type: string
1698 responses:
1699 "200":
1700 description: OK
1701 "404":
1702 description: Not Found
1703 schema:
1704 $ref: '#/definitions/proto.Error'
1705 "500":
1706 description: Internal Server Error
1707 schema:
1708 $ref: '#/definitions/proto.Error'
1709 summary: Disable Docker MCP
1710 tags:
1711 - mcp
1712 /workspaces/{id}/mcp/docker/enable:
1713 post:
1714 parameters:
1715 - description: Workspace ID
1716 in: path
1717 name: id
1718 required: true
1719 type: string
1720 responses:
1721 "200":
1722 description: OK
1723 "404":
1724 description: Not Found
1725 schema:
1726 $ref: '#/definitions/proto.Error'
1727 "500":
1728 description: Internal Server Error
1729 schema:
1730 $ref: '#/definitions/proto.Error'
1731 summary: Enable Docker MCP
1732 tags:
1733 - mcp
1734 /workspaces/{id}/mcp/get-prompt:
1735 post:
1736 consumes:
1737 - application/json
1738 parameters:
1739 - description: Workspace ID
1740 in: path
1741 name: id
1742 required: true
1743 type: string
1744 - description: MCP get prompt request
1745 in: body
1746 name: request
1747 required: true
1748 schema:
1749 $ref: '#/definitions/proto.MCPGetPromptRequest'
1750 produces:
1751 - application/json
1752 responses:
1753 "200":
1754 description: OK
1755 schema:
1756 $ref: '#/definitions/proto.MCPGetPromptResponse'
1757 "400":
1758 description: Bad Request
1759 schema:
1760 $ref: '#/definitions/proto.Error'
1761 "404":
1762 description: Not Found
1763 schema:
1764 $ref: '#/definitions/proto.Error'
1765 "500":
1766 description: Internal Server Error
1767 schema:
1768 $ref: '#/definitions/proto.Error'
1769 summary: Get MCP prompt
1770 tags:
1771 - mcp
1772 /workspaces/{id}/mcp/read-resource:
1773 post:
1774 consumes:
1775 - application/json
1776 parameters:
1777 - description: Workspace ID
1778 in: path
1779 name: id
1780 required: true
1781 type: string
1782 - description: MCP read resource request
1783 in: body
1784 name: request
1785 required: true
1786 schema:
1787 $ref: '#/definitions/proto.MCPReadResourceRequest'
1788 produces:
1789 - application/json
1790 responses:
1791 "200":
1792 description: OK
1793 schema:
1794 type: object
1795 "400":
1796 description: Bad Request
1797 schema:
1798 $ref: '#/definitions/proto.Error'
1799 "404":
1800 description: Not Found
1801 schema:
1802 $ref: '#/definitions/proto.Error'
1803 "500":
1804 description: Internal Server Error
1805 schema:
1806 $ref: '#/definitions/proto.Error'
1807 summary: Read MCP resource
1808 tags:
1809 - mcp
1810 /workspaces/{id}/mcp/refresh-prompts:
1811 post:
1812 consumes:
1813 - application/json
1814 parameters:
1815 - description: Workspace ID
1816 in: path
1817 name: id
1818 required: true
1819 type: string
1820 - description: MCP name request
1821 in: body
1822 name: request
1823 required: true
1824 schema:
1825 $ref: '#/definitions/proto.MCPNameRequest'
1826 responses:
1827 "200":
1828 description: OK
1829 "400":
1830 description: Bad Request
1831 schema:
1832 $ref: '#/definitions/proto.Error'
1833 "404":
1834 description: Not Found
1835 schema:
1836 $ref: '#/definitions/proto.Error'
1837 "500":
1838 description: Internal Server Error
1839 schema:
1840 $ref: '#/definitions/proto.Error'
1841 summary: Refresh MCP prompts
1842 tags:
1843 - mcp
1844 /workspaces/{id}/mcp/refresh-resources:
1845 post:
1846 consumes:
1847 - application/json
1848 parameters:
1849 - description: Workspace ID
1850 in: path
1851 name: id
1852 required: true
1853 type: string
1854 - description: MCP name request
1855 in: body
1856 name: request
1857 required: true
1858 schema:
1859 $ref: '#/definitions/proto.MCPNameRequest'
1860 responses:
1861 "200":
1862 description: OK
1863 "400":
1864 description: Bad Request
1865 schema:
1866 $ref: '#/definitions/proto.Error'
1867 "404":
1868 description: Not Found
1869 schema:
1870 $ref: '#/definitions/proto.Error'
1871 "500":
1872 description: Internal Server Error
1873 schema:
1874 $ref: '#/definitions/proto.Error'
1875 summary: Refresh MCP resources
1876 tags:
1877 - mcp
1878 /workspaces/{id}/mcp/refresh-tools:
1879 post:
1880 consumes:
1881 - application/json
1882 parameters:
1883 - description: Workspace ID
1884 in: path
1885 name: id
1886 required: true
1887 type: string
1888 - description: MCP name request
1889 in: body
1890 name: request
1891 required: true
1892 schema:
1893 $ref: '#/definitions/proto.MCPNameRequest'
1894 responses:
1895 "200":
1896 description: OK
1897 "400":
1898 description: Bad Request
1899 schema:
1900 $ref: '#/definitions/proto.Error'
1901 "404":
1902 description: Not Found
1903 schema:
1904 $ref: '#/definitions/proto.Error'
1905 "500":
1906 description: Internal Server Error
1907 schema:
1908 $ref: '#/definitions/proto.Error'
1909 summary: Refresh MCP tools
1910 tags:
1911 - mcp
1912 /workspaces/{id}/mcp/states:
1913 get:
1914 parameters:
1915 - description: Workspace ID
1916 in: path
1917 name: id
1918 required: true
1919 type: string
1920 produces:
1921 - application/json
1922 responses:
1923 "200":
1924 description: OK
1925 schema:
1926 additionalProperties:
1927 $ref: '#/definitions/proto.MCPClientInfo'
1928 type: object
1929 "404":
1930 description: Not Found
1931 schema:
1932 $ref: '#/definitions/proto.Error'
1933 "500":
1934 description: Internal Server Error
1935 schema:
1936 $ref: '#/definitions/proto.Error'
1937 summary: Get MCP client states
1938 tags:
1939 - mcp
1940 /workspaces/{id}/messages/user:
1941 get:
1942 parameters:
1943 - description: Workspace ID
1944 in: path
1945 name: id
1946 required: true
1947 type: string
1948 produces:
1949 - application/json
1950 responses:
1951 "200":
1952 description: OK
1953 schema:
1954 items:
1955 $ref: '#/definitions/github_com_charmbracelet_crush_internal_proto.Message'
1956 type: array
1957 "404":
1958 description: Not Found
1959 schema:
1960 $ref: '#/definitions/proto.Error'
1961 "500":
1962 description: Internal Server Error
1963 schema:
1964 $ref: '#/definitions/proto.Error'
1965 summary: Get all user messages for workspace
1966 tags:
1967 - workspaces
1968 /workspaces/{id}/permissions/grant:
1969 post:
1970 consumes:
1971 - application/json
1972 parameters:
1973 - description: Workspace ID
1974 in: path
1975 name: id
1976 required: true
1977 type: string
1978 - description: Permission grant
1979 in: body
1980 name: request
1981 required: true
1982 schema:
1983 $ref: '#/definitions/proto.PermissionGrant'
1984 responses:
1985 "200":
1986 description: OK
1987 "400":
1988 description: Bad Request
1989 schema:
1990 $ref: '#/definitions/proto.Error'
1991 "404":
1992 description: Not Found
1993 schema:
1994 $ref: '#/definitions/proto.Error'
1995 "500":
1996 description: Internal Server Error
1997 schema:
1998 $ref: '#/definitions/proto.Error'
1999 summary: Grant permission
2000 tags:
2001 - permissions
2002 /workspaces/{id}/permissions/skip:
2003 get:
2004 parameters:
2005 - description: Workspace ID
2006 in: path
2007 name: id
2008 required: true
2009 type: string
2010 produces:
2011 - application/json
2012 responses:
2013 "200":
2014 description: OK
2015 schema:
2016 $ref: '#/definitions/proto.PermissionSkipRequest'
2017 "404":
2018 description: Not Found
2019 schema:
2020 $ref: '#/definitions/proto.Error'
2021 "500":
2022 description: Internal Server Error
2023 schema:
2024 $ref: '#/definitions/proto.Error'
2025 summary: Get skip permissions status
2026 tags:
2027 - permissions
2028 post:
2029 consumes:
2030 - application/json
2031 parameters:
2032 - description: Workspace ID
2033 in: path
2034 name: id
2035 required: true
2036 type: string
2037 - description: Permission skip request
2038 in: body
2039 name: request
2040 required: true
2041 schema:
2042 $ref: '#/definitions/proto.PermissionSkipRequest'
2043 responses:
2044 "200":
2045 description: OK
2046 "400":
2047 description: Bad Request
2048 schema:
2049 $ref: '#/definitions/proto.Error'
2050 "404":
2051 description: Not Found
2052 schema:
2053 $ref: '#/definitions/proto.Error'
2054 "500":
2055 description: Internal Server Error
2056 schema:
2057 $ref: '#/definitions/proto.Error'
2058 summary: Set skip permissions
2059 tags:
2060 - permissions
2061 /workspaces/{id}/project/init:
2062 post:
2063 parameters:
2064 - description: Workspace ID
2065 in: path
2066 name: id
2067 required: true
2068 type: string
2069 responses:
2070 "200":
2071 description: OK
2072 "404":
2073 description: Not Found
2074 schema:
2075 $ref: '#/definitions/proto.Error'
2076 "500":
2077 description: Internal Server Error
2078 schema:
2079 $ref: '#/definitions/proto.Error'
2080 summary: Mark project as initialized
2081 tags:
2082 - project
2083 /workspaces/{id}/project/init-prompt:
2084 get:
2085 parameters:
2086 - description: Workspace ID
2087 in: path
2088 name: id
2089 required: true
2090 type: string
2091 produces:
2092 - application/json
2093 responses:
2094 "200":
2095 description: OK
2096 schema:
2097 $ref: '#/definitions/proto.ProjectInitPromptResponse'
2098 "404":
2099 description: Not Found
2100 schema:
2101 $ref: '#/definitions/proto.Error'
2102 "500":
2103 description: Internal Server Error
2104 schema:
2105 $ref: '#/definitions/proto.Error'
2106 summary: Get project initialization prompt
2107 tags:
2108 - project
2109 /workspaces/{id}/project/needs-init:
2110 get:
2111 parameters:
2112 - description: Workspace ID
2113 in: path
2114 name: id
2115 required: true
2116 type: string
2117 produces:
2118 - application/json
2119 responses:
2120 "200":
2121 description: OK
2122 schema:
2123 $ref: '#/definitions/proto.ProjectNeedsInitResponse'
2124 "404":
2125 description: Not Found
2126 schema:
2127 $ref: '#/definitions/proto.Error'
2128 "500":
2129 description: Internal Server Error
2130 schema:
2131 $ref: '#/definitions/proto.Error'
2132 summary: Check if project needs initialization
2133 tags:
2134 - project
2135 /workspaces/{id}/providers:
2136 get:
2137 parameters:
2138 - description: Workspace ID
2139 in: path
2140 name: id
2141 required: true
2142 type: string
2143 produces:
2144 - application/json
2145 responses:
2146 "200":
2147 description: OK
2148 schema:
2149 type: object
2150 "404":
2151 description: Not Found
2152 schema:
2153 $ref: '#/definitions/proto.Error'
2154 "500":
2155 description: Internal Server Error
2156 schema:
2157 $ref: '#/definitions/proto.Error'
2158 summary: Get workspace providers
2159 tags:
2160 - workspaces
2161 /workspaces/{id}/sessions:
2162 get:
2163 parameters:
2164 - description: Workspace ID
2165 in: path
2166 name: id
2167 required: true
2168 type: string
2169 produces:
2170 - application/json
2171 responses:
2172 "200":
2173 description: OK
2174 schema:
2175 items:
2176 $ref: '#/definitions/proto.Session'
2177 type: array
2178 "404":
2179 description: Not Found
2180 schema:
2181 $ref: '#/definitions/proto.Error'
2182 "500":
2183 description: Internal Server Error
2184 schema:
2185 $ref: '#/definitions/proto.Error'
2186 summary: List sessions
2187 tags:
2188 - sessions
2189 post:
2190 consumes:
2191 - application/json
2192 parameters:
2193 - description: Workspace ID
2194 in: path
2195 name: id
2196 required: true
2197 type: string
2198 - description: Session creation params (title)
2199 in: body
2200 name: request
2201 required: true
2202 schema:
2203 $ref: '#/definitions/proto.Session'
2204 produces:
2205 - application/json
2206 responses:
2207 "200":
2208 description: OK
2209 schema:
2210 $ref: '#/definitions/proto.Session'
2211 "400":
2212 description: Bad Request
2213 schema:
2214 $ref: '#/definitions/proto.Error'
2215 "404":
2216 description: Not Found
2217 schema:
2218 $ref: '#/definitions/proto.Error'
2219 "500":
2220 description: Internal Server Error
2221 schema:
2222 $ref: '#/definitions/proto.Error'
2223 summary: Create session
2224 tags:
2225 - sessions
2226 /workspaces/{id}/sessions/{sid}:
2227 delete:
2228 parameters:
2229 - description: Workspace ID
2230 in: path
2231 name: id
2232 required: true
2233 type: string
2234 - description: Session ID
2235 in: path
2236 name: sid
2237 required: true
2238 type: string
2239 responses:
2240 "200":
2241 description: OK
2242 "404":
2243 description: Not Found
2244 schema:
2245 $ref: '#/definitions/proto.Error'
2246 "500":
2247 description: Internal Server Error
2248 schema:
2249 $ref: '#/definitions/proto.Error'
2250 summary: Delete session
2251 tags:
2252 - sessions
2253 get:
2254 parameters:
2255 - description: Workspace ID
2256 in: path
2257 name: id
2258 required: true
2259 type: string
2260 - description: Session ID
2261 in: path
2262 name: sid
2263 required: true
2264 type: string
2265 produces:
2266 - application/json
2267 responses:
2268 "200":
2269 description: OK
2270 schema:
2271 $ref: '#/definitions/proto.Session'
2272 "404":
2273 description: Not Found
2274 schema:
2275 $ref: '#/definitions/proto.Error'
2276 "500":
2277 description: Internal Server Error
2278 schema:
2279 $ref: '#/definitions/proto.Error'
2280 summary: Get session
2281 tags:
2282 - sessions
2283 put:
2284 consumes:
2285 - application/json
2286 parameters:
2287 - description: Workspace ID
2288 in: path
2289 name: id
2290 required: true
2291 type: string
2292 - description: Session ID
2293 in: path
2294 name: sid
2295 required: true
2296 type: string
2297 - description: Updated session
2298 in: body
2299 name: request
2300 required: true
2301 schema:
2302 $ref: '#/definitions/proto.Session'
2303 produces:
2304 - application/json
2305 responses:
2306 "200":
2307 description: OK
2308 schema:
2309 $ref: '#/definitions/proto.Session'
2310 "400":
2311 description: Bad Request
2312 schema:
2313 $ref: '#/definitions/proto.Error'
2314 "404":
2315 description: Not Found
2316 schema:
2317 $ref: '#/definitions/proto.Error'
2318 "500":
2319 description: Internal Server Error
2320 schema:
2321 $ref: '#/definitions/proto.Error'
2322 summary: Update session
2323 tags:
2324 - sessions
2325 /workspaces/{id}/sessions/{sid}/filetracker/files:
2326 get:
2327 parameters:
2328 - description: Workspace ID
2329 in: path
2330 name: id
2331 required: true
2332 type: string
2333 - description: Session ID
2334 in: path
2335 name: sid
2336 required: true
2337 type: string
2338 produces:
2339 - application/json
2340 responses:
2341 "200":
2342 description: OK
2343 schema:
2344 items:
2345 type: string
2346 type: array
2347 "404":
2348 description: Not Found
2349 schema:
2350 $ref: '#/definitions/proto.Error'
2351 "500":
2352 description: Internal Server Error
2353 schema:
2354 $ref: '#/definitions/proto.Error'
2355 summary: List tracked files for session
2356 tags:
2357 - filetracker
2358 /workspaces/{id}/sessions/{sid}/history:
2359 get:
2360 parameters:
2361 - description: Workspace ID
2362 in: path
2363 name: id
2364 required: true
2365 type: string
2366 - description: Session ID
2367 in: path
2368 name: sid
2369 required: true
2370 type: string
2371 produces:
2372 - application/json
2373 responses:
2374 "200":
2375 description: OK
2376 schema:
2377 items:
2378 $ref: '#/definitions/proto.File'
2379 type: array
2380 "404":
2381 description: Not Found
2382 schema:
2383 $ref: '#/definitions/proto.Error'
2384 "500":
2385 description: Internal Server Error
2386 schema:
2387 $ref: '#/definitions/proto.Error'
2388 summary: Get session history
2389 tags:
2390 - sessions
2391 /workspaces/{id}/sessions/{sid}/messages:
2392 get:
2393 parameters:
2394 - description: Workspace ID
2395 in: path
2396 name: id
2397 required: true
2398 type: string
2399 - description: Session ID
2400 in: path
2401 name: sid
2402 required: true
2403 type: string
2404 produces:
2405 - application/json
2406 responses:
2407 "200":
2408 description: OK
2409 schema:
2410 items:
2411 $ref: '#/definitions/github_com_charmbracelet_crush_internal_proto.Message'
2412 type: array
2413 "404":
2414 description: Not Found
2415 schema:
2416 $ref: '#/definitions/proto.Error'
2417 "500":
2418 description: Internal Server Error
2419 schema:
2420 $ref: '#/definitions/proto.Error'
2421 summary: Get session messages
2422 tags:
2423 - sessions
2424 /workspaces/{id}/sessions/{sid}/messages/user:
2425 get:
2426 parameters:
2427 - description: Workspace ID
2428 in: path
2429 name: id
2430 required: true
2431 type: string
2432 - description: Session ID
2433 in: path
2434 name: sid
2435 required: true
2436 type: string
2437 produces:
2438 - application/json
2439 responses:
2440 "200":
2441 description: OK
2442 schema:
2443 items:
2444 $ref: '#/definitions/github_com_charmbracelet_crush_internal_proto.Message'
2445 type: array
2446 "404":
2447 description: Not Found
2448 schema:
2449 $ref: '#/definitions/proto.Error'
2450 "500":
2451 description: Internal Server Error
2452 schema:
2453 $ref: '#/definitions/proto.Error'
2454 summary: Get user messages for session
2455 tags:
2456 - sessions
2457swagger: "2.0"