@meshery/schemas 1.3.66 → 1.3.67

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.
@@ -13,7 +13,7 @@ export interface paths {
13
13
  };
14
14
  /**
15
15
  * Whether the caller's GitHub connection is usable
16
- * @description Checks the caller's GitHub App connection. A connection is usable only when its installations were verified against the caller's own GitHub account and GitHub confirms the installation it opens on still exists. `403` (code `meshery_cloud-3381`) means the connection must be re-authorized (`startGithubAuthorization` with `flow=authorize`). When GitHub reports the installation the connection opens on removed, that installation is dropped and the connection re-points at its next verified installation, which is checked in turn: `200` when one remains. `404` means the caller has no GitHub connection, or no verified installation remains - in which case the connection is deleted. `502` means GitHub could not confirm either way; the connection is kept.
16
+ * @description Checks the caller's GitHub App connection. A connection is usable only when its installations were verified against the caller's own GitHub account and GitHub confirms the installation it opens on still exists. `403` with a MeshKit error saying the connection must be re-authorized means it predates verification; re-authorize it with `startGithubAuthorization` (`flow=authorize`). When GitHub reports the installation the connection opens on removed, that installation is dropped and the connection re-points at its next verified installation, which is checked in turn: `200` when one remains. `404` means the caller has no GitHub connection, or no verified installation remains - in which case the connection is deleted. `502` means GitHub could not confirm either way; the connection is kept.
17
17
  */
18
18
  get: operations["getGithubAppStatus"];
19
19
  put?: never;
@@ -286,7 +286,7 @@ export interface components {
286
286
  "application/json": {
287
287
  /** @description The sentence the caller is shown. */
288
288
  error: string;
289
- /** @description MeshKit error code, e.g. `meshery_cloud-3420`. Omitted for an error that is not a MeshKit error. */
289
+ /** @description MeshKit error code, a component-scoped identifier allocated by the emitting service (e.g. `<component>-<number>`); it is not a stable part of this contract. Omitted for an error that is not a MeshKit error. */
290
290
  code?: string;
291
291
  /**
292
292
  * @description MeshKit severity name. Omitted when MeshKit reports none.
@@ -309,7 +309,7 @@ export interface components {
309
309
  "application/json": {
310
310
  /** @description The sentence the caller is shown. */
311
311
  error: string;
312
- /** @description MeshKit error code, e.g. `meshery_cloud-3420`. Omitted for an error that is not a MeshKit error. */
312
+ /** @description MeshKit error code, a component-scoped identifier allocated by the emitting service (e.g. `<component>-<number>`); it is not a stable part of this contract. Omitted for an error that is not a MeshKit error. */
313
313
  code?: string;
314
314
  /**
315
315
  * @description MeshKit severity name. Omitted when MeshKit reports none.
@@ -332,7 +332,7 @@ export interface components {
332
332
  "application/json": {
333
333
  /** @description The sentence the caller is shown. */
334
334
  error: string;
335
- /** @description MeshKit error code, e.g. `meshery_cloud-3420`. Omitted for an error that is not a MeshKit error. */
335
+ /** @description MeshKit error code, a component-scoped identifier allocated by the emitting service (e.g. `<component>-<number>`); it is not a stable part of this contract. Omitted for an error that is not a MeshKit error. */
336
336
  code?: string;
337
337
  /**
338
338
  * @description MeshKit severity name. Omitted when MeshKit reports none.
@@ -355,7 +355,7 @@ export interface components {
355
355
  "application/json": {
356
356
  /** @description The sentence the caller is shown. */
357
357
  error: string;
358
- /** @description MeshKit error code, e.g. `meshery_cloud-3420`. Omitted for an error that is not a MeshKit error. */
358
+ /** @description MeshKit error code, a component-scoped identifier allocated by the emitting service (e.g. `<component>-<number>`); it is not a stable part of this contract. Omitted for an error that is not a MeshKit error. */
359
359
  code?: string;
360
360
  /**
361
361
  * @description MeshKit severity name. Omitted when MeshKit reports none.
@@ -378,7 +378,7 @@ export interface components {
378
378
  "application/json": {
379
379
  /** @description The sentence the caller is shown. */
380
380
  error: string;
381
- /** @description MeshKit error code, e.g. `meshery_cloud-3420`. Omitted for an error that is not a MeshKit error. */
381
+ /** @description MeshKit error code, a component-scoped identifier allocated by the emitting service (e.g. `<component>-<number>`); it is not a stable part of this contract. Omitted for an error that is not a MeshKit error. */
382
382
  code?: string;
383
383
  /**
384
384
  * @description MeshKit severity name. Omitted when MeshKit reports none.
@@ -462,7 +462,7 @@ export interface operations {
462
462
  "application/json": {
463
463
  /** @description The sentence the caller is shown. */
464
464
  error: string;
465
- /** @description MeshKit error code, e.g. `meshery_cloud-3420`. Omitted for an error that is not a MeshKit error. */
465
+ /** @description MeshKit error code, a component-scoped identifier allocated by the emitting service (e.g. `<component>-<number>`); it is not a stable part of this contract. Omitted for an error that is not a MeshKit error. */
466
466
  code?: string;
467
467
  /**
468
468
  * @description MeshKit severity name. Omitted when MeshKit reports none.
@@ -485,7 +485,7 @@ export interface operations {
485
485
  "application/json": {
486
486
  /** @description The sentence the caller is shown. */
487
487
  error: string;
488
- /** @description MeshKit error code, e.g. `meshery_cloud-3420`. Omitted for an error that is not a MeshKit error. */
488
+ /** @description MeshKit error code, a component-scoped identifier allocated by the emitting service (e.g. `<component>-<number>`); it is not a stable part of this contract. Omitted for an error that is not a MeshKit error. */
489
489
  code?: string;
490
490
  /**
491
491
  * @description MeshKit severity name. Omitted when MeshKit reports none.
@@ -508,7 +508,7 @@ export interface operations {
508
508
  "application/json": {
509
509
  /** @description The sentence the caller is shown. */
510
510
  error: string;
511
- /** @description MeshKit error code, e.g. `meshery_cloud-3420`. Omitted for an error that is not a MeshKit error. */
511
+ /** @description MeshKit error code, a component-scoped identifier allocated by the emitting service (e.g. `<component>-<number>`); it is not a stable part of this contract. Omitted for an error that is not a MeshKit error. */
512
512
  code?: string;
513
513
  /**
514
514
  * @description MeshKit severity name. Omitted when MeshKit reports none.
@@ -531,7 +531,7 @@ export interface operations {
531
531
  "application/json": {
532
532
  /** @description The sentence the caller is shown. */
533
533
  error: string;
534
- /** @description MeshKit error code, e.g. `meshery_cloud-3420`. Omitted for an error that is not a MeshKit error. */
534
+ /** @description MeshKit error code, a component-scoped identifier allocated by the emitting service (e.g. `<component>-<number>`); it is not a stable part of this contract. Omitted for an error that is not a MeshKit error. */
535
535
  code?: string;
536
536
  /**
537
537
  * @description MeshKit severity name. Omitted when MeshKit reports none.
@@ -581,7 +581,7 @@ export interface operations {
581
581
  "application/json": {
582
582
  /** @description The sentence the caller is shown. */
583
583
  error: string;
584
- /** @description MeshKit error code, e.g. `meshery_cloud-3420`. Omitted for an error that is not a MeshKit error. */
584
+ /** @description MeshKit error code, a component-scoped identifier allocated by the emitting service (e.g. `<component>-<number>`); it is not a stable part of this contract. Omitted for an error that is not a MeshKit error. */
585
585
  code?: string;
586
586
  /**
587
587
  * @description MeshKit severity name. Omitted when MeshKit reports none.
@@ -613,7 +613,7 @@ export interface operations {
613
613
  "application/json": {
614
614
  /** @description The sentence the caller is shown. */
615
615
  error: string;
616
- /** @description MeshKit error code, e.g. `meshery_cloud-3420`. Omitted for an error that is not a MeshKit error. */
616
+ /** @description MeshKit error code, a component-scoped identifier allocated by the emitting service (e.g. `<component>-<number>`); it is not a stable part of this contract. Omitted for an error that is not a MeshKit error. */
617
617
  code?: string;
618
618
  /**
619
619
  * @description MeshKit severity name. Omitted when MeshKit reports none.
@@ -636,7 +636,7 @@ export interface operations {
636
636
  "application/json": {
637
637
  /** @description The sentence the caller is shown. */
638
638
  error: string;
639
- /** @description MeshKit error code, e.g. `meshery_cloud-3420`. Omitted for an error that is not a MeshKit error. */
639
+ /** @description MeshKit error code, a component-scoped identifier allocated by the emitting service (e.g. `<component>-<number>`); it is not a stable part of this contract. Omitted for an error that is not a MeshKit error. */
640
640
  code?: string;
641
641
  /**
642
642
  * @description MeshKit severity name. Omitted when MeshKit reports none.
@@ -659,7 +659,7 @@ export interface operations {
659
659
  "application/json": {
660
660
  /** @description The sentence the caller is shown. */
661
661
  error: string;
662
- /** @description MeshKit error code, e.g. `meshery_cloud-3420`. Omitted for an error that is not a MeshKit error. */
662
+ /** @description MeshKit error code, a component-scoped identifier allocated by the emitting service (e.g. `<component>-<number>`); it is not a stable part of this contract. Omitted for an error that is not a MeshKit error. */
663
663
  code?: string;
664
664
  /**
665
665
  * @description MeshKit severity name. Omitted when MeshKit reports none.
@@ -754,7 +754,7 @@ export interface operations {
754
754
  "application/json": {
755
755
  /** @description The sentence the caller is shown. */
756
756
  error: string;
757
- /** @description MeshKit error code, e.g. `meshery_cloud-3420`. Omitted for an error that is not a MeshKit error. */
757
+ /** @description MeshKit error code, a component-scoped identifier allocated by the emitting service (e.g. `<component>-<number>`); it is not a stable part of this contract. Omitted for an error that is not a MeshKit error. */
758
758
  code?: string;
759
759
  /**
760
760
  * @description MeshKit severity name. Omitted when MeshKit reports none.
@@ -786,7 +786,7 @@ export interface operations {
786
786
  "application/json": {
787
787
  /** @description The sentence the caller is shown. */
788
788
  error: string;
789
- /** @description MeshKit error code, e.g. `meshery_cloud-3420`. Omitted for an error that is not a MeshKit error. */
789
+ /** @description MeshKit error code, a component-scoped identifier allocated by the emitting service (e.g. `<component>-<number>`); it is not a stable part of this contract. Omitted for an error that is not a MeshKit error. */
790
790
  code?: string;
791
791
  /**
792
792
  * @description MeshKit severity name. Omitted when MeshKit reports none.
@@ -809,7 +809,7 @@ export interface operations {
809
809
  "application/json": {
810
810
  /** @description The sentence the caller is shown. */
811
811
  error: string;
812
- /** @description MeshKit error code, e.g. `meshery_cloud-3420`. Omitted for an error that is not a MeshKit error. */
812
+ /** @description MeshKit error code, a component-scoped identifier allocated by the emitting service (e.g. `<component>-<number>`); it is not a stable part of this contract. Omitted for an error that is not a MeshKit error. */
813
813
  code?: string;
814
814
  /**
815
815
  * @description MeshKit severity name. Omitted when MeshKit reports none.
@@ -832,7 +832,7 @@ export interface operations {
832
832
  "application/json": {
833
833
  /** @description The sentence the caller is shown. */
834
834
  error: string;
835
- /** @description MeshKit error code, e.g. `meshery_cloud-3420`. Omitted for an error that is not a MeshKit error. */
835
+ /** @description MeshKit error code, a component-scoped identifier allocated by the emitting service (e.g. `<component>-<number>`); it is not a stable part of this contract. Omitted for an error that is not a MeshKit error. */
836
836
  code?: string;
837
837
  /**
838
838
  * @description MeshKit severity name. Omitted when MeshKit reports none.
@@ -899,7 +899,7 @@ export interface operations {
899
899
  "application/json": {
900
900
  /** @description The sentence the caller is shown. */
901
901
  error: string;
902
- /** @description MeshKit error code, e.g. `meshery_cloud-3420`. Omitted for an error that is not a MeshKit error. */
902
+ /** @description MeshKit error code, a component-scoped identifier allocated by the emitting service (e.g. `<component>-<number>`); it is not a stable part of this contract. Omitted for an error that is not a MeshKit error. */
903
903
  code?: string;
904
904
  /**
905
905
  * @description MeshKit severity name. Omitted when MeshKit reports none.
@@ -931,7 +931,7 @@ export interface operations {
931
931
  "application/json": {
932
932
  /** @description The sentence the caller is shown. */
933
933
  error: string;
934
- /** @description MeshKit error code, e.g. `meshery_cloud-3420`. Omitted for an error that is not a MeshKit error. */
934
+ /** @description MeshKit error code, a component-scoped identifier allocated by the emitting service (e.g. `<component>-<number>`); it is not a stable part of this contract. Omitted for an error that is not a MeshKit error. */
935
935
  code?: string;
936
936
  /**
937
937
  * @description MeshKit severity name. Omitted when MeshKit reports none.
@@ -954,7 +954,7 @@ export interface operations {
954
954
  "application/json": {
955
955
  /** @description The sentence the caller is shown. */
956
956
  error: string;
957
- /** @description MeshKit error code, e.g. `meshery_cloud-3420`. Omitted for an error that is not a MeshKit error. */
957
+ /** @description MeshKit error code, a component-scoped identifier allocated by the emitting service (e.g. `<component>-<number>`); it is not a stable part of this contract. Omitted for an error that is not a MeshKit error. */
958
958
  code?: string;
959
959
  /**
960
960
  * @description MeshKit severity name. Omitted when MeshKit reports none.
@@ -977,7 +977,7 @@ export interface operations {
977
977
  "application/json": {
978
978
  /** @description The sentence the caller is shown. */
979
979
  error: string;
980
- /** @description MeshKit error code, e.g. `meshery_cloud-3420`. Omitted for an error that is not a MeshKit error. */
980
+ /** @description MeshKit error code, a component-scoped identifier allocated by the emitting service (e.g. `<component>-<number>`); it is not a stable part of this contract. Omitted for an error that is not a MeshKit error. */
981
981
  code?: string;
982
982
  /**
983
983
  * @description MeshKit severity name. Omitted when MeshKit reports none.
@@ -1040,7 +1040,7 @@ export interface operations {
1040
1040
  "application/json": {
1041
1041
  /** @description The sentence the caller is shown. */
1042
1042
  error: string;
1043
- /** @description MeshKit error code, e.g. `meshery_cloud-3420`. Omitted for an error that is not a MeshKit error. */
1043
+ /** @description MeshKit error code, a component-scoped identifier allocated by the emitting service (e.g. `<component>-<number>`); it is not a stable part of this contract. Omitted for an error that is not a MeshKit error. */
1044
1044
  code?: string;
1045
1045
  /**
1046
1046
  * @description MeshKit severity name. Omitted when MeshKit reports none.
@@ -1072,7 +1072,7 @@ export interface operations {
1072
1072
  "application/json": {
1073
1073
  /** @description The sentence the caller is shown. */
1074
1074
  error: string;
1075
- /** @description MeshKit error code, e.g. `meshery_cloud-3420`. Omitted for an error that is not a MeshKit error. */
1075
+ /** @description MeshKit error code, a component-scoped identifier allocated by the emitting service (e.g. `<component>-<number>`); it is not a stable part of this contract. Omitted for an error that is not a MeshKit error. */
1076
1076
  code?: string;
1077
1077
  /**
1078
1078
  * @description MeshKit severity name. Omitted when MeshKit reports none.
@@ -1095,7 +1095,7 @@ export interface operations {
1095
1095
  "application/json": {
1096
1096
  /** @description The sentence the caller is shown. */
1097
1097
  error: string;
1098
- /** @description MeshKit error code, e.g. `meshery_cloud-3420`. Omitted for an error that is not a MeshKit error. */
1098
+ /** @description MeshKit error code, a component-scoped identifier allocated by the emitting service (e.g. `<component>-<number>`); it is not a stable part of this contract. Omitted for an error that is not a MeshKit error. */
1099
1099
  code?: string;
1100
1100
  /**
1101
1101
  * @description MeshKit severity name. Omitted when MeshKit reports none.
@@ -1118,7 +1118,7 @@ export interface operations {
1118
1118
  "application/json": {
1119
1119
  /** @description The sentence the caller is shown. */
1120
1120
  error: string;
1121
- /** @description MeshKit error code, e.g. `meshery_cloud-3420`. Omitted for an error that is not a MeshKit error. */
1121
+ /** @description MeshKit error code, a component-scoped identifier allocated by the emitting service (e.g. `<component>-<number>`); it is not a stable part of this contract. Omitted for an error that is not a MeshKit error. */
1122
1122
  code?: string;
1123
1123
  /**
1124
1124
  * @description MeshKit severity name. Omitted when MeshKit reports none.
@@ -8,5 +8,5 @@ connection of the v1beta3 \`connection\` construct, and its metadata is
8
8
  described by \`GithubConnectionMetadata\`. The GitHub operations that read
9
9
  or write designs (import, imported-designs inventory, refresh, remap,
10
10
  branch list) live in the v1beta3 \`design\` construct.
11
- `,version:"v1beta3",contact:{name:"Meshery Maintainers",email:"maintainers@meshery.io",url:"https://meshery.io"},license:{name:"Apache 2.0",url:"https://www.apache.org/licenses/LICENSE-2.0.html"}},security:[{jwt:[]}],tags:[{name:"github",description:"GitHub App connection status and authorization, installation repositories, repository trees and the Kanvas workflow."}],paths:{"/api/integrations/github/status":{get:{"x-internal":["cloud"],tags:["github"],summary:"Whether the caller's GitHub connection is usable",operationId:"getGithubAppStatus",description:"Checks the caller's GitHub App connection. A connection is usable only when its installations were verified against the caller's own GitHub account and GitHub confirms the installation it opens on still exists. `403` (code `meshery_cloud-3381`) means the connection must be re-authorized (`startGithubAuthorization` with `flow=authorize`). When GitHub reports the installation the connection opens on removed, that installation is dropped and the connection re-points at its next verified installation, which is checked in turn: `200` when one remains. `404` means the caller has no GitHub connection, or no verified installation remains - in which case the connection is deleted. `502` means GitHub could not confirm either way; the connection is kept.\n",responses:{200:{description:"The connection is verified and its installation exists. No body."},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},403:{description:"Forbidden",content:{"application/json":{schema:{type:"object",description:"A MeshKit error answered as a JSON body. `error` is the sentence the caller is shown; MeshKit's long description is never serialized. Use the `MeshkitError400`, `MeshkitError403`, `MeshkitError404`, `MeshkitError409`, `MeshkitError500` and `MeshkitError502` responses for an operation whose server answers its refusals this way.",required:["error"],additionalProperties:false,properties:{error:{type:"string",minLength:1,description:"The sentence the caller is shown."},code:{type:"string",minLength:1,description:"MeshKit error code, e.g. `meshery_cloud-3420`. Omitted for an error that is not a MeshKit error."},severity:{type:"string",description:"MeshKit severity name. Omitted when MeshKit reports none.",enum:["emergency","alert","critical","fatal"]},probableCause:{type:"array",description:"MeshKit's probable causes of the error.",items:{type:"string"}},suggestedRemediation:{type:"array",description:"MeshKit's suggested remediations for the error.",items:{type:"string"}}}}}}},404:{description:"Result not found",content:{"application/json":{schema:{type:"object",description:"A MeshKit error answered as a JSON body. `error` is the sentence the caller is shown; MeshKit's long description is never serialized. Use the `MeshkitError400`, `MeshkitError403`, `MeshkitError404`, `MeshkitError409`, `MeshkitError500` and `MeshkitError502` responses for an operation whose server answers its refusals this way.",required:["error"],additionalProperties:false,properties:{error:{type:"string",minLength:1,description:"The sentence the caller is shown."},code:{type:"string",minLength:1,description:"MeshKit error code, e.g. `meshery_cloud-3420`. Omitted for an error that is not a MeshKit error."},severity:{type:"string",description:"MeshKit severity name. Omitted when MeshKit reports none.",enum:["emergency","alert","critical","fatal"]},probableCause:{type:"array",description:"MeshKit's probable causes of the error.",items:{type:"string"}},suggestedRemediation:{type:"array",description:"MeshKit's suggested remediations for the error.",items:{type:"string"}}}}}}},500:{description:"Internal server error",content:{"application/json":{schema:{type:"object",description:"A MeshKit error answered as a JSON body. `error` is the sentence the caller is shown; MeshKit's long description is never serialized. Use the `MeshkitError400`, `MeshkitError403`, `MeshkitError404`, `MeshkitError409`, `MeshkitError500` and `MeshkitError502` responses for an operation whose server answers its refusals this way.",required:["error"],additionalProperties:false,properties:{error:{type:"string",minLength:1,description:"The sentence the caller is shown."},code:{type:"string",minLength:1,description:"MeshKit error code, e.g. `meshery_cloud-3420`. Omitted for an error that is not a MeshKit error."},severity:{type:"string",description:"MeshKit severity name. Omitted when MeshKit reports none.",enum:["emergency","alert","critical","fatal"]},probableCause:{type:"array",description:"MeshKit's probable causes of the error.",items:{type:"string"}},suggestedRemediation:{type:"array",description:"MeshKit's suggested remediations for the error.",items:{type:"string"}}}}}}},502:{description:"Bad gateway - an upstream service the operation depends on could not be reached or rejected the request",content:{"application/json":{schema:{type:"object",description:"A MeshKit error answered as a JSON body. `error` is the sentence the caller is shown; MeshKit's long description is never serialized. Use the `MeshkitError400`, `MeshkitError403`, `MeshkitError404`, `MeshkitError409`, `MeshkitError500` and `MeshkitError502` responses for an operation whose server answers its refusals this way.",required:["error"],additionalProperties:false,properties:{error:{type:"string",minLength:1,description:"The sentence the caller is shown."},code:{type:"string",minLength:1,description:"MeshKit error code, e.g. `meshery_cloud-3420`. Omitted for an error that is not a MeshKit error."},severity:{type:"string",description:"MeshKit severity name. Omitted when MeshKit reports none.",enum:["emergency","alert","critical","fatal"]},probableCause:{type:"array",description:"MeshKit's probable causes of the error.",items:{type:"string"}},suggestedRemediation:{type:"array",description:"MeshKit's suggested remediations for the error.",items:{type:"string"}}}}}}}}}},"/api/integrations/github":{get:{"x-internal":["cloud"],tags:["github"],summary:"List the repositories one of the caller's installations can access",operationId:"getGithubInstallationRepositories",description:"Returns one page of the repositories a GitHub App installation can access. `id` must name one of the caller's verified GitHub App installations; any other id - another account's, or one that does not exist - is the same `403`, so the route does not reveal which installations exist. `502` means GitHub could not be reached or rejected the request.\n",parameters:[{name:"id",in:"query",required:true,description:"GitHub App installation id; must be one of the caller's verified installations.",schema:{type:"string",pattern:"^[1-9][0-9]*$"}},{name:"page",in:"query",description:"Get responses by page",schema:{type:"integer",minimum:0}}],responses:{200:{description:"One page of the installation's repositories.",content:{"application/json":{schema:{type:"object",description:"One page of GitHub's `GET /installation/repositories` answer, passed through as GitHub returns it (`total_count`, `repositories`).",additionalProperties:true}}}},400:{description:"Invalid request body or request param",content:{"application/json":{schema:{type:"object",description:"A MeshKit error answered as a JSON body. `error` is the sentence the caller is shown; MeshKit's long description is never serialized. Use the `MeshkitError400`, `MeshkitError403`, `MeshkitError404`, `MeshkitError409`, `MeshkitError500` and `MeshkitError502` responses for an operation whose server answers its refusals this way.",required:["error"],additionalProperties:false,properties:{error:{type:"string",minLength:1,description:"The sentence the caller is shown."},code:{type:"string",minLength:1,description:"MeshKit error code, e.g. `meshery_cloud-3420`. Omitted for an error that is not a MeshKit error."},severity:{type:"string",description:"MeshKit severity name. Omitted when MeshKit reports none.",enum:["emergency","alert","critical","fatal"]},probableCause:{type:"array",description:"MeshKit's probable causes of the error.",items:{type:"string"}},suggestedRemediation:{type:"array",description:"MeshKit's suggested remediations for the error.",items:{type:"string"}}}}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},403:{description:"Forbidden",content:{"application/json":{schema:{type:"object",description:"A MeshKit error answered as a JSON body. `error` is the sentence the caller is shown; MeshKit's long description is never serialized. Use the `MeshkitError400`, `MeshkitError403`, `MeshkitError404`, `MeshkitError409`, `MeshkitError500` and `MeshkitError502` responses for an operation whose server answers its refusals this way.",required:["error"],additionalProperties:false,properties:{error:{type:"string",minLength:1,description:"The sentence the caller is shown."},code:{type:"string",minLength:1,description:"MeshKit error code, e.g. `meshery_cloud-3420`. Omitted for an error that is not a MeshKit error."},severity:{type:"string",description:"MeshKit severity name. Omitted when MeshKit reports none.",enum:["emergency","alert","critical","fatal"]},probableCause:{type:"array",description:"MeshKit's probable causes of the error.",items:{type:"string"}},suggestedRemediation:{type:"array",description:"MeshKit's suggested remediations for the error.",items:{type:"string"}}}}}}},500:{description:"Internal server error",content:{"application/json":{schema:{type:"object",description:"A MeshKit error answered as a JSON body. `error` is the sentence the caller is shown; MeshKit's long description is never serialized. Use the `MeshkitError400`, `MeshkitError403`, `MeshkitError404`, `MeshkitError409`, `MeshkitError500` and `MeshkitError502` responses for an operation whose server answers its refusals this way.",required:["error"],additionalProperties:false,properties:{error:{type:"string",minLength:1,description:"The sentence the caller is shown."},code:{type:"string",minLength:1,description:"MeshKit error code, e.g. `meshery_cloud-3420`. Omitted for an error that is not a MeshKit error."},severity:{type:"string",description:"MeshKit severity name. Omitted when MeshKit reports none.",enum:["emergency","alert","critical","fatal"]},probableCause:{type:"array",description:"MeshKit's probable causes of the error.",items:{type:"string"}},suggestedRemediation:{type:"array",description:"MeshKit's suggested remediations for the error.",items:{type:"string"}}}}}}},502:{description:"Bad gateway - an upstream service the operation depends on could not be reached or rejected the request",content:{"application/json":{schema:{type:"object",description:"A MeshKit error answered as a JSON body. `error` is the sentence the caller is shown; MeshKit's long description is never serialized. Use the `MeshkitError400`, `MeshkitError403`, `MeshkitError404`, `MeshkitError409`, `MeshkitError500` and `MeshkitError502` responses for an operation whose server answers its refusals this way.",required:["error"],additionalProperties:false,properties:{error:{type:"string",minLength:1,description:"The sentence the caller is shown."},code:{type:"string",minLength:1,description:"MeshKit error code, e.g. `meshery_cloud-3420`. Omitted for an error that is not a MeshKit error."},severity:{type:"string",description:"MeshKit severity name. Omitted when MeshKit reports none.",enum:["emergency","alert","critical","fatal"]},probableCause:{type:"array",description:"MeshKit's probable causes of the error.",items:{type:"string"}},suggestedRemediation:{type:"array",description:"MeshKit's suggested remediations for the error.",items:{type:"string"}}}}}}}}}},"/api/integrations/github/scan":{get:{"x-internal":["cloud"],tags:["github"],summary:"One page of a repository's file tree",operationId:"scanGithubRepository",description:"Returns one page of a repository's file tree, as nested tree items. The repository must be reachable through one of the caller's verified GitHub App installations; otherwise the request is refused with the same uniform `403` as `importGithubRepository`, which does not reveal where the App is installed. `206` answers a page of a tree that has further pages.\n",parameters:[{name:"name",in:"query",required:true,description:"Repository as `<owner>/<repo>`.",schema:{type:"string",maxLength:512}},{name:"page",in:"query",description:"Get responses by page",schema:{type:"integer",minimum:0}},{name:"pageSize",in:"query",description:"Number of items per page.",schema:{type:"integer",minimum:1}}],responses:{200:{description:"Tree page.",content:{"application/json":{schema:{type:"array",description:"One page of a repository's file tree.",items:{type:"object",description:"One file or directory of a repository's file tree, with its children.",additionalProperties:false,properties:{id:{description:"Identifier of the tree item, for the UI's tree view.","x-go-name":"ID",type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},label:{type:"string",description:"Display name of the file or directory.",maxLength:4096},type:{type:"string",description:"Kind of the tree item, such as a file or a directory.",maxLength:64},entry:{type:"object",description:"GitHub's tree entry for the item, passed through as GitHub returns it.",additionalProperties:true},children:{type:"array",description:"The items under a directory, each shaped as a `GithubRepositoryTreeItem`.",items:{type:"object",additionalProperties:true}}}}}}}},206:{description:"Tree page of a tree that has further pages.",content:{"application/json":{schema:{type:"array",description:"One page of a repository's file tree.",items:{type:"object",description:"One file or directory of a repository's file tree, with its children.",additionalProperties:false,properties:{id:{description:"Identifier of the tree item, for the UI's tree view.","x-go-name":"ID",type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},label:{type:"string",description:"Display name of the file or directory.",maxLength:4096},type:{type:"string",description:"Kind of the tree item, such as a file or a directory.",maxLength:64},entry:{type:"object",description:"GitHub's tree entry for the item, passed through as GitHub returns it.",additionalProperties:true},children:{type:"array",description:"The items under a directory, each shaped as a `GithubRepositoryTreeItem`.",items:{type:"object",additionalProperties:true}}}}}}}},400:{description:"Invalid request body or request param",content:{"application/json":{schema:{type:"object",description:"A MeshKit error answered as a JSON body. `error` is the sentence the caller is shown; MeshKit's long description is never serialized. Use the `MeshkitError400`, `MeshkitError403`, `MeshkitError404`, `MeshkitError409`, `MeshkitError500` and `MeshkitError502` responses for an operation whose server answers its refusals this way.",required:["error"],additionalProperties:false,properties:{error:{type:"string",minLength:1,description:"The sentence the caller is shown."},code:{type:"string",minLength:1,description:"MeshKit error code, e.g. `meshery_cloud-3420`. Omitted for an error that is not a MeshKit error."},severity:{type:"string",description:"MeshKit severity name. Omitted when MeshKit reports none.",enum:["emergency","alert","critical","fatal"]},probableCause:{type:"array",description:"MeshKit's probable causes of the error.",items:{type:"string"}},suggestedRemediation:{type:"array",description:"MeshKit's suggested remediations for the error.",items:{type:"string"}}}}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},403:{description:"Forbidden",content:{"application/json":{schema:{type:"object",description:"A MeshKit error answered as a JSON body. `error` is the sentence the caller is shown; MeshKit's long description is never serialized. Use the `MeshkitError400`, `MeshkitError403`, `MeshkitError404`, `MeshkitError409`, `MeshkitError500` and `MeshkitError502` responses for an operation whose server answers its refusals this way.",required:["error"],additionalProperties:false,properties:{error:{type:"string",minLength:1,description:"The sentence the caller is shown."},code:{type:"string",minLength:1,description:"MeshKit error code, e.g. `meshery_cloud-3420`. Omitted for an error that is not a MeshKit error."},severity:{type:"string",description:"MeshKit severity name. Omitted when MeshKit reports none.",enum:["emergency","alert","critical","fatal"]},probableCause:{type:"array",description:"MeshKit's probable causes of the error.",items:{type:"string"}},suggestedRemediation:{type:"array",description:"MeshKit's suggested remediations for the error.",items:{type:"string"}}}}}}},500:{description:"Internal server error",content:{"application/json":{schema:{type:"object",description:"A MeshKit error answered as a JSON body. `error` is the sentence the caller is shown; MeshKit's long description is never serialized. Use the `MeshkitError400`, `MeshkitError403`, `MeshkitError404`, `MeshkitError409`, `MeshkitError500` and `MeshkitError502` responses for an operation whose server answers its refusals this way.",required:["error"],additionalProperties:false,properties:{error:{type:"string",minLength:1,description:"The sentence the caller is shown."},code:{type:"string",minLength:1,description:"MeshKit error code, e.g. `meshery_cloud-3420`. Omitted for an error that is not a MeshKit error."},severity:{type:"string",description:"MeshKit severity name. Omitted when MeshKit reports none.",enum:["emergency","alert","critical","fatal"]},probableCause:{type:"array",description:"MeshKit's probable causes of the error.",items:{type:"string"}},suggestedRemediation:{type:"array",description:"MeshKit's suggested remediations for the error.",items:{type:"string"}}}}}}},502:{description:"Bad gateway - an upstream service the operation depends on could not be reached or rejected the request",content:{"application/json":{schema:{type:"object",description:"A MeshKit error answered as a JSON body. `error` is the sentence the caller is shown; MeshKit's long description is never serialized. Use the `MeshkitError400`, `MeshkitError403`, `MeshkitError404`, `MeshkitError409`, `MeshkitError500` and `MeshkitError502` responses for an operation whose server answers its refusals this way.",required:["error"],additionalProperties:false,properties:{error:{type:"string",minLength:1,description:"The sentence the caller is shown."},code:{type:"string",minLength:1,description:"MeshKit error code, e.g. `meshery_cloud-3420`. Omitted for an error that is not a MeshKit error."},severity:{type:"string",description:"MeshKit severity name. Omitted when MeshKit reports none.",enum:["emergency","alert","critical","fatal"]},probableCause:{type:"array",description:"MeshKit's probable causes of the error.",items:{type:"string"}},suggestedRemediation:{type:"array",description:"MeshKit's suggested remediations for the error.",items:{type:"string"}}}}}}}}}},"/api/integrations/github/verify/{owner}/{repo}":{post:{"x-internal":["cloud"],tags:["github"],summary:"Whether the Kanvas workflow is already present in a repository",operationId:"verifyGithubRepositoryWorkflow",description:"Reports whether the Kanvas workflow is already committed to a repository. The repository's installation is resolved and authorized by the server; the `id` query parameter is accepted for compatibility and is not consulted. A repository the caller cannot reach through one of their verified GitHub App installations is refused with the same uniform `403` as `importGithubRepository`. No request body.\n",parameters:[{name:"owner",in:"path",required:true,description:"Login of the account that owns the repository.",schema:{type:"string"}},{name:"repo",in:"path",required:true,description:"Repository name, without its owner.",schema:{type:"string"}},{name:"id",in:"query",required:false,deprecated:true,description:"Ignored. Accepted for compatibility; the server resolves the installation itself.",schema:{type:"string"}}],responses:{200:{description:"Workflow presence.",content:{"application/json":{schema:{type:"object",description:"Whether the Kanvas workflow is already present in a repository.",additionalProperties:false,required:["status"],properties:{status:{type:"string",description:"`ok` when no workflow is present; `error` when one is (`fileUrl` names it) or the check failed (`error` says why).",enum:["ok","error"]},fileUrl:{type:"string",format:"uri",description:"URL of the workflow file already present."},error:{type:"string",maxLength:4096,description:"Why the repository cannot take the workflow."}}}}}},400:{description:"Invalid request body or request param",content:{"application/json":{schema:{type:"object",description:"A MeshKit error answered as a JSON body. `error` is the sentence the caller is shown; MeshKit's long description is never serialized. Use the `MeshkitError400`, `MeshkitError403`, `MeshkitError404`, `MeshkitError409`, `MeshkitError500` and `MeshkitError502` responses for an operation whose server answers its refusals this way.",required:["error"],additionalProperties:false,properties:{error:{type:"string",minLength:1,description:"The sentence the caller is shown."},code:{type:"string",minLength:1,description:"MeshKit error code, e.g. `meshery_cloud-3420`. Omitted for an error that is not a MeshKit error."},severity:{type:"string",description:"MeshKit severity name. Omitted when MeshKit reports none.",enum:["emergency","alert","critical","fatal"]},probableCause:{type:"array",description:"MeshKit's probable causes of the error.",items:{type:"string"}},suggestedRemediation:{type:"array",description:"MeshKit's suggested remediations for the error.",items:{type:"string"}}}}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},403:{description:"Forbidden",content:{"application/json":{schema:{type:"object",description:"A MeshKit error answered as a JSON body. `error` is the sentence the caller is shown; MeshKit's long description is never serialized. Use the `MeshkitError400`, `MeshkitError403`, `MeshkitError404`, `MeshkitError409`, `MeshkitError500` and `MeshkitError502` responses for an operation whose server answers its refusals this way.",required:["error"],additionalProperties:false,properties:{error:{type:"string",minLength:1,description:"The sentence the caller is shown."},code:{type:"string",minLength:1,description:"MeshKit error code, e.g. `meshery_cloud-3420`. Omitted for an error that is not a MeshKit error."},severity:{type:"string",description:"MeshKit severity name. Omitted when MeshKit reports none.",enum:["emergency","alert","critical","fatal"]},probableCause:{type:"array",description:"MeshKit's probable causes of the error.",items:{type:"string"}},suggestedRemediation:{type:"array",description:"MeshKit's suggested remediations for the error.",items:{type:"string"}}}}}}},500:{description:"Internal server error",content:{"application/json":{schema:{type:"object",description:"A MeshKit error answered as a JSON body. `error` is the sentence the caller is shown; MeshKit's long description is never serialized. Use the `MeshkitError400`, `MeshkitError403`, `MeshkitError404`, `MeshkitError409`, `MeshkitError500` and `MeshkitError502` responses for an operation whose server answers its refusals this way.",required:["error"],additionalProperties:false,properties:{error:{type:"string",minLength:1,description:"The sentence the caller is shown."},code:{type:"string",minLength:1,description:"MeshKit error code, e.g. `meshery_cloud-3420`. Omitted for an error that is not a MeshKit error."},severity:{type:"string",description:"MeshKit severity name. Omitted when MeshKit reports none.",enum:["emergency","alert","critical","fatal"]},probableCause:{type:"array",description:"MeshKit's probable causes of the error.",items:{type:"string"}},suggestedRemediation:{type:"array",description:"MeshKit's suggested remediations for the error.",items:{type:"string"}}}}}}},502:{description:"Bad gateway - an upstream service the operation depends on could not be reached or rejected the request",content:{"application/json":{schema:{type:"object",description:"A MeshKit error answered as a JSON body. `error` is the sentence the caller is shown; MeshKit's long description is never serialized. Use the `MeshkitError400`, `MeshkitError403`, `MeshkitError404`, `MeshkitError409`, `MeshkitError500` and `MeshkitError502` responses for an operation whose server answers its refusals this way.",required:["error"],additionalProperties:false,properties:{error:{type:"string",minLength:1,description:"The sentence the caller is shown."},code:{type:"string",minLength:1,description:"MeshKit error code, e.g. `meshery_cloud-3420`. Omitted for an error that is not a MeshKit error."},severity:{type:"string",description:"MeshKit severity name. Omitted when MeshKit reports none.",enum:["emergency","alert","critical","fatal"]},probableCause:{type:"array",description:"MeshKit's probable causes of the error.",items:{type:"string"}},suggestedRemediation:{type:"array",description:"MeshKit's suggested remediations for the error.",items:{type:"string"}}}}}}}}}},"/api/integrations/github/install":{post:{"x-internal":["cloud"],tags:["github"],summary:"Commit the Kanvas workflow into repositories",operationId:"installGithubWorkflow",description:"Commits the Kanvas workflow into each requested repository. Every well-formed repository is authorized before anything is written: one repository the caller cannot reach through their verified GitHub App installations refuses the whole request with the uniform `403`, and nothing is committed anywhere. A malformed repository identifier is reported per repository (`code: 400`) and never reaches GitHub. The `id` query parameter is accepted for compatibility and is not consulted.\n",parameters:[{name:"id",in:"query",required:false,deprecated:true,description:"Ignored. Accepted for compatibility; the server resolves the installation itself.",schema:{type:"string"}}],requestBody:{required:true,content:{"application/json":{schema:{type:"object",description:"The repositories to commit the Kanvas workflow into.",additionalProperties:false,required:["repositories"],properties:{repositories:{type:"array",description:"Repositories as `<owner>/<repo>`.",items:{type:"string",maxLength:512}}}}}}},responses:{200:{description:"One entry per requested repository.",content:{"application/json":{schema:{type:"array",description:"One single-key entry per requested repository, keyed by `<owner>/<repo>`.",items:{type:"object",additionalProperties:{type:"object",description:"The outcome of committing the workflow into one repository.",additionalProperties:false,properties:{code:{type:"integer",minimum:100,maximum:599,description:"HTTP-style status of the repository's outcome; `400` for a malformed repository identifier."},description:{type:"string",maxLength:4096,description:"The outcome, in words."}}}}}}}},400:{description:"Invalid request body or request param",content:{"application/json":{schema:{type:"object",description:"A MeshKit error answered as a JSON body. `error` is the sentence the caller is shown; MeshKit's long description is never serialized. Use the `MeshkitError400`, `MeshkitError403`, `MeshkitError404`, `MeshkitError409`, `MeshkitError500` and `MeshkitError502` responses for an operation whose server answers its refusals this way.",required:["error"],additionalProperties:false,properties:{error:{type:"string",minLength:1,description:"The sentence the caller is shown."},code:{type:"string",minLength:1,description:"MeshKit error code, e.g. `meshery_cloud-3420`. Omitted for an error that is not a MeshKit error."},severity:{type:"string",description:"MeshKit severity name. Omitted when MeshKit reports none.",enum:["emergency","alert","critical","fatal"]},probableCause:{type:"array",description:"MeshKit's probable causes of the error.",items:{type:"string"}},suggestedRemediation:{type:"array",description:"MeshKit's suggested remediations for the error.",items:{type:"string"}}}}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},403:{description:"Forbidden",content:{"application/json":{schema:{type:"object",description:"A MeshKit error answered as a JSON body. `error` is the sentence the caller is shown; MeshKit's long description is never serialized. Use the `MeshkitError400`, `MeshkitError403`, `MeshkitError404`, `MeshkitError409`, `MeshkitError500` and `MeshkitError502` responses for an operation whose server answers its refusals this way.",required:["error"],additionalProperties:false,properties:{error:{type:"string",minLength:1,description:"The sentence the caller is shown."},code:{type:"string",minLength:1,description:"MeshKit error code, e.g. `meshery_cloud-3420`. Omitted for an error that is not a MeshKit error."},severity:{type:"string",description:"MeshKit severity name. Omitted when MeshKit reports none.",enum:["emergency","alert","critical","fatal"]},probableCause:{type:"array",description:"MeshKit's probable causes of the error.",items:{type:"string"}},suggestedRemediation:{type:"array",description:"MeshKit's suggested remediations for the error.",items:{type:"string"}}}}}}},500:{description:"Internal server error",content:{"application/json":{schema:{type:"object",description:"A MeshKit error answered as a JSON body. `error` is the sentence the caller is shown; MeshKit's long description is never serialized. Use the `MeshkitError400`, `MeshkitError403`, `MeshkitError404`, `MeshkitError409`, `MeshkitError500` and `MeshkitError502` responses for an operation whose server answers its refusals this way.",required:["error"],additionalProperties:false,properties:{error:{type:"string",minLength:1,description:"The sentence the caller is shown."},code:{type:"string",minLength:1,description:"MeshKit error code, e.g. `meshery_cloud-3420`. Omitted for an error that is not a MeshKit error."},severity:{type:"string",description:"MeshKit severity name. Omitted when MeshKit reports none.",enum:["emergency","alert","critical","fatal"]},probableCause:{type:"array",description:"MeshKit's probable causes of the error.",items:{type:"string"}},suggestedRemediation:{type:"array",description:"MeshKit's suggested remediations for the error.",items:{type:"string"}}}}}}},502:{description:"Bad gateway - an upstream service the operation depends on could not be reached or rejected the request",content:{"application/json":{schema:{type:"object",description:"A MeshKit error answered as a JSON body. `error` is the sentence the caller is shown; MeshKit's long description is never serialized. Use the `MeshkitError400`, `MeshkitError403`, `MeshkitError404`, `MeshkitError409`, `MeshkitError500` and `MeshkitError502` responses for an operation whose server answers its refusals this way.",required:["error"],additionalProperties:false,properties:{error:{type:"string",minLength:1,description:"The sentence the caller is shown."},code:{type:"string",minLength:1,description:"MeshKit error code, e.g. `meshery_cloud-3420`. Omitted for an error that is not a MeshKit error."},severity:{type:"string",description:"MeshKit severity name. Omitted when MeshKit reports none.",enum:["emergency","alert","critical","fatal"]},probableCause:{type:"array",description:"MeshKit's probable causes of the error.",items:{type:"string"}},suggestedRemediation:{type:"array",description:"MeshKit's suggested remediations for the error.",items:{type:"string"}}}}}}}}}},"/api/integrations/github/authorize":{get:{"x-internal":["cloud"],tags:["github"],summary:"Start a trip to GitHub (browser navigation)",operationId:"startGithubAuthorization",description:"Browser navigation, not a data call. Issues a single-use state bound to the signed-in user (consumed once, five-minute lifetime) and redirects to GitHub carrying it: `flow=install` to the GitHub App's installation page (derived from the App's own `html_url`), `flow=authorize` to GitHub's user-authorization page for the App. The UI never links to GitHub directly. Failures redirect to `/connect/github/new/<userId>?githubError=<reason>`, as the callback does.\n",parameters:[{name:"flow",in:"query",required:true,description:"`install` sends the browser to the GitHub App's installation page; `authorize` sends it to GitHub's user-authorization page for the App.",schema:{type:"string",enum:["install","authorize"]}}],responses:{302:{description:"Redirect to GitHub, or to the connection wizard with a reason."},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}}}}},"/api/integrations/github/callback":{get:{"x-internal":["cloud"],tags:["github"],summary:"The GitHub App's callback (browser navigation)",operationId:"githubAppCallback",description:"Browser navigation, not a data call. GitHub returns the browser here with the `state` issued by `startGithubAuthorization` and a one-time `code`. A missing, expired, reused or foreign `state` is refused before the code is exchanged or any connection is touched (`githubError=authorization-stale`). The server then exchanges the code for a user-to-server token, lists the installations of the App the authorizing GitHub account can access (GitHub's `GET /user/installations`) and stores exactly that set on the caller's GitHub connection - creating it, or updating it in place. An `installation_id` not in that set is never stored, and a result of zero installations never deletes or replaces an existing connection. Always answers a `302`: to `/connect/github/verify?githubLogin=true&id=<installation>[&setup_action=update]` on success, else to `/connect/github/new/<userId>?githubError=<reason>`, `reason` one of `authorization-failed`, `authorization-stale`, `authorization-unavailable`, `connection-failed`, `installation-not-verified`, `no-installations`. The `installation_id` and `setup_action` query parameter names are GitHub's and are kept as GitHub sends them.\n",parameters:[{name:"state",in:"query",required:true,description:"The single-use state `startGithubAuthorization` issued.",schema:{type:"string"}},{name:"code",in:"query",required:false,description:"GitHub's one-time authorization code.",schema:{type:"string"}},{name:"installation_id",in:"query",required:false,description:"The installation GitHub names on return (GitHub's parameter name). It is stored only when it is one of the installations GitHub lists for the authorizing account.",schema:{type:"string"}},{name:"setup_action",in:"query",required:false,description:"GitHub's setup action (GitHub's parameter name).",schema:{type:"string",enum:["install","update","request"]}}],responses:{302:{description:"Redirect to the connection wizard, as described."},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}}}}}},components:{securitySchemes:{jwt:{type:"http",scheme:"bearer",bearerFormat:"JWT"}},responses:{401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},MeshkitError400:{description:"Invalid request body or request param",content:{"application/json":{schema:{type:"object",description:"A MeshKit error answered as a JSON body. `error` is the sentence the caller is shown; MeshKit's long description is never serialized. Use the `MeshkitError400`, `MeshkitError403`, `MeshkitError404`, `MeshkitError409`, `MeshkitError500` and `MeshkitError502` responses for an operation whose server answers its refusals this way.",required:["error"],additionalProperties:false,properties:{error:{type:"string",minLength:1,description:"The sentence the caller is shown."},code:{type:"string",minLength:1,description:"MeshKit error code, e.g. `meshery_cloud-3420`. Omitted for an error that is not a MeshKit error."},severity:{type:"string",description:"MeshKit severity name. Omitted when MeshKit reports none.",enum:["emergency","alert","critical","fatal"]},probableCause:{type:"array",description:"MeshKit's probable causes of the error.",items:{type:"string"}},suggestedRemediation:{type:"array",description:"MeshKit's suggested remediations for the error.",items:{type:"string"}}}}}}},MeshkitError403:{description:"Forbidden",content:{"application/json":{schema:{type:"object",description:"A MeshKit error answered as a JSON body. `error` is the sentence the caller is shown; MeshKit's long description is never serialized. Use the `MeshkitError400`, `MeshkitError403`, `MeshkitError404`, `MeshkitError409`, `MeshkitError500` and `MeshkitError502` responses for an operation whose server answers its refusals this way.",required:["error"],additionalProperties:false,properties:{error:{type:"string",minLength:1,description:"The sentence the caller is shown."},code:{type:"string",minLength:1,description:"MeshKit error code, e.g. `meshery_cloud-3420`. Omitted for an error that is not a MeshKit error."},severity:{type:"string",description:"MeshKit severity name. Omitted when MeshKit reports none.",enum:["emergency","alert","critical","fatal"]},probableCause:{type:"array",description:"MeshKit's probable causes of the error.",items:{type:"string"}},suggestedRemediation:{type:"array",description:"MeshKit's suggested remediations for the error.",items:{type:"string"}}}}}}},MeshkitError404:{description:"Result not found",content:{"application/json":{schema:{type:"object",description:"A MeshKit error answered as a JSON body. `error` is the sentence the caller is shown; MeshKit's long description is never serialized. Use the `MeshkitError400`, `MeshkitError403`, `MeshkitError404`, `MeshkitError409`, `MeshkitError500` and `MeshkitError502` responses for an operation whose server answers its refusals this way.",required:["error"],additionalProperties:false,properties:{error:{type:"string",minLength:1,description:"The sentence the caller is shown."},code:{type:"string",minLength:1,description:"MeshKit error code, e.g. `meshery_cloud-3420`. Omitted for an error that is not a MeshKit error."},severity:{type:"string",description:"MeshKit severity name. Omitted when MeshKit reports none.",enum:["emergency","alert","critical","fatal"]},probableCause:{type:"array",description:"MeshKit's probable causes of the error.",items:{type:"string"}},suggestedRemediation:{type:"array",description:"MeshKit's suggested remediations for the error.",items:{type:"string"}}}}}}},MeshkitError500:{description:"Internal server error",content:{"application/json":{schema:{type:"object",description:"A MeshKit error answered as a JSON body. `error` is the sentence the caller is shown; MeshKit's long description is never serialized. Use the `MeshkitError400`, `MeshkitError403`, `MeshkitError404`, `MeshkitError409`, `MeshkitError500` and `MeshkitError502` responses for an operation whose server answers its refusals this way.",required:["error"],additionalProperties:false,properties:{error:{type:"string",minLength:1,description:"The sentence the caller is shown."},code:{type:"string",minLength:1,description:"MeshKit error code, e.g. `meshery_cloud-3420`. Omitted for an error that is not a MeshKit error."},severity:{type:"string",description:"MeshKit severity name. Omitted when MeshKit reports none.",enum:["emergency","alert","critical","fatal"]},probableCause:{type:"array",description:"MeshKit's probable causes of the error.",items:{type:"string"}},suggestedRemediation:{type:"array",description:"MeshKit's suggested remediations for the error.",items:{type:"string"}}}}}}},MeshkitError502:{description:"Bad gateway - an upstream service the operation depends on could not be reached or rejected the request",content:{"application/json":{schema:{type:"object",description:"A MeshKit error answered as a JSON body. `error` is the sentence the caller is shown; MeshKit's long description is never serialized. Use the `MeshkitError400`, `MeshkitError403`, `MeshkitError404`, `MeshkitError409`, `MeshkitError500` and `MeshkitError502` responses for an operation whose server answers its refusals this way.",required:["error"],additionalProperties:false,properties:{error:{type:"string",minLength:1,description:"The sentence the caller is shown."},code:{type:"string",minLength:1,description:"MeshKit error code, e.g. `meshery_cloud-3420`. Omitted for an error that is not a MeshKit error."},severity:{type:"string",description:"MeshKit severity name. Omitted when MeshKit reports none.",enum:["emergency","alert","critical","fatal"]},probableCause:{type:"array",description:"MeshKit's probable causes of the error.",items:{type:"string"}},suggestedRemediation:{type:"array",description:"MeshKit's suggested remediations for the error.",items:{type:"string"}}}}}}}},parameters:{page:{name:"page",in:"query",description:"Get responses by page",schema:{type:"integer",minimum:0}},pageSize:{name:"pageSize",in:"query",description:"Number of items per page.",schema:{type:"integer",minimum:1}},installationIdQuery:{name:"id",in:"query",required:true,description:"GitHub App installation id; must be one of the caller's verified installations.",schema:{type:"string",pattern:"^[1-9][0-9]*$"}},ignoredInstallationId:{name:"id",in:"query",required:false,deprecated:true,description:"Ignored. Accepted for compatibility; the server resolves the installation itself.",schema:{type:"string"}},repositoryName:{name:"name",in:"query",required:true,description:"Repository as `<owner>/<repo>`.",schema:{type:"string",maxLength:512}},owner:{name:"owner",in:"path",required:true,description:"Login of the account that owns the repository.",schema:{type:"string"}},repo:{name:"repo",in:"path",required:true,description:"Repository name, without its owner.",schema:{type:"string"}},flow:{name:"flow",in:"query",required:true,description:"`install` sends the browser to the GitHub App's installation page; `authorize` sends it to GitHub's user-authorization page for the App.",schema:{type:"string",enum:["install","authorize"]}},state:{name:"state",in:"query",required:true,description:"The single-use state `startGithubAuthorization` issued.",schema:{type:"string"}},code:{name:"code",in:"query",required:false,description:"GitHub's one-time authorization code.",schema:{type:"string"}},githubInstallationId:{name:"installation_id",in:"query",required:false,description:"The installation GitHub names on return (GitHub's parameter name). It is stored only when it is one of the installations GitHub lists for the authorizing account.",schema:{type:"string"}},githubSetupAction:{name:"setup_action",in:"query",required:false,description:"GitHub's setup action (GitHub's parameter name).",schema:{type:"string",enum:["install","update","request"]}}},schemas:{GithubInstallationRepositoryPage:{type:"object",description:"One page of GitHub's `GET /installation/repositories` answer, passed through as GitHub returns it (`total_count`, `repositories`).",additionalProperties:true},GithubRepositoryTree:{type:"array",description:"One page of a repository's file tree.",items:{type:"object",description:"One file or directory of a repository's file tree, with its children.",additionalProperties:false,properties:{id:{description:"Identifier of the tree item, for the UI's tree view.","x-go-name":"ID",type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},label:{type:"string",description:"Display name of the file or directory.",maxLength:4096},type:{type:"string",description:"Kind of the tree item, such as a file or a directory.",maxLength:64},entry:{type:"object",description:"GitHub's tree entry for the item, passed through as GitHub returns it.",additionalProperties:true},children:{type:"array",description:"The items under a directory, each shaped as a `GithubRepositoryTreeItem`.",items:{type:"object",additionalProperties:true}}}}},GithubRepositoryTreeItem:{type:"object",description:"One file or directory of a repository's file tree, with its children.",additionalProperties:false,properties:{id:{description:"Identifier of the tree item, for the UI's tree view.","x-go-name":"ID",type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},label:{type:"string",description:"Display name of the file or directory.",maxLength:4096},type:{type:"string",description:"Kind of the tree item, such as a file or a directory.",maxLength:64},entry:{type:"object",description:"GitHub's tree entry for the item, passed through as GitHub returns it.",additionalProperties:true},children:{type:"array",description:"The items under a directory, each shaped as a `GithubRepositoryTreeItem`.",items:{type:"object",additionalProperties:true}}}},GithubWorkflowVerification:{type:"object",description:"Whether the Kanvas workflow is already present in a repository.",additionalProperties:false,required:["status"],properties:{status:{type:"string",description:"`ok` when no workflow is present; `error` when one is (`fileUrl` names it) or the check failed (`error` says why).",enum:["ok","error"]},fileUrl:{type:"string",format:"uri",description:"URL of the workflow file already present."},error:{type:"string",maxLength:4096,description:"Why the repository cannot take the workflow."}}},GithubWorkflowInstallPayload:{type:"object",description:"The repositories to commit the Kanvas workflow into.",additionalProperties:false,required:["repositories"],properties:{repositories:{type:"array",description:"Repositories as `<owner>/<repo>`.",items:{type:"string",maxLength:512}}}},GithubWorkflowInstallResponse:{type:"array",description:"One single-key entry per requested repository, keyed by `<owner>/<repo>`.",items:{type:"object",additionalProperties:{type:"object",description:"The outcome of committing the workflow into one repository.",additionalProperties:false,properties:{code:{type:"integer",minimum:100,maximum:599,description:"HTTP-style status of the repository's outcome; `400` for a malformed repository identifier."},description:{type:"string",maxLength:4096,description:"The outcome, in words."}}}}},GithubWorkflowInstallResult:{type:"object",description:"The outcome of committing the workflow into one repository.",additionalProperties:false,properties:{code:{type:"integer",minimum:100,maximum:599,description:"HTTP-style status of the repository's outcome; `400` for a malformed repository identifier."},description:{type:"string",maxLength:4096,description:"The outcome, in words."}}},GithubConnectionMetadata:{type:"object",description:"Metadata of a `kind: github` connection, as Meshery Cloud writes it. `installations`, `installationId` and `installationsVerifiedAt` are server-written: a connection edit can neither set nor erase them (see `updateConnection`).",properties:{installationId:{type:"string",description:"The installation the connection wizard opens on; always one of `installations`.","x-id-format":"external",pattern:"^[1-9][0-9]*$"},installations:{type:"array",description:"The verified installations - those GitHub listed for the owner's GitHub account at the last authorization. Absent on a connection that predates verification (which must be re-authorized); an empty set is never stored.",items:{type:"object",description:"One verified GitHub App installation.",required:["id"],properties:{id:{type:"string",description:"GitHub App installation id.","x-id-format":"external",pattern:"^[1-9][0-9]*$"},account:{type:"string",description:"Login of the account the App is installed on.",maxLength:255},accountType:{type:"string",description:"Type of the account the App is installed on, as GitHub names it.","x-enum-casing-exempt":true,enum:["User","Organization"]}}}},installationsVerifiedAt:{type:"string",format:"date-time",description:"When `installations` was last verified with GitHub."},snapshotPaths:{type:"array",description:"Per-repository snapshot path preferences.",items:{type:"object",additionalProperties:{type:"string"}}}}},GithubInstallation:{type:"object",description:"One verified GitHub App installation.",required:["id"],properties:{id:{type:"string",description:"GitHub App installation id.","x-id-format":"external",pattern:"^[1-9][0-9]*$"},account:{type:"string",description:"Login of the account the App is installed on.",maxLength:255},accountType:{type:"string",description:"Type of the account the App is installed on, as GitHub names it.","x-enum-casing-exempt":true,enum:["User","Organization"]}}}}}},r=e;
12
- module.exports=r;
11
+ `,version:"v1beta3",contact:{name:"Meshery Maintainers",email:"maintainers@meshery.io",url:"https://meshery.io"},license:{name:"Apache 2.0",url:"https://www.apache.org/licenses/LICENSE-2.0.html"}},security:[{jwt:[]}],tags:[{name:"github",description:"GitHub App connection status and authorization, installation repositories, repository trees and the Kanvas workflow."}],paths:{"/api/integrations/github/status":{get:{"x-internal":["cloud"],tags:["github"],summary:"Whether the caller's GitHub connection is usable",operationId:"getGithubAppStatus",description:"Checks the caller's GitHub App connection. A connection is usable only when its installations were verified against the caller's own GitHub account and GitHub confirms the installation it opens on still exists. `403` with a MeshKit error saying the connection must be re-authorized means it predates verification; re-authorize it with `startGithubAuthorization` (`flow=authorize`). When GitHub reports the installation the connection opens on removed, that installation is dropped and the connection re-points at its next verified installation, which is checked in turn: `200` when one remains. `404` means the caller has no GitHub connection, or no verified installation remains - in which case the connection is deleted. `502` means GitHub could not confirm either way; the connection is kept.\n",responses:{200:{description:"The connection is verified and its installation exists. No body."},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},403:{description:"Forbidden",content:{"application/json":{schema:{type:"object",description:"A MeshKit error answered as a JSON body. `error` is the sentence the caller is shown; MeshKit's long description is never serialized. Use the `MeshkitError400`, `MeshkitError403`, `MeshkitError404`, `MeshkitError409`, `MeshkitError500` and `MeshkitError502` responses for an operation whose server answers its refusals this way.",required:["error"],additionalProperties:false,properties:{error:{type:"string",minLength:1,description:"The sentence the caller is shown."},code:{type:"string",minLength:1,description:"MeshKit error code, a component-scoped identifier allocated by the emitting service (e.g. `<component>-<number>`); it is not a stable part of this contract. Omitted for an error that is not a MeshKit error."},severity:{type:"string",description:"MeshKit severity name. Omitted when MeshKit reports none.",enum:["emergency","alert","critical","fatal"]},probableCause:{type:"array",description:"MeshKit's probable causes of the error.",items:{type:"string"}},suggestedRemediation:{type:"array",description:"MeshKit's suggested remediations for the error.",items:{type:"string"}}}}}}},404:{description:"Result not found",content:{"application/json":{schema:{type:"object",description:"A MeshKit error answered as a JSON body. `error` is the sentence the caller is shown; MeshKit's long description is never serialized. Use the `MeshkitError400`, `MeshkitError403`, `MeshkitError404`, `MeshkitError409`, `MeshkitError500` and `MeshkitError502` responses for an operation whose server answers its refusals this way.",required:["error"],additionalProperties:false,properties:{error:{type:"string",minLength:1,description:"The sentence the caller is shown."},code:{type:"string",minLength:1,description:"MeshKit error code, a component-scoped identifier allocated by the emitting service (e.g. `<component>-<number>`); it is not a stable part of this contract. Omitted for an error that is not a MeshKit error."},severity:{type:"string",description:"MeshKit severity name. Omitted when MeshKit reports none.",enum:["emergency","alert","critical","fatal"]},probableCause:{type:"array",description:"MeshKit's probable causes of the error.",items:{type:"string"}},suggestedRemediation:{type:"array",description:"MeshKit's suggested remediations for the error.",items:{type:"string"}}}}}}},500:{description:"Internal server error",content:{"application/json":{schema:{type:"object",description:"A MeshKit error answered as a JSON body. `error` is the sentence the caller is shown; MeshKit's long description is never serialized. Use the `MeshkitError400`, `MeshkitError403`, `MeshkitError404`, `MeshkitError409`, `MeshkitError500` and `MeshkitError502` responses for an operation whose server answers its refusals this way.",required:["error"],additionalProperties:false,properties:{error:{type:"string",minLength:1,description:"The sentence the caller is shown."},code:{type:"string",minLength:1,description:"MeshKit error code, a component-scoped identifier allocated by the emitting service (e.g. `<component>-<number>`); it is not a stable part of this contract. Omitted for an error that is not a MeshKit error."},severity:{type:"string",description:"MeshKit severity name. Omitted when MeshKit reports none.",enum:["emergency","alert","critical","fatal"]},probableCause:{type:"array",description:"MeshKit's probable causes of the error.",items:{type:"string"}},suggestedRemediation:{type:"array",description:"MeshKit's suggested remediations for the error.",items:{type:"string"}}}}}}},502:{description:"Bad gateway - an upstream service the operation depends on could not be reached or rejected the request",content:{"application/json":{schema:{type:"object",description:"A MeshKit error answered as a JSON body. `error` is the sentence the caller is shown; MeshKit's long description is never serialized. Use the `MeshkitError400`, `MeshkitError403`, `MeshkitError404`, `MeshkitError409`, `MeshkitError500` and `MeshkitError502` responses for an operation whose server answers its refusals this way.",required:["error"],additionalProperties:false,properties:{error:{type:"string",minLength:1,description:"The sentence the caller is shown."},code:{type:"string",minLength:1,description:"MeshKit error code, a component-scoped identifier allocated by the emitting service (e.g. `<component>-<number>`); it is not a stable part of this contract. Omitted for an error that is not a MeshKit error."},severity:{type:"string",description:"MeshKit severity name. Omitted when MeshKit reports none.",enum:["emergency","alert","critical","fatal"]},probableCause:{type:"array",description:"MeshKit's probable causes of the error.",items:{type:"string"}},suggestedRemediation:{type:"array",description:"MeshKit's suggested remediations for the error.",items:{type:"string"}}}}}}}}}},"/api/integrations/github":{get:{"x-internal":["cloud"],tags:["github"],summary:"List the repositories one of the caller's installations can access",operationId:"getGithubInstallationRepositories",description:"Returns one page of the repositories a GitHub App installation can access. `id` must name one of the caller's verified GitHub App installations; any other id - another account's, or one that does not exist - is the same `403`, so the route does not reveal which installations exist. `502` means GitHub could not be reached or rejected the request.\n",parameters:[{name:"id",in:"query",required:true,description:"GitHub App installation id; must be one of the caller's verified installations.",schema:{type:"string",pattern:"^[1-9][0-9]*$"}},{name:"page",in:"query",description:"Get responses by page",schema:{type:"integer",minimum:0}}],responses:{200:{description:"One page of the installation's repositories.",content:{"application/json":{schema:{type:"object",description:"One page of GitHub's `GET /installation/repositories` answer, passed through as GitHub returns it (`total_count`, `repositories`).",additionalProperties:true}}}},400:{description:"Invalid request body or request param",content:{"application/json":{schema:{type:"object",description:"A MeshKit error answered as a JSON body. `error` is the sentence the caller is shown; MeshKit's long description is never serialized. Use the `MeshkitError400`, `MeshkitError403`, `MeshkitError404`, `MeshkitError409`, `MeshkitError500` and `MeshkitError502` responses for an operation whose server answers its refusals this way.",required:["error"],additionalProperties:false,properties:{error:{type:"string",minLength:1,description:"The sentence the caller is shown."},code:{type:"string",minLength:1,description:"MeshKit error code, a component-scoped identifier allocated by the emitting service (e.g. `<component>-<number>`); it is not a stable part of this contract. Omitted for an error that is not a MeshKit error."},severity:{type:"string",description:"MeshKit severity name. Omitted when MeshKit reports none.",enum:["emergency","alert","critical","fatal"]},probableCause:{type:"array",description:"MeshKit's probable causes of the error.",items:{type:"string"}},suggestedRemediation:{type:"array",description:"MeshKit's suggested remediations for the error.",items:{type:"string"}}}}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},403:{description:"Forbidden",content:{"application/json":{schema:{type:"object",description:"A MeshKit error answered as a JSON body. `error` is the sentence the caller is shown; MeshKit's long description is never serialized. Use the `MeshkitError400`, `MeshkitError403`, `MeshkitError404`, `MeshkitError409`, `MeshkitError500` and `MeshkitError502` responses for an operation whose server answers its refusals this way.",required:["error"],additionalProperties:false,properties:{error:{type:"string",minLength:1,description:"The sentence the caller is shown."},code:{type:"string",minLength:1,description:"MeshKit error code, a component-scoped identifier allocated by the emitting service (e.g. `<component>-<number>`); it is not a stable part of this contract. Omitted for an error that is not a MeshKit error."},severity:{type:"string",description:"MeshKit severity name. Omitted when MeshKit reports none.",enum:["emergency","alert","critical","fatal"]},probableCause:{type:"array",description:"MeshKit's probable causes of the error.",items:{type:"string"}},suggestedRemediation:{type:"array",description:"MeshKit's suggested remediations for the error.",items:{type:"string"}}}}}}},500:{description:"Internal server error",content:{"application/json":{schema:{type:"object",description:"A MeshKit error answered as a JSON body. `error` is the sentence the caller is shown; MeshKit's long description is never serialized. Use the `MeshkitError400`, `MeshkitError403`, `MeshkitError404`, `MeshkitError409`, `MeshkitError500` and `MeshkitError502` responses for an operation whose server answers its refusals this way.",required:["error"],additionalProperties:false,properties:{error:{type:"string",minLength:1,description:"The sentence the caller is shown."},code:{type:"string",minLength:1,description:"MeshKit error code, a component-scoped identifier allocated by the emitting service (e.g. `<component>-<number>`); it is not a stable part of this contract. Omitted for an error that is not a MeshKit error."},severity:{type:"string",description:"MeshKit severity name. Omitted when MeshKit reports none.",enum:["emergency","alert","critical","fatal"]},probableCause:{type:"array",description:"MeshKit's probable causes of the error.",items:{type:"string"}},suggestedRemediation:{type:"array",description:"MeshKit's suggested remediations for the error.",items:{type:"string"}}}}}}},502:{description:"Bad gateway - an upstream service the operation depends on could not be reached or rejected the request",content:{"application/json":{schema:{type:"object",description:"A MeshKit error answered as a JSON body. `error` is the sentence the caller is shown; MeshKit's long description is never serialized. Use the `MeshkitError400`, `MeshkitError403`, `MeshkitError404`, `MeshkitError409`, `MeshkitError500` and `MeshkitError502` responses for an operation whose server answers its refusals this way.",required:["error"],additionalProperties:false,properties:{error:{type:"string",minLength:1,description:"The sentence the caller is shown."},code:{type:"string",minLength:1,description:"MeshKit error code, a component-scoped identifier allocated by the emitting service (e.g. `<component>-<number>`); it is not a stable part of this contract. Omitted for an error that is not a MeshKit error."},severity:{type:"string",description:"MeshKit severity name. Omitted when MeshKit reports none.",enum:["emergency","alert","critical","fatal"]},probableCause:{type:"array",description:"MeshKit's probable causes of the error.",items:{type:"string"}},suggestedRemediation:{type:"array",description:"MeshKit's suggested remediations for the error.",items:{type:"string"}}}}}}}}}},"/api/integrations/github/scan":{get:{"x-internal":["cloud"],tags:["github"],summary:"One page of a repository's file tree",operationId:"scanGithubRepository",description:"Returns one page of a repository's file tree, as nested tree items. The repository must be reachable through one of the caller's verified GitHub App installations; otherwise the request is refused with the same uniform `403` as `importGithubRepository`, which does not reveal where the App is installed. `206` answers a page of a tree that has further pages.\n",parameters:[{name:"name",in:"query",required:true,description:"Repository as `<owner>/<repo>`.",schema:{type:"string",maxLength:512}},{name:"page",in:"query",description:"Get responses by page",schema:{type:"integer",minimum:0}},{name:"pageSize",in:"query",description:"Number of items per page.",schema:{type:"integer",minimum:1}}],responses:{200:{description:"Tree page.",content:{"application/json":{schema:{type:"array",description:"One page of a repository's file tree.",items:{type:"object",description:"One file or directory of a repository's file tree, with its children.",additionalProperties:false,properties:{id:{description:"Identifier of the tree item, for the UI's tree view.","x-go-name":"ID",type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},label:{type:"string",description:"Display name of the file or directory.",maxLength:4096},type:{type:"string",description:"Kind of the tree item, such as a file or a directory.",maxLength:64},entry:{type:"object",description:"GitHub's tree entry for the item, passed through as GitHub returns it.",additionalProperties:true},children:{type:"array",description:"The items under a directory, each shaped as a `GithubRepositoryTreeItem`.",items:{type:"object",additionalProperties:true}}}}}}}},206:{description:"Tree page of a tree that has further pages.",content:{"application/json":{schema:{type:"array",description:"One page of a repository's file tree.",items:{type:"object",description:"One file or directory of a repository's file tree, with its children.",additionalProperties:false,properties:{id:{description:"Identifier of the tree item, for the UI's tree view.","x-go-name":"ID",type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},label:{type:"string",description:"Display name of the file or directory.",maxLength:4096},type:{type:"string",description:"Kind of the tree item, such as a file or a directory.",maxLength:64},entry:{type:"object",description:"GitHub's tree entry for the item, passed through as GitHub returns it.",additionalProperties:true},children:{type:"array",description:"The items under a directory, each shaped as a `GithubRepositoryTreeItem`.",items:{type:"object",additionalProperties:true}}}}}}}},400:{description:"Invalid request body or request param",content:{"application/json":{schema:{type:"object",description:"A MeshKit error answered as a JSON body. `error` is the sentence the caller is shown; MeshKit's long description is never serialized. Use the `MeshkitError400`, `MeshkitError403`, `MeshkitError404`, `MeshkitError409`, `MeshkitError500` and `MeshkitError502` responses for an operation whose server answers its refusals this way.",required:["error"],additionalProperties:false,properties:{error:{type:"string",minLength:1,description:"The sentence the caller is shown."},code:{type:"string",minLength:1,description:"MeshKit error code, a component-scoped identifier allocated by the emitting service (e.g. `<component>-<number>`); it is not a stable part of this contract. Omitted for an error that is not a MeshKit error."},severity:{type:"string",description:"MeshKit severity name. Omitted when MeshKit reports none.",enum:["emergency","alert","critical","fatal"]},probableCause:{type:"array",description:"MeshKit's probable causes of the error.",items:{type:"string"}},suggestedRemediation:{type:"array",description:"MeshKit's suggested remediations for the error.",items:{type:"string"}}}}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},403:{description:"Forbidden",content:{"application/json":{schema:{type:"object",description:"A MeshKit error answered as a JSON body. `error` is the sentence the caller is shown; MeshKit's long description is never serialized. Use the `MeshkitError400`, `MeshkitError403`, `MeshkitError404`, `MeshkitError409`, `MeshkitError500` and `MeshkitError502` responses for an operation whose server answers its refusals this way.",required:["error"],additionalProperties:false,properties:{error:{type:"string",minLength:1,description:"The sentence the caller is shown."},code:{type:"string",minLength:1,description:"MeshKit error code, a component-scoped identifier allocated by the emitting service (e.g. `<component>-<number>`); it is not a stable part of this contract. Omitted for an error that is not a MeshKit error."},severity:{type:"string",description:"MeshKit severity name. Omitted when MeshKit reports none.",enum:["emergency","alert","critical","fatal"]},probableCause:{type:"array",description:"MeshKit's probable causes of the error.",items:{type:"string"}},suggestedRemediation:{type:"array",description:"MeshKit's suggested remediations for the error.",items:{type:"string"}}}}}}},500:{description:"Internal server error",content:{"application/json":{schema:{type:"object",description:"A MeshKit error answered as a JSON body. `error` is the sentence the caller is shown; MeshKit's long description is never serialized. Use the `MeshkitError400`, `MeshkitError403`, `MeshkitError404`, `MeshkitError409`, `MeshkitError500` and `MeshkitError502` responses for an operation whose server answers its refusals this way.",required:["error"],additionalProperties:false,properties:{error:{type:"string",minLength:1,description:"The sentence the caller is shown."},code:{type:"string",minLength:1,description:"MeshKit error code, a component-scoped identifier allocated by the emitting service (e.g. `<component>-<number>`); it is not a stable part of this contract. Omitted for an error that is not a MeshKit error."},severity:{type:"string",description:"MeshKit severity name. Omitted when MeshKit reports none.",enum:["emergency","alert","critical","fatal"]},probableCause:{type:"array",description:"MeshKit's probable causes of the error.",items:{type:"string"}},suggestedRemediation:{type:"array",description:"MeshKit's suggested remediations for the error.",items:{type:"string"}}}}}}},502:{description:"Bad gateway - an upstream service the operation depends on could not be reached or rejected the request",content:{"application/json":{schema:{type:"object",description:"A MeshKit error answered as a JSON body. `error` is the sentence the caller is shown; MeshKit's long description is never serialized. Use the `MeshkitError400`, `MeshkitError403`, `MeshkitError404`, `MeshkitError409`, `MeshkitError500` and `MeshkitError502` responses for an operation whose server answers its refusals this way.",required:["error"],additionalProperties:false,properties:{error:{type:"string",minLength:1,description:"The sentence the caller is shown."},code:{type:"string",minLength:1,description:"MeshKit error code, a component-scoped identifier allocated by the emitting service (e.g. `<component>-<number>`); it is not a stable part of this contract. Omitted for an error that is not a MeshKit error."},severity:{type:"string",description:"MeshKit severity name. Omitted when MeshKit reports none.",enum:["emergency","alert","critical","fatal"]},probableCause:{type:"array",description:"MeshKit's probable causes of the error.",items:{type:"string"}},suggestedRemediation:{type:"array",description:"MeshKit's suggested remediations for the error.",items:{type:"string"}}}}}}}}}},"/api/integrations/github/verify/{owner}/{repo}":{post:{"x-internal":["cloud"],tags:["github"],summary:"Whether the Kanvas workflow is already present in a repository",operationId:"verifyGithubRepositoryWorkflow",description:"Reports whether the Kanvas workflow is already committed to a repository. The repository's installation is resolved and authorized by the server; the `id` query parameter is accepted for compatibility and is not consulted. A repository the caller cannot reach through one of their verified GitHub App installations is refused with the same uniform `403` as `importGithubRepository`. No request body.\n",parameters:[{name:"owner",in:"path",required:true,description:"Login of the account that owns the repository.",schema:{type:"string"}},{name:"repo",in:"path",required:true,description:"Repository name, without its owner.",schema:{type:"string"}},{name:"id",in:"query",required:false,deprecated:true,description:"Ignored. Accepted for compatibility; the server resolves the installation itself.",schema:{type:"string"}}],responses:{200:{description:"Workflow presence.",content:{"application/json":{schema:{type:"object",description:"Whether the Kanvas workflow is already present in a repository.",additionalProperties:false,required:["status"],properties:{status:{type:"string",description:"`ok` when no workflow is present; `error` when one is (`fileUrl` names it) or the check failed (`error` says why).",enum:["ok","error"]},fileUrl:{type:"string",format:"uri",description:"URL of the workflow file already present."},error:{type:"string",maxLength:4096,description:"Why the repository cannot take the workflow."}}}}}},400:{description:"Invalid request body or request param",content:{"application/json":{schema:{type:"object",description:"A MeshKit error answered as a JSON body. `error` is the sentence the caller is shown; MeshKit's long description is never serialized. Use the `MeshkitError400`, `MeshkitError403`, `MeshkitError404`, `MeshkitError409`, `MeshkitError500` and `MeshkitError502` responses for an operation whose server answers its refusals this way.",required:["error"],additionalProperties:false,properties:{error:{type:"string",minLength:1,description:"The sentence the caller is shown."},code:{type:"string",minLength:1,description:"MeshKit error code, a component-scoped identifier allocated by the emitting service (e.g. `<component>-<number>`); it is not a stable part of this contract. Omitted for an error that is not a MeshKit error."},severity:{type:"string",description:"MeshKit severity name. Omitted when MeshKit reports none.",enum:["emergency","alert","critical","fatal"]},probableCause:{type:"array",description:"MeshKit's probable causes of the error.",items:{type:"string"}},suggestedRemediation:{type:"array",description:"MeshKit's suggested remediations for the error.",items:{type:"string"}}}}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},403:{description:"Forbidden",content:{"application/json":{schema:{type:"object",description:"A MeshKit error answered as a JSON body. `error` is the sentence the caller is shown; MeshKit's long description is never serialized. Use the `MeshkitError400`, `MeshkitError403`, `MeshkitError404`, `MeshkitError409`, `MeshkitError500` and `MeshkitError502` responses for an operation whose server answers its refusals this way.",required:["error"],additionalProperties:false,properties:{error:{type:"string",minLength:1,description:"The sentence the caller is shown."},code:{type:"string",minLength:1,description:"MeshKit error code, a component-scoped identifier allocated by the emitting service (e.g. `<component>-<number>`); it is not a stable part of this contract. Omitted for an error that is not a MeshKit error."},severity:{type:"string",description:"MeshKit severity name. Omitted when MeshKit reports none.",enum:["emergency","alert","critical","fatal"]},probableCause:{type:"array",description:"MeshKit's probable causes of the error.",items:{type:"string"}},suggestedRemediation:{type:"array",description:"MeshKit's suggested remediations for the error.",items:{type:"string"}}}}}}},500:{description:"Internal server error",content:{"application/json":{schema:{type:"object",description:"A MeshKit error answered as a JSON body. `error` is the sentence the caller is shown; MeshKit's long description is never serialized. Use the `MeshkitError400`, `MeshkitError403`, `MeshkitError404`, `MeshkitError409`, `MeshkitError500` and `MeshkitError502` responses for an operation whose server answers its refusals this way.",required:["error"],additionalProperties:false,properties:{error:{type:"string",minLength:1,description:"The sentence the caller is shown."},code:{type:"string",minLength:1,description:"MeshKit error code, a component-scoped identifier allocated by the emitting service (e.g. `<component>-<number>`); it is not a stable part of this contract. Omitted for an error that is not a MeshKit error."},severity:{type:"string",description:"MeshKit severity name. Omitted when MeshKit reports none.",enum:["emergency","alert","critical","fatal"]},probableCause:{type:"array",description:"MeshKit's probable causes of the error.",items:{type:"string"}},suggestedRemediation:{type:"array",description:"MeshKit's suggested remediations for the error.",items:{type:"string"}}}}}}},502:{description:"Bad gateway - an upstream service the operation depends on could not be reached or rejected the request",content:{"application/json":{schema:{type:"object",description:"A MeshKit error answered as a JSON body. `error` is the sentence the caller is shown; MeshKit's long description is never serialized. Use the `MeshkitError400`, `MeshkitError403`, `MeshkitError404`, `MeshkitError409`, `MeshkitError500` and `MeshkitError502` responses for an operation whose server answers its refusals this way.",required:["error"],additionalProperties:false,properties:{error:{type:"string",minLength:1,description:"The sentence the caller is shown."},code:{type:"string",minLength:1,description:"MeshKit error code, a component-scoped identifier allocated by the emitting service (e.g. `<component>-<number>`); it is not a stable part of this contract. Omitted for an error that is not a MeshKit error."},severity:{type:"string",description:"MeshKit severity name. Omitted when MeshKit reports none.",enum:["emergency","alert","critical","fatal"]},probableCause:{type:"array",description:"MeshKit's probable causes of the error.",items:{type:"string"}},suggestedRemediation:{type:"array",description:"MeshKit's suggested remediations for the error.",items:{type:"string"}}}}}}}}}},"/api/integrations/github/install":{post:{"x-internal":["cloud"],tags:["github"],summary:"Commit the Kanvas workflow into repositories",operationId:"installGithubWorkflow",description:"Commits the Kanvas workflow into each requested repository. Every well-formed repository is authorized before anything is written: one repository the caller cannot reach through their verified GitHub App installations refuses the whole request with the uniform `403`, and nothing is committed anywhere. A malformed repository identifier is reported per repository (`code: 400`) and never reaches GitHub. The `id` query parameter is accepted for compatibility and is not consulted.\n",parameters:[{name:"id",in:"query",required:false,deprecated:true,description:"Ignored. Accepted for compatibility; the server resolves the installation itself.",schema:{type:"string"}}],requestBody:{required:true,content:{"application/json":{schema:{type:"object",description:"The repositories to commit the Kanvas workflow into.",additionalProperties:false,required:["repositories"],properties:{repositories:{type:"array",description:"Repositories as `<owner>/<repo>`.",items:{type:"string",maxLength:512}}}}}}},responses:{200:{description:"One entry per requested repository.",content:{"application/json":{schema:{type:"array",description:"One single-key entry per requested repository, keyed by `<owner>/<repo>`.",items:{type:"object",additionalProperties:{type:"object",description:"The outcome of committing the workflow into one repository.",additionalProperties:false,properties:{code:{type:"integer",minimum:100,maximum:599,description:"HTTP-style status of the repository's outcome; `400` for a malformed repository identifier."},description:{type:"string",maxLength:4096,description:"The outcome, in words."}}}}}}}},400:{description:"Invalid request body or request param",content:{"application/json":{schema:{type:"object",description:"A MeshKit error answered as a JSON body. `error` is the sentence the caller is shown; MeshKit's long description is never serialized. Use the `MeshkitError400`, `MeshkitError403`, `MeshkitError404`, `MeshkitError409`, `MeshkitError500` and `MeshkitError502` responses for an operation whose server answers its refusals this way.",required:["error"],additionalProperties:false,properties:{error:{type:"string",minLength:1,description:"The sentence the caller is shown."},code:{type:"string",minLength:1,description:"MeshKit error code, a component-scoped identifier allocated by the emitting service (e.g. `<component>-<number>`); it is not a stable part of this contract. Omitted for an error that is not a MeshKit error."},severity:{type:"string",description:"MeshKit severity name. Omitted when MeshKit reports none.",enum:["emergency","alert","critical","fatal"]},probableCause:{type:"array",description:"MeshKit's probable causes of the error.",items:{type:"string"}},suggestedRemediation:{type:"array",description:"MeshKit's suggested remediations for the error.",items:{type:"string"}}}}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},403:{description:"Forbidden",content:{"application/json":{schema:{type:"object",description:"A MeshKit error answered as a JSON body. `error` is the sentence the caller is shown; MeshKit's long description is never serialized. Use the `MeshkitError400`, `MeshkitError403`, `MeshkitError404`, `MeshkitError409`, `MeshkitError500` and `MeshkitError502` responses for an operation whose server answers its refusals this way.",required:["error"],additionalProperties:false,properties:{error:{type:"string",minLength:1,description:"The sentence the caller is shown."},code:{type:"string",minLength:1,description:"MeshKit error code, a component-scoped identifier allocated by the emitting service (e.g. `<component>-<number>`); it is not a stable part of this contract. Omitted for an error that is not a MeshKit error."},severity:{type:"string",description:"MeshKit severity name. Omitted when MeshKit reports none.",enum:["emergency","alert","critical","fatal"]},probableCause:{type:"array",description:"MeshKit's probable causes of the error.",items:{type:"string"}},suggestedRemediation:{type:"array",description:"MeshKit's suggested remediations for the error.",items:{type:"string"}}}}}}},500:{description:"Internal server error",content:{"application/json":{schema:{type:"object",description:"A MeshKit error answered as a JSON body. `error` is the sentence the caller is shown; MeshKit's long description is never serialized. Use the `MeshkitError400`, `MeshkitError403`, `MeshkitError404`, `MeshkitError409`, `MeshkitError500` and `MeshkitError502` responses for an operation whose server answers its refusals this way.",required:["error"],additionalProperties:false,properties:{error:{type:"string",minLength:1,description:"The sentence the caller is shown."},code:{type:"string",minLength:1,description:"MeshKit error code, a component-scoped identifier allocated by the emitting service (e.g. `<component>-<number>`); it is not a stable part of this contract. Omitted for an error that is not a MeshKit error."},severity:{type:"string",description:"MeshKit severity name. Omitted when MeshKit reports none.",enum:["emergency","alert","critical","fatal"]},probableCause:{type:"array",description:"MeshKit's probable causes of the error.",items:{type:"string"}},suggestedRemediation:{type:"array",description:"MeshKit's suggested remediations for the error.",items:{type:"string"}}}}}}},502:{description:"Bad gateway - an upstream service the operation depends on could not be reached or rejected the request",content:{"application/json":{schema:{type:"object",description:"A MeshKit error answered as a JSON body. `error` is the sentence the caller is shown; MeshKit's long description is never serialized. Use the `MeshkitError400`, `MeshkitError403`, `MeshkitError404`, `MeshkitError409`, `MeshkitError500` and `MeshkitError502` responses for an operation whose server answers its refusals this way.",required:["error"],additionalProperties:false,properties:{error:{type:"string",minLength:1,description:"The sentence the caller is shown."},code:{type:"string",minLength:1,description:"MeshKit error code, a component-scoped identifier allocated by the emitting service (e.g. `<component>-<number>`); it is not a stable part of this contract. Omitted for an error that is not a MeshKit error."},severity:{type:"string",description:"MeshKit severity name. Omitted when MeshKit reports none.",enum:["emergency","alert","critical","fatal"]},probableCause:{type:"array",description:"MeshKit's probable causes of the error.",items:{type:"string"}},suggestedRemediation:{type:"array",description:"MeshKit's suggested remediations for the error.",items:{type:"string"}}}}}}}}}},"/api/integrations/github/authorize":{get:{"x-internal":["cloud"],tags:["github"],summary:"Start a trip to GitHub (browser navigation)",operationId:"startGithubAuthorization",description:"Browser navigation, not a data call. Issues a single-use state bound to the signed-in user (consumed once, five-minute lifetime) and redirects to GitHub carrying it: `flow=install` to the GitHub App's installation page (derived from the App's own `html_url`), `flow=authorize` to GitHub's user-authorization page for the App. The UI never links to GitHub directly. Failures redirect to `/connect/github/new/<userId>?githubError=<reason>`, as the callback does.\n",parameters:[{name:"flow",in:"query",required:true,description:"`install` sends the browser to the GitHub App's installation page; `authorize` sends it to GitHub's user-authorization page for the App.",schema:{type:"string",enum:["install","authorize"]}}],responses:{302:{description:"Redirect to GitHub, or to the connection wizard with a reason."},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}}}}},"/api/integrations/github/callback":{get:{"x-internal":["cloud"],tags:["github"],summary:"The GitHub App's callback (browser navigation)",operationId:"githubAppCallback",description:"Browser navigation, not a data call. GitHub returns the browser here with the `state` issued by `startGithubAuthorization` and a one-time `code`. A missing, expired, reused or foreign `state` is refused before the code is exchanged or any connection is touched (`githubError=authorization-stale`). The server then exchanges the code for a user-to-server token, lists the installations of the App the authorizing GitHub account can access (GitHub's `GET /user/installations`) and stores exactly that set on the caller's GitHub connection - creating it, or updating it in place. An `installation_id` not in that set is never stored, and a result of zero installations never deletes or replaces an existing connection. Always answers a `302`: to `/connect/github/verify?githubLogin=true&id=<installation>[&setup_action=update]` on success, else to `/connect/github/new/<userId>?githubError=<reason>`, `reason` one of `authorization-failed`, `authorization-stale`, `authorization-unavailable`, `connection-failed`, `installation-not-verified`, `no-installations`. The `installation_id` and `setup_action` query parameter names are GitHub's and are kept as GitHub sends them.\n",parameters:[{name:"state",in:"query",required:true,description:"The single-use state `startGithubAuthorization` issued.",schema:{type:"string"}},{name:"code",in:"query",required:false,description:"GitHub's one-time authorization code.",schema:{type:"string"}},{name:"installation_id",in:"query",required:false,description:"The installation GitHub names on return (GitHub's parameter name). It is stored only when it is one of the installations GitHub lists for the authorizing account.",schema:{type:"string"}},{name:"setup_action",in:"query",required:false,description:"GitHub's setup action (GitHub's parameter name).",schema:{type:"string",enum:["install","update","request"]}}],responses:{302:{description:"Redirect to the connection wizard, as described."},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}}}}}},components:{securitySchemes:{jwt:{type:"http",scheme:"bearer",bearerFormat:"JWT"}},responses:{401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},MeshkitError400:{description:"Invalid request body or request param",content:{"application/json":{schema:{type:"object",description:"A MeshKit error answered as a JSON body. `error` is the sentence the caller is shown; MeshKit's long description is never serialized. Use the `MeshkitError400`, `MeshkitError403`, `MeshkitError404`, `MeshkitError409`, `MeshkitError500` and `MeshkitError502` responses for an operation whose server answers its refusals this way.",required:["error"],additionalProperties:false,properties:{error:{type:"string",minLength:1,description:"The sentence the caller is shown."},code:{type:"string",minLength:1,description:"MeshKit error code, a component-scoped identifier allocated by the emitting service (e.g. `<component>-<number>`); it is not a stable part of this contract. Omitted for an error that is not a MeshKit error."},severity:{type:"string",description:"MeshKit severity name. Omitted when MeshKit reports none.",enum:["emergency","alert","critical","fatal"]},probableCause:{type:"array",description:"MeshKit's probable causes of the error.",items:{type:"string"}},suggestedRemediation:{type:"array",description:"MeshKit's suggested remediations for the error.",items:{type:"string"}}}}}}},MeshkitError403:{description:"Forbidden",content:{"application/json":{schema:{type:"object",description:"A MeshKit error answered as a JSON body. `error` is the sentence the caller is shown; MeshKit's long description is never serialized. Use the `MeshkitError400`, `MeshkitError403`, `MeshkitError404`, `MeshkitError409`, `MeshkitError500` and `MeshkitError502` responses for an operation whose server answers its refusals this way.",required:["error"],additionalProperties:false,properties:{error:{type:"string",minLength:1,description:"The sentence the caller is shown."},code:{type:"string",minLength:1,description:"MeshKit error code, a component-scoped identifier allocated by the emitting service (e.g. `<component>-<number>`); it is not a stable part of this contract. Omitted for an error that is not a MeshKit error."},severity:{type:"string",description:"MeshKit severity name. Omitted when MeshKit reports none.",enum:["emergency","alert","critical","fatal"]},probableCause:{type:"array",description:"MeshKit's probable causes of the error.",items:{type:"string"}},suggestedRemediation:{type:"array",description:"MeshKit's suggested remediations for the error.",items:{type:"string"}}}}}}},MeshkitError404:{description:"Result not found",content:{"application/json":{schema:{type:"object",description:"A MeshKit error answered as a JSON body. `error` is the sentence the caller is shown; MeshKit's long description is never serialized. Use the `MeshkitError400`, `MeshkitError403`, `MeshkitError404`, `MeshkitError409`, `MeshkitError500` and `MeshkitError502` responses for an operation whose server answers its refusals this way.",required:["error"],additionalProperties:false,properties:{error:{type:"string",minLength:1,description:"The sentence the caller is shown."},code:{type:"string",minLength:1,description:"MeshKit error code, a component-scoped identifier allocated by the emitting service (e.g. `<component>-<number>`); it is not a stable part of this contract. Omitted for an error that is not a MeshKit error."},severity:{type:"string",description:"MeshKit severity name. Omitted when MeshKit reports none.",enum:["emergency","alert","critical","fatal"]},probableCause:{type:"array",description:"MeshKit's probable causes of the error.",items:{type:"string"}},suggestedRemediation:{type:"array",description:"MeshKit's suggested remediations for the error.",items:{type:"string"}}}}}}},MeshkitError500:{description:"Internal server error",content:{"application/json":{schema:{type:"object",description:"A MeshKit error answered as a JSON body. `error` is the sentence the caller is shown; MeshKit's long description is never serialized. Use the `MeshkitError400`, `MeshkitError403`, `MeshkitError404`, `MeshkitError409`, `MeshkitError500` and `MeshkitError502` responses for an operation whose server answers its refusals this way.",required:["error"],additionalProperties:false,properties:{error:{type:"string",minLength:1,description:"The sentence the caller is shown."},code:{type:"string",minLength:1,description:"MeshKit error code, a component-scoped identifier allocated by the emitting service (e.g. `<component>-<number>`); it is not a stable part of this contract. Omitted for an error that is not a MeshKit error."},severity:{type:"string",description:"MeshKit severity name. Omitted when MeshKit reports none.",enum:["emergency","alert","critical","fatal"]},probableCause:{type:"array",description:"MeshKit's probable causes of the error.",items:{type:"string"}},suggestedRemediation:{type:"array",description:"MeshKit's suggested remediations for the error.",items:{type:"string"}}}}}}},MeshkitError502:{description:"Bad gateway - an upstream service the operation depends on could not be reached or rejected the request",content:{"application/json":{schema:{type:"object",description:"A MeshKit error answered as a JSON body. `error` is the sentence the caller is shown; MeshKit's long description is never serialized. Use the `MeshkitError400`, `MeshkitError403`, `MeshkitError404`, `MeshkitError409`, `MeshkitError500` and `MeshkitError502` responses for an operation whose server answers its refusals this way.",required:["error"],additionalProperties:false,properties:{error:{type:"string",minLength:1,description:"The sentence the caller is shown."},code:{type:"string",minLength:1,description:"MeshKit error code, a component-scoped identifier allocated by the emitting service (e.g. `<component>-<number>`); it is not a stable part of this contract. Omitted for an error that is not a MeshKit error."},severity:{type:"string",description:"MeshKit severity name. Omitted when MeshKit reports none.",enum:["emergency","alert","critical","fatal"]},probableCause:{type:"array",description:"MeshKit's probable causes of the error.",items:{type:"string"}},suggestedRemediation:{type:"array",description:"MeshKit's suggested remediations for the error.",items:{type:"string"}}}}}}}},parameters:{page:{name:"page",in:"query",description:"Get responses by page",schema:{type:"integer",minimum:0}},pageSize:{name:"pageSize",in:"query",description:"Number of items per page.",schema:{type:"integer",minimum:1}},installationIdQuery:{name:"id",in:"query",required:true,description:"GitHub App installation id; must be one of the caller's verified installations.",schema:{type:"string",pattern:"^[1-9][0-9]*$"}},ignoredInstallationId:{name:"id",in:"query",required:false,deprecated:true,description:"Ignored. Accepted for compatibility; the server resolves the installation itself.",schema:{type:"string"}},repositoryName:{name:"name",in:"query",required:true,description:"Repository as `<owner>/<repo>`.",schema:{type:"string",maxLength:512}},owner:{name:"owner",in:"path",required:true,description:"Login of the account that owns the repository.",schema:{type:"string"}},repo:{name:"repo",in:"path",required:true,description:"Repository name, without its owner.",schema:{type:"string"}},flow:{name:"flow",in:"query",required:true,description:"`install` sends the browser to the GitHub App's installation page; `authorize` sends it to GitHub's user-authorization page for the App.",schema:{type:"string",enum:["install","authorize"]}},state:{name:"state",in:"query",required:true,description:"The single-use state `startGithubAuthorization` issued.",schema:{type:"string"}},code:{name:"code",in:"query",required:false,description:"GitHub's one-time authorization code.",schema:{type:"string"}},githubInstallationId:{name:"installation_id",in:"query",required:false,description:"The installation GitHub names on return (GitHub's parameter name). It is stored only when it is one of the installations GitHub lists for the authorizing account.",schema:{type:"string"}},githubSetupAction:{name:"setup_action",in:"query",required:false,description:"GitHub's setup action (GitHub's parameter name).",schema:{type:"string",enum:["install","update","request"]}}},schemas:{GithubInstallationRepositoryPage:{type:"object",description:"One page of GitHub's `GET /installation/repositories` answer, passed through as GitHub returns it (`total_count`, `repositories`).",additionalProperties:true},GithubRepositoryTree:{type:"array",description:"One page of a repository's file tree.",items:{type:"object",description:"One file or directory of a repository's file tree, with its children.",additionalProperties:false,properties:{id:{description:"Identifier of the tree item, for the UI's tree view.","x-go-name":"ID",type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},label:{type:"string",description:"Display name of the file or directory.",maxLength:4096},type:{type:"string",description:"Kind of the tree item, such as a file or a directory.",maxLength:64},entry:{type:"object",description:"GitHub's tree entry for the item, passed through as GitHub returns it.",additionalProperties:true},children:{type:"array",description:"The items under a directory, each shaped as a `GithubRepositoryTreeItem`.",items:{type:"object",additionalProperties:true}}}}},GithubRepositoryTreeItem:{type:"object",description:"One file or directory of a repository's file tree, with its children.",additionalProperties:false,properties:{id:{description:"Identifier of the tree item, for the UI's tree view.","x-go-name":"ID",type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},label:{type:"string",description:"Display name of the file or directory.",maxLength:4096},type:{type:"string",description:"Kind of the tree item, such as a file or a directory.",maxLength:64},entry:{type:"object",description:"GitHub's tree entry for the item, passed through as GitHub returns it.",additionalProperties:true},children:{type:"array",description:"The items under a directory, each shaped as a `GithubRepositoryTreeItem`.",items:{type:"object",additionalProperties:true}}}},GithubWorkflowVerification:{type:"object",description:"Whether the Kanvas workflow is already present in a repository.",additionalProperties:false,required:["status"],properties:{status:{type:"string",description:"`ok` when no workflow is present; `error` when one is (`fileUrl` names it) or the check failed (`error` says why).",enum:["ok","error"]},fileUrl:{type:"string",format:"uri",description:"URL of the workflow file already present."},error:{type:"string",maxLength:4096,description:"Why the repository cannot take the workflow."}}},GithubWorkflowInstallPayload:{type:"object",description:"The repositories to commit the Kanvas workflow into.",additionalProperties:false,required:["repositories"],properties:{repositories:{type:"array",description:"Repositories as `<owner>/<repo>`.",items:{type:"string",maxLength:512}}}},GithubWorkflowInstallResponse:{type:"array",description:"One single-key entry per requested repository, keyed by `<owner>/<repo>`.",items:{type:"object",additionalProperties:{type:"object",description:"The outcome of committing the workflow into one repository.",additionalProperties:false,properties:{code:{type:"integer",minimum:100,maximum:599,description:"HTTP-style status of the repository's outcome; `400` for a malformed repository identifier."},description:{type:"string",maxLength:4096,description:"The outcome, in words."}}}}},GithubWorkflowInstallResult:{type:"object",description:"The outcome of committing the workflow into one repository.",additionalProperties:false,properties:{code:{type:"integer",minimum:100,maximum:599,description:"HTTP-style status of the repository's outcome; `400` for a malformed repository identifier."},description:{type:"string",maxLength:4096,description:"The outcome, in words."}}},GithubConnectionMetadata:{type:"object",description:"Metadata of a `kind: github` connection, as Meshery Cloud writes it. `installations`, `installationId` and `installationsVerifiedAt` are server-written: a connection edit can neither set nor erase them (see `updateConnection`).",properties:{installationId:{type:"string",description:"The installation the connection wizard opens on; always one of `installations`.","x-id-format":"external",pattern:"^[1-9][0-9]*$"},installations:{type:"array",description:"The verified installations - those GitHub listed for the owner's GitHub account at the last authorization. Absent on a connection that predates verification (which must be re-authorized); an empty set is never stored.",items:{type:"object",description:"One verified GitHub App installation.",required:["id"],properties:{id:{type:"string",description:"GitHub App installation id.","x-id-format":"external",pattern:"^[1-9][0-9]*$"},account:{type:"string",description:"Login of the account the App is installed on.",maxLength:255},accountType:{type:"string",description:"Type of the account the App is installed on, as GitHub names it.","x-enum-casing-exempt":true,enum:["User","Organization"]}}}},installationsVerifiedAt:{type:"string",format:"date-time",description:"When `installations` was last verified with GitHub."},snapshotPaths:{type:"array",description:"Per-repository snapshot path preferences.",items:{type:"object",additionalProperties:{type:"string"}}}}},GithubInstallation:{type:"object",description:"One verified GitHub App installation.",required:["id"],properties:{id:{type:"string",description:"GitHub App installation id.","x-id-format":"external",pattern:"^[1-9][0-9]*$"},account:{type:"string",description:"Login of the account the App is installed on.",maxLength:255},accountType:{type:"string",description:"Type of the account the App is installed on, as GitHub names it.","x-enum-casing-exempt":true,enum:["User","Organization"]}}}}}},t=e;
12
+ module.exports=t;