mcp4openapi 0.2.8 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +143 -63
- package/dist/scripts/validate-profile.js +3 -3
- package/dist/scripts/validate-profile.js.map +1 -1
- package/dist/src/{oauth-provider.d.ts → auth/oauth-provider.d.ts} +7 -2
- package/dist/src/auth/oauth-provider.d.ts.map +1 -0
- package/dist/src/{oauth-provider.js → auth/oauth-provider.js} +30 -2
- package/dist/src/auth/oauth-provider.js.map +1 -0
- package/dist/src/core/cli-config.d.ts +9 -0
- package/dist/src/core/cli-config.d.ts.map +1 -0
- package/dist/src/core/cli-config.js +124 -0
- package/dist/src/core/cli-config.js.map +1 -0
- package/dist/src/{constants.d.ts → core/constants.d.ts} +1 -0
- package/dist/src/core/constants.d.ts.map +1 -0
- package/dist/src/{constants.js → core/constants.js} +1 -0
- package/dist/src/core/constants.js.map +1 -0
- package/dist/src/{errors.d.ts → core/errors.d.ts} +6 -0
- package/dist/src/core/errors.d.ts.map +1 -0
- package/dist/src/{errors.js → core/errors.js} +15 -6
- package/dist/src/core/errors.js.map +1 -0
- package/dist/src/core/filtering.d.ts +19 -0
- package/dist/src/core/filtering.d.ts.map +1 -0
- package/dist/src/core/filtering.js +292 -0
- package/dist/src/core/filtering.js.map +1 -0
- package/dist/src/core/index.d.ts +26 -0
- package/dist/src/core/index.d.ts.map +1 -0
- package/dist/src/core/index.js +275 -0
- package/dist/src/core/index.js.map +1 -0
- package/dist/src/core/lib.d.ts +8 -0
- package/dist/src/core/lib.d.ts.map +1 -0
- package/dist/src/core/lib.js +7 -0
- package/dist/src/core/lib.js.map +1 -0
- package/dist/src/{logger.d.ts → core/logger.d.ts} +6 -1
- package/dist/src/core/logger.d.ts.map +1 -0
- package/dist/src/{logger.js → core/logger.js} +30 -2
- package/dist/src/core/logger.js.map +1 -0
- package/dist/src/{metrics.d.ts → core/metrics.d.ts} +11 -0
- package/dist/src/core/metrics.d.ts.map +1 -0
- package/dist/src/{metrics.js → core/metrics.js} +61 -0
- package/dist/src/core/metrics.js.map +1 -0
- package/dist/src/core/naming-warnings.d.ts.map +1 -0
- package/dist/src/core/naming-warnings.js.map +1 -0
- package/dist/src/core/naming.d.ts.map +1 -0
- package/dist/src/core/naming.js.map +1 -0
- package/dist/src/generated-schemas.d.ts +245 -79
- package/dist/src/generated-schemas.d.ts.map +1 -1
- package/dist/src/generated-schemas.js +14 -2
- package/dist/src/generated-schemas.js.map +1 -1
- package/dist/src/index.d.ts +1 -6
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +1 -170
- package/dist/src/index.js.map +1 -1
- package/dist/src/lib.d.ts +1 -7
- package/dist/src/lib.d.ts.map +1 -1
- package/dist/src/lib.js +1 -6
- package/dist/src/lib.js.map +1 -1
- package/dist/src/mcp/mcp-server-manager.d.ts +20 -0
- package/dist/src/mcp/mcp-server-manager.d.ts.map +1 -0
- package/dist/src/mcp/mcp-server-manager.js +38 -0
- package/dist/src/mcp/mcp-server-manager.js.map +1 -0
- package/dist/src/{mcp-server.d.ts → mcp/mcp-server.d.ts} +31 -1
- package/dist/src/mcp/mcp-server.d.ts.map +1 -0
- package/dist/src/{mcp-server.js → mcp/mcp-server.js} +547 -146
- package/dist/src/mcp/mcp-server.js.map +1 -0
- package/dist/src/{openapi-parser.d.ts → openapi/openapi-parser.d.ts} +1 -1
- package/dist/src/openapi/openapi-parser.d.ts.map +1 -0
- package/dist/src/{openapi-parser.js → openapi/openapi-parser.js} +2 -2
- package/dist/src/openapi/openapi-parser.js.map +1 -0
- package/dist/src/{profile-loader.d.ts → profile/profile-loader.d.ts} +3 -2
- package/dist/src/profile/profile-loader.d.ts.map +1 -0
- package/dist/src/{profile-loader.js → profile/profile-loader.js} +17 -6
- package/dist/src/profile/profile-loader.js.map +1 -0
- package/dist/src/profile/profile-registry.d.ts +18 -0
- package/dist/src/profile/profile-registry.d.ts.map +1 -0
- package/dist/src/profile/profile-registry.js +26 -0
- package/dist/src/profile/profile-registry.js.map +1 -0
- package/dist/src/profile/profile-resolver.d.ts +25 -0
- package/dist/src/profile/profile-resolver.d.ts.map +1 -0
- package/dist/src/profile/profile-resolver.js +204 -0
- package/dist/src/profile/profile-resolver.js.map +1 -0
- package/dist/src/profile/startup-profile.d.ts +17 -0
- package/dist/src/profile/startup-profile.d.ts.map +1 -0
- package/dist/src/profile/startup-profile.js +30 -0
- package/dist/src/profile/startup-profile.js.map +1 -0
- package/dist/src/profile/startup-validation.d.ts +11 -0
- package/dist/src/profile/startup-validation.d.ts.map +1 -0
- package/dist/src/profile/startup-validation.js +21 -0
- package/dist/src/profile/startup-validation.js.map +1 -0
- package/dist/src/testing/dynamic-mock-server.d.ts +24 -0
- package/dist/src/testing/dynamic-mock-server.d.ts.map +1 -0
- package/dist/src/testing/dynamic-mock-server.js +138 -0
- package/dist/src/testing/dynamic-mock-server.js.map +1 -0
- package/dist/src/testing/request-assertions.d.ts +5 -0
- package/dist/src/testing/request-assertions.d.ts.map +1 -0
- package/dist/src/testing/request-assertions.js +165 -0
- package/dist/src/testing/request-assertions.js.map +1 -0
- package/dist/src/testing/template-utils.d.ts +10 -0
- package/dist/src/testing/template-utils.d.ts.map +1 -0
- package/dist/src/testing/template-utils.js +72 -0
- package/dist/src/testing/template-utils.js.map +1 -0
- package/dist/src/testing/test-http-utils.d.ts +1 -1
- package/dist/src/testing/test-http-utils.d.ts.map +1 -1
- package/dist/src/testing/test-http-utils.js +1 -1
- package/dist/src/testing/test-http-utils.js.map +1 -1
- package/dist/src/testing/test-loader.d.ts +6 -0
- package/dist/src/testing/test-loader.d.ts.map +1 -0
- package/dist/src/testing/test-loader.js +212 -0
- package/dist/src/testing/test-loader.js.map +1 -0
- package/dist/src/testing/test-schema.d.ts +1270 -0
- package/dist/src/testing/test-schema.d.ts.map +1 -0
- package/dist/src/testing/test-schema.js +76 -0
- package/dist/src/testing/test-schema.js.map +1 -0
- package/dist/src/tool-filter/compat.d.ts +49 -0
- package/dist/src/tool-filter/compat.d.ts.map +1 -0
- package/dist/src/tool-filter/compat.js +72 -0
- package/dist/src/tool-filter/compat.js.map +1 -0
- package/dist/src/tool-filter/config/env-config-parser.d.ts +38 -0
- package/dist/src/tool-filter/config/env-config-parser.d.ts.map +1 -0
- package/dist/src/tool-filter/config/env-config-parser.js +103 -0
- package/dist/src/tool-filter/config/env-config-parser.js.map +1 -0
- package/dist/src/tool-filter/config/header-config-parser.d.ts +37 -0
- package/dist/src/tool-filter/config/header-config-parser.d.ts.map +1 -0
- package/dist/src/tool-filter/config/header-config-parser.js +118 -0
- package/dist/src/tool-filter/config/header-config-parser.js.map +1 -0
- package/dist/src/tool-filter/errors.d.ts +18 -0
- package/dist/src/tool-filter/errors.d.ts.map +1 -0
- package/dist/src/tool-filter/errors.js +21 -0
- package/dist/src/tool-filter/errors.js.map +1 -0
- package/dist/src/tool-filter/filter/filter-engine.d.ts +45 -0
- package/dist/src/tool-filter/filter/filter-engine.d.ts.map +1 -0
- package/dist/src/tool-filter/filter/filter-engine.js +94 -0
- package/dist/src/tool-filter/filter/filter-engine.js.map +1 -0
- package/dist/src/tool-filter/filter/filter-rules.d.ts +44 -0
- package/dist/src/tool-filter/filter/filter-rules.d.ts.map +1 -0
- package/dist/src/tool-filter/filter/filter-rules.js +72 -0
- package/dist/src/tool-filter/filter/filter-rules.js.map +1 -0
- package/dist/src/tool-filter/filter/global-tool-filter.d.ts +40 -0
- package/dist/src/tool-filter/filter/global-tool-filter.d.ts.map +1 -0
- package/dist/src/tool-filter/filter/global-tool-filter.js +92 -0
- package/dist/src/tool-filter/filter/global-tool-filter.js.map +1 -0
- package/dist/src/tool-filter/filter/session-tool-filter.d.ts +29 -0
- package/dist/src/tool-filter/filter/session-tool-filter.d.ts.map +1 -0
- package/dist/src/tool-filter/filter/session-tool-filter.js +69 -0
- package/dist/src/tool-filter/filter/session-tool-filter.js.map +1 -0
- package/dist/src/tool-filter/index.d.ts +25 -0
- package/dist/src/tool-filter/index.d.ts.map +1 -0
- package/dist/src/tool-filter/index.js +30 -0
- package/dist/src/tool-filter/index.js.map +1 -0
- package/dist/src/tool-filter/integration/tool-filter-service.d.ts +44 -0
- package/dist/src/tool-filter/integration/tool-filter-service.d.ts.map +1 -0
- package/dist/src/tool-filter/integration/tool-filter-service.js +68 -0
- package/dist/src/tool-filter/integration/tool-filter-service.js.map +1 -0
- package/dist/src/tool-filter/operation/operation-classifier.d.ts +20 -0
- package/dist/src/tool-filter/operation/operation-classifier.d.ts.map +1 -0
- package/dist/src/tool-filter/operation/operation-classifier.js +26 -0
- package/dist/src/tool-filter/operation/operation-classifier.js.map +1 -0
- package/dist/src/tool-filter/operation/operation-detector.d.ts +30 -0
- package/dist/src/tool-filter/operation/operation-detector.d.ts.map +1 -0
- package/dist/src/tool-filter/operation/operation-detector.js +96 -0
- package/dist/src/tool-filter/operation/operation-detector.js.map +1 -0
- package/dist/src/tool-filter/operation/operation-resolver.d.ts +22 -0
- package/dist/src/tool-filter/operation/operation-resolver.d.ts.map +1 -0
- package/dist/src/tool-filter/operation/operation-resolver.js +32 -0
- package/dist/src/tool-filter/operation/operation-resolver.js.map +1 -0
- package/dist/src/tool-filter/regex/regex-compiler.d.ts +22 -0
- package/dist/src/tool-filter/regex/regex-compiler.d.ts.map +1 -0
- package/dist/src/tool-filter/regex/regex-compiler.js +56 -0
- package/dist/src/tool-filter/regex/regex-compiler.js.map +1 -0
- package/dist/src/tool-filter/regex/regex-validator.d.ts +24 -0
- package/dist/src/tool-filter/regex/regex-validator.d.ts.map +1 -0
- package/dist/src/tool-filter/regex/regex-validator.js +58 -0
- package/dist/src/tool-filter/regex/regex-validator.js.map +1 -0
- package/dist/src/tool-filter/types.d.ts +92 -0
- package/dist/src/tool-filter/types.d.ts.map +1 -0
- package/dist/src/tool-filter/types.js +5 -0
- package/dist/src/tool-filter/types.js.map +1 -0
- package/dist/src/tool-filter/utils.d.ts +11 -0
- package/dist/src/tool-filter/utils.d.ts.map +1 -0
- package/dist/src/tool-filter/utils.js +13 -0
- package/dist/src/tool-filter/utils.js.map +1 -0
- package/dist/src/{composite-executor.d.ts → tooling/composite-executor.d.ts} +3 -3
- package/dist/src/tooling/composite-executor.d.ts.map +1 -0
- package/dist/src/{composite-executor.js → tooling/composite-executor.js} +1 -1
- package/dist/src/tooling/composite-executor.js.map +1 -0
- package/dist/src/{dag-executor.d.ts → tooling/dag-executor.d.ts} +1 -1
- package/dist/src/tooling/dag-executor.d.ts.map +1 -0
- package/dist/src/tooling/dag-executor.js.map +1 -0
- package/dist/src/{proxy-executor.d.ts → tooling/proxy-executor.d.ts} +2 -2
- package/dist/src/tooling/proxy-executor.d.ts.map +1 -0
- package/dist/src/{proxy-executor.js → tooling/proxy-executor.js} +8 -1
- package/dist/src/tooling/proxy-executor.js.map +1 -0
- package/dist/src/{tool-generator.d.ts → tooling/tool-generator.d.ts} +4 -3
- package/dist/src/tooling/tool-generator.d.ts.map +1 -0
- package/dist/src/{tool-generator.js → tooling/tool-generator.js} +23 -7
- package/dist/src/tooling/tool-generator.js.map +1 -0
- package/dist/src/{http-client-factory.d.ts → transport/http-client-factory.d.ts} +4 -1
- package/dist/src/transport/http-client-factory.d.ts.map +1 -0
- package/dist/src/{http-client-factory.js → transport/http-client-factory.js} +13 -3
- package/dist/src/transport/http-client-factory.js.map +1 -0
- package/dist/src/transport/http-transport-config.d.ts +6 -0
- package/dist/src/transport/http-transport-config.d.ts.map +1 -0
- package/dist/src/transport/http-transport-config.js +62 -0
- package/dist/src/transport/http-transport-config.js.map +1 -0
- package/dist/src/{http-transport.d.ts → transport/http-transport.d.ts} +72 -14
- package/dist/src/transport/http-transport.d.ts.map +1 -0
- package/dist/src/{http-transport.js → transport/http-transport.js} +1166 -493
- package/dist/src/transport/http-transport.js.map +1 -0
- package/dist/src/{interceptors.d.ts → transport/interceptors.d.ts} +6 -2
- package/dist/src/transport/interceptors.d.ts.map +1 -0
- package/dist/src/{interceptors.js → transport/interceptors.js} +72 -41
- package/dist/src/transport/interceptors.js.map +1 -0
- package/dist/src/types/http-transport.d.ts +25 -0
- package/dist/src/types/http-transport.d.ts.map +1 -1
- package/dist/src/types/profile.d.ts +13 -1
- package/dist/src/types/profile.d.ts.map +1 -1
- package/dist/src/validation/argument-normalizer.d.ts +6 -0
- package/dist/src/validation/argument-normalizer.d.ts.map +1 -0
- package/dist/src/validation/argument-normalizer.js +70 -0
- package/dist/src/validation/argument-normalizer.js.map +1 -0
- package/dist/src/validation/jsonrpc-validator.d.ts.map +1 -0
- package/dist/src/validation/jsonrpc-validator.js.map +1 -0
- package/dist/src/{schema-validator.d.ts → validation/schema-validator.d.ts} +2 -2
- package/dist/src/validation/schema-validator.d.ts.map +1 -0
- package/dist/src/validation/schema-validator.js.map +1 -0
- package/dist/src/validation/validation-utils.d.ts.map +1 -0
- package/dist/src/validation/validation-utils.js.map +1 -0
- package/package.json +9 -3
- package/profile-schema.json +63 -3
- package/profiles/gitlab/developer-profile-oauth.json +1520 -0
- package/profiles/gitlab/developer-profile-oauth.test.json +3432 -0
- package/profiles/gitlab/openapi.yaml +6891 -0
- package/profiles/n8n/openapi.yaml +2441 -0
- package/profiles/n8n/profile-optimized.json +965 -0
- package/profiles/n8n/profile-optimized.test.json +1078 -0
- package/profiles/n8n/profile.json +1033 -0
- package/profiles/n8n/profile.test.json +983 -0
- package/profiles/n8n-nodes/openapi.yaml +24 -0
- package/profiles/n8n-nodes/profile-nodes.json +44 -0
- package/profiles/n8n-nodes/profile-nodes.test.json +91 -0
- package/profiles/semgrep/openapi.yaml +4706 -0
- package/profiles/semgrep/profile.json +692 -0
- package/profiles/semgrep/profile.test.json +471 -0
- package/profiles/youtrack/openapi.json +16976 -0
- package/profiles/youtrack/profile.json +608 -0
- package/profiles/youtrack/profile.test.json +1926 -0
- package/dist/src/composite-executor.d.ts.map +0 -1
- package/dist/src/composite-executor.js.map +0 -1
- package/dist/src/constants.d.ts.map +0 -1
- package/dist/src/constants.js.map +0 -1
- package/dist/src/dag-executor.d.ts.map +0 -1
- package/dist/src/dag-executor.js.map +0 -1
- package/dist/src/errors.d.ts.map +0 -1
- package/dist/src/errors.js.map +0 -1
- package/dist/src/http-client-factory.d.ts.map +0 -1
- package/dist/src/http-client-factory.js.map +0 -1
- package/dist/src/http-transport.d.ts.map +0 -1
- package/dist/src/http-transport.js.map +0 -1
- package/dist/src/interceptors.d.ts.map +0 -1
- package/dist/src/interceptors.js.map +0 -1
- package/dist/src/jsonrpc-validator.d.ts.map +0 -1
- package/dist/src/jsonrpc-validator.js.map +0 -1
- package/dist/src/logger.d.ts.map +0 -1
- package/dist/src/logger.js.map +0 -1
- package/dist/src/mcp-server.d.ts.map +0 -1
- package/dist/src/mcp-server.js.map +0 -1
- package/dist/src/metrics.d.ts.map +0 -1
- package/dist/src/metrics.js.map +0 -1
- package/dist/src/naming-warnings.d.ts.map +0 -1
- package/dist/src/naming-warnings.js.map +0 -1
- package/dist/src/naming.d.ts.map +0 -1
- package/dist/src/naming.js.map +0 -1
- package/dist/src/oauth-provider.d.ts.map +0 -1
- package/dist/src/oauth-provider.js.map +0 -1
- package/dist/src/openapi-parser.d.ts.map +0 -1
- package/dist/src/openapi-parser.js.map +0 -1
- package/dist/src/profile-loader.d.ts.map +0 -1
- package/dist/src/profile-loader.js.map +0 -1
- package/dist/src/proxy-executor.d.ts.map +0 -1
- package/dist/src/proxy-executor.js.map +0 -1
- package/dist/src/schema-validator.d.ts.map +0 -1
- package/dist/src/schema-validator.js.map +0 -1
- package/dist/src/testing/fixtures.d.ts +0 -684
- package/dist/src/testing/fixtures.d.ts.map +0 -1
- package/dist/src/testing/fixtures.js +0 -528
- package/dist/src/testing/fixtures.js.map +0 -1
- package/dist/src/testing/mock-gitlab-server.d.ts +0 -43
- package/dist/src/testing/mock-gitlab-server.d.ts.map +0 -1
- package/dist/src/testing/mock-gitlab-server.js +0 -1026
- package/dist/src/testing/mock-gitlab-server.js.map +0 -1
- package/dist/src/testing/mock-semgrep-server.d.ts +0 -32
- package/dist/src/testing/mock-semgrep-server.d.ts.map +0 -1
- package/dist/src/testing/mock-semgrep-server.js +0 -213
- package/dist/src/testing/mock-semgrep-server.js.map +0 -1
- package/dist/src/testing/mock-youtrack-server.d.ts +0 -11
- package/dist/src/testing/mock-youtrack-server.d.ts.map +0 -1
- package/dist/src/testing/mock-youtrack-server.js +0 -152
- package/dist/src/testing/mock-youtrack-server.js.map +0 -1
- package/dist/src/tool-generator.d.ts.map +0 -1
- package/dist/src/tool-generator.js.map +0 -1
- package/dist/src/validation-utils.d.ts.map +0 -1
- package/dist/src/validation-utils.js.map +0 -1
- /package/dist/src/{naming-warnings.d.ts → core/naming-warnings.d.ts} +0 -0
- /package/dist/src/{naming-warnings.js → core/naming-warnings.js} +0 -0
- /package/dist/src/{naming.d.ts → core/naming.d.ts} +0 -0
- /package/dist/src/{naming.js → core/naming.js} +0 -0
- /package/dist/src/{dag-executor.js → tooling/dag-executor.js} +0 -0
- /package/dist/src/{jsonrpc-validator.d.ts → validation/jsonrpc-validator.d.ts} +0 -0
- /package/dist/src/{jsonrpc-validator.js → validation/jsonrpc-validator.js} +0 -0
- /package/dist/src/{schema-validator.js → validation/schema-validator.js} +0 -0
- /package/dist/src/{validation-utils.d.ts → validation/validation-utils.d.ts} +0 -0
- /package/dist/src/{validation-utils.js → validation/validation-utils.js} +0 -0
|
@@ -0,0 +1,4706 @@
|
|
|
1
|
+
components:
|
|
2
|
+
schemas:
|
|
3
|
+
protos.ai.v1.Autotriage:
|
|
4
|
+
properties:
|
|
5
|
+
feedback:
|
|
6
|
+
$ref: '#/components/schemas/protos.ai.v1.AutotriageFeedback'
|
|
7
|
+
id:
|
|
8
|
+
type: string
|
|
9
|
+
issueId:
|
|
10
|
+
type: string
|
|
11
|
+
matchBasedId:
|
|
12
|
+
type: string
|
|
13
|
+
memoryIdsReferenced:
|
|
14
|
+
items:
|
|
15
|
+
type: string
|
|
16
|
+
type: array
|
|
17
|
+
memoryIdsRendered:
|
|
18
|
+
items:
|
|
19
|
+
type: string
|
|
20
|
+
type: array
|
|
21
|
+
reason:
|
|
22
|
+
description: The reasoning for a false positive verdict, explaining why
|
|
23
|
+
you might want to ignore the finding. Empty string if verdict is true
|
|
24
|
+
positive.
|
|
25
|
+
type: string
|
|
26
|
+
verdict:
|
|
27
|
+
description: '
|
|
28
|
+
|
|
29
|
+
| value | description |
|
|
30
|
+
|
|
31
|
+
|-------|---------------|
|
|
32
|
+
|
|
33
|
+
| VERDICT_TRUE_POSITIVE | |
|
|
34
|
+
|
|
35
|
+
| VERDICT_FALSE_POSITIVE | |
|
|
36
|
+
|
|
37
|
+
| VERDICT_NO_VERDICT | |
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
'
|
|
41
|
+
enum:
|
|
42
|
+
- VERDICT_TRUE_POSITIVE
|
|
43
|
+
- VERDICT_FALSE_POSITIVE
|
|
44
|
+
- VERDICT_NO_VERDICT
|
|
45
|
+
format: enum
|
|
46
|
+
type: string
|
|
47
|
+
type: object
|
|
48
|
+
protos.ai.v1.AutotriageFeedback:
|
|
49
|
+
properties:
|
|
50
|
+
autotriageId:
|
|
51
|
+
type: string
|
|
52
|
+
rating:
|
|
53
|
+
description: '
|
|
54
|
+
|
|
55
|
+
| value | description |
|
|
56
|
+
|
|
57
|
+
|-------|---------------|
|
|
58
|
+
|
|
59
|
+
| RATING_GOOD | Autotriage rated positively by a user. |
|
|
60
|
+
|
|
61
|
+
| RATING_BAD | Autotriage rated negatively by a user. |
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
'
|
|
65
|
+
enum:
|
|
66
|
+
- RATING_GOOD
|
|
67
|
+
- RATING_BAD
|
|
68
|
+
format: enum
|
|
69
|
+
type: string
|
|
70
|
+
type: object
|
|
71
|
+
protos.common.v1.FloatRange:
|
|
72
|
+
properties:
|
|
73
|
+
max:
|
|
74
|
+
description: End of the range
|
|
75
|
+
format: float
|
|
76
|
+
type: number
|
|
77
|
+
min:
|
|
78
|
+
description: Start of the range
|
|
79
|
+
format: float
|
|
80
|
+
type: number
|
|
81
|
+
title: Float Range
|
|
82
|
+
type: object
|
|
83
|
+
protos.common.v1.Policy:
|
|
84
|
+
properties:
|
|
85
|
+
id:
|
|
86
|
+
description: ID of the Policy.
|
|
87
|
+
example: '1'
|
|
88
|
+
format: uint64
|
|
89
|
+
type: string
|
|
90
|
+
isDefault:
|
|
91
|
+
description: When True, the Policy applies to all repositories.
|
|
92
|
+
example: true
|
|
93
|
+
type: boolean
|
|
94
|
+
name:
|
|
95
|
+
description: Name of the Policy.
|
|
96
|
+
example: Global Policy
|
|
97
|
+
type: string
|
|
98
|
+
productType:
|
|
99
|
+
description: 'Product type the Policy applies to.
|
|
100
|
+
|
|
101
|
+
|
|
102
|
+
| value | description |
|
|
103
|
+
|
|
104
|
+
|-------|---------------|
|
|
105
|
+
|
|
106
|
+
| PRODUCT_TYPE_SAST | The product type for Code rules. |
|
|
107
|
+
|
|
108
|
+
| PRODUCT_TYPE_SECRETS | The product type for Secrets rules. |
|
|
109
|
+
|
|
110
|
+
|
|
111
|
+
'
|
|
112
|
+
enum:
|
|
113
|
+
- PRODUCT_TYPE_SAST
|
|
114
|
+
- PRODUCT_TYPE_SECRETS
|
|
115
|
+
example: PRODUCT_TYPE_SAST
|
|
116
|
+
format: enum
|
|
117
|
+
type: string
|
|
118
|
+
slug:
|
|
119
|
+
description: Sanitized machine-readable name of the Policy.
|
|
120
|
+
example: global_policy
|
|
121
|
+
type: string
|
|
122
|
+
title: Policy
|
|
123
|
+
type: object
|
|
124
|
+
protos.common.v1.ReviewComment:
|
|
125
|
+
properties:
|
|
126
|
+
externalDiscussionId:
|
|
127
|
+
description: External ID of the review comment or discussion thread.
|
|
128
|
+
type: string
|
|
129
|
+
externalNoteId:
|
|
130
|
+
description: External ID of the specific note in the review comment discussion
|
|
131
|
+
thread. Only applicable for GitLab.com, GitLab Self-Managed and Azure
|
|
132
|
+
DevOps.
|
|
133
|
+
type: string
|
|
134
|
+
type: object
|
|
135
|
+
protos.common.v1.Rule:
|
|
136
|
+
properties:
|
|
137
|
+
category:
|
|
138
|
+
description: Category the Rule is associated with.
|
|
139
|
+
example: security
|
|
140
|
+
type: string
|
|
141
|
+
confidence:
|
|
142
|
+
description: 'Confidence based on the Rule''s false-positive rate.
|
|
143
|
+
|
|
144
|
+
|
|
145
|
+
| value | description |
|
|
146
|
+
|
|
147
|
+
|-------|---------------|
|
|
148
|
+
|
|
149
|
+
| CONFIDENCE_HIGH | |
|
|
150
|
+
|
|
151
|
+
| CONFIDENCE_MEDIUM | |
|
|
152
|
+
|
|
153
|
+
| CONFIDENCE_LOW | |
|
|
154
|
+
|
|
155
|
+
|
|
156
|
+
'
|
|
157
|
+
enum:
|
|
158
|
+
- CONFIDENCE_HIGH
|
|
159
|
+
- CONFIDENCE_MEDIUM
|
|
160
|
+
- CONFIDENCE_LOW
|
|
161
|
+
example: CONFIDENCE_HIGH
|
|
162
|
+
format: enum
|
|
163
|
+
type: string
|
|
164
|
+
cweCategories:
|
|
165
|
+
description: The CWE associated with the Rule.
|
|
166
|
+
example:
|
|
167
|
+
- 'CWE-918: Server-Side Request Forgery (SSRF)'
|
|
168
|
+
items:
|
|
169
|
+
type: string
|
|
170
|
+
type: array
|
|
171
|
+
hasValidators:
|
|
172
|
+
description: When True, the secrets rule has validators.
|
|
173
|
+
type: boolean
|
|
174
|
+
id:
|
|
175
|
+
description: ID of the Rule.
|
|
176
|
+
format: uint64
|
|
177
|
+
type: string
|
|
178
|
+
languages:
|
|
179
|
+
description: Languages the Rule applies to.
|
|
180
|
+
example:
|
|
181
|
+
- python
|
|
182
|
+
items:
|
|
183
|
+
type: string
|
|
184
|
+
type: array
|
|
185
|
+
lastChangeAt:
|
|
186
|
+
description: Timestamp of when the Rule was last changed.
|
|
187
|
+
example: 2024-07-29 22:33:37.380293+00:00
|
|
188
|
+
format: date-time
|
|
189
|
+
type: string
|
|
190
|
+
lastChangeBy:
|
|
191
|
+
description: Username of who last changed the Rule.
|
|
192
|
+
type: string
|
|
193
|
+
owaspCategories:
|
|
194
|
+
description: Owasp categories the Rule is associated with.
|
|
195
|
+
example:
|
|
196
|
+
- 'A07: Cross-Site Scripting (XSS)'
|
|
197
|
+
items:
|
|
198
|
+
type: string
|
|
199
|
+
type: array
|
|
200
|
+
path:
|
|
201
|
+
description: Full path of the Rule.
|
|
202
|
+
example: python.rule.1
|
|
203
|
+
type: string
|
|
204
|
+
policyMode:
|
|
205
|
+
description: 'Mode behavior: Monitor / Comment / Block / Disabled
|
|
206
|
+
| value | description |
|
|
207
|
+
|-------|-------------|
|
|
208
|
+
| MODE_MONITOR | Monitor mode, silently report findings |
|
|
209
|
+
| MODE_COMMENT | Comment mode, leaves PR comments but does not block |
|
|
210
|
+
| MODE_BLOCK | Block mode, leaves PR comments and blocks PR |
|
|
211
|
+
| MODE_DISABLED | Disabled mode, not active |
|
|
212
|
+
'
|
|
213
|
+
enum:
|
|
214
|
+
- MODE_MONITOR
|
|
215
|
+
- MODE_COMMENT
|
|
216
|
+
- MODE_BLOCK
|
|
217
|
+
- MODE_DISABLED
|
|
218
|
+
example: MODE_BLOCK
|
|
219
|
+
format: enum
|
|
220
|
+
type: string
|
|
221
|
+
registryMaintainer:
|
|
222
|
+
description: The Registry maintainer associated with the Rule (if applicable).
|
|
223
|
+
example: semgrep
|
|
224
|
+
type: string
|
|
225
|
+
rulesets:
|
|
226
|
+
description: Rulesets to which the Rule belongs (if applicable).
|
|
227
|
+
example: []
|
|
228
|
+
items:
|
|
229
|
+
type: string
|
|
230
|
+
type: array
|
|
231
|
+
secretType:
|
|
232
|
+
description: The secret type (if applicable).
|
|
233
|
+
type: string
|
|
234
|
+
severity:
|
|
235
|
+
description: 'Severity level ("seriousness" of the finding)
|
|
236
|
+
| value | description |
|
|
237
|
+
|-------|-------------|
|
|
238
|
+
| SEVERITY_HIGH | |
|
|
239
|
+
| SEVERITY_MEDIUM | |
|
|
240
|
+
| SEVERITY_LOW | |
|
|
241
|
+
| SEVERITY_CRITICAL | |
|
|
242
|
+
'
|
|
243
|
+
enum:
|
|
244
|
+
- SEVERITY_HIGH
|
|
245
|
+
- SEVERITY_MEDIUM
|
|
246
|
+
- SEVERITY_LOW
|
|
247
|
+
- SEVERITY_CRITICAL
|
|
248
|
+
example: SEVERITY_HIGH
|
|
249
|
+
format: enum
|
|
250
|
+
type: string
|
|
251
|
+
source:
|
|
252
|
+
description: 'Source of the Rule
|
|
253
|
+
|
|
254
|
+
|
|
255
|
+
| value | description |
|
|
256
|
+
|
|
257
|
+
|-------|---------------|
|
|
258
|
+
|
|
259
|
+
| SOURCE_PRO | From Pro rules |
|
|
260
|
+
|
|
261
|
+
| SOURCE_COMMUNITY | From Semgrep Community rules |
|
|
262
|
+
|
|
263
|
+
| SOURCE_CUSTOM | From Custom rules |
|
|
264
|
+
|
|
265
|
+
|
|
266
|
+
'
|
|
267
|
+
enum:
|
|
268
|
+
- SOURCE_PRO
|
|
269
|
+
- SOURCE_COMMUNITY
|
|
270
|
+
- SOURCE_CUSTOM
|
|
271
|
+
example: SOURCE_COMMUNITY
|
|
272
|
+
format: enum
|
|
273
|
+
type: string
|
|
274
|
+
technologies:
|
|
275
|
+
description: Technologies the Rule is associated with.
|
|
276
|
+
example:
|
|
277
|
+
- django
|
|
278
|
+
- flask
|
|
279
|
+
items:
|
|
280
|
+
type: string
|
|
281
|
+
type: array
|
|
282
|
+
url:
|
|
283
|
+
description: The URL of the Rule.
|
|
284
|
+
type: string
|
|
285
|
+
vulnerabilityClass:
|
|
286
|
+
description: Vulnerability classes the Rule is associated with.
|
|
287
|
+
example: Improper Authentication
|
|
288
|
+
items:
|
|
289
|
+
type: string
|
|
290
|
+
type: array
|
|
291
|
+
title: Rule
|
|
292
|
+
type: object
|
|
293
|
+
protos.openapi.v1.AddProjectTagsResponse:
|
|
294
|
+
description: Successfully added tags to project.
|
|
295
|
+
properties:
|
|
296
|
+
project:
|
|
297
|
+
$ref: '#/components/schemas/protos.openapi.v1.Project'
|
|
298
|
+
required:
|
|
299
|
+
- projects
|
|
300
|
+
title: Add Project Tags Response
|
|
301
|
+
type: object
|
|
302
|
+
protos.openapi.v1.Assistant_Autofix:
|
|
303
|
+
description: Fix data generated by Semgrep Assistant
|
|
304
|
+
properties:
|
|
305
|
+
explanation:
|
|
306
|
+
description: 'DEPRECATED: This field is deprecated and will always be an
|
|
307
|
+
empty string. Find a description of how this fix works under `assistant.guidance`'
|
|
308
|
+
example: null
|
|
309
|
+
type: string
|
|
310
|
+
fix_code:
|
|
311
|
+
description: Source code that replaces all matched lines to fix this finding.
|
|
312
|
+
AI generated content, review carefully
|
|
313
|
+
example: cookie.setHttpOnly(true);\nresponse.addCookie(cookie);
|
|
314
|
+
type: string
|
|
315
|
+
title: Autofix
|
|
316
|
+
type: object
|
|
317
|
+
protos.openapi.v1.Assistant_Autotriage:
|
|
318
|
+
description: Triage recommendation generated by Semgrep Assistant
|
|
319
|
+
properties:
|
|
320
|
+
reason:
|
|
321
|
+
description: The reasoning for a `false_positive` verdict; this explains
|
|
322
|
+
why you might want to ignore the finding. Empty string if verdict is `true_positive`
|
|
323
|
+
example: The matched code is used for a non-security related feature.
|
|
324
|
+
type: string
|
|
325
|
+
verdict:
|
|
326
|
+
description: The verdict is `true_positive` if Assistant recommends fixing,
|
|
327
|
+
`false_positive` if Assistant recommends ignoring this finding. AI generated
|
|
328
|
+
decision, review carefully
|
|
329
|
+
enum:
|
|
330
|
+
- false_positive
|
|
331
|
+
- true_positive
|
|
332
|
+
example: false_positive
|
|
333
|
+
type: string
|
|
334
|
+
title: Autotriage
|
|
335
|
+
type: object
|
|
336
|
+
protos.openapi.v1.Assistant_Component:
|
|
337
|
+
description: Semgrep Assistant's guess as for what the matched source code's
|
|
338
|
+
purpose is
|
|
339
|
+
properties:
|
|
340
|
+
risk:
|
|
341
|
+
description: Component risk level
|
|
342
|
+
enum:
|
|
343
|
+
- high
|
|
344
|
+
- low
|
|
345
|
+
- neutral
|
|
346
|
+
example: high
|
|
347
|
+
type: string
|
|
348
|
+
tag:
|
|
349
|
+
description: Component tag
|
|
350
|
+
example: user data
|
|
351
|
+
type: string
|
|
352
|
+
title: Component
|
|
353
|
+
type: object
|
|
354
|
+
protos.openapi.v1.Assistant_Guidance:
|
|
355
|
+
description: Remediation guidance generated by Semgrep Assistant
|
|
356
|
+
properties:
|
|
357
|
+
instructions:
|
|
358
|
+
description: Step-by-step instructions explaining to a developer how to
|
|
359
|
+
fix the finding. AI generated content, review carefully
|
|
360
|
+
example: null
|
|
361
|
+
type: string
|
|
362
|
+
summary:
|
|
363
|
+
description: Short title explaining to a developer how to fix the finding.
|
|
364
|
+
AI generated content, review carefully
|
|
365
|
+
example: Use a template rendering engine such as EJS instead of string concatenation.
|
|
366
|
+
type: string
|
|
367
|
+
title: Guidance
|
|
368
|
+
type: object
|
|
369
|
+
protos.openapi.v1.BulkTriageRequest:
|
|
370
|
+
properties:
|
|
371
|
+
autotriage_verdict:
|
|
372
|
+
description: The autotriage verdict to filter by
|
|
373
|
+
enum:
|
|
374
|
+
- true_positive
|
|
375
|
+
- false_positive
|
|
376
|
+
example: true_positive
|
|
377
|
+
type: string
|
|
378
|
+
categories:
|
|
379
|
+
description: List of categories to filter by
|
|
380
|
+
example:
|
|
381
|
+
- security
|
|
382
|
+
- performance
|
|
383
|
+
items:
|
|
384
|
+
type: string
|
|
385
|
+
type: array
|
|
386
|
+
component_tags:
|
|
387
|
+
description: List of component tags to filter by
|
|
388
|
+
example:
|
|
389
|
+
- user authentication
|
|
390
|
+
- user data
|
|
391
|
+
items:
|
|
392
|
+
type: string
|
|
393
|
+
type: array
|
|
394
|
+
confidence:
|
|
395
|
+
description: List of confidence levels to filter by
|
|
396
|
+
enum:
|
|
397
|
+
- low
|
|
398
|
+
- medium
|
|
399
|
+
- high
|
|
400
|
+
example: high
|
|
401
|
+
type: string
|
|
402
|
+
dependencies:
|
|
403
|
+
description: Filter by dependency name. Only applies for sca findings.
|
|
404
|
+
example:
|
|
405
|
+
- lodash
|
|
406
|
+
- express
|
|
407
|
+
items:
|
|
408
|
+
type: string
|
|
409
|
+
type: array
|
|
410
|
+
deploymentSlug:
|
|
411
|
+
description: Deployment slug. Can be found at /deployments, or in your Settings
|
|
412
|
+
in the web UI.
|
|
413
|
+
type: string
|
|
414
|
+
epss_probability:
|
|
415
|
+
description: Filter by EPSS probability (likelihood of exploit). Only applies
|
|
416
|
+
for sca findings.
|
|
417
|
+
enum:
|
|
418
|
+
- low
|
|
419
|
+
- medium
|
|
420
|
+
- high
|
|
421
|
+
- none
|
|
422
|
+
example:
|
|
423
|
+
- high
|
|
424
|
+
- medium
|
|
425
|
+
items:
|
|
426
|
+
type: string
|
|
427
|
+
type: array
|
|
428
|
+
exposures:
|
|
429
|
+
description: Filter by exposure (reachability type). Only applies for sca
|
|
430
|
+
findings. Reachability is the ability of an attacker to access a vulnerability
|
|
431
|
+
in a system.
|
|
432
|
+
enum:
|
|
433
|
+
- reachable
|
|
434
|
+
- always_reachable
|
|
435
|
+
- conditionally_reachable
|
|
436
|
+
- unreachable
|
|
437
|
+
- unknown
|
|
438
|
+
example:
|
|
439
|
+
- reachable
|
|
440
|
+
- always_reachable
|
|
441
|
+
items:
|
|
442
|
+
type: string
|
|
443
|
+
type: array
|
|
444
|
+
include_historical:
|
|
445
|
+
description: Whether to include historical findings. Only applies for secrets
|
|
446
|
+
findings. Defaults to true.
|
|
447
|
+
example: true
|
|
448
|
+
type: boolean
|
|
449
|
+
issue_ids:
|
|
450
|
+
description: An array of issue IDs to act on. If this is not provided, an
|
|
451
|
+
issue filter should be provided.
|
|
452
|
+
example:
|
|
453
|
+
- 123
|
|
454
|
+
- 456
|
|
455
|
+
items:
|
|
456
|
+
format: uint32
|
|
457
|
+
type: integer
|
|
458
|
+
type: array
|
|
459
|
+
issue_type:
|
|
460
|
+
description: Type of findings to bulk triage.
|
|
461
|
+
enum:
|
|
462
|
+
- sast
|
|
463
|
+
- sca
|
|
464
|
+
- secrets
|
|
465
|
+
example: sca
|
|
466
|
+
type: string
|
|
467
|
+
limit:
|
|
468
|
+
default: 3000.0
|
|
469
|
+
description: Max number of issues to triage. Must be an integer between
|
|
470
|
+
1 and 3000. Defaults to 3000. When selecting findings to triage, Semgrep
|
|
471
|
+
will also triage findings with the same fingerprint on other branches.
|
|
472
|
+
As a result, the list of triaged issue_ids returned in the response may
|
|
473
|
+
be higher than the specified limit.
|
|
474
|
+
example: 100
|
|
475
|
+
format: uint32
|
|
476
|
+
type: integer
|
|
477
|
+
new_note:
|
|
478
|
+
description: The note to attach to the bulk triaged findings.
|
|
479
|
+
example: some note here
|
|
480
|
+
type: string
|
|
481
|
+
new_triage_reason:
|
|
482
|
+
description: The reason for triaging to a given triage state.
|
|
483
|
+
enum:
|
|
484
|
+
- acceptable_risk
|
|
485
|
+
- false_positive
|
|
486
|
+
- no_time
|
|
487
|
+
- no_triage_reason
|
|
488
|
+
example: acceptable_risk
|
|
489
|
+
type: string
|
|
490
|
+
new_triage_state:
|
|
491
|
+
description: The triage state you would like to bulk triage your findings
|
|
492
|
+
to.
|
|
493
|
+
enum:
|
|
494
|
+
- ignored
|
|
495
|
+
- reviewing
|
|
496
|
+
- fixing
|
|
497
|
+
- reopened
|
|
498
|
+
example: reopened
|
|
499
|
+
type: string
|
|
500
|
+
policies:
|
|
501
|
+
description: List of policy modes to filter by
|
|
502
|
+
example:
|
|
503
|
+
- rule-board-block
|
|
504
|
+
- rule-board-pr-comments
|
|
505
|
+
- rule-board-audit
|
|
506
|
+
items:
|
|
507
|
+
type: string
|
|
508
|
+
type: array
|
|
509
|
+
policy_mode:
|
|
510
|
+
description: List of policy modes to filter by
|
|
511
|
+
enum:
|
|
512
|
+
- monitor
|
|
513
|
+
- comment
|
|
514
|
+
- block
|
|
515
|
+
example:
|
|
516
|
+
- monitor
|
|
517
|
+
- block
|
|
518
|
+
items:
|
|
519
|
+
type: string
|
|
520
|
+
type: array
|
|
521
|
+
pro_only:
|
|
522
|
+
description: Filter by whether a finding is only available with Semgrep
|
|
523
|
+
Pro features. Only applies for sast findings.
|
|
524
|
+
example: true
|
|
525
|
+
type: boolean
|
|
526
|
+
project_tags:
|
|
527
|
+
description: List of project tags to filter by
|
|
528
|
+
example:
|
|
529
|
+
- my_project_tag_1
|
|
530
|
+
- my_project_tag_2
|
|
531
|
+
items:
|
|
532
|
+
type: string
|
|
533
|
+
type: array
|
|
534
|
+
ref:
|
|
535
|
+
description: Branch reference to filter by
|
|
536
|
+
example: refs/pull/1234/merge
|
|
537
|
+
type: string
|
|
538
|
+
repos:
|
|
539
|
+
description: List of repository names to filter by
|
|
540
|
+
example:
|
|
541
|
+
- myorg/repo1
|
|
542
|
+
- myorg/repo2
|
|
543
|
+
items:
|
|
544
|
+
type: string
|
|
545
|
+
type: array
|
|
546
|
+
repository_visibility:
|
|
547
|
+
description: Filter by repository visibility. Only applies for secrets findings.
|
|
548
|
+
enum:
|
|
549
|
+
- public
|
|
550
|
+
- private
|
|
551
|
+
- unknown
|
|
552
|
+
example:
|
|
553
|
+
- public
|
|
554
|
+
- private
|
|
555
|
+
items:
|
|
556
|
+
type: string
|
|
557
|
+
type: array
|
|
558
|
+
rules:
|
|
559
|
+
description: List of rule names to filter by
|
|
560
|
+
example:
|
|
561
|
+
- typescript.react.security.audit.react-no-refs.react-no-refs
|
|
562
|
+
- ajinabraham.njsscan.hardcoded_secrets.node_username
|
|
563
|
+
items:
|
|
564
|
+
type: string
|
|
565
|
+
type: array
|
|
566
|
+
ruleset:
|
|
567
|
+
description: List of Semgrep Registry rulesets to filter by
|
|
568
|
+
example:
|
|
569
|
+
- owasp-top-ten
|
|
570
|
+
- default
|
|
571
|
+
items:
|
|
572
|
+
type: string
|
|
573
|
+
type: array
|
|
574
|
+
secret_types:
|
|
575
|
+
description: Filter by type of secret (typically provider-related). Only
|
|
576
|
+
applies for secrets findings.
|
|
577
|
+
example:
|
|
578
|
+
- Github
|
|
579
|
+
- Heroku
|
|
580
|
+
- AWS
|
|
581
|
+
items:
|
|
582
|
+
type: string
|
|
583
|
+
type: array
|
|
584
|
+
severities:
|
|
585
|
+
description: List of severities to filter by
|
|
586
|
+
enum:
|
|
587
|
+
- low
|
|
588
|
+
- medium
|
|
589
|
+
- high
|
|
590
|
+
- critical
|
|
591
|
+
example:
|
|
592
|
+
- low
|
|
593
|
+
- high
|
|
594
|
+
items:
|
|
595
|
+
type: string
|
|
596
|
+
type: array
|
|
597
|
+
since:
|
|
598
|
+
description: 'Epoch timestamp in seconds. Filters using the relevant_since
|
|
599
|
+
field: the timestamp when this finding was detected by Semgrep (the first
|
|
600
|
+
time, or when reintroduced).'
|
|
601
|
+
example: 1717334400
|
|
602
|
+
type: string
|
|
603
|
+
status:
|
|
604
|
+
description: The status to filter by
|
|
605
|
+
enum:
|
|
606
|
+
- open
|
|
607
|
+
- fixed
|
|
608
|
+
- ignored
|
|
609
|
+
- reviewing
|
|
610
|
+
- fixing
|
|
611
|
+
example: open
|
|
612
|
+
type: string
|
|
613
|
+
transitivities:
|
|
614
|
+
description: Filter by transitivity of a dependency. Only applies for sca
|
|
615
|
+
findings.
|
|
616
|
+
enum:
|
|
617
|
+
- direct
|
|
618
|
+
- transitive
|
|
619
|
+
- unknown
|
|
620
|
+
example:
|
|
621
|
+
- transitive
|
|
622
|
+
- direct
|
|
623
|
+
items:
|
|
624
|
+
type: string
|
|
625
|
+
type: array
|
|
626
|
+
triage_reasons:
|
|
627
|
+
description: List of triage reasons to filter by
|
|
628
|
+
enum:
|
|
629
|
+
- acceptable_risk
|
|
630
|
+
- false_positive
|
|
631
|
+
- no_time
|
|
632
|
+
- no_triage_reason
|
|
633
|
+
example:
|
|
634
|
+
- acceptable_risk
|
|
635
|
+
- false_positive
|
|
636
|
+
items:
|
|
637
|
+
type: string
|
|
638
|
+
type: array
|
|
639
|
+
validation_state:
|
|
640
|
+
description: Filter by whether a secret could be validated. Only applies
|
|
641
|
+
for secrets findings.
|
|
642
|
+
enum:
|
|
643
|
+
- confirmed_valid
|
|
644
|
+
- confirmed_invalid
|
|
645
|
+
- validation_error
|
|
646
|
+
- no_validator
|
|
647
|
+
example:
|
|
648
|
+
- valid
|
|
649
|
+
- invalid
|
|
650
|
+
items:
|
|
651
|
+
type: string
|
|
652
|
+
type: array
|
|
653
|
+
required:
|
|
654
|
+
- deploymentSlug
|
|
655
|
+
- issue_type
|
|
656
|
+
title: Bulk Triage Request
|
|
657
|
+
type: object
|
|
658
|
+
protos.openapi.v1.BulkTriageResponse:
|
|
659
|
+
properties:
|
|
660
|
+
num_triaged:
|
|
661
|
+
description: Number of items updated
|
|
662
|
+
format: uint32
|
|
663
|
+
type: integer
|
|
664
|
+
triaged_issues:
|
|
665
|
+
description: List of triaged issue IDs
|
|
666
|
+
items:
|
|
667
|
+
format: uint32
|
|
668
|
+
type: integer
|
|
669
|
+
type: array
|
|
670
|
+
required:
|
|
671
|
+
- num_triaged
|
|
672
|
+
- triaged_issues
|
|
673
|
+
title: Bulk Triage Response
|
|
674
|
+
type: object
|
|
675
|
+
protos.openapi.v1.CreateSbomExportRequest:
|
|
676
|
+
properties:
|
|
677
|
+
deploymentId:
|
|
678
|
+
description: 'Deployment ID (numeric). Example: `123`. Can be found at `/deployments`,
|
|
679
|
+
or in your Settings in the web UI.'
|
|
680
|
+
example: 123
|
|
681
|
+
format: uint64
|
|
682
|
+
type: string
|
|
683
|
+
formatVersion:
|
|
684
|
+
$ref: '#/components/schemas/protos.sca.v1.SbomFormatVersion'
|
|
685
|
+
metadataComponentType:
|
|
686
|
+
default: SBOM_METADATA_COMPONENT_TYPE_CYCLONE_DX_V15_APPLICATION
|
|
687
|
+
description: 'Metadata component type for the SBOM export.
|
|
688
|
+
|
|
689
|
+
|
|
690
|
+
| value | description |
|
|
691
|
+
|
|
692
|
+
|-------|---------------|
|
|
693
|
+
|
|
694
|
+
| SBOM_METADATA_COMPONENT_TYPE_CYCLONE_DX_V15_APPLICATION | |
|
|
695
|
+
|
|
696
|
+
| SBOM_METADATA_COMPONENT_TYPE_CYCLONE_DX_V15_FRAMEWORK | |
|
|
697
|
+
|
|
698
|
+
| SBOM_METADATA_COMPONENT_TYPE_CYCLONE_DX_V15_LIBRARY | |
|
|
699
|
+
|
|
700
|
+
| SBOM_METADATA_COMPONENT_TYPE_CYCLONE_DX_V15_CONTAINER | |
|
|
701
|
+
|
|
702
|
+
| SBOM_METADATA_COMPONENT_TYPE_CYCLONE_DX_V15_PLATFORM | |
|
|
703
|
+
|
|
704
|
+
| SBOM_METADATA_COMPONENT_TYPE_CYCLONE_DX_V15_OPERATING_SYSTEM | |
|
|
705
|
+
|
|
706
|
+
| SBOM_METADATA_COMPONENT_TYPE_CYCLONE_DX_V15_DEVICE | |
|
|
707
|
+
|
|
708
|
+
| SBOM_METADATA_COMPONENT_TYPE_CYCLONE_DX_V15_DEVICE_DRIVER | |
|
|
709
|
+
|
|
710
|
+
| SBOM_METADATA_COMPONENT_TYPE_CYCLONE_DX_V15_FIRMWARE | |
|
|
711
|
+
|
|
712
|
+
| SBOM_METADATA_COMPONENT_TYPE_CYCLONE_DX_V15_FILE | |
|
|
713
|
+
|
|
714
|
+
| SBOM_METADATA_COMPONENT_TYPE_CYCLONE_DX_V15_MACHINE_LEARNING_MODEL | |
|
|
715
|
+
|
|
716
|
+
| SBOM_METADATA_COMPONENT_TYPE_CYCLONE_DX_V15_DATA | |
|
|
717
|
+
|
|
718
|
+
|
|
719
|
+
'
|
|
720
|
+
enum:
|
|
721
|
+
- SBOM_METADATA_COMPONENT_TYPE_CYCLONE_DX_V15_APPLICATION
|
|
722
|
+
- SBOM_METADATA_COMPONENT_TYPE_CYCLONE_DX_V15_FRAMEWORK
|
|
723
|
+
- SBOM_METADATA_COMPONENT_TYPE_CYCLONE_DX_V15_LIBRARY
|
|
724
|
+
- SBOM_METADATA_COMPONENT_TYPE_CYCLONE_DX_V15_CONTAINER
|
|
725
|
+
- SBOM_METADATA_COMPONENT_TYPE_CYCLONE_DX_V15_PLATFORM
|
|
726
|
+
- SBOM_METADATA_COMPONENT_TYPE_CYCLONE_DX_V15_OPERATING_SYSTEM
|
|
727
|
+
- SBOM_METADATA_COMPONENT_TYPE_CYCLONE_DX_V15_DEVICE
|
|
728
|
+
- SBOM_METADATA_COMPONENT_TYPE_CYCLONE_DX_V15_DEVICE_DRIVER
|
|
729
|
+
- SBOM_METADATA_COMPONENT_TYPE_CYCLONE_DX_V15_FIRMWARE
|
|
730
|
+
- SBOM_METADATA_COMPONENT_TYPE_CYCLONE_DX_V15_FILE
|
|
731
|
+
- SBOM_METADATA_COMPONENT_TYPE_CYCLONE_DX_V15_MACHINE_LEARNING_MODEL
|
|
732
|
+
- SBOM_METADATA_COMPONENT_TYPE_CYCLONE_DX_V15_DATA
|
|
733
|
+
example: SBOM_METADATA_COMPONENT_TYPE_CYCLONE_DX_V15_APPLICATION
|
|
734
|
+
format: enum
|
|
735
|
+
type: string
|
|
736
|
+
metadataSupplier:
|
|
737
|
+
$ref: '#/components/schemas/protos.sca.v1.SbomMetadataSupplier'
|
|
738
|
+
ref:
|
|
739
|
+
description: Branch to export SBOM for (Ex. ref=`refs/pull/1234/merge`).
|
|
740
|
+
example: refs/pull/1234/merge
|
|
741
|
+
type: string
|
|
742
|
+
repositoryId:
|
|
743
|
+
description: Repository ID to export SBOM for.
|
|
744
|
+
example: 123
|
|
745
|
+
format: uint64
|
|
746
|
+
type: string
|
|
747
|
+
sbomOutputFormat:
|
|
748
|
+
description: 'SBOM output format for the SBOM export.
|
|
749
|
+
|
|
750
|
+
|
|
751
|
+
| value | description |
|
|
752
|
+
|
|
753
|
+
|-------|---------------|
|
|
754
|
+
|
|
755
|
+
| SBOM_OUTPUT_FORMAT_JSON | |
|
|
756
|
+
|
|
757
|
+
|
|
758
|
+
'
|
|
759
|
+
enum:
|
|
760
|
+
- SBOM_OUTPUT_FORMAT_JSON
|
|
761
|
+
- SBOM_OUTPUT_FORMAT_CYCLONEDX
|
|
762
|
+
example: SBOM_OUTPUT_FORMAT_JSON
|
|
763
|
+
format: enum
|
|
764
|
+
type: string
|
|
765
|
+
required:
|
|
766
|
+
- deployment_id
|
|
767
|
+
title: Create Sbom Export Request
|
|
768
|
+
type: object
|
|
769
|
+
protos.openapi.v1.CreateSbomExportResponse:
|
|
770
|
+
properties:
|
|
771
|
+
taskToken:
|
|
772
|
+
description: Task token for the SBOM export job.
|
|
773
|
+
type: string
|
|
774
|
+
required:
|
|
775
|
+
- task_token
|
|
776
|
+
title: Create Sbom Export Response
|
|
777
|
+
type: object
|
|
778
|
+
protos.openapi.v1.CreateTicketRequest:
|
|
779
|
+
description: Create ticket request
|
|
780
|
+
properties:
|
|
781
|
+
autotriage_verdict:
|
|
782
|
+
description: The autotriage verdict to filter by
|
|
783
|
+
enum:
|
|
784
|
+
- true_positive
|
|
785
|
+
- false_positive
|
|
786
|
+
example: true_positive
|
|
787
|
+
type: string
|
|
788
|
+
categories:
|
|
789
|
+
description: List of categories to filter by
|
|
790
|
+
example:
|
|
791
|
+
- security
|
|
792
|
+
- performance
|
|
793
|
+
items:
|
|
794
|
+
type: string
|
|
795
|
+
type: array
|
|
796
|
+
component_tags:
|
|
797
|
+
description: List of component tags to filter by
|
|
798
|
+
example:
|
|
799
|
+
- user authentication
|
|
800
|
+
- user data
|
|
801
|
+
items:
|
|
802
|
+
type: string
|
|
803
|
+
type: array
|
|
804
|
+
confidence:
|
|
805
|
+
description: List of confidence levels to filter by
|
|
806
|
+
enum:
|
|
807
|
+
- low
|
|
808
|
+
- medium
|
|
809
|
+
- high
|
|
810
|
+
example: high
|
|
811
|
+
type: string
|
|
812
|
+
dependencies:
|
|
813
|
+
description: Filter by dependency name. Only applies for sca findings.
|
|
814
|
+
example:
|
|
815
|
+
- lodash
|
|
816
|
+
- express
|
|
817
|
+
items:
|
|
818
|
+
type: string
|
|
819
|
+
type: array
|
|
820
|
+
deploymentSlug:
|
|
821
|
+
description: Deployment slug. Can be found at `/deployments`, or in your
|
|
822
|
+
Settings in the web UI.
|
|
823
|
+
type: string
|
|
824
|
+
epss_probability:
|
|
825
|
+
description: Filter by EPSS probability (likelihood of exploit). Only applies
|
|
826
|
+
for sca findings.
|
|
827
|
+
enum:
|
|
828
|
+
- low
|
|
829
|
+
- medium
|
|
830
|
+
- high
|
|
831
|
+
- none
|
|
832
|
+
example:
|
|
833
|
+
- high
|
|
834
|
+
- medium
|
|
835
|
+
items:
|
|
836
|
+
type: string
|
|
837
|
+
type: array
|
|
838
|
+
exposures:
|
|
839
|
+
description: Filter by exposure (reachability type). Only applies for sca
|
|
840
|
+
findings. Reachability is the ability of an attacker to access a vulnerability
|
|
841
|
+
in a system.
|
|
842
|
+
enum:
|
|
843
|
+
- reachable
|
|
844
|
+
- always_reachable
|
|
845
|
+
- conditionally_reachable
|
|
846
|
+
- unreachable
|
|
847
|
+
- unknown
|
|
848
|
+
example:
|
|
849
|
+
- reachable
|
|
850
|
+
- always_reachable
|
|
851
|
+
items:
|
|
852
|
+
type: string
|
|
853
|
+
type: array
|
|
854
|
+
group_issues:
|
|
855
|
+
default: 'true'
|
|
856
|
+
description: Whether or not to group findings from the same rule and repository
|
|
857
|
+
into a single ticket. Defaults to true.
|
|
858
|
+
example: true
|
|
859
|
+
type: boolean
|
|
860
|
+
include_historical:
|
|
861
|
+
description: Whether to include historical findings. Only applies for secrets
|
|
862
|
+
findings. Defaults to true.
|
|
863
|
+
example: true
|
|
864
|
+
type: boolean
|
|
865
|
+
issue_ids:
|
|
866
|
+
description: An array of issue IDs to act on. If this is not provided, an
|
|
867
|
+
issue filter should be provided.
|
|
868
|
+
example:
|
|
869
|
+
- 123
|
|
870
|
+
- 456
|
|
871
|
+
items:
|
|
872
|
+
type: string
|
|
873
|
+
type: array
|
|
874
|
+
issue_type:
|
|
875
|
+
description: Type of findings to create tickets for.
|
|
876
|
+
enum:
|
|
877
|
+
- sast
|
|
878
|
+
- sca
|
|
879
|
+
- secrets
|
|
880
|
+
example: sca
|
|
881
|
+
type: string
|
|
882
|
+
jira_project_id:
|
|
883
|
+
description: Optional numeric Jira project ID to associate with the created
|
|
884
|
+
tickets. If not specified, defaults to the project configured in your
|
|
885
|
+
integration settings. You can fetch this ID using the Jira API.
|
|
886
|
+
example: 12345
|
|
887
|
+
type: string
|
|
888
|
+
limit:
|
|
889
|
+
default: 20.0
|
|
890
|
+
description: Max number of tickets to create. Must be an integer between
|
|
891
|
+
1 and 20. Defaults to 20
|
|
892
|
+
example: 20
|
|
893
|
+
format: uint32
|
|
894
|
+
type: integer
|
|
895
|
+
policies:
|
|
896
|
+
description: List of policy modes to filter by
|
|
897
|
+
example:
|
|
898
|
+
- rule-board-block
|
|
899
|
+
- rule-board-pr-comments
|
|
900
|
+
- rule-board-audit
|
|
901
|
+
items:
|
|
902
|
+
type: string
|
|
903
|
+
type: array
|
|
904
|
+
policy_mode:
|
|
905
|
+
description: List of policy modes to filter by
|
|
906
|
+
enum:
|
|
907
|
+
- monitor
|
|
908
|
+
- comment
|
|
909
|
+
- block
|
|
910
|
+
example:
|
|
911
|
+
- monitor
|
|
912
|
+
- block
|
|
913
|
+
items:
|
|
914
|
+
type: string
|
|
915
|
+
type: array
|
|
916
|
+
pro_only:
|
|
917
|
+
description: Filter by whether a finding is only available with Semgrep
|
|
918
|
+
Pro features. Only applies for sast findings.
|
|
919
|
+
example: true
|
|
920
|
+
type: boolean
|
|
921
|
+
project_tags:
|
|
922
|
+
description: List of project tags to filter by
|
|
923
|
+
example:
|
|
924
|
+
- my_project_tag_1
|
|
925
|
+
- my_project_tag_2
|
|
926
|
+
items:
|
|
927
|
+
type: string
|
|
928
|
+
type: array
|
|
929
|
+
ref:
|
|
930
|
+
description: Branch reference to filter by
|
|
931
|
+
example: refs/pull/1234/merge
|
|
932
|
+
type: string
|
|
933
|
+
repos:
|
|
934
|
+
description: List of repository names to filter by
|
|
935
|
+
example:
|
|
936
|
+
- myorg/repo1
|
|
937
|
+
- myorg/repo2
|
|
938
|
+
items:
|
|
939
|
+
type: string
|
|
940
|
+
type: array
|
|
941
|
+
repository_visibility:
|
|
942
|
+
description: Filter by repository visibility. Only applies for secrets findings.
|
|
943
|
+
enum:
|
|
944
|
+
- public
|
|
945
|
+
- private
|
|
946
|
+
- unknown
|
|
947
|
+
example:
|
|
948
|
+
- public
|
|
949
|
+
- private
|
|
950
|
+
items:
|
|
951
|
+
type: string
|
|
952
|
+
type: array
|
|
953
|
+
rules:
|
|
954
|
+
description: List of rule names to filter by
|
|
955
|
+
example:
|
|
956
|
+
- typescript.react.security.audit.react-no-refs.react-no-refs
|
|
957
|
+
- ajinabraham.njsscan.hardcoded_secrets.node_username
|
|
958
|
+
items:
|
|
959
|
+
type: string
|
|
960
|
+
type: array
|
|
961
|
+
ruleset:
|
|
962
|
+
description: List of Semgrep Registry rulesets to filter by
|
|
963
|
+
example:
|
|
964
|
+
- owasp-top-ten
|
|
965
|
+
- default
|
|
966
|
+
items:
|
|
967
|
+
type: string
|
|
968
|
+
type: array
|
|
969
|
+
secret_types:
|
|
970
|
+
description: Filter by type of secret (typically provider-related). Only
|
|
971
|
+
applies for secrets findings.
|
|
972
|
+
example:
|
|
973
|
+
- Github
|
|
974
|
+
- Heroku
|
|
975
|
+
- AWS
|
|
976
|
+
items:
|
|
977
|
+
type: string
|
|
978
|
+
type: array
|
|
979
|
+
severities:
|
|
980
|
+
description: List of severities to filter by
|
|
981
|
+
enum:
|
|
982
|
+
- low
|
|
983
|
+
- medium
|
|
984
|
+
- high
|
|
985
|
+
- critical
|
|
986
|
+
example:
|
|
987
|
+
- low
|
|
988
|
+
- high
|
|
989
|
+
items:
|
|
990
|
+
type: string
|
|
991
|
+
type: array
|
|
992
|
+
since:
|
|
993
|
+
description: 'Epoch timestamp in seconds. Filters using the relevant_since
|
|
994
|
+
field: the timestamp when this finding was detected by Semgrep (the first
|
|
995
|
+
time, or when reintroduced).'
|
|
996
|
+
example: 1717334400
|
|
997
|
+
type: string
|
|
998
|
+
status:
|
|
999
|
+
description: The status to filter by
|
|
1000
|
+
enum:
|
|
1001
|
+
- open
|
|
1002
|
+
- fixed
|
|
1003
|
+
- ignored
|
|
1004
|
+
- reviewing
|
|
1005
|
+
- fixing
|
|
1006
|
+
example: open
|
|
1007
|
+
type: string
|
|
1008
|
+
transitivities:
|
|
1009
|
+
description: Filter by transitivity of a dependency. Only applies for sca
|
|
1010
|
+
findings.
|
|
1011
|
+
enum:
|
|
1012
|
+
- direct
|
|
1013
|
+
- transitive
|
|
1014
|
+
- unknown
|
|
1015
|
+
example:
|
|
1016
|
+
- transitive
|
|
1017
|
+
- direct
|
|
1018
|
+
items:
|
|
1019
|
+
type: string
|
|
1020
|
+
type: array
|
|
1021
|
+
triage_reasons:
|
|
1022
|
+
description: List of triage reasons to filter by
|
|
1023
|
+
enum:
|
|
1024
|
+
- acceptable_risk
|
|
1025
|
+
- false_positive
|
|
1026
|
+
- no_time
|
|
1027
|
+
- no_triage_reason
|
|
1028
|
+
example:
|
|
1029
|
+
- acceptable_risk
|
|
1030
|
+
- false_positive
|
|
1031
|
+
items:
|
|
1032
|
+
type: string
|
|
1033
|
+
type: array
|
|
1034
|
+
validation_state:
|
|
1035
|
+
description: Filter by whether a secret could be validated. Only applies
|
|
1036
|
+
for secrets findings.
|
|
1037
|
+
enum:
|
|
1038
|
+
- confirmed_valid
|
|
1039
|
+
- confirmed_invalid
|
|
1040
|
+
- validation_error
|
|
1041
|
+
- no_validator
|
|
1042
|
+
example:
|
|
1043
|
+
- valid
|
|
1044
|
+
- invalid
|
|
1045
|
+
items:
|
|
1046
|
+
type: string
|
|
1047
|
+
type: array
|
|
1048
|
+
required:
|
|
1049
|
+
- deployment_slug
|
|
1050
|
+
- issue_type
|
|
1051
|
+
title: Create Ticket Request
|
|
1052
|
+
type: object
|
|
1053
|
+
protos.openapi.v1.CreateTicketResponse:
|
|
1054
|
+
properties:
|
|
1055
|
+
failed:
|
|
1056
|
+
description: List of issues where ticket creation failed. This list may
|
|
1057
|
+
include issues that were skipped because they exceed the specified limit.
|
|
1058
|
+
items:
|
|
1059
|
+
$ref: '#/components/schemas/protos.openapi.v1.CreateTicketResponse_TicketCreationFailed'
|
|
1060
|
+
type: array
|
|
1061
|
+
skipped:
|
|
1062
|
+
description: List of issues that were skipped
|
|
1063
|
+
items:
|
|
1064
|
+
$ref: '#/components/schemas/protos.openapi.v1.CreateTicketResponse_TicketCreationSkipped'
|
|
1065
|
+
type: array
|
|
1066
|
+
succeeded:
|
|
1067
|
+
description: List of successfully created tickets
|
|
1068
|
+
items:
|
|
1069
|
+
$ref: '#/components/schemas/protos.openapi.v1.CreateTicketResponse_TicketCreationSuccess'
|
|
1070
|
+
type: array
|
|
1071
|
+
type: object
|
|
1072
|
+
protos.openapi.v1.CreateTicketResponse_TicketCreationFailed:
|
|
1073
|
+
properties:
|
|
1074
|
+
error:
|
|
1075
|
+
description: The error message for the failure
|
|
1076
|
+
type: string
|
|
1077
|
+
issue_ids:
|
|
1078
|
+
description: List of issue IDs
|
|
1079
|
+
items:
|
|
1080
|
+
format: uint32
|
|
1081
|
+
type: integer
|
|
1082
|
+
type: array
|
|
1083
|
+
type: object
|
|
1084
|
+
protos.openapi.v1.CreateTicketResponse_TicketCreationSkipped:
|
|
1085
|
+
properties:
|
|
1086
|
+
issue_ids:
|
|
1087
|
+
description: List of issue IDs
|
|
1088
|
+
items:
|
|
1089
|
+
format: uint32
|
|
1090
|
+
type: integer
|
|
1091
|
+
type: array
|
|
1092
|
+
reason:
|
|
1093
|
+
description: The reason why the issue was skipped
|
|
1094
|
+
type: string
|
|
1095
|
+
type: object
|
|
1096
|
+
protos.openapi.v1.CreateTicketResponse_TicketCreationSuccess:
|
|
1097
|
+
properties:
|
|
1098
|
+
external_slug:
|
|
1099
|
+
description: The external slug identifier for the ticket
|
|
1100
|
+
type: string
|
|
1101
|
+
issue_ids:
|
|
1102
|
+
description: List of issue IDs
|
|
1103
|
+
items:
|
|
1104
|
+
format: uint32
|
|
1105
|
+
type: integer
|
|
1106
|
+
type: array
|
|
1107
|
+
ticket_id:
|
|
1108
|
+
description: The ID of the created ticket
|
|
1109
|
+
format: uint32
|
|
1110
|
+
type: integer
|
|
1111
|
+
ticket_url:
|
|
1112
|
+
description: The URL of the created ticket
|
|
1113
|
+
type: string
|
|
1114
|
+
type: object
|
|
1115
|
+
protos.openapi.v1.DeleteProjectResponse:
|
|
1116
|
+
description: Successfully deleted the project.
|
|
1117
|
+
properties:
|
|
1118
|
+
project_name:
|
|
1119
|
+
description: The name of the deleted project.
|
|
1120
|
+
example: organization/project
|
|
1121
|
+
type: string
|
|
1122
|
+
required:
|
|
1123
|
+
- projects
|
|
1124
|
+
title: Delete Project Response
|
|
1125
|
+
type: object
|
|
1126
|
+
protos.openapi.v1.DeleteProjectTagsResponse:
|
|
1127
|
+
description: Successfully removed tags from project.
|
|
1128
|
+
properties:
|
|
1129
|
+
project:
|
|
1130
|
+
$ref: '#/components/schemas/protos.openapi.v1.Project'
|
|
1131
|
+
required:
|
|
1132
|
+
- projects
|
|
1133
|
+
title: Delete Project Tags Response
|
|
1134
|
+
type: object
|
|
1135
|
+
protos.openapi.v1.DeleteTicketResponse:
|
|
1136
|
+
properties:
|
|
1137
|
+
issueIds:
|
|
1138
|
+
description: List of issue IDs unlinked from ticket
|
|
1139
|
+
example:
|
|
1140
|
+
- '18759'
|
|
1141
|
+
- '18760'
|
|
1142
|
+
items:
|
|
1143
|
+
type: string
|
|
1144
|
+
type: array
|
|
1145
|
+
type: object
|
|
1146
|
+
protos.openapi.v1.Deployment:
|
|
1147
|
+
description: Deployment record, with relevant meta-data and further accesses.
|
|
1148
|
+
properties:
|
|
1149
|
+
findings:
|
|
1150
|
+
$ref: '#/components/schemas/protos.openapi.v1.EndpointReference'
|
|
1151
|
+
id:
|
|
1152
|
+
description: Unique numerical identifier of the deployment.
|
|
1153
|
+
example: 120
|
|
1154
|
+
format: uint32
|
|
1155
|
+
type: number
|
|
1156
|
+
name:
|
|
1157
|
+
description: Human readable name.
|
|
1158
|
+
example: Your Deployment
|
|
1159
|
+
type: string
|
|
1160
|
+
slug:
|
|
1161
|
+
description: Sanitized machine-readable name. Used as primary identifier
|
|
1162
|
+
through the web API.
|
|
1163
|
+
example: your-deployment
|
|
1164
|
+
type: string
|
|
1165
|
+
required:
|
|
1166
|
+
- slug
|
|
1167
|
+
- id
|
|
1168
|
+
- name
|
|
1169
|
+
title: Deployment
|
|
1170
|
+
type: object
|
|
1171
|
+
protos.openapi.v1.DiffScan:
|
|
1172
|
+
properties:
|
|
1173
|
+
enabled:
|
|
1174
|
+
description: When true, diff-aware scans are enabled for the project.
|
|
1175
|
+
type: boolean
|
|
1176
|
+
type: object
|
|
1177
|
+
protos.openapi.v1.EndpointReference:
|
|
1178
|
+
properties:
|
|
1179
|
+
url:
|
|
1180
|
+
description: URL that the reference is pointing to.
|
|
1181
|
+
example: https://semgrep.dev/api/v1/deployments/123/findings
|
|
1182
|
+
type: string
|
|
1183
|
+
required:
|
|
1184
|
+
- url
|
|
1185
|
+
title: Endpoint Reference
|
|
1186
|
+
type: object
|
|
1187
|
+
protos.openapi.v1.ExternalTicket:
|
|
1188
|
+
description: External ticket associated with finding
|
|
1189
|
+
properties:
|
|
1190
|
+
externalSlug:
|
|
1191
|
+
description: Identifier of the external ticket
|
|
1192
|
+
example: OPS-158
|
|
1193
|
+
type: string
|
|
1194
|
+
id:
|
|
1195
|
+
description: External ticket id
|
|
1196
|
+
format: uint32
|
|
1197
|
+
type: integer
|
|
1198
|
+
linkedIssueIds:
|
|
1199
|
+
description: Semgrep issue ids that are linked to this external ticket
|
|
1200
|
+
items:
|
|
1201
|
+
format: uint32
|
|
1202
|
+
type: integer
|
|
1203
|
+
type: array
|
|
1204
|
+
url:
|
|
1205
|
+
description: URL of the external ticket
|
|
1206
|
+
type: string
|
|
1207
|
+
title: External Ticket
|
|
1208
|
+
type: object
|
|
1209
|
+
protos.openapi.v1.FindingLocation:
|
|
1210
|
+
description: Location of the record in a file, as reported by Semgrep. If null,
|
|
1211
|
+
then the information does not exist or lacks integrity (older or broken scans)
|
|
1212
|
+
properties:
|
|
1213
|
+
column:
|
|
1214
|
+
description: Column at which the target starts
|
|
1215
|
+
example: 8
|
|
1216
|
+
format: uint32
|
|
1217
|
+
type: integer
|
|
1218
|
+
endColumn:
|
|
1219
|
+
description: Column at which the target ends
|
|
1220
|
+
example: 16
|
|
1221
|
+
format: uint32
|
|
1222
|
+
type: integer
|
|
1223
|
+
endLine:
|
|
1224
|
+
description: Line at which the target ends
|
|
1225
|
+
example: 124
|
|
1226
|
+
format: uint32
|
|
1227
|
+
type: integer
|
|
1228
|
+
filePath:
|
|
1229
|
+
description: File path of the relevant line and column numbers
|
|
1230
|
+
example: frontend/src/corpComponents/Code.tsx
|
|
1231
|
+
type: string
|
|
1232
|
+
line:
|
|
1233
|
+
description: Line at which the target starts
|
|
1234
|
+
example: 120
|
|
1235
|
+
format: uint32
|
|
1236
|
+
type: integer
|
|
1237
|
+
title: Finding Location
|
|
1238
|
+
type: object
|
|
1239
|
+
protos.openapi.v1.FindingRepository:
|
|
1240
|
+
description: Which repository this finding was identified in
|
|
1241
|
+
properties:
|
|
1242
|
+
name:
|
|
1243
|
+
description: The repository or named project that the finding is associated
|
|
1244
|
+
with
|
|
1245
|
+
example: semgrep
|
|
1246
|
+
type: string
|
|
1247
|
+
url:
|
|
1248
|
+
description: The source URL from which this repository last scanned
|
|
1249
|
+
example: https://github.com/semgrep/semgrep
|
|
1250
|
+
type: string
|
|
1251
|
+
title: Finding Repository
|
|
1252
|
+
type: object
|
|
1253
|
+
protos.openapi.v1.FindingRule:
|
|
1254
|
+
description: Rule that applies to this finding
|
|
1255
|
+
properties:
|
|
1256
|
+
category:
|
|
1257
|
+
description: Category the rule is associated with
|
|
1258
|
+
example: security
|
|
1259
|
+
type: string
|
|
1260
|
+
confidence:
|
|
1261
|
+
description: Confidence level of the rule
|
|
1262
|
+
enum:
|
|
1263
|
+
- low
|
|
1264
|
+
- medium
|
|
1265
|
+
- high
|
|
1266
|
+
example: high
|
|
1267
|
+
type: string
|
|
1268
|
+
cweNames:
|
|
1269
|
+
description: CWE names associated with the rule
|
|
1270
|
+
example:
|
|
1271
|
+
- 'CWE-319: Cleartext Transmission of Sensitive Information'
|
|
1272
|
+
items:
|
|
1273
|
+
type: string
|
|
1274
|
+
type: array
|
|
1275
|
+
message:
|
|
1276
|
+
description: Rule message
|
|
1277
|
+
example: This link points to a plaintext HTTP URL. Prefer an encrypted HTTPS
|
|
1278
|
+
URL if possible.
|
|
1279
|
+
type: string
|
|
1280
|
+
name:
|
|
1281
|
+
description: Name of the rule
|
|
1282
|
+
example: html.security.plaintext-http-link.plaintext-http-link
|
|
1283
|
+
type: string
|
|
1284
|
+
owaspNames:
|
|
1285
|
+
description: OWASP names associated with the rule
|
|
1286
|
+
example:
|
|
1287
|
+
- A03:2017 - Sensitive Data Exposure
|
|
1288
|
+
- A02:2021 - Cryptographic Failures
|
|
1289
|
+
items:
|
|
1290
|
+
type: string
|
|
1291
|
+
type: array
|
|
1292
|
+
subcategories:
|
|
1293
|
+
description: Subcategories of the rule
|
|
1294
|
+
example:
|
|
1295
|
+
- vuln
|
|
1296
|
+
items:
|
|
1297
|
+
type: string
|
|
1298
|
+
type: array
|
|
1299
|
+
vulnerabilityClasses:
|
|
1300
|
+
description: Vulnerability classes the rule is associated with
|
|
1301
|
+
example:
|
|
1302
|
+
- Mishandled Sensitive Information
|
|
1303
|
+
items:
|
|
1304
|
+
type: string
|
|
1305
|
+
type: array
|
|
1306
|
+
title: Finding Rule
|
|
1307
|
+
type: object
|
|
1308
|
+
protos.openapi.v1.FullScan:
|
|
1309
|
+
properties:
|
|
1310
|
+
enabled:
|
|
1311
|
+
description: When true, weekly full scans are enabled.
|
|
1312
|
+
type: boolean
|
|
1313
|
+
type: object
|
|
1314
|
+
protos.openapi.v1.GetBootstrapSmsVpcResponse:
|
|
1315
|
+
properties:
|
|
1316
|
+
AWSTemplateFormatVersion:
|
|
1317
|
+
description: The AWSTemplateFormatVersion that the template conforms to
|
|
1318
|
+
type: string
|
|
1319
|
+
Description:
|
|
1320
|
+
description: Template description
|
|
1321
|
+
type: string
|
|
1322
|
+
Metadata:
|
|
1323
|
+
description: Template metadata including version and last updated date
|
|
1324
|
+
type: object
|
|
1325
|
+
Outputs:
|
|
1326
|
+
description: Output values of the stack
|
|
1327
|
+
type: object
|
|
1328
|
+
Parameters:
|
|
1329
|
+
description: Template parameters
|
|
1330
|
+
type: object
|
|
1331
|
+
Resources:
|
|
1332
|
+
description: Declaration of AWS resources
|
|
1333
|
+
type: object
|
|
1334
|
+
type: object
|
|
1335
|
+
protos.openapi.v1.GetProjectResponse:
|
|
1336
|
+
description: Successfully retrieved details for the project.
|
|
1337
|
+
properties:
|
|
1338
|
+
project:
|
|
1339
|
+
$ref: '#/components/schemas/protos.openapi.v1.Project'
|
|
1340
|
+
required:
|
|
1341
|
+
- projects
|
|
1342
|
+
title: Get Project Response
|
|
1343
|
+
type: object
|
|
1344
|
+
protos.openapi.v1.GetSbomExportResponse:
|
|
1345
|
+
properties:
|
|
1346
|
+
downloadUrl:
|
|
1347
|
+
description: URL to download the SBOM when status is COMPLETED.
|
|
1348
|
+
type: string
|
|
1349
|
+
errorMessage:
|
|
1350
|
+
description: Error message when status is FAILED.
|
|
1351
|
+
type: string
|
|
1352
|
+
status:
|
|
1353
|
+
description: 'Status of the SBOM export job.
|
|
1354
|
+
|
|
1355
|
+
|
|
1356
|
+
| value | description |
|
|
1357
|
+
|
|
1358
|
+
|-------|---------------|
|
|
1359
|
+
|
|
1360
|
+
| SBOM_EXPORT_STATUS_IN_PROGRESS | The SBOM export job is in progress.
|
|
1361
|
+
|
|
|
1362
|
+
|
|
1363
|
+
| SBOM_EXPORT_STATUS_COMPLETED | The SBOM export job has completed. |
|
|
1364
|
+
|
|
1365
|
+
| SBOM_EXPORT_STATUS_FAILED | The SBOM export job has failed. |
|
|
1366
|
+
|
|
1367
|
+
|
|
1368
|
+
'
|
|
1369
|
+
enum:
|
|
1370
|
+
- SBOM_EXPORT_STATUS_IN_PROGRESS
|
|
1371
|
+
- SBOM_EXPORT_STATUS_COMPLETED
|
|
1372
|
+
- SBOM_EXPORT_STATUS_FAILED
|
|
1373
|
+
format: enum
|
|
1374
|
+
type: string
|
|
1375
|
+
required:
|
|
1376
|
+
- status
|
|
1377
|
+
title: Get Sbom Export Response
|
|
1378
|
+
type: object
|
|
1379
|
+
protos.openapi.v1.GetScanResponse:
|
|
1380
|
+
properties:
|
|
1381
|
+
completed_at:
|
|
1382
|
+
description: imestamp of when the scan started.
|
|
1383
|
+
example: 2023-11-18 23:28:12.391807+00:00
|
|
1384
|
+
type: string
|
|
1385
|
+
deployment_id:
|
|
1386
|
+
description: The unique ID of the deployment associated with the scanned
|
|
1387
|
+
repository.
|
|
1388
|
+
example: 120
|
|
1389
|
+
format: uint32
|
|
1390
|
+
type: integer
|
|
1391
|
+
enabled_products:
|
|
1392
|
+
description: The products used when running the scan.
|
|
1393
|
+
example:
|
|
1394
|
+
- secrets
|
|
1395
|
+
items:
|
|
1396
|
+
type: string
|
|
1397
|
+
type: array
|
|
1398
|
+
exit_code:
|
|
1399
|
+
format: uint32
|
|
1400
|
+
type: integer
|
|
1401
|
+
has_logs:
|
|
1402
|
+
type: boolean
|
|
1403
|
+
id:
|
|
1404
|
+
description: The unique ID representing this scan.
|
|
1405
|
+
example: 123
|
|
1406
|
+
format: uint32
|
|
1407
|
+
type: integer
|
|
1408
|
+
meta:
|
|
1409
|
+
$ref: '#/components/schemas/protos.openapi.v1.GetScanResponse_ScanMeta'
|
|
1410
|
+
repository_id:
|
|
1411
|
+
description: The unique ID of the repository that was scanned.
|
|
1412
|
+
example: 1234567
|
|
1413
|
+
format: uint32
|
|
1414
|
+
type: integer
|
|
1415
|
+
started_at:
|
|
1416
|
+
description: when the scan was started
|
|
1417
|
+
example: 2023-11-18 23:28:12.391807+00:00
|
|
1418
|
+
type: string
|
|
1419
|
+
stats:
|
|
1420
|
+
description: Miscellaneous statistics about the scan, like number of findings
|
|
1421
|
+
found and scan duration.
|
|
1422
|
+
example:
|
|
1423
|
+
findings: 5
|
|
1424
|
+
total_time: 100
|
|
1425
|
+
type: object
|
|
1426
|
+
type: object
|
|
1427
|
+
protos.openapi.v1.GetScanResponse_ScanMeta:
|
|
1428
|
+
properties:
|
|
1429
|
+
true:
|
|
1430
|
+
description: What triggered this scan, if applicable.
|
|
1431
|
+
example: pull_request
|
|
1432
|
+
type: string
|
|
1433
|
+
branch:
|
|
1434
|
+
description: The branch that was scanned, if applicable.
|
|
1435
|
+
example: refs/heads/main
|
|
1436
|
+
type: string
|
|
1437
|
+
commit:
|
|
1438
|
+
description: The commit SHA associated with the scan, if applicable.
|
|
1439
|
+
example: 94c5be1312a9da03b7c4bfcc1c50b4379c83412
|
|
1440
|
+
type: string
|
|
1441
|
+
config:
|
|
1442
|
+
description: The path of the configuration file used for this scan, if applicable.
|
|
1443
|
+
example: r/python
|
|
1444
|
+
type: string
|
|
1445
|
+
repo_url:
|
|
1446
|
+
description: The URL of the scanned repository, if applicable.
|
|
1447
|
+
example: https://github.com/semgrep/semgrep
|
|
1448
|
+
type: string
|
|
1449
|
+
ci_job_url:
|
|
1450
|
+
description: The URL of the CI job that ran the scan, if applicable.
|
|
1451
|
+
example: https://github.com/semgrep/semgrep/actions/runs/12345
|
|
1452
|
+
type: string
|
|
1453
|
+
repository:
|
|
1454
|
+
description: The name and organization of the scanned repository, if applicable.
|
|
1455
|
+
example: semgrep/semgrep
|
|
1456
|
+
type: string
|
|
1457
|
+
commit_title:
|
|
1458
|
+
description: The commit message associated with the scan, if applicable.
|
|
1459
|
+
example:
|
|
1460
|
+
fix(feature): Added XYZ component
|
|
1461
|
+
type: string
|
|
1462
|
+
pull_request_id:
|
|
1463
|
+
description: The ID of the pull request associated with the scan, if applicable.
|
|
1464
|
+
example: 12345
|
|
1465
|
+
type: string
|
|
1466
|
+
pull_request_title:
|
|
1467
|
+
description: The title of the pull request associated with the scan if applicable.
|
|
1468
|
+
example:
|
|
1469
|
+
fix(feature): Added XYZ component
|
|
1470
|
+
type: string
|
|
1471
|
+
commit_author_name:
|
|
1472
|
+
description: The name of the author of the commit associated with the scan,
|
|
1473
|
+
if applicable.
|
|
1474
|
+
example: Sven Greppe
|
|
1475
|
+
type: string
|
|
1476
|
+
commit_author_image_url:
|
|
1477
|
+
description: The avatar image url of the author of the commit associated
|
|
1478
|
+
with the scan, if applicable.
|
|
1479
|
+
example: https://github.com/link/to/avatar.png
|
|
1480
|
+
type: string
|
|
1481
|
+
commit_author_email:
|
|
1482
|
+
description: The email of the author of the commit associated with the scan,
|
|
1483
|
+
if applicable.
|
|
1484
|
+
example: sven.greppe@semgrep.com
|
|
1485
|
+
type: string
|
|
1486
|
+
commit_author_username:
|
|
1487
|
+
description: The username of the author of the commit associated with the
|
|
1488
|
+
scan, if applicable.
|
|
1489
|
+
example: SvenGreppe
|
|
1490
|
+
type: string
|
|
1491
|
+
pull_request_author_username:
|
|
1492
|
+
description: The username of the author of the pull request associated with
|
|
1493
|
+
the scan, if applicable.
|
|
1494
|
+
example: SvenGreppe
|
|
1495
|
+
type: string
|
|
1496
|
+
pull_request_author_image_url:
|
|
1497
|
+
description: The avatar image url of the author of the pull request associated
|
|
1498
|
+
with the scan, if applicable.
|
|
1499
|
+
example: https://github.com/link/to/avatar.png
|
|
1500
|
+
type: string
|
|
1501
|
+
type: object
|
|
1502
|
+
protos.openapi.v1.ListDependenciesRequest:
|
|
1503
|
+
properties:
|
|
1504
|
+
cursor:
|
|
1505
|
+
description: Cursor to paginate through the dependencies. Provide a cursor
|
|
1506
|
+
value from the response to retrieve the next page.
|
|
1507
|
+
format: uint64
|
|
1508
|
+
type: string
|
|
1509
|
+
dependencyFilter:
|
|
1510
|
+
$ref: '#/components/schemas/protos.sca.v1.DependencyFilter'
|
|
1511
|
+
deploymentId:
|
|
1512
|
+
description: 'Deployment ID (numeric). Example: `123`. Can be found at `/deployments`,
|
|
1513
|
+
or in your Settings in the web UI.'
|
|
1514
|
+
example: 123
|
|
1515
|
+
format: uint64
|
|
1516
|
+
type: string
|
|
1517
|
+
pageSize:
|
|
1518
|
+
description: 'Number of dependencies per page. Default: 1000, min: 1, max:
|
|
1519
|
+
10000.'
|
|
1520
|
+
example: 1000
|
|
1521
|
+
format: int64
|
|
1522
|
+
maximum: 10000.0
|
|
1523
|
+
minimum: 1.0
|
|
1524
|
+
type: integer
|
|
1525
|
+
required:
|
|
1526
|
+
- deployment_id
|
|
1527
|
+
title: List Dependencies Request
|
|
1528
|
+
type: object
|
|
1529
|
+
protos.openapi.v1.ListDependenciesResponse:
|
|
1530
|
+
properties:
|
|
1531
|
+
cursor:
|
|
1532
|
+
description: Pass to next request to get next page of results.
|
|
1533
|
+
format: uint64
|
|
1534
|
+
type: string
|
|
1535
|
+
dependencies:
|
|
1536
|
+
description: List of dependencies.
|
|
1537
|
+
example:
|
|
1538
|
+
- id: '1'
|
|
1539
|
+
name: dependency1
|
|
1540
|
+
version: 1.0.0
|
|
1541
|
+
- id: '2'
|
|
1542
|
+
name: dependency2
|
|
1543
|
+
version: 2.0.0
|
|
1544
|
+
items:
|
|
1545
|
+
$ref: '#/components/schemas/protos.sca.v1.FoundDependency'
|
|
1546
|
+
type: array
|
|
1547
|
+
hasMore:
|
|
1548
|
+
description: True if there are more dependencies to get.
|
|
1549
|
+
type: boolean
|
|
1550
|
+
required:
|
|
1551
|
+
- dependencies
|
|
1552
|
+
- has_more
|
|
1553
|
+
title: List Dependencies Response
|
|
1554
|
+
type: object
|
|
1555
|
+
protos.openapi.v1.ListDeploymentsResponse:
|
|
1556
|
+
properties:
|
|
1557
|
+
deployments:
|
|
1558
|
+
description: Return the deployment the supplied token can access.
|
|
1559
|
+
items:
|
|
1560
|
+
$ref: '#/components/schemas/protos.openapi.v1.Deployment'
|
|
1561
|
+
type: array
|
|
1562
|
+
type: object
|
|
1563
|
+
protos.openapi.v1.ListFindingsResponse:
|
|
1564
|
+
description: Response containing a paginated list of findings (either Code or
|
|
1565
|
+
Supply Chain findings) with optional filtering applied
|
|
1566
|
+
properties:
|
|
1567
|
+
sastFindings:
|
|
1568
|
+
$ref: '#/components/schemas/protos.openapi.v1.ListFindingsResponse_SastFindings'
|
|
1569
|
+
scaFindings:
|
|
1570
|
+
$ref: '#/components/schemas/protos.openapi.v1.ListFindingsResponse_ScaFindings'
|
|
1571
|
+
title: List Findings Response
|
|
1572
|
+
type: object
|
|
1573
|
+
protos.openapi.v1.ListFindingsResponse_SastFindings:
|
|
1574
|
+
description: A list of Code findings that Semgrep has identified in your organization
|
|
1575
|
+
properties:
|
|
1576
|
+
findings:
|
|
1577
|
+
description: A list of Code findings.
|
|
1578
|
+
items:
|
|
1579
|
+
$ref: '#/components/schemas/protos.openapi.v1.SastFinding'
|
|
1580
|
+
type: array
|
|
1581
|
+
title: Sast Findings
|
|
1582
|
+
type: object
|
|
1583
|
+
protos.openapi.v1.ListFindingsResponse_ScaFindings:
|
|
1584
|
+
description: A list of Supply Chain findings that Semgrep has identified in
|
|
1585
|
+
your organization
|
|
1586
|
+
properties:
|
|
1587
|
+
findings:
|
|
1588
|
+
description: A list of Supply Chain findings.
|
|
1589
|
+
items:
|
|
1590
|
+
$ref: '#/components/schemas/protos.openapi.v1.ScaFinding'
|
|
1591
|
+
type: array
|
|
1592
|
+
title: Sca Findings
|
|
1593
|
+
type: object
|
|
1594
|
+
protos.openapi.v1.ListLockfilesForDependenciesRequest:
|
|
1595
|
+
properties:
|
|
1596
|
+
cursor:
|
|
1597
|
+
description: Use cursor in response to get next page of results.
|
|
1598
|
+
type: string
|
|
1599
|
+
dependencyFilter:
|
|
1600
|
+
$ref: '#/components/schemas/protos.sca.v1.DependencyFilter'
|
|
1601
|
+
deploymentId:
|
|
1602
|
+
description: 'Deployment ID (numeric). Example: `123`. Can be found at `/deployments`,
|
|
1603
|
+
or in your Settings in the web UI.'
|
|
1604
|
+
format: uint64
|
|
1605
|
+
type: string
|
|
1606
|
+
pageSize:
|
|
1607
|
+
default: 5.0
|
|
1608
|
+
description: 'Number of repositories per page. Default: 5, min: 1, max:
|
|
1609
|
+
100.'
|
|
1610
|
+
example: 100
|
|
1611
|
+
format: uint32
|
|
1612
|
+
maximum: 100.0
|
|
1613
|
+
minimum: 1.0
|
|
1614
|
+
type: integer
|
|
1615
|
+
repositoryId:
|
|
1616
|
+
description: Repository ID to filter by. Use Projects endpoints to retrieve
|
|
1617
|
+
repository IDs.
|
|
1618
|
+
format: uint64
|
|
1619
|
+
type: string
|
|
1620
|
+
required:
|
|
1621
|
+
- deployment_id
|
|
1622
|
+
- repository_id
|
|
1623
|
+
title: List Lockfiles For Dependencies Request
|
|
1624
|
+
type: object
|
|
1625
|
+
protos.openapi.v1.ListLockfilesForDependenciesResponse:
|
|
1626
|
+
properties:
|
|
1627
|
+
cursor:
|
|
1628
|
+
description: Pass to next request to get next page of results.
|
|
1629
|
+
type: string
|
|
1630
|
+
hasMore:
|
|
1631
|
+
description: True if there are more lockfiles to get.
|
|
1632
|
+
type: boolean
|
|
1633
|
+
lockfileSummaries:
|
|
1634
|
+
description: List of lockfiles.
|
|
1635
|
+
items:
|
|
1636
|
+
$ref: '#/components/schemas/protos.sca.v1.LockfileDependencySummary'
|
|
1637
|
+
type: array
|
|
1638
|
+
required:
|
|
1639
|
+
- has_more
|
|
1640
|
+
- lockfile_summaries
|
|
1641
|
+
title: List Lockfiles For Dependencies Response
|
|
1642
|
+
type: object
|
|
1643
|
+
protos.openapi.v1.ListPoliciesResponse:
|
|
1644
|
+
properties:
|
|
1645
|
+
policies:
|
|
1646
|
+
description: List of Policies associated with the given Deployment.
|
|
1647
|
+
example:
|
|
1648
|
+
- id: '1'
|
|
1649
|
+
isDefault: true
|
|
1650
|
+
name: Global Policy
|
|
1651
|
+
productType: PRODUCT_TYPE_SAST
|
|
1652
|
+
slug: global_policy
|
|
1653
|
+
- id: '2'
|
|
1654
|
+
isDefault: false
|
|
1655
|
+
name: Semgrep test
|
|
1656
|
+
productType: PRODUCT_TYPE_SAST
|
|
1657
|
+
slug: semgrep_test
|
|
1658
|
+
- id: '3'
|
|
1659
|
+
isDefault: true
|
|
1660
|
+
name: Global Secrets Policy
|
|
1661
|
+
productType: PRODUCT_TYPE_SECRETS
|
|
1662
|
+
slug: global_secrets_policy
|
|
1663
|
+
items:
|
|
1664
|
+
$ref: '#/components/schemas/protos.common.v1.Policy'
|
|
1665
|
+
type: array
|
|
1666
|
+
type: object
|
|
1667
|
+
protos.openapi.v1.ListPolicyRulesResponse:
|
|
1668
|
+
properties:
|
|
1669
|
+
cursor:
|
|
1670
|
+
description: Cursor to paginate through the rules.
|
|
1671
|
+
example: Pm0ROjIwMjQtMDItMDYgMjA6MDQ6NDguMEDzNzk2fmk6NYTM2zUxOTI
|
|
1672
|
+
type: string
|
|
1673
|
+
policy:
|
|
1674
|
+
$ref: '#/components/schemas/protos.common.v1.Policy'
|
|
1675
|
+
rules:
|
|
1676
|
+
description: List of Rules for the given Policy.
|
|
1677
|
+
example:
|
|
1678
|
+
- category: security
|
|
1679
|
+
confidence: CONFIDENCE_HIGH
|
|
1680
|
+
cweCategories:
|
|
1681
|
+
- 'CWE-918: Server-Side Request Forgery (SSRF)'
|
|
1682
|
+
id: '1'
|
|
1683
|
+
languages:
|
|
1684
|
+
- python
|
|
1685
|
+
lastChangeAt: '2024-07-29T22:33:37.380293Z'
|
|
1686
|
+
owaspCategories:
|
|
1687
|
+
- 'A07: Cross-Site Scripting (XSS)'
|
|
1688
|
+
path: python.rule.1
|
|
1689
|
+
policyMode: MODE_MONITOR
|
|
1690
|
+
registryMaintainer: semgrep
|
|
1691
|
+
rulesets: []
|
|
1692
|
+
severity: SEVERITY_HIGH
|
|
1693
|
+
source: SOURCE_COMMUNITY
|
|
1694
|
+
technologies:
|
|
1695
|
+
- django
|
|
1696
|
+
- flask
|
|
1697
|
+
url: https://semgrep.com/r/123/python.rule.1
|
|
1698
|
+
vulnerabilityClass:
|
|
1699
|
+
- Improper Authentication
|
|
1700
|
+
- category: security
|
|
1701
|
+
confidence: CONFIDENCE_HIGH
|
|
1702
|
+
cweCategories:
|
|
1703
|
+
- 'CWE-918: Server-Side Request Forgery (SSRF)'
|
|
1704
|
+
id: '2'
|
|
1705
|
+
languages:
|
|
1706
|
+
- python
|
|
1707
|
+
lastChangeAt: '2024-07-29T22:33:37.380293Z'
|
|
1708
|
+
owaspCategories:
|
|
1709
|
+
- A01:2021 - Broken Access Control
|
|
1710
|
+
- 'A07: Cross-Site Scripting (XSS)'
|
|
1711
|
+
path: python.rule.shared
|
|
1712
|
+
policyMode: MODE_COMMENT
|
|
1713
|
+
registryMaintainer: semgrep
|
|
1714
|
+
rulesets:
|
|
1715
|
+
- comment
|
|
1716
|
+
- default
|
|
1717
|
+
severity: SEVERITY_MEDIUM
|
|
1718
|
+
source: SOURCE_PRO
|
|
1719
|
+
technologies:
|
|
1720
|
+
- django
|
|
1721
|
+
- flask
|
|
1722
|
+
url: https://semgrep.com/r/123/python.rule.shared
|
|
1723
|
+
vulnerabilityClass:
|
|
1724
|
+
- Improper Authentication
|
|
1725
|
+
- category: best-practice
|
|
1726
|
+
confidence: CONFIDENCE_HIGH
|
|
1727
|
+
cweCategories: []
|
|
1728
|
+
id: '3'
|
|
1729
|
+
languages:
|
|
1730
|
+
- python
|
|
1731
|
+
lastChangeAt: '2024-07-29T22:33:37.380293Z'
|
|
1732
|
+
lastChangeBy: example-user
|
|
1733
|
+
owaspCategories: []
|
|
1734
|
+
path: python.rule.custom_rule
|
|
1735
|
+
policyMode: MODE_BLOCK
|
|
1736
|
+
registryMaintainer: semgrep
|
|
1737
|
+
rulesets: []
|
|
1738
|
+
severity: SEVERITY_MEDIUM
|
|
1739
|
+
source: SOURCE_CUSTOM
|
|
1740
|
+
technologies:
|
|
1741
|
+
- django
|
|
1742
|
+
- flask
|
|
1743
|
+
url: https://semgrep.com/r/123/python.rule.custom_rule
|
|
1744
|
+
vulnerabilityClass:
|
|
1745
|
+
- Improper Authentication
|
|
1746
|
+
items:
|
|
1747
|
+
$ref: '#/components/schemas/protos.common.v1.Rule'
|
|
1748
|
+
type: array
|
|
1749
|
+
type: object
|
|
1750
|
+
protos.openapi.v1.ListProjectsResponse:
|
|
1751
|
+
description: Return the list of projects in an organization.
|
|
1752
|
+
properties:
|
|
1753
|
+
projects:
|
|
1754
|
+
items:
|
|
1755
|
+
$ref: '#/components/schemas/protos.openapi.v1.Project'
|
|
1756
|
+
type: array
|
|
1757
|
+
required:
|
|
1758
|
+
- projects
|
|
1759
|
+
title: List Projects Response
|
|
1760
|
+
type: object
|
|
1761
|
+
protos.openapi.v1.ListRepositoriesForDependenciesRequest:
|
|
1762
|
+
properties:
|
|
1763
|
+
cursor:
|
|
1764
|
+
description: Use cursor in response to get next page of results.
|
|
1765
|
+
format: uint32
|
|
1766
|
+
type: number
|
|
1767
|
+
dependencyFilter:
|
|
1768
|
+
$ref: '#/components/schemas/protos.sca.v1.DependencyFilter'
|
|
1769
|
+
deploymentId:
|
|
1770
|
+
description: 'Deployment ID (numeric). Example: `123`. Can be found at `/deployments`,
|
|
1771
|
+
or in your Settings in the web UI.'
|
|
1772
|
+
format: uint64
|
|
1773
|
+
type: string
|
|
1774
|
+
pageSize:
|
|
1775
|
+
default: 5.0
|
|
1776
|
+
description: 'Number of repositories per page. Default: 5, min: 1, max:
|
|
1777
|
+
100.'
|
|
1778
|
+
example: 100
|
|
1779
|
+
format: uint32
|
|
1780
|
+
maximum: 100.0
|
|
1781
|
+
minimum: 1.0
|
|
1782
|
+
type: number
|
|
1783
|
+
required:
|
|
1784
|
+
- deployment_id
|
|
1785
|
+
title: List Repositories For Dependencies Request
|
|
1786
|
+
type: object
|
|
1787
|
+
protos.openapi.v1.ListRepositoriesForDependenciesResponse:
|
|
1788
|
+
properties:
|
|
1789
|
+
cursor:
|
|
1790
|
+
description: Pass to next request to get next page of results.
|
|
1791
|
+
format: uint32
|
|
1792
|
+
type: number
|
|
1793
|
+
hasMore:
|
|
1794
|
+
description: True if there are more repositories to get.
|
|
1795
|
+
type: boolean
|
|
1796
|
+
repositorySummaries:
|
|
1797
|
+
description: List of repositories.
|
|
1798
|
+
items:
|
|
1799
|
+
$ref: '#/components/schemas/protos.sca.v1.RepositoryDependencySummary'
|
|
1800
|
+
type: array
|
|
1801
|
+
required:
|
|
1802
|
+
- has_more
|
|
1803
|
+
- repository_summaries
|
|
1804
|
+
title: List Repositories For Dependencies Response
|
|
1805
|
+
type: object
|
|
1806
|
+
protos.openapi.v1.ListSecretsPathResponse:
|
|
1807
|
+
properties:
|
|
1808
|
+
cursor:
|
|
1809
|
+
description: Cursor to paginate through the results.
|
|
1810
|
+
type: string
|
|
1811
|
+
findings:
|
|
1812
|
+
description: List of Secrets associated with the given Deployment.
|
|
1813
|
+
example:
|
|
1814
|
+
cursor: Pm0ROjIwMjQtMDItMDYgMjA6MDQ6NDguMEDzNzk2fmk6NYTM2zUxOTI=
|
|
1815
|
+
findings:
|
|
1816
|
+
- confidence: CONFIDENCE_HIGH
|
|
1817
|
+
createdAt: '2024-06-17T17:23:01.901204Z'
|
|
1818
|
+
findingPath: src/ai.py:232
|
|
1819
|
+
findingPathUrl: https://github.com/foo/bar/blob/6ad16b240d4b6ae5bd6e326dd71053c21344e311/src/ai.py#L232
|
|
1820
|
+
id: '691234'
|
|
1821
|
+
mode: MODE_MONITOR
|
|
1822
|
+
ref: refs/pull/148/merge
|
|
1823
|
+
refUrl: https://github.com/foo/bar/pull/148
|
|
1824
|
+
repository:
|
|
1825
|
+
name: foo/bar
|
|
1826
|
+
scmType: SCM_TYPE_GITHUB
|
|
1827
|
+
url: https://github.com/foo/bar
|
|
1828
|
+
visibility: REPOSITORY_VISIBILITY_PRIVATE
|
|
1829
|
+
reviewComments:
|
|
1830
|
+
- externalDiscussionId: af0433345acfb74c8f9
|
|
1831
|
+
externalNoteId: '5678'
|
|
1832
|
+
ruleHashId: lBU41LA
|
|
1833
|
+
severity: SEVERITY_HIGH
|
|
1834
|
+
status: FINDING_STATUS_FIXED
|
|
1835
|
+
type: OpenAI
|
|
1836
|
+
updatedAt: '2024-06-20T17:33:00.669343Z'
|
|
1837
|
+
validationState: VALIDATION_STATE_CONFIRMED_VALID
|
|
1838
|
+
- confidence: CONFIDENCE_MEDIUM
|
|
1839
|
+
createdAt: '2024-06-08T11:01:23.380293Z'
|
|
1840
|
+
findingPath: config.yaml:801
|
|
1841
|
+
findingPathUrl: https://github.com/foo/baz/blob/e2b6d5ca75d830e10f5f617481a66a981bd093c0/config.yaml#L801
|
|
1842
|
+
id: '6881234'
|
|
1843
|
+
mode: MODE_COMMENT
|
|
1844
|
+
ref: develop
|
|
1845
|
+
refUrl: https://github.com/foo/baz/tree/develop
|
|
1846
|
+
repository:
|
|
1847
|
+
name: foo/baz
|
|
1848
|
+
scmType: SCM_TYPE_GITHUB
|
|
1849
|
+
url: https://github.com/foo/baz
|
|
1850
|
+
visibility: REPOSITORY_VISIBILITY_PRIVATE
|
|
1851
|
+
reviewComments:
|
|
1852
|
+
- externalDiscussionId: af0476223423b74c8f9
|
|
1853
|
+
externalNoteId: '6789'
|
|
1854
|
+
ruleHashId: pKUYdA
|
|
1855
|
+
severity: SEVERITY_HIGH
|
|
1856
|
+
status: FINDING_STATUS_IGNORED
|
|
1857
|
+
type: Heroku
|
|
1858
|
+
updatedAt: '2024-06-22T11:07:02.384500Z'
|
|
1859
|
+
validationState: VALIDATION_STATE_CONFIRMED_INVALID
|
|
1860
|
+
items:
|
|
1861
|
+
$ref: '#/components/schemas/protos.secrets.v1.SecretsFinding'
|
|
1862
|
+
type: array
|
|
1863
|
+
previous:
|
|
1864
|
+
description: Cursor to paginate backwards through the results.
|
|
1865
|
+
type: string
|
|
1866
|
+
type: object
|
|
1867
|
+
protos.openapi.v1.ManagedScanConfig:
|
|
1868
|
+
description: '[Beta] Configuration of Semgrep Managed Scans for the project,
|
|
1869
|
+
if relevant.'
|
|
1870
|
+
properties:
|
|
1871
|
+
diff_scan:
|
|
1872
|
+
$ref: '#/components/schemas/protos.openapi.v1.DiffScan'
|
|
1873
|
+
full_scan:
|
|
1874
|
+
$ref: '#/components/schemas/protos.openapi.v1.FullScan'
|
|
1875
|
+
title: Managed Scan Config
|
|
1876
|
+
type: object
|
|
1877
|
+
protos.openapi.v1.PingResponse:
|
|
1878
|
+
description: OK
|
|
1879
|
+
properties: {}
|
|
1880
|
+
title: Ping Response
|
|
1881
|
+
type: object
|
|
1882
|
+
protos.openapi.v1.Project:
|
|
1883
|
+
description: A project in your organization that uses Semgrep.
|
|
1884
|
+
properties:
|
|
1885
|
+
created_at:
|
|
1886
|
+
description: Time when this project was created.
|
|
1887
|
+
example: 2020-11-18 23:28:12.391807+00:00
|
|
1888
|
+
type: string
|
|
1889
|
+
default_branch:
|
|
1890
|
+
description: The default branch in the SCM.
|
|
1891
|
+
example: refs/heads/main
|
|
1892
|
+
type: string
|
|
1893
|
+
id:
|
|
1894
|
+
description: Unique ID of this project.
|
|
1895
|
+
example: 1234567
|
|
1896
|
+
format: uint32
|
|
1897
|
+
type: number
|
|
1898
|
+
latest_scan_at:
|
|
1899
|
+
description: Time of latest scan, if there is one.
|
|
1900
|
+
example: 2023-01-13 20:51:51.449081+00:00
|
|
1901
|
+
type: string
|
|
1902
|
+
managed_scan_config:
|
|
1903
|
+
$ref: '#/components/schemas/protos.openapi.v1.ManagedScanConfig'
|
|
1904
|
+
name:
|
|
1905
|
+
description: Name of the project.
|
|
1906
|
+
example: returntocorp/semgrep
|
|
1907
|
+
type: string
|
|
1908
|
+
primary_branch:
|
|
1909
|
+
description: The primary branch of the project, if known.
|
|
1910
|
+
example: refs/heads/custom-main
|
|
1911
|
+
type: string
|
|
1912
|
+
tags:
|
|
1913
|
+
description: Tags associated to this project.
|
|
1914
|
+
example:
|
|
1915
|
+
- tag
|
|
1916
|
+
items:
|
|
1917
|
+
type: string
|
|
1918
|
+
type: string
|
|
1919
|
+
url:
|
|
1920
|
+
description: URL of the project, if there is one.
|
|
1921
|
+
example: https://github.com/returntocorp/semgrep
|
|
1922
|
+
type: string
|
|
1923
|
+
required:
|
|
1924
|
+
- id
|
|
1925
|
+
- name
|
|
1926
|
+
- tags
|
|
1927
|
+
title: Project
|
|
1928
|
+
type: object
|
|
1929
|
+
protos.openapi.v1.ReviewComment:
|
|
1930
|
+
description: External review comment information associated with a finding
|
|
1931
|
+
properties:
|
|
1932
|
+
externalDiscussionId:
|
|
1933
|
+
description: External ID of the review comment or discussion thread
|
|
1934
|
+
example: af04762b69acfb74c8f9
|
|
1935
|
+
type: string
|
|
1936
|
+
externalNoteId:
|
|
1937
|
+
description: External ID of the specific note in the review comment discussion
|
|
1938
|
+
thread. Only applicable for GitLab.com, GitLab Self-Managed and Azure
|
|
1939
|
+
DevOps
|
|
1940
|
+
example: 123523
|
|
1941
|
+
type: string
|
|
1942
|
+
title: Review Comment
|
|
1943
|
+
type: object
|
|
1944
|
+
protos.openapi.v1.SastFinding:
|
|
1945
|
+
description: A Code finding that Semgrep has identified in your organization
|
|
1946
|
+
properties:
|
|
1947
|
+
assistant:
|
|
1948
|
+
$ref: '#/components/schemas/protos.openapi.v1.SastFinding_Assistant'
|
|
1949
|
+
categories:
|
|
1950
|
+
description: The categories of the finding as classified by the associated
|
|
1951
|
+
rule metadata
|
|
1952
|
+
example:
|
|
1953
|
+
- security
|
|
1954
|
+
items:
|
|
1955
|
+
type: string
|
|
1956
|
+
type: array
|
|
1957
|
+
confidence:
|
|
1958
|
+
description: Confidence of the finding, derived from the rule that triggered
|
|
1959
|
+
it
|
|
1960
|
+
enum:
|
|
1961
|
+
- low
|
|
1962
|
+
- medium
|
|
1963
|
+
- high
|
|
1964
|
+
example: medium
|
|
1965
|
+
type: string
|
|
1966
|
+
created_at:
|
|
1967
|
+
description: The timestamp when this finding was created
|
|
1968
|
+
example: 2020-11-18 23:28:12.391807+00:00
|
|
1969
|
+
type: string
|
|
1970
|
+
external_ticket:
|
|
1971
|
+
$ref: '#/components/schemas/protos.openapi.v1.ExternalTicket'
|
|
1972
|
+
first_seen_scan_id:
|
|
1973
|
+
description: Unique ID of the Semgrep scan that first identified this finding
|
|
1974
|
+
example: 1234
|
|
1975
|
+
format: uint32
|
|
1976
|
+
type: integer
|
|
1977
|
+
id:
|
|
1978
|
+
description: Unique ID of this finding
|
|
1979
|
+
example: 1234567
|
|
1980
|
+
format: uint32
|
|
1981
|
+
type: integer
|
|
1982
|
+
line_of_code_url:
|
|
1983
|
+
description: The source URL including file and line number
|
|
1984
|
+
example: https://github.com/semgrep/semgrep/blob/39f95450a7d4d70e54c9edbd109bed8210a36889/src/core_cli/Core_CLI.ml#L1
|
|
1985
|
+
type: string
|
|
1986
|
+
location:
|
|
1987
|
+
$ref: '#/components/schemas/protos.openapi.v1.FindingLocation'
|
|
1988
|
+
match_based_id:
|
|
1989
|
+
description: ID calculated based on a finding's file path, rule identifier
|
|
1990
|
+
and pattern, and index
|
|
1991
|
+
example: 0f8c79a6f7e0ff2f908ff5bc366ae1548465069bae8892088051e1c3b4b12c6b8df37d5bcbb181eb868aa79f81f239d14bf2336d552786ab8ccdc7279adf07a6_1
|
|
1992
|
+
type: string
|
|
1993
|
+
ref:
|
|
1994
|
+
description: External reference to the source of this finding (e.g. PR)
|
|
1995
|
+
example: refs/pull/1234/merge
|
|
1996
|
+
type: string
|
|
1997
|
+
relevant_since:
|
|
1998
|
+
description: The timestamp when this finding was detected by Semgrep (the
|
|
1999
|
+
first time, or when reintroduced)
|
|
2000
|
+
example: 2020-11-18 23:28:12.391807+00:00
|
|
2001
|
+
type: string
|
|
2002
|
+
repository:
|
|
2003
|
+
$ref: '#/components/schemas/protos.openapi.v1.FindingRepository'
|
|
2004
|
+
review_comments:
|
|
2005
|
+
description: List of external review comment information associated with
|
|
2006
|
+
a finding
|
|
2007
|
+
items:
|
|
2008
|
+
$ref: '#/components/schemas/protos.openapi.v1.ReviewComment'
|
|
2009
|
+
type: array
|
|
2010
|
+
rule:
|
|
2011
|
+
$ref: '#/components/schemas/protos.openapi.v1.FindingRule'
|
|
2012
|
+
rule_message:
|
|
2013
|
+
description: Deprecated in favor of rule.message. Rule message at the time
|
|
2014
|
+
of finding identification. Older findings may not have a value for this
|
|
2015
|
+
field
|
|
2016
|
+
example: null
|
|
2017
|
+
type: string
|
|
2018
|
+
rule_name:
|
|
2019
|
+
description: Deprecated in favor of rule.name
|
|
2020
|
+
example: typescript.react.security.audit.react-no-refs.react-no-refs
|
|
2021
|
+
type: string
|
|
2022
|
+
severity:
|
|
2023
|
+
description: Severity of the finding, derived from the rule that triggered
|
|
2024
|
+
it. Low is equivalent to INFO, Medium to WARNING, and High to ERROR
|
|
2025
|
+
enum:
|
|
2026
|
+
- low
|
|
2027
|
+
- medium
|
|
2028
|
+
- high
|
|
2029
|
+
- critical
|
|
2030
|
+
example: medium
|
|
2031
|
+
type: string
|
|
2032
|
+
sourcing_policy:
|
|
2033
|
+
$ref: '#/components/schemas/protos.openapi.v1.SastFinding_PolicyReference'
|
|
2034
|
+
state:
|
|
2035
|
+
description: The finding's resolution state. Managed only by changes detected
|
|
2036
|
+
at scan time, the `state` is combined with `triage_state` to ultimately
|
|
2037
|
+
determine a final `status` which is exposed in the UI and API
|
|
2038
|
+
enum:
|
|
2039
|
+
- fixed
|
|
2040
|
+
- muted
|
|
2041
|
+
- removed
|
|
2042
|
+
- unresolved
|
|
2043
|
+
example: unresolved
|
|
2044
|
+
type: string
|
|
2045
|
+
state_updated_at:
|
|
2046
|
+
description: When this issue's `state` (resolution state) was last updated,
|
|
2047
|
+
as distinct from when the issue was triaged (`triaged_at`)
|
|
2048
|
+
example: 2020-11-19 23:28:12.391807+00:00
|
|
2049
|
+
type: string
|
|
2050
|
+
status:
|
|
2051
|
+
description: The finding's status as exposed in the UI. Status is a derived
|
|
2052
|
+
property combining information from the finding `state` and `triage_state`.
|
|
2053
|
+
The `triage_state` can be used to override the scan state if the finding
|
|
2054
|
+
is still detected
|
|
2055
|
+
enum:
|
|
2056
|
+
- open
|
|
2057
|
+
- fixed
|
|
2058
|
+
- ignored
|
|
2059
|
+
- reviewing
|
|
2060
|
+
- fixing
|
|
2061
|
+
- provisionally_ignored
|
|
2062
|
+
example: open
|
|
2063
|
+
type: string
|
|
2064
|
+
syntactic_id:
|
|
2065
|
+
description: ID calculated based on a finding's file path, rule identifier
|
|
2066
|
+
and matched code, and index. Prefer `match_based_id`
|
|
2067
|
+
example: 440eeface888e78afceac3dc7d4cc2cf
|
|
2068
|
+
type: string
|
|
2069
|
+
triage_comment:
|
|
2070
|
+
description: The detailed comment provided during triage
|
|
2071
|
+
example: This finding is from the test repo
|
|
2072
|
+
type: string
|
|
2073
|
+
triage_reason:
|
|
2074
|
+
description: Reason provided when this issue was triaged
|
|
2075
|
+
enum:
|
|
2076
|
+
- acceptable_risk
|
|
2077
|
+
- false_positive
|
|
2078
|
+
- no_time
|
|
2079
|
+
example: acceptable_risk
|
|
2080
|
+
type: string
|
|
2081
|
+
triage_state:
|
|
2082
|
+
description: 'The finding''s triage state. Note: "reviewing" and "fixing"
|
|
2083
|
+
are only in private beta. Set by the user and used along with state to
|
|
2084
|
+
generate the final "status" viewable in the UI'
|
|
2085
|
+
enum:
|
|
2086
|
+
- untriaged
|
|
2087
|
+
- ignored
|
|
2088
|
+
- reopened
|
|
2089
|
+
- reviewing
|
|
2090
|
+
- fixing
|
|
2091
|
+
- provisionally_ignored
|
|
2092
|
+
example: untriaged
|
|
2093
|
+
type: string
|
|
2094
|
+
triaged_at:
|
|
2095
|
+
description: When the finding was triaged
|
|
2096
|
+
example: 2020-11-19 23:28:12.391807+00:00
|
|
2097
|
+
type: string
|
|
2098
|
+
title: Sast Finding
|
|
2099
|
+
type: object
|
|
2100
|
+
protos.openapi.v1.SastFinding_Assistant:
|
|
2101
|
+
description: Semgrep Assistant data. Only present if Assistant is enabled
|
|
2102
|
+
properties:
|
|
2103
|
+
autofix:
|
|
2104
|
+
$ref: '#/components/schemas/protos.openapi.v1.Assistant_Autofix'
|
|
2105
|
+
autotriage:
|
|
2106
|
+
$ref: '#/components/schemas/protos.openapi.v1.Assistant_Autotriage'
|
|
2107
|
+
component:
|
|
2108
|
+
$ref: '#/components/schemas/protos.openapi.v1.Assistant_Component'
|
|
2109
|
+
guidance:
|
|
2110
|
+
$ref: '#/components/schemas/protos.openapi.v1.Assistant_Guidance'
|
|
2111
|
+
title: Assistant
|
|
2112
|
+
type: object
|
|
2113
|
+
protos.openapi.v1.SastFinding_PolicyReference:
|
|
2114
|
+
description: Reference to a policy, with some basic information. If null, then
|
|
2115
|
+
the information does not exist or lacks integrity (older or broken scans)
|
|
2116
|
+
properties:
|
|
2117
|
+
id:
|
|
2118
|
+
description: Unique numerical identifier of the policy
|
|
2119
|
+
example: 120
|
|
2120
|
+
format: uint32
|
|
2121
|
+
type: integer
|
|
2122
|
+
name:
|
|
2123
|
+
description: Human readable name
|
|
2124
|
+
example: Default Policy
|
|
2125
|
+
type: string
|
|
2126
|
+
slug:
|
|
2127
|
+
description: Sanitized machine-readable name
|
|
2128
|
+
example: default-policy
|
|
2129
|
+
type: string
|
|
2130
|
+
title: Policy Reference
|
|
2131
|
+
type: object
|
|
2132
|
+
protos.openapi.v1.ScaFinding:
|
|
2133
|
+
description: A Supply Chain finding that Semgrep has identified in your organization
|
|
2134
|
+
properties:
|
|
2135
|
+
categories:
|
|
2136
|
+
description: The categories of the finding as classified by the associated
|
|
2137
|
+
rule metadata
|
|
2138
|
+
example:
|
|
2139
|
+
- security
|
|
2140
|
+
items:
|
|
2141
|
+
type: string
|
|
2142
|
+
type: array
|
|
2143
|
+
confidence:
|
|
2144
|
+
description: Confidence of the finding, derived from the rule that triggered
|
|
2145
|
+
it
|
|
2146
|
+
enum:
|
|
2147
|
+
- low
|
|
2148
|
+
- medium
|
|
2149
|
+
- high
|
|
2150
|
+
example: medium
|
|
2151
|
+
type: string
|
|
2152
|
+
created_at:
|
|
2153
|
+
description: The timestamp when this finding was created
|
|
2154
|
+
example: 2020-11-18 23:28:12.391807+00:00
|
|
2155
|
+
type: string
|
|
2156
|
+
epss_score:
|
|
2157
|
+
$ref: '#/components/schemas/protos.openapi.v1.ScaFinding_EpssScore'
|
|
2158
|
+
external_ticket:
|
|
2159
|
+
$ref: '#/components/schemas/protos.openapi.v1.ExternalTicket'
|
|
2160
|
+
first_seen_scan_id:
|
|
2161
|
+
description: Unique ID of the Semgrep scan that first identified this finding
|
|
2162
|
+
example: 1234
|
|
2163
|
+
format: uint32
|
|
2164
|
+
type: integer
|
|
2165
|
+
fix_recommendations:
|
|
2166
|
+
description: Recommendations for fixing the vulnerability
|
|
2167
|
+
items:
|
|
2168
|
+
$ref: '#/components/schemas/protos.openapi.v1.ScaFinding_FixRecommendation'
|
|
2169
|
+
type: array
|
|
2170
|
+
found_dependency:
|
|
2171
|
+
$ref: '#/components/schemas/protos.openapi.v1.ScaFinding_FoundDependency'
|
|
2172
|
+
id:
|
|
2173
|
+
description: Unique ID of this finding
|
|
2174
|
+
example: 1234567
|
|
2175
|
+
format: uint32
|
|
2176
|
+
type: integer
|
|
2177
|
+
is_malicious:
|
|
2178
|
+
description: True if the finding is from a malicious dependency
|
|
2179
|
+
example: true
|
|
2180
|
+
type: bool
|
|
2181
|
+
line_of_code_url:
|
|
2182
|
+
description: The source URL including file and line number
|
|
2183
|
+
example: https://github.com/semgrep/semgrep/blob/39f95450a7d4d70e54c9edbd109bed8210a36889/src/core_cli/Core_CLI.ml#L1
|
|
2184
|
+
type: string
|
|
2185
|
+
location:
|
|
2186
|
+
$ref: '#/components/schemas/protos.openapi.v1.FindingLocation'
|
|
2187
|
+
match_based_id:
|
|
2188
|
+
description: ID calculated based on a finding's file path, rule identifier
|
|
2189
|
+
and pattern, and index
|
|
2190
|
+
example: 0f8c79a6f7e0ff2f908ff5bc366ae1548465069bae8892088051e1c3b4b12c6b8df37d5bcbb181eb868aa79f81f239d14bf2336d552786ab8ccdc7279adf07a6_1
|
|
2191
|
+
type: string
|
|
2192
|
+
reachability:
|
|
2193
|
+
description: Indicates whether the vulnerable code is reachable
|
|
2194
|
+
enum:
|
|
2195
|
+
- no reachability analysis
|
|
2196
|
+
- reachable
|
|
2197
|
+
- always reachable
|
|
2198
|
+
- conditionally reachable
|
|
2199
|
+
- unreachable
|
|
2200
|
+
example: reachable
|
|
2201
|
+
type: string
|
|
2202
|
+
reachable_condition:
|
|
2203
|
+
description: Description of the condition under which the vulnerability
|
|
2204
|
+
becomes reachable. Applies to conditionally reachable findings
|
|
2205
|
+
example: you use the package on a host running Linux or MacOS
|
|
2206
|
+
type: string
|
|
2207
|
+
ref:
|
|
2208
|
+
description: External reference to the source of this finding (e.g. PR)
|
|
2209
|
+
example: refs/pull/1234/merge
|
|
2210
|
+
type: string
|
|
2211
|
+
relevant_since:
|
|
2212
|
+
description: The timestamp when this finding was detected by Semgrep (the
|
|
2213
|
+
first time, or when reintroduced)
|
|
2214
|
+
example: 2020-11-18 23:28:12.391807+00:00
|
|
2215
|
+
type: string
|
|
2216
|
+
repository:
|
|
2217
|
+
$ref: '#/components/schemas/protos.openapi.v1.FindingRepository'
|
|
2218
|
+
review_comments:
|
|
2219
|
+
description: List of external review comment information associated with
|
|
2220
|
+
a finding
|
|
2221
|
+
items:
|
|
2222
|
+
$ref: '#/components/schemas/protos.openapi.v1.ReviewComment'
|
|
2223
|
+
type: array
|
|
2224
|
+
rule:
|
|
2225
|
+
$ref: '#/components/schemas/protos.openapi.v1.FindingRule'
|
|
2226
|
+
rule_message:
|
|
2227
|
+
description: Deprecated in favor of rule.message. Rule message at the time
|
|
2228
|
+
of finding identification. Older findings may not have a value for this
|
|
2229
|
+
field
|
|
2230
|
+
example: null
|
|
2231
|
+
type: string
|
|
2232
|
+
rule_name:
|
|
2233
|
+
description: Deprecated in favor of rule.name
|
|
2234
|
+
example: typescript.react.security.audit.react-no-refs.react-no-refs
|
|
2235
|
+
type: string
|
|
2236
|
+
severity:
|
|
2237
|
+
description: Severity of the finding, derived from the rule that triggered
|
|
2238
|
+
it. Low is equivalent to INFO, Medium to WARNING, and High to ERROR
|
|
2239
|
+
enum:
|
|
2240
|
+
- low
|
|
2241
|
+
- medium
|
|
2242
|
+
- high
|
|
2243
|
+
- critical
|
|
2244
|
+
example: medium
|
|
2245
|
+
type: string
|
|
2246
|
+
state:
|
|
2247
|
+
description: The finding's resolution state. Managed only by changes detected
|
|
2248
|
+
at scan time, the `state` is combined with `triage_state` to ultimately
|
|
2249
|
+
determine a final `status` which is exposed in the UI and API
|
|
2250
|
+
enum:
|
|
2251
|
+
- fixed
|
|
2252
|
+
- muted
|
|
2253
|
+
- removed
|
|
2254
|
+
- unresolved
|
|
2255
|
+
example: unresolved
|
|
2256
|
+
type: string
|
|
2257
|
+
state_updated_at:
|
|
2258
|
+
description: When this issue's `state` (resolution state) was last updated,
|
|
2259
|
+
as distinct from when the issue was triaged (`triaged_at`)
|
|
2260
|
+
example: 2020-11-19 23:28:12.391807+00:00
|
|
2261
|
+
type: string
|
|
2262
|
+
status:
|
|
2263
|
+
description: The finding's status as exposed in the UI. Status is a derived
|
|
2264
|
+
property combining information from the finding `state` and `triage_state`.
|
|
2265
|
+
The `triage_state` can be used to override the scan state if the finding
|
|
2266
|
+
is still detected
|
|
2267
|
+
enum:
|
|
2268
|
+
- open
|
|
2269
|
+
- fixed
|
|
2270
|
+
- ignored
|
|
2271
|
+
- reviewing
|
|
2272
|
+
- fixing
|
|
2273
|
+
- provisionally_ignored
|
|
2274
|
+
example: open
|
|
2275
|
+
type: string
|
|
2276
|
+
syntactic_id:
|
|
2277
|
+
description: ID calculated based on a finding's file path, rule identifier
|
|
2278
|
+
and matched code, and index. Prefer `match_based_id`
|
|
2279
|
+
example: 440eeface888e78afceac3dc7d4cc2cf
|
|
2280
|
+
type: string
|
|
2281
|
+
triage_comment:
|
|
2282
|
+
description: The detailed comment provided during triage
|
|
2283
|
+
example: This finding is from the test repo
|
|
2284
|
+
type: string
|
|
2285
|
+
triage_reason:
|
|
2286
|
+
description: Reason provided when this issue was triaged
|
|
2287
|
+
enum:
|
|
2288
|
+
- acceptable_risk
|
|
2289
|
+
- false_positive
|
|
2290
|
+
- no_time
|
|
2291
|
+
example: acceptable_risk
|
|
2292
|
+
type: string
|
|
2293
|
+
triage_state:
|
|
2294
|
+
description: 'The finding''s triage state. Note: "reviewing" and "fixing"
|
|
2295
|
+
are only in private beta. Set by the user and used along with state to
|
|
2296
|
+
generate the final "status" viewable in the UI'
|
|
2297
|
+
enum:
|
|
2298
|
+
- untriaged
|
|
2299
|
+
- ignored
|
|
2300
|
+
- reopened
|
|
2301
|
+
- reviewing
|
|
2302
|
+
- fixing
|
|
2303
|
+
- provisionally_ignored
|
|
2304
|
+
example: untriaged
|
|
2305
|
+
type: string
|
|
2306
|
+
triaged_at:
|
|
2307
|
+
description: When the finding was triaged
|
|
2308
|
+
example: 2020-11-19 23:28:12.391807+00:00
|
|
2309
|
+
type: string
|
|
2310
|
+
usage:
|
|
2311
|
+
$ref: '#/components/schemas/protos.openapi.v1.ScaFinding_Usage'
|
|
2312
|
+
vulnerability_identifier:
|
|
2313
|
+
description: Identifier of the vulnerability in the vulnerability database
|
|
2314
|
+
example: CVE-2021-24112
|
|
2315
|
+
type: string
|
|
2316
|
+
title: Sca Finding
|
|
2317
|
+
type: object
|
|
2318
|
+
protos.openapi.v1.ScaFinding_EpssScore:
|
|
2319
|
+
description: The score assigned by FIRST.org's Exploitation Probability Scoring
|
|
2320
|
+
System
|
|
2321
|
+
properties:
|
|
2322
|
+
percentile:
|
|
2323
|
+
description: This EPSS score's percentile among all EPSS scores, from 0
|
|
2324
|
+
to 1
|
|
2325
|
+
example: 0.994
|
|
2326
|
+
format: float
|
|
2327
|
+
type: number
|
|
2328
|
+
score:
|
|
2329
|
+
description: The explotation probability, from 0 to 1
|
|
2330
|
+
example: 0.97
|
|
2331
|
+
format: float
|
|
2332
|
+
type: number
|
|
2333
|
+
title: Epss Score
|
|
2334
|
+
type: object
|
|
2335
|
+
protos.openapi.v1.ScaFinding_FixRecommendation:
|
|
2336
|
+
description: Recommendation for fixing the vulnerability
|
|
2337
|
+
properties:
|
|
2338
|
+
package:
|
|
2339
|
+
description: The package for which a fix is recommended
|
|
2340
|
+
example: System.Drawing.Common
|
|
2341
|
+
type: string
|
|
2342
|
+
version:
|
|
2343
|
+
description: The recommended version of the package
|
|
2344
|
+
example: 5.0.3
|
|
2345
|
+
type: string
|
|
2346
|
+
title: Fix Recommendation
|
|
2347
|
+
type: object
|
|
2348
|
+
protos.openapi.v1.ScaFinding_FoundDependency:
|
|
2349
|
+
description: Information about the vulnerable package that was found in the
|
|
2350
|
+
codebase
|
|
2351
|
+
properties:
|
|
2352
|
+
ecosystem:
|
|
2353
|
+
default: no_package_manager
|
|
2354
|
+
description: Ecosystem of the package
|
|
2355
|
+
enum:
|
|
2356
|
+
- no_package_manager
|
|
2357
|
+
- npm
|
|
2358
|
+
- pypi
|
|
2359
|
+
- gomod
|
|
2360
|
+
- cargo
|
|
2361
|
+
- maven
|
|
2362
|
+
- gem
|
|
2363
|
+
- composer
|
|
2364
|
+
- nuget
|
|
2365
|
+
- pub
|
|
2366
|
+
- swiftpm
|
|
2367
|
+
- hex
|
|
2368
|
+
example: npm
|
|
2369
|
+
type: string
|
|
2370
|
+
lockfile_line_url:
|
|
2371
|
+
description: URL to the specific line in the lockfile where the dependency
|
|
2372
|
+
is listed
|
|
2373
|
+
example: https://github.com/yourorg/yourrepo/blob/main/package-lock.json#L25
|
|
2374
|
+
type: string
|
|
2375
|
+
package:
|
|
2376
|
+
description: Name of the package that contains the vulnerability
|
|
2377
|
+
example: System.Drawing.Common
|
|
2378
|
+
type: string
|
|
2379
|
+
transitivity:
|
|
2380
|
+
description: Indicates whether the dependency is direct or transitive
|
|
2381
|
+
enum:
|
|
2382
|
+
- direct
|
|
2383
|
+
- transitive
|
|
2384
|
+
- unknown
|
|
2385
|
+
example: direct
|
|
2386
|
+
type: string
|
|
2387
|
+
version:
|
|
2388
|
+
description: Version of the package that was found to be vulnerable
|
|
2389
|
+
example: 5.0.0
|
|
2390
|
+
type: string
|
|
2391
|
+
title: Found Dependency
|
|
2392
|
+
type: object
|
|
2393
|
+
protos.openapi.v1.ScaFinding_Usage:
|
|
2394
|
+
description: Usage of the vulnerable package in the codebase. Applies to reachable
|
|
2395
|
+
findings
|
|
2396
|
+
properties:
|
|
2397
|
+
external_ticket:
|
|
2398
|
+
$ref: '#/components/schemas/protos.openapi.v1.ExternalTicket'
|
|
2399
|
+
location:
|
|
2400
|
+
$ref: '#/components/schemas/protos.openapi.v1.FindingLocation'
|
|
2401
|
+
title: Usage
|
|
2402
|
+
type: object
|
|
2403
|
+
protos.openapi.v1.SearchScansRequest:
|
|
2404
|
+
properties:
|
|
2405
|
+
branch:
|
|
2406
|
+
description: Only get scans from the specified branch
|
|
2407
|
+
type: string
|
|
2408
|
+
cursor:
|
|
2409
|
+
description: Cursor to paginate through the results
|
|
2410
|
+
type: string
|
|
2411
|
+
deploymentId:
|
|
2412
|
+
description: 'Deployment ID (numeric). Example: `123`. Can be found at `/deployments`,
|
|
2413
|
+
or in your Settings in the web UI.'
|
|
2414
|
+
example: 123
|
|
2415
|
+
format: uint64
|
|
2416
|
+
type: string
|
|
2417
|
+
is_full_scan:
|
|
2418
|
+
description: Only get scans that are full scans (if false, only get diff
|
|
2419
|
+
scans)
|
|
2420
|
+
type: integer
|
|
2421
|
+
limit:
|
|
2422
|
+
description: Page size to paginate through the results (default is 100,
|
|
2423
|
+
max is 500)
|
|
2424
|
+
type: integer
|
|
2425
|
+
products:
|
|
2426
|
+
description: 'Only get scans that have these enabled products
|
|
2427
|
+
|
|
2428
|
+
|
|
2429
|
+
| value | description |
|
|
2430
|
+
|
|
2431
|
+
|-------|---------------|
|
|
2432
|
+
|
|
2433
|
+
| PRODUCT_SAST | |
|
|
2434
|
+
|
|
2435
|
+
| PRODUCT_SCA | |
|
|
2436
|
+
|
|
2437
|
+
| PRODUCT_SECRETS | |
|
|
2438
|
+
|
|
2439
|
+
| PRODUCT_AI_SAST | |
|
|
2440
|
+
|
|
2441
|
+
|
|
2442
|
+
'
|
|
2443
|
+
enum:
|
|
2444
|
+
- PRODUCT_SAST
|
|
2445
|
+
- PRODUCT_SCA
|
|
2446
|
+
- PRODUCT_SECRETS
|
|
2447
|
+
- PRODUCT_AI_SAST
|
|
2448
|
+
items:
|
|
2449
|
+
enum:
|
|
2450
|
+
- PRODUCT_UNSPECIFIED
|
|
2451
|
+
- PRODUCT_SAST
|
|
2452
|
+
- PRODUCT_SCA
|
|
2453
|
+
- PRODUCT_SECRETS
|
|
2454
|
+
- PRODUCT_AI_SAST
|
|
2455
|
+
format: enum
|
|
2456
|
+
type: string
|
|
2457
|
+
type: array
|
|
2458
|
+
repository_id:
|
|
2459
|
+
description: Only get scans for this repo
|
|
2460
|
+
type: integer
|
|
2461
|
+
since:
|
|
2462
|
+
description: Only get scans created after this time. Provide time in ISO
|
|
2463
|
+
8601 format.
|
|
2464
|
+
format: date-time
|
|
2465
|
+
type: string
|
|
2466
|
+
statuses:
|
|
2467
|
+
description: 'Only get scans that have one of these statuses
|
|
2468
|
+
|
|
2469
|
+
|
|
2470
|
+
| value | description |
|
|
2471
|
+
|
|
2472
|
+
|-------|---------------|
|
|
2473
|
+
|
|
2474
|
+
| SCAN_STATUS_RUNNING | The scan is currently running |
|
|
2475
|
+
|
|
2476
|
+
| SCAN_STATUS_COMPLETED | The scan has completed successfully (0 or 1
|
|
2477
|
+
exit code) |
|
|
2478
|
+
|
|
2479
|
+
| SCAN_STATUS_ERROR | The scan has exited with a failure (exit code not
|
|
2480
|
+
0 or 1) |
|
|
2481
|
+
|
|
2482
|
+
| SCAN_STATUS_NEVER_FINISHED | The scan did not report an error or success
|
|
2483
|
+
after over an hour |
|
|
2484
|
+
|
|
2485
|
+
|
|
2486
|
+
'
|
|
2487
|
+
enum:
|
|
2488
|
+
- SCAN_STATUS_RUNNING
|
|
2489
|
+
- SCAN_STATUS_COMPLETED
|
|
2490
|
+
- SCAN_STATUS_ERROR
|
|
2491
|
+
- SCAN_STATUS_NEVER_FINISHED
|
|
2492
|
+
items:
|
|
2493
|
+
enum:
|
|
2494
|
+
- SCAN_STATUS_UNSPECIFIED
|
|
2495
|
+
- SCAN_STATUS_RUNNING
|
|
2496
|
+
- SCAN_STATUS_COMPLETED
|
|
2497
|
+
- SCAN_STATUS_ERROR
|
|
2498
|
+
- SCAN_STATUS_NEVER_FINISHED
|
|
2499
|
+
format: enum
|
|
2500
|
+
type: string
|
|
2501
|
+
type: integer
|
|
2502
|
+
total_time:
|
|
2503
|
+
$ref: '#/components/schemas/protos.common.v1.FloatRange'
|
|
2504
|
+
required:
|
|
2505
|
+
- deployment_id
|
|
2506
|
+
title: Search Scans Request
|
|
2507
|
+
type: object
|
|
2508
|
+
protos.openapi.v1.SearchScansResponse:
|
|
2509
|
+
properties:
|
|
2510
|
+
cursor:
|
|
2511
|
+
description: Cursor to retrieve the next page of results.
|
|
2512
|
+
type: string
|
|
2513
|
+
scans:
|
|
2514
|
+
description: List of scans.
|
|
2515
|
+
items:
|
|
2516
|
+
$ref: '#/components/schemas/protos.scan.v1.ScanPublic'
|
|
2517
|
+
type: array
|
|
2518
|
+
type: object
|
|
2519
|
+
protos.openapi.v1.ToggleProjectManagedScanResponse:
|
|
2520
|
+
description: Successfully updated managed scan settings for project.
|
|
2521
|
+
properties:
|
|
2522
|
+
project:
|
|
2523
|
+
$ref: '#/components/schemas/protos.openapi.v1.Project'
|
|
2524
|
+
required:
|
|
2525
|
+
- projects
|
|
2526
|
+
title: Toggle Project Managed Scan Response
|
|
2527
|
+
type: object
|
|
2528
|
+
protos.openapi.v1.UpdatePolicyResponse:
|
|
2529
|
+
properties:
|
|
2530
|
+
policyId:
|
|
2531
|
+
description: 'Policy ID (numeric). Example: `456`. Can be found at `/deployments/{deploymentId}/policies`.'
|
|
2532
|
+
example: '1'
|
|
2533
|
+
format: uint64
|
|
2534
|
+
type: string
|
|
2535
|
+
updatedRule:
|
|
2536
|
+
$ref: '#/components/schemas/protos.common.v1.Rule'
|
|
2537
|
+
type: object
|
|
2538
|
+
protos.openapi.v1.UpdateProjectResponse:
|
|
2539
|
+
description: Successfully updated details for the project.
|
|
2540
|
+
properties:
|
|
2541
|
+
project:
|
|
2542
|
+
$ref: '#/components/schemas/protos.openapi.v1.Project'
|
|
2543
|
+
required:
|
|
2544
|
+
- projects
|
|
2545
|
+
title: Update Project Response
|
|
2546
|
+
type: object
|
|
2547
|
+
protos.sca.v1.CodeLocation:
|
|
2548
|
+
description: Specific location in a file.
|
|
2549
|
+
properties:
|
|
2550
|
+
committedAt:
|
|
2551
|
+
description: Timestamp when code file was last modified, if available.
|
|
2552
|
+
format: date-time
|
|
2553
|
+
type: string
|
|
2554
|
+
endCol:
|
|
2555
|
+
description: Ending column number (1 indexed).
|
|
2556
|
+
type: string
|
|
2557
|
+
endLine:
|
|
2558
|
+
description: Ending line number (1 indexed).
|
|
2559
|
+
type: string
|
|
2560
|
+
path:
|
|
2561
|
+
description: Path to a file.
|
|
2562
|
+
type: string
|
|
2563
|
+
startCol:
|
|
2564
|
+
description: Starting column number (1 indexed).
|
|
2565
|
+
type: string
|
|
2566
|
+
startLine:
|
|
2567
|
+
description: Starting line number (1 indexed).
|
|
2568
|
+
type: string
|
|
2569
|
+
url:
|
|
2570
|
+
description: URL to code location if available, otherwise empty.
|
|
2571
|
+
type: string
|
|
2572
|
+
type: object
|
|
2573
|
+
protos.sca.v1.Dependency:
|
|
2574
|
+
description: A specific dependency.
|
|
2575
|
+
properties:
|
|
2576
|
+
name:
|
|
2577
|
+
description: String identifier of dependency
|
|
2578
|
+
type: string
|
|
2579
|
+
versionSpecifier:
|
|
2580
|
+
description: Version specifier of dependency.
|
|
2581
|
+
type: string
|
|
2582
|
+
type: object
|
|
2583
|
+
protos.sca.v1.DependencyFilter:
|
|
2584
|
+
description: Object to provide dependency details to filter by.
|
|
2585
|
+
properties:
|
|
2586
|
+
ecosystem:
|
|
2587
|
+
description: 'Filter by ecosystem (e.g. npm, pypi, etc).
|
|
2588
|
+
|
|
2589
|
+
|
|
2590
|
+
| value | description |
|
|
2591
|
+
|
|
2592
|
+
|-------|---------------|
|
|
2593
|
+
|
|
2594
|
+
| no_package_manager | |
|
|
2595
|
+
|
|
2596
|
+
| npm | |
|
|
2597
|
+
|
|
2598
|
+
| pypi | |
|
|
2599
|
+
|
|
2600
|
+
| gomod | |
|
|
2601
|
+
|
|
2602
|
+
| cargo | |
|
|
2603
|
+
|
|
2604
|
+
| maven | |
|
|
2605
|
+
|
|
2606
|
+
| gem | |
|
|
2607
|
+
|
|
2608
|
+
| composer | |
|
|
2609
|
+
|
|
2610
|
+
| nuget | |
|
|
2611
|
+
|
|
2612
|
+
| pub | |
|
|
2613
|
+
|
|
2614
|
+
| swiftpm | |
|
|
2615
|
+
|
|
2616
|
+
| hex | |
|
|
2617
|
+
|
|
2618
|
+
|
|
2619
|
+
'
|
|
2620
|
+
enum:
|
|
2621
|
+
- no_package_manager
|
|
2622
|
+
- npm
|
|
2623
|
+
- pypi
|
|
2624
|
+
- gomod
|
|
2625
|
+
- cargo
|
|
2626
|
+
- maven
|
|
2627
|
+
- gem
|
|
2628
|
+
- composer
|
|
2629
|
+
- nuget
|
|
2630
|
+
- pub
|
|
2631
|
+
- swiftpm
|
|
2632
|
+
- hex
|
|
2633
|
+
items:
|
|
2634
|
+
enum:
|
|
2635
|
+
- no_package_manager
|
|
2636
|
+
- npm
|
|
2637
|
+
- pypi
|
|
2638
|
+
- gomod
|
|
2639
|
+
- cargo
|
|
2640
|
+
- maven
|
|
2641
|
+
- gem
|
|
2642
|
+
- composer
|
|
2643
|
+
- nuget
|
|
2644
|
+
- pub
|
|
2645
|
+
- swiftpm
|
|
2646
|
+
- hex
|
|
2647
|
+
format: enum
|
|
2648
|
+
type: string
|
|
2649
|
+
type: array
|
|
2650
|
+
license:
|
|
2651
|
+
description: Filter by license (e.g. MIT).
|
|
2652
|
+
items:
|
|
2653
|
+
type: string
|
|
2654
|
+
type: array
|
|
2655
|
+
licensePolicySetting:
|
|
2656
|
+
description: 'Filter by license policy setting outcome. DEPRECATED -- use
|
|
2657
|
+
license_policy_settings instead.
|
|
2658
|
+
|
|
2659
|
+
|
|
2660
|
+
| value | description |
|
|
2661
|
+
|
|
2662
|
+
|-------|---------------|
|
|
2663
|
+
|
|
2664
|
+
| LICENSE_POLICY_SETTING_ALLOW | |
|
|
2665
|
+
|
|
2666
|
+
| LICENSE_POLICY_SETTING_COMMENT | |
|
|
2667
|
+
|
|
2668
|
+
| LICENSE_POLICY_SETTING_BLOCK | |
|
|
2669
|
+
|
|
2670
|
+
|
|
2671
|
+
'
|
|
2672
|
+
enum:
|
|
2673
|
+
- LICENSE_POLICY_SETTING_ALLOW
|
|
2674
|
+
- LICENSE_POLICY_SETTING_COMMENT
|
|
2675
|
+
- LICENSE_POLICY_SETTING_BLOCK
|
|
2676
|
+
format: enum
|
|
2677
|
+
type: string
|
|
2678
|
+
licensePolicySettings:
|
|
2679
|
+
description: 'Filter by license policy setting outcome.
|
|
2680
|
+
|
|
2681
|
+
|
|
2682
|
+
| value | description |
|
|
2683
|
+
|
|
2684
|
+
|-------|---------------|
|
|
2685
|
+
|
|
2686
|
+
| LICENSE_POLICY_SETTING_ALLOW | |
|
|
2687
|
+
|
|
2688
|
+
| LICENSE_POLICY_SETTING_COMMENT | |
|
|
2689
|
+
|
|
2690
|
+
| LICENSE_POLICY_SETTING_BLOCK | |
|
|
2691
|
+
|
|
2692
|
+
|
|
2693
|
+
'
|
|
2694
|
+
enum:
|
|
2695
|
+
- LICENSE_POLICY_SETTING_ALLOW
|
|
2696
|
+
- LICENSE_POLICY_SETTING_COMMENT
|
|
2697
|
+
- LICENSE_POLICY_SETTING_BLOCK
|
|
2698
|
+
items:
|
|
2699
|
+
enum:
|
|
2700
|
+
- LICENSE_POLICY_SETTING_UNSPECIFIED
|
|
2701
|
+
- LICENSE_POLICY_SETTING_ALLOW
|
|
2702
|
+
- LICENSE_POLICY_SETTING_COMMENT
|
|
2703
|
+
- LICENSE_POLICY_SETTING_BLOCK
|
|
2704
|
+
format: enum
|
|
2705
|
+
type: string
|
|
2706
|
+
type: array
|
|
2707
|
+
lockfilePath:
|
|
2708
|
+
description: Filter by path to the lockfile (e.g. `foo/bar/package-lock.json`).
|
|
2709
|
+
type: string
|
|
2710
|
+
name:
|
|
2711
|
+
description: Filter by dependency name (e.g. lodash).
|
|
2712
|
+
type: string
|
|
2713
|
+
repositoryId:
|
|
2714
|
+
description: "Repository IDs (numeric) to filter by. Omit if the endpoint
|
|
2715
|
+
has Repository ID as a path parameter.\n Use Projects endpoints to retrieve
|
|
2716
|
+
Repository IDs."
|
|
2717
|
+
items:
|
|
2718
|
+
format: uint32
|
|
2719
|
+
type: integer
|
|
2720
|
+
type: array
|
|
2721
|
+
transitivity:
|
|
2722
|
+
description: 'Filter by transitivity.
|
|
2723
|
+
|
|
2724
|
+
|
|
2725
|
+
| value | description |
|
|
2726
|
+
|
|
2727
|
+
|-------|---------------|
|
|
2728
|
+
|
|
2729
|
+
| UNKNOWN_TRANSITIVITY | |
|
|
2730
|
+
|
|
2731
|
+
| TRANSITIVE | |
|
|
2732
|
+
|
|
2733
|
+
| DIRECT | |
|
|
2734
|
+
|
|
2735
|
+
|
|
2736
|
+
'
|
|
2737
|
+
enum:
|
|
2738
|
+
- UNKNOWN_TRANSITIVITY
|
|
2739
|
+
- TRANSITIVE
|
|
2740
|
+
- DIRECT
|
|
2741
|
+
items:
|
|
2742
|
+
enum:
|
|
2743
|
+
- UNKNOWN_TRANSITIVITY
|
|
2744
|
+
- TRANSITIVE
|
|
2745
|
+
- DIRECT
|
|
2746
|
+
format: enum
|
|
2747
|
+
type: string
|
|
2748
|
+
type: array
|
|
2749
|
+
version:
|
|
2750
|
+
description: Filter by dependency version (e.g. 1.0.1).
|
|
2751
|
+
type: string
|
|
2752
|
+
type: object
|
|
2753
|
+
protos.sca.v1.FoundDependency:
|
|
2754
|
+
properties:
|
|
2755
|
+
definedAt:
|
|
2756
|
+
allOf:
|
|
2757
|
+
- $ref: '#/components/schemas/protos.sca.v1.CodeLocation'
|
|
2758
|
+
description: Path and line number dependency is declared in.
|
|
2759
|
+
ecosystem:
|
|
2760
|
+
description: 'The ecosystem the dependency is in (e.g. pypi, npm, etc).
|
|
2761
|
+
|
|
2762
|
+
|
|
2763
|
+
| value | description |
|
|
2764
|
+
|
|
2765
|
+
|-------|---------------|
|
|
2766
|
+
|
|
2767
|
+
| no_package_manager | |
|
|
2768
|
+
|
|
2769
|
+
| npm | |
|
|
2770
|
+
|
|
2771
|
+
| pypi | |
|
|
2772
|
+
|
|
2773
|
+
| gomod | |
|
|
2774
|
+
|
|
2775
|
+
| cargo | |
|
|
2776
|
+
|
|
2777
|
+
| maven | |
|
|
2778
|
+
|
|
2779
|
+
| gem | |
|
|
2780
|
+
|
|
2781
|
+
| composer | |
|
|
2782
|
+
|
|
2783
|
+
| nuget | |
|
|
2784
|
+
|
|
2785
|
+
| pub | |
|
|
2786
|
+
|
|
2787
|
+
| swiftpm | |
|
|
2788
|
+
|
|
2789
|
+
| hex | |
|
|
2790
|
+
|
|
2791
|
+
|
|
2792
|
+
'
|
|
2793
|
+
enum:
|
|
2794
|
+
- no_package_manager
|
|
2795
|
+
- npm
|
|
2796
|
+
- pypi
|
|
2797
|
+
- gomod
|
|
2798
|
+
- cargo
|
|
2799
|
+
- maven
|
|
2800
|
+
- gem
|
|
2801
|
+
- composer
|
|
2802
|
+
- nuget
|
|
2803
|
+
- pub
|
|
2804
|
+
- swiftpm
|
|
2805
|
+
- hex
|
|
2806
|
+
format: enum
|
|
2807
|
+
type: string
|
|
2808
|
+
licenses:
|
|
2809
|
+
description: Licenses the dependency is using.
|
|
2810
|
+
items:
|
|
2811
|
+
type: string
|
|
2812
|
+
type: array
|
|
2813
|
+
manifestDefinition:
|
|
2814
|
+
allOf:
|
|
2815
|
+
- $ref: '#/components/schemas/protos.sca.v1.CodeLocation'
|
|
2816
|
+
description: Path to the manifest file that defines the subproject containing
|
|
2817
|
+
this dependency
|
|
2818
|
+
package:
|
|
2819
|
+
allOf:
|
|
2820
|
+
- $ref: '#/components/schemas/protos.sca.v1.Dependency'
|
|
2821
|
+
description: What the dependency is.
|
|
2822
|
+
repositoryId:
|
|
2823
|
+
description: ID of repository dependency is found in.
|
|
2824
|
+
type: string
|
|
2825
|
+
resolvedUrl:
|
|
2826
|
+
description: The resolved URL of the dependency. Could point to a compressed
|
|
2827
|
+
source code directory (e.g. tarball), source code repository, or a package
|
|
2828
|
+
manager cache directory. May be empty if the package manager doesn't supply
|
|
2829
|
+
a URL.
|
|
2830
|
+
type: string
|
|
2831
|
+
transitivity:
|
|
2832
|
+
description: 'Whether dependency is direct or transitive.
|
|
2833
|
+
|
|
2834
|
+
|
|
2835
|
+
| value | description |
|
|
2836
|
+
|
|
2837
|
+
|-------|---------------|
|
|
2838
|
+
|
|
2839
|
+
| UNKNOWN_TRANSITIVITY | |
|
|
2840
|
+
|
|
2841
|
+
| TRANSITIVE | |
|
|
2842
|
+
|
|
2843
|
+
| DIRECT | |
|
|
2844
|
+
|
|
2845
|
+
|
|
2846
|
+
'
|
|
2847
|
+
enum:
|
|
2848
|
+
- UNKNOWN_TRANSITIVITY
|
|
2849
|
+
- TRANSITIVE
|
|
2850
|
+
- DIRECT
|
|
2851
|
+
format: enum
|
|
2852
|
+
type: string
|
|
2853
|
+
type: object
|
|
2854
|
+
protos.sca.v1.LockfileDependencySummary:
|
|
2855
|
+
properties:
|
|
2856
|
+
lockfilePath:
|
|
2857
|
+
description: Path to lockfile (e.g. foo/bar/package-lock.json).
|
|
2858
|
+
type: string
|
|
2859
|
+
numDependencies:
|
|
2860
|
+
description: Total number of dependencies in the lockfile.
|
|
2861
|
+
format: uint32
|
|
2862
|
+
type: integer
|
|
2863
|
+
type: object
|
|
2864
|
+
protos.sca.v1.RepositoryDependencySummary:
|
|
2865
|
+
properties:
|
|
2866
|
+
hasDependencyPathScan:
|
|
2867
|
+
description: "True if the repository has been scanned with the `hasPathToTransitivityInScans`
|
|
2868
|
+
feature flag\n which means it will have dependency graph data in DGraph
|
|
2869
|
+
available to query"
|
|
2870
|
+
type: boolean
|
|
2871
|
+
id:
|
|
2872
|
+
description: ID of repository.
|
|
2873
|
+
format: uint32
|
|
2874
|
+
type: integer
|
|
2875
|
+
name:
|
|
2876
|
+
description: Name of repository.
|
|
2877
|
+
type: string
|
|
2878
|
+
numDependencies:
|
|
2879
|
+
description: Total number of dependencies in the repository.
|
|
2880
|
+
format: uint32
|
|
2881
|
+
type: integer
|
|
2882
|
+
type: object
|
|
2883
|
+
protos.sca.v1.SbomFormatVersion:
|
|
2884
|
+
properties:
|
|
2885
|
+
format:
|
|
2886
|
+
default: SBOM_FORMAT_CYCLONEDX
|
|
2887
|
+
description: 'Format for the SBOM export.
|
|
2888
|
+
|
|
2889
|
+
|
|
2890
|
+
| value | description |
|
|
2891
|
+
|
|
2892
|
+
|-------|---------------|
|
|
2893
|
+
|
|
2894
|
+
| SBOM_FORMAT_CYCLONEDX | |
|
|
2895
|
+
|
|
2896
|
+
|
|
2897
|
+
'
|
|
2898
|
+
enum:
|
|
2899
|
+
- SBOM_FORMAT_CYCLONEDX
|
|
2900
|
+
format: enum
|
|
2901
|
+
type: string
|
|
2902
|
+
version:
|
|
2903
|
+
default: '1.5'
|
|
2904
|
+
description: Version of the SBOM format.
|
|
2905
|
+
type: string
|
|
2906
|
+
type: object
|
|
2907
|
+
protos.sca.v1.SbomMetadataContact:
|
|
2908
|
+
properties:
|
|
2909
|
+
email:
|
|
2910
|
+
type: string
|
|
2911
|
+
name:
|
|
2912
|
+
type: string
|
|
2913
|
+
phone:
|
|
2914
|
+
type: string
|
|
2915
|
+
type: object
|
|
2916
|
+
protos.sca.v1.SbomMetadataSupplier:
|
|
2917
|
+
properties:
|
|
2918
|
+
contact:
|
|
2919
|
+
$ref: '#/components/schemas/protos.sca.v1.SbomMetadataContact'
|
|
2920
|
+
name:
|
|
2921
|
+
type: string
|
|
2922
|
+
url:
|
|
2923
|
+
type: string
|
|
2924
|
+
type: object
|
|
2925
|
+
protos.scan.v1.ScanFindingsCounts:
|
|
2926
|
+
properties:
|
|
2927
|
+
code:
|
|
2928
|
+
description: Total number of Code findings in the scan
|
|
2929
|
+
example: 2
|
|
2930
|
+
format: uint64
|
|
2931
|
+
type: string
|
|
2932
|
+
secrets:
|
|
2933
|
+
description: Total number of Secrets findings in the scan
|
|
2934
|
+
example: 1
|
|
2935
|
+
format: uint64
|
|
2936
|
+
type: string
|
|
2937
|
+
supply_chain:
|
|
2938
|
+
description: Total number of Supply Chain findings in the scan
|
|
2939
|
+
example: 1
|
|
2940
|
+
format: uint64
|
|
2941
|
+
type: string
|
|
2942
|
+
total:
|
|
2943
|
+
description: Total number of findings in the scan
|
|
2944
|
+
example: 4
|
|
2945
|
+
format: uint64
|
|
2946
|
+
type: string
|
|
2947
|
+
type: object
|
|
2948
|
+
protos.scan.v1.ScanPublic:
|
|
2949
|
+
properties:
|
|
2950
|
+
branch:
|
|
2951
|
+
description: The scanned branch
|
|
2952
|
+
example: main
|
|
2953
|
+
type: string
|
|
2954
|
+
commit:
|
|
2955
|
+
description: The commit hash that was scanned
|
|
2956
|
+
example: 6d3de02545f820febf2af9820568fa5f697d4087
|
|
2957
|
+
type: string
|
|
2958
|
+
completed_at:
|
|
2959
|
+
description: The timestamp when this scan completed (if it has completed).
|
|
2960
|
+
example: 2020-11-18 23:30:10.216670+00:00
|
|
2961
|
+
format: date-time
|
|
2962
|
+
type: string
|
|
2963
|
+
deployment_id:
|
|
2964
|
+
description: Unique identifier for the deployment of the scan.
|
|
2965
|
+
format: uint64
|
|
2966
|
+
type: string
|
|
2967
|
+
enabled_products:
|
|
2968
|
+
description: The products used when running the scan.
|
|
2969
|
+
example:
|
|
2970
|
+
- secrets
|
|
2971
|
+
items:
|
|
2972
|
+
type: string
|
|
2973
|
+
type: array
|
|
2974
|
+
exit_code:
|
|
2975
|
+
description: The exit_code of the scan (see https://semgrep.dev/docs/cli-reference#exit-codes)
|
|
2976
|
+
example: 0
|
|
2977
|
+
format: int64
|
|
2978
|
+
type: string
|
|
2979
|
+
findings_counts:
|
|
2980
|
+
$ref: '#/components/schemas/protos.scan.v1.ScanFindingsCounts'
|
|
2981
|
+
id:
|
|
2982
|
+
description: ID of the scan.
|
|
2983
|
+
format: uint64
|
|
2984
|
+
type: string
|
|
2985
|
+
is_full_scan:
|
|
2986
|
+
description: Whether the scan was a full scan (true) or a diff scan (false)
|
|
2987
|
+
example: true
|
|
2988
|
+
type: boolean
|
|
2989
|
+
repository_id:
|
|
2990
|
+
description: Unique identifier for the repository of the scan.
|
|
2991
|
+
format: uint64
|
|
2992
|
+
type: string
|
|
2993
|
+
started_at:
|
|
2994
|
+
description: The timestamp when this scan started.
|
|
2995
|
+
example: 2020-11-18 23:28:12.391807+00:00
|
|
2996
|
+
format: date-time
|
|
2997
|
+
type: string
|
|
2998
|
+
status:
|
|
2999
|
+
description: 'The current status of the scan
|
|
3000
|
+
|
|
3001
|
+
|
|
3002
|
+
| value | description |
|
|
3003
|
+
|
|
3004
|
+
|-------|---------------|
|
|
3005
|
+
|
|
3006
|
+
| SCAN_STATUS_RUNNING | The scan is currently running |
|
|
3007
|
+
|
|
3008
|
+
| SCAN_STATUS_COMPLETED | The scan has completed successfully (0 or 1
|
|
3009
|
+
exit code) |
|
|
3010
|
+
|
|
3011
|
+
| SCAN_STATUS_ERROR | The scan has exited with a failure (exit code not
|
|
3012
|
+
0 or 1) |
|
|
3013
|
+
|
|
3014
|
+
| SCAN_STATUS_NEVER_FINISHED | The scan did not report an error or success
|
|
3015
|
+
after over an hour |
|
|
3016
|
+
|
|
3017
|
+
|
|
3018
|
+
'
|
|
3019
|
+
enum:
|
|
3020
|
+
- SCAN_STATUS_RUNNING
|
|
3021
|
+
- SCAN_STATUS_COMPLETED
|
|
3022
|
+
- SCAN_STATUS_ERROR
|
|
3023
|
+
- SCAN_STATUS_NEVER_FINISHED
|
|
3024
|
+
example: SCAN_STATUS_RUNNING
|
|
3025
|
+
format: enum
|
|
3026
|
+
type: string
|
|
3027
|
+
total_time:
|
|
3028
|
+
description: Duration of scan, in seconds
|
|
3029
|
+
example: 17.32
|
|
3030
|
+
format: float
|
|
3031
|
+
type: number
|
|
3032
|
+
type: object
|
|
3033
|
+
protos.secrets.v1.HistoricalInfo:
|
|
3034
|
+
properties:
|
|
3035
|
+
gitBlob:
|
|
3036
|
+
description: "Git blob at which the finding is present. Sent in addition
|
|
3037
|
+
to the commit\n since some SCMs have permalinks which use the blob sha,
|
|
3038
|
+
so this information\n is useful when generating links back to the SCM."
|
|
3039
|
+
type: string
|
|
3040
|
+
gitCommit:
|
|
3041
|
+
description: "Git commit at which the finding is present. Used by \"historical\"
|
|
3042
|
+
scans,\n which scan non-HEAD commits in the git history. Relevant for
|
|
3043
|
+
finding, e.g.,\n secrets which are buried in the git history which we
|
|
3044
|
+
wouldn't find at HEAD"
|
|
3045
|
+
type: string
|
|
3046
|
+
gitCommitTimestamp:
|
|
3047
|
+
format: date-time
|
|
3048
|
+
type: string
|
|
3049
|
+
type: object
|
|
3050
|
+
protos.secrets.v1.SecretsFinding:
|
|
3051
|
+
description: A Finding represents a single secret finding.
|
|
3052
|
+
properties:
|
|
3053
|
+
autotriage:
|
|
3054
|
+
allOf:
|
|
3055
|
+
- $ref: '#/components/schemas/protos.ai.v1.Autotriage'
|
|
3056
|
+
description: "* Autotriage info for the finding.\n This is used for the
|
|
3057
|
+
Generic Secrets Detection project, for\n autotriaging secrets findings
|
|
3058
|
+
with LLMs"
|
|
3059
|
+
confidence:
|
|
3060
|
+
description: 'Confidence of the finding.
|
|
3061
|
+
|
|
3062
|
+
|
|
3063
|
+
| value | description |
|
|
3064
|
+
|
|
3065
|
+
|-------|---------------|
|
|
3066
|
+
|
|
3067
|
+
| CONFIDENCE_HIGH | |
|
|
3068
|
+
|
|
3069
|
+
| CONFIDENCE_MEDIUM | |
|
|
3070
|
+
|
|
3071
|
+
| CONFIDENCE_LOW | |
|
|
3072
|
+
|
|
3073
|
+
|
|
3074
|
+
'
|
|
3075
|
+
enum:
|
|
3076
|
+
- CONFIDENCE_HIGH
|
|
3077
|
+
- CONFIDENCE_MEDIUM
|
|
3078
|
+
- CONFIDENCE_LOW
|
|
3079
|
+
format: enum
|
|
3080
|
+
type: string
|
|
3081
|
+
createdAt:
|
|
3082
|
+
description: Creation timestamp.
|
|
3083
|
+
format: date-time
|
|
3084
|
+
type: string
|
|
3085
|
+
externalTicket:
|
|
3086
|
+
allOf:
|
|
3087
|
+
- $ref: '#/components/schemas/protos.ticketing.v1.ExternalTicket'
|
|
3088
|
+
description: The external ticket reference
|
|
3089
|
+
findingPath:
|
|
3090
|
+
description: File path where the finding was detected.
|
|
3091
|
+
type: string
|
|
3092
|
+
findingPathUrl:
|
|
3093
|
+
description: URL to the file where the finding was detected.
|
|
3094
|
+
type: string
|
|
3095
|
+
historicalInfo:
|
|
3096
|
+
allOf:
|
|
3097
|
+
- $ref: '#/components/schemas/protos.secrets.v1.HistoricalInfo'
|
|
3098
|
+
description: Historical scanning info for the finding.
|
|
3099
|
+
id:
|
|
3100
|
+
description: ID of the finding.
|
|
3101
|
+
type: string
|
|
3102
|
+
mode:
|
|
3103
|
+
description: 'The behavior of the finding reporting: Monitor / Comment /
|
|
3104
|
+
Block.
|
|
3105
|
+
|
|
3106
|
+
|
|
3107
|
+
| value | description |
|
|
3108
|
+
|
|
3109
|
+
|-------|---------------|
|
|
3110
|
+
|
|
3111
|
+
| MODE_MONITOR | Monitor mode, silently report findings |
|
|
3112
|
+
|
|
3113
|
+
| MODE_COMMENT | Comment mode, leaves PR comments but does not block |
|
|
3114
|
+
|
|
3115
|
+
| MODE_BLOCK | Block mode, leaves PR comments and blocks PR |
|
|
3116
|
+
|
|
3117
|
+
| MODE_DISABLED | Disabled mode, not active |
|
|
3118
|
+
|
|
3119
|
+
|
|
3120
|
+
'
|
|
3121
|
+
enum:
|
|
3122
|
+
- MODE_MONITOR
|
|
3123
|
+
- MODE_COMMENT
|
|
3124
|
+
- MODE_BLOCK
|
|
3125
|
+
- MODE_DISABLED
|
|
3126
|
+
format: enum
|
|
3127
|
+
type: string
|
|
3128
|
+
ref:
|
|
3129
|
+
description: Branch where the finding was detected.
|
|
3130
|
+
type: string
|
|
3131
|
+
refUrl:
|
|
3132
|
+
description: URL to the branch where the finding was detected.
|
|
3133
|
+
type: string
|
|
3134
|
+
repository:
|
|
3135
|
+
allOf:
|
|
3136
|
+
- $ref: '#/components/schemas/protos.secrets.v1.SecretsFinding_Repository'
|
|
3137
|
+
description: Repository where the finding was detected.
|
|
3138
|
+
reviewComments:
|
|
3139
|
+
description: List of external review comment information associated with
|
|
3140
|
+
a finding
|
|
3141
|
+
items:
|
|
3142
|
+
$ref: '#/components/schemas/protos.common.v1.ReviewComment'
|
|
3143
|
+
type: array
|
|
3144
|
+
ruleHashId:
|
|
3145
|
+
description: ID of the rule that triggered the finding.
|
|
3146
|
+
type: string
|
|
3147
|
+
severity:
|
|
3148
|
+
description: 'Severity of the finding.
|
|
3149
|
+
|
|
3150
|
+
|
|
3151
|
+
| value | description |
|
|
3152
|
+
|
|
3153
|
+
|-------|---------------|
|
|
3154
|
+
|
|
3155
|
+
| SEVERITY_HIGH | |
|
|
3156
|
+
|
|
3157
|
+
| SEVERITY_MEDIUM | |
|
|
3158
|
+
|
|
3159
|
+
| SEVERITY_LOW | |
|
|
3160
|
+
|
|
3161
|
+
| SEVERITY_CRITICAL | |
|
|
3162
|
+
|
|
3163
|
+
|
|
3164
|
+
'
|
|
3165
|
+
enum:
|
|
3166
|
+
- SEVERITY_HIGH
|
|
3167
|
+
- SEVERITY_MEDIUM
|
|
3168
|
+
- SEVERITY_LOW
|
|
3169
|
+
- SEVERITY_CRITICAL
|
|
3170
|
+
format: enum
|
|
3171
|
+
type: string
|
|
3172
|
+
status:
|
|
3173
|
+
description: 'Status of the finding.
|
|
3174
|
+
|
|
3175
|
+
|
|
3176
|
+
| value | description |
|
|
3177
|
+
|
|
3178
|
+
|-------|---------------|
|
|
3179
|
+
|
|
3180
|
+
| FINDING_STATUS_OPEN | |
|
|
3181
|
+
|
|
3182
|
+
| FINDING_STATUS_IGNORED | |
|
|
3183
|
+
|
|
3184
|
+
| FINDING_STATUS_FIXED | |
|
|
3185
|
+
|
|
3186
|
+
| FINDING_STATUS_REMOVED | |
|
|
3187
|
+
|
|
3188
|
+
| FINDING_STATUS_UNKNOWN | |
|
|
3189
|
+
|
|
3190
|
+
| FINDING_STATUS_PROVISIONALLY_IGNORED | |
|
|
3191
|
+
|
|
3192
|
+
|
|
3193
|
+
'
|
|
3194
|
+
enum:
|
|
3195
|
+
- FINDING_STATUS_OPEN
|
|
3196
|
+
- FINDING_STATUS_IGNORED
|
|
3197
|
+
- FINDING_STATUS_FIXED
|
|
3198
|
+
- FINDING_STATUS_REMOVED
|
|
3199
|
+
- FINDING_STATUS_UNKNOWN
|
|
3200
|
+
- FINDING_STATUS_PROVISIONALLY_IGNORED
|
|
3201
|
+
format: enum
|
|
3202
|
+
type: string
|
|
3203
|
+
type:
|
|
3204
|
+
description: Service type for the secrets finding (e.g. AWS, GitHub, GitLab,
|
|
3205
|
+
etc).
|
|
3206
|
+
type: string
|
|
3207
|
+
updatedAt:
|
|
3208
|
+
description: Update timestamp.
|
|
3209
|
+
format: date-time
|
|
3210
|
+
type: string
|
|
3211
|
+
validationState:
|
|
3212
|
+
description: 'Whether the finding was validated or not.
|
|
3213
|
+
|
|
3214
|
+
|
|
3215
|
+
| value | description |
|
|
3216
|
+
|
|
3217
|
+
|-------|---------------|
|
|
3218
|
+
|
|
3219
|
+
| VALIDATION_STATE_CONFIRMED_VALID | |
|
|
3220
|
+
|
|
3221
|
+
| VALIDATION_STATE_CONFIRMED_INVALID | |
|
|
3222
|
+
|
|
3223
|
+
| VALIDATION_STATE_VALIDATION_ERROR | |
|
|
3224
|
+
|
|
3225
|
+
| VALIDATION_STATE_NO_VALIDATOR | |
|
|
3226
|
+
|
|
3227
|
+
|
|
3228
|
+
'
|
|
3229
|
+
enum:
|
|
3230
|
+
- VALIDATION_STATE_CONFIRMED_VALID
|
|
3231
|
+
- VALIDATION_STATE_CONFIRMED_INVALID
|
|
3232
|
+
- VALIDATION_STATE_VALIDATION_ERROR
|
|
3233
|
+
- VALIDATION_STATE_NO_VALIDATOR
|
|
3234
|
+
format: enum
|
|
3235
|
+
type: string
|
|
3236
|
+
type: object
|
|
3237
|
+
protos.secrets.v1.SecretsFinding_Repository:
|
|
3238
|
+
description: Repository where the finding was detected.
|
|
3239
|
+
properties:
|
|
3240
|
+
name:
|
|
3241
|
+
description: Repository name
|
|
3242
|
+
type: string
|
|
3243
|
+
scmType:
|
|
3244
|
+
description: 'Provider for the finding (e.g. GitHub, GitLab, GHE, etc).
|
|
3245
|
+
|
|
3246
|
+
|
|
3247
|
+
| value | description |
|
|
3248
|
+
|
|
3249
|
+
|-------|---------------|
|
|
3250
|
+
|
|
3251
|
+
| SCM_TYPE_GITHUB | |
|
|
3252
|
+
|
|
3253
|
+
| SCM_TYPE_GITLAB | |
|
|
3254
|
+
|
|
3255
|
+
| SCM_TYPE_GITHUB_ENTERPRISE | |
|
|
3256
|
+
|
|
3257
|
+
| SCM_TYPE_GITLAB_SELFMANAGED | |
|
|
3258
|
+
|
|
3259
|
+
| SCM_TYPE_BITBUCKET | |
|
|
3260
|
+
|
|
3261
|
+
| SCM_TYPE_AZURE_DEVOPS | |
|
|
3262
|
+
|
|
3263
|
+
| SCM_TYPE_UNKNOWN | |
|
|
3264
|
+
|
|
3265
|
+
| SCM_TYPE_BITBUCKET_DATACENTER | |
|
|
3266
|
+
|
|
3267
|
+
|
|
3268
|
+
'
|
|
3269
|
+
enum:
|
|
3270
|
+
- SCM_TYPE_GITHUB
|
|
3271
|
+
- SCM_TYPE_GITLAB
|
|
3272
|
+
- SCM_TYPE_GITHUB_ENTERPRISE
|
|
3273
|
+
- SCM_TYPE_GITLAB_SELFMANAGED
|
|
3274
|
+
- SCM_TYPE_BITBUCKET
|
|
3275
|
+
- SCM_TYPE_AZURE_DEVOPS
|
|
3276
|
+
- SCM_TYPE_UNKNOWN
|
|
3277
|
+
- SCM_TYPE_BITBUCKET_DATACENTER
|
|
3278
|
+
format: enum
|
|
3279
|
+
type: string
|
|
3280
|
+
url:
|
|
3281
|
+
description: URL to the repository where the finding was detected.
|
|
3282
|
+
type: string
|
|
3283
|
+
visibility:
|
|
3284
|
+
description: 'Repository visbility (e.g. public, private, unknown).
|
|
3285
|
+
|
|
3286
|
+
|
|
3287
|
+
| value | description |
|
|
3288
|
+
|
|
3289
|
+
|-------|---------------|
|
|
3290
|
+
|
|
3291
|
+
| REPOSITORY_VISIBILITY_PUBLIC | |
|
|
3292
|
+
|
|
3293
|
+
| REPOSITORY_VISIBILITY_PRIVATE | |
|
|
3294
|
+
|
|
3295
|
+
| REPOSITORY_VISIBILITY_UNKNOWN | |
|
|
3296
|
+
|
|
3297
|
+
|
|
3298
|
+
'
|
|
3299
|
+
enum:
|
|
3300
|
+
- REPOSITORY_VISIBILITY_PUBLIC
|
|
3301
|
+
- REPOSITORY_VISIBILITY_PRIVATE
|
|
3302
|
+
- REPOSITORY_VISIBILITY_UNKNOWN
|
|
3303
|
+
format: enum
|
|
3304
|
+
type: string
|
|
3305
|
+
type: object
|
|
3306
|
+
protos.ticketing.v1.ExternalTicket:
|
|
3307
|
+
properties:
|
|
3308
|
+
externalSlug:
|
|
3309
|
+
description: Identifier of the external ticket (e.g. for Jira, something
|
|
3310
|
+
like OPS-158).
|
|
3311
|
+
type: string
|
|
3312
|
+
id:
|
|
3313
|
+
description: Nango ticket id
|
|
3314
|
+
type: string
|
|
3315
|
+
linkedIssueIds:
|
|
3316
|
+
description: Semgrep issue ids that are linked to this external ticket
|
|
3317
|
+
items:
|
|
3318
|
+
type: string
|
|
3319
|
+
type: array
|
|
3320
|
+
url:
|
|
3321
|
+
description: URL of the external ticket.
|
|
3322
|
+
type: string
|
|
3323
|
+
type: object
|
|
3324
|
+
securitySchemes:
|
|
3325
|
+
SemgrepAdminJWT:
|
|
3326
|
+
bearerFormat: string
|
|
3327
|
+
description: Get access to data with a Semgrep Admin JSON Web Token.
|
|
3328
|
+
scheme: bearer
|
|
3329
|
+
type: http
|
|
3330
|
+
SemgrepJWT:
|
|
3331
|
+
bearerFormat: string
|
|
3332
|
+
description: Get access to data with your user's JSON Web Token.
|
|
3333
|
+
scheme: bearer
|
|
3334
|
+
type: http
|
|
3335
|
+
SemgrepWebToken:
|
|
3336
|
+
bearerFormat: string
|
|
3337
|
+
description: 'Get access to data with your API token. Example header:
|
|
3338
|
+
|
|
3339
|
+
|
|
3340
|
+
`Authorization: Bearer 2991e2fb4b540fe75b8f90677b0b892b6314e4961cb001fe6eb452eee248a628`
|
|
3341
|
+
|
|
3342
|
+
|
|
3343
|
+
The token can be provisioned from the Tokens section in your Settings, and
|
|
3344
|
+
requires explicitly enabling `Web API` access.'
|
|
3345
|
+
scheme: bearer
|
|
3346
|
+
type: http
|
|
3347
|
+
info:
|
|
3348
|
+
description: '
|
|
3349
|
+
|
|
3350
|
+
Welcome to Semgrep''s portal for the Semgrep AppSec Platform web API.
|
|
3351
|
+
|
|
3352
|
+
|
|
3353
|
+
# Introduction
|
|
3354
|
+
|
|
3355
|
+
Semgrep is a fast, open-source, static analysis tool for finding bugs and enforcing
|
|
3356
|
+
code standards at editor,
|
|
3357
|
+
|
|
3358
|
+
commit, and CI time. [Get started.](https://semgrep.dev/docs/getting-started/)
|
|
3359
|
+
|
|
3360
|
+
|
|
3361
|
+
Semgrep analyzes code locally on your computer or in your build environment: **code
|
|
3362
|
+
is never uploaded.**
|
|
3363
|
+
|
|
3364
|
+
|
|
3365
|
+
This API is documented in the **OpenAPI format**.
|
|
3366
|
+
|
|
3367
|
+
|
|
3368
|
+
# Terms of Use
|
|
3369
|
+
|
|
3370
|
+
|
|
3371
|
+
Please note, the materials made available herein are subject to the
|
|
3372
|
+
|
|
3373
|
+
[Semgrep Terms of Use](https://semgrep.dev/resources/website-terms/), and your
|
|
3374
|
+
|
|
3375
|
+
access or use of any of the same is your acknowledgment and acceptance of the
|
|
3376
|
+
|
|
3377
|
+
such terms.
|
|
3378
|
+
|
|
3379
|
+
<br>
|
|
3380
|
+
|
|
3381
|
+
|
|
3382
|
+
# Authentication
|
|
3383
|
+
|
|
3384
|
+
The API supports authentication with an API token with the "Web API" permission,
|
|
3385
|
+
without limited
|
|
3386
|
+
|
|
3387
|
+
scopes of access.
|
|
3388
|
+
|
|
3389
|
+
|
|
3390
|
+
You can provision an API token [from the Settings page](https://semgrep.dev/orgs/-/settings/tokens).
|
|
3391
|
+
|
|
3392
|
+
|
|
3393
|
+
<br>
|
|
3394
|
+
|
|
3395
|
+
'
|
|
3396
|
+
title: Semgrep Web App
|
|
3397
|
+
version: 1.0.0
|
|
3398
|
+
openapi: 3.0.3
|
|
3399
|
+
paths:
|
|
3400
|
+
/api/v1/bootstrap-sms-vpc:
|
|
3401
|
+
get:
|
|
3402
|
+
description: 'VPC support for Managed Scans is in private beta.
|
|
3403
|
+
|
|
3404
|
+
|
|
3405
|
+
Returns the Managed Scans VPC Bootstrap CloudFormation template in JSON format
|
|
3406
|
+
for setting up cross-account infrastructure.
|
|
3407
|
+
|
|
3408
|
+
|
|
3409
|
+
This template creates IAM roles and policies needed for Semgrep Managed Scanning
|
|
3410
|
+
(SMS) VPC infrastructure automation,
|
|
3411
|
+
|
|
3412
|
+
including the semgrep-sms-vpc-automation role and EC2 Image Builder distribution
|
|
3413
|
+
roles for gVisor container runtime.
|
|
3414
|
+
|
|
3415
|
+
|
|
3416
|
+
See the original AWS cloudformation template format at https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-formats.html
|
|
3417
|
+
|
|
3418
|
+
'
|
|
3419
|
+
operationId: MiscService_GetBootstrapSmsVpc
|
|
3420
|
+
responses:
|
|
3421
|
+
'200':
|
|
3422
|
+
content:
|
|
3423
|
+
application/json:
|
|
3424
|
+
schema:
|
|
3425
|
+
$ref: '#/components/schemas/protos.openapi.v1.GetBootstrapSmsVpcResponse'
|
|
3426
|
+
description: OK
|
|
3427
|
+
summary: '[Beta] Get SMS VPC Bootstrap CloudFormation Template'
|
|
3428
|
+
tags:
|
|
3429
|
+
- MiscService
|
|
3430
|
+
x-badges: []
|
|
3431
|
+
/api/v1/deployments:
|
|
3432
|
+
get:
|
|
3433
|
+
description: 'Request the deployments your auth can access.
|
|
3434
|
+
|
|
3435
|
+
|
|
3436
|
+
Currently available auth scope does not extend over more than one deployment.
|
|
3437
|
+
This endpoint returns the single deployment your token can access. The endpoint
|
|
3438
|
+
additionally returns links to related resources available on this API.'
|
|
3439
|
+
operationId: DeploymentsService_ListDeployments
|
|
3440
|
+
responses:
|
|
3441
|
+
'200':
|
|
3442
|
+
content:
|
|
3443
|
+
application/json:
|
|
3444
|
+
schema:
|
|
3445
|
+
$ref: '#/components/schemas/protos.openapi.v1.ListDeploymentsResponse'
|
|
3446
|
+
description: OK
|
|
3447
|
+
security:
|
|
3448
|
+
- SemgrepWebToken: []
|
|
3449
|
+
summary: List deployments
|
|
3450
|
+
tags:
|
|
3451
|
+
- DeploymentsService
|
|
3452
|
+
x-badges: []
|
|
3453
|
+
/api/v1/deployments/{deploymentId}/dependencies:
|
|
3454
|
+
post:
|
|
3455
|
+
operationId: SupplyChainService_ListDependencies
|
|
3456
|
+
parameters:
|
|
3457
|
+
- in: path
|
|
3458
|
+
name: deploymentId
|
|
3459
|
+
required: true
|
|
3460
|
+
schema:
|
|
3461
|
+
description: 'Deployment ID (numeric). Example: `123`. Can be found at `/deployments`,
|
|
3462
|
+
or in your Settings in the web UI.'
|
|
3463
|
+
example: 123
|
|
3464
|
+
format: uint64
|
|
3465
|
+
type: string
|
|
3466
|
+
requestBody:
|
|
3467
|
+
content:
|
|
3468
|
+
application/json:
|
|
3469
|
+
schema:
|
|
3470
|
+
$ref: '#/components/schemas/protos.openapi.v1.ListDependenciesRequest'
|
|
3471
|
+
required: true
|
|
3472
|
+
responses:
|
|
3473
|
+
'200':
|
|
3474
|
+
content:
|
|
3475
|
+
application/json:
|
|
3476
|
+
schema:
|
|
3477
|
+
$ref: '#/components/schemas/protos.openapi.v1.ListDependenciesResponse'
|
|
3478
|
+
description: OK
|
|
3479
|
+
security:
|
|
3480
|
+
- SemgrepWebToken: []
|
|
3481
|
+
summary: List dependencies
|
|
3482
|
+
tags:
|
|
3483
|
+
- SupplyChainService
|
|
3484
|
+
x-badges: []
|
|
3485
|
+
/api/v1/deployments/{deploymentId}/dependencies/repositories:
|
|
3486
|
+
post:
|
|
3487
|
+
operationId: SupplyChainService_ListRepositoriesForDependencies
|
|
3488
|
+
parameters:
|
|
3489
|
+
- in: path
|
|
3490
|
+
name: deploymentId
|
|
3491
|
+
required: true
|
|
3492
|
+
schema:
|
|
3493
|
+
description: 'Deployment ID (numeric). Example: `123`. Can be found at `/deployments`,
|
|
3494
|
+
or in your Settings in the web UI.'
|
|
3495
|
+
format: uint64
|
|
3496
|
+
type: string
|
|
3497
|
+
requestBody:
|
|
3498
|
+
content:
|
|
3499
|
+
application/json:
|
|
3500
|
+
schema:
|
|
3501
|
+
$ref: '#/components/schemas/protos.openapi.v1.ListRepositoriesForDependenciesRequest'
|
|
3502
|
+
required: true
|
|
3503
|
+
responses:
|
|
3504
|
+
'200':
|
|
3505
|
+
content:
|
|
3506
|
+
application/json:
|
|
3507
|
+
schema:
|
|
3508
|
+
$ref: '#/components/schemas/protos.openapi.v1.ListRepositoriesForDependenciesResponse'
|
|
3509
|
+
description: OK
|
|
3510
|
+
security:
|
|
3511
|
+
- SemgrepWebToken: []
|
|
3512
|
+
summary: List repositories with dependencies
|
|
3513
|
+
tags:
|
|
3514
|
+
- SupplyChainService
|
|
3515
|
+
x-badges: []
|
|
3516
|
+
/api/v1/deployments/{deploymentId}/dependencies/repositories/{repositoryId}/lockfiles:
|
|
3517
|
+
post:
|
|
3518
|
+
operationId: SupplyChainService_ListLockfilesForDependencies
|
|
3519
|
+
parameters:
|
|
3520
|
+
- in: path
|
|
3521
|
+
name: deploymentId
|
|
3522
|
+
required: true
|
|
3523
|
+
schema:
|
|
3524
|
+
description: 'Deployment ID (numeric). Example: `123`. Can be found at `/deployments`,
|
|
3525
|
+
or in your Settings in the web UI.'
|
|
3526
|
+
format: uint64
|
|
3527
|
+
type: string
|
|
3528
|
+
- in: path
|
|
3529
|
+
name: repositoryId
|
|
3530
|
+
required: true
|
|
3531
|
+
schema:
|
|
3532
|
+
description: Repository ID to filter by. Use Projects endpoints to retrieve
|
|
3533
|
+
repository IDs.
|
|
3534
|
+
format: uint64
|
|
3535
|
+
type: string
|
|
3536
|
+
requestBody:
|
|
3537
|
+
content:
|
|
3538
|
+
application/json:
|
|
3539
|
+
schema:
|
|
3540
|
+
$ref: '#/components/schemas/protos.openapi.v1.ListLockfilesForDependenciesRequest'
|
|
3541
|
+
required: true
|
|
3542
|
+
responses:
|
|
3543
|
+
'200':
|
|
3544
|
+
content:
|
|
3545
|
+
application/json:
|
|
3546
|
+
schema:
|
|
3547
|
+
$ref: '#/components/schemas/protos.openapi.v1.ListLockfilesForDependenciesResponse'
|
|
3548
|
+
description: OK
|
|
3549
|
+
security:
|
|
3550
|
+
- SemgrepWebToken: []
|
|
3551
|
+
summary: List lockfiles in a given repository with dependencies
|
|
3552
|
+
tags:
|
|
3553
|
+
- SupplyChainService
|
|
3554
|
+
x-badges: []
|
|
3555
|
+
/api/v1/deployments/{deploymentId}/policies:
|
|
3556
|
+
get:
|
|
3557
|
+
operationId: PoliciesService_ListPolicies
|
|
3558
|
+
parameters:
|
|
3559
|
+
- in: path
|
|
3560
|
+
name: deploymentId
|
|
3561
|
+
required: true
|
|
3562
|
+
schema:
|
|
3563
|
+
description: 'Deployment ID (numeric). Example: `123`. Can be found at `/deployments`,
|
|
3564
|
+
or in your Settings in the web UI.'
|
|
3565
|
+
example: 123
|
|
3566
|
+
format: uint64
|
|
3567
|
+
type: string
|
|
3568
|
+
responses:
|
|
3569
|
+
'200':
|
|
3570
|
+
content:
|
|
3571
|
+
application/json:
|
|
3572
|
+
schema:
|
|
3573
|
+
$ref: '#/components/schemas/protos.openapi.v1.ListPoliciesResponse'
|
|
3574
|
+
description: OK
|
|
3575
|
+
security:
|
|
3576
|
+
- SemgrepWebToken: []
|
|
3577
|
+
summary: List policies
|
|
3578
|
+
tags:
|
|
3579
|
+
- PoliciesService
|
|
3580
|
+
x-badges: []
|
|
3581
|
+
/api/v1/deployments/{deploymentId}/policies/{policyId}:
|
|
3582
|
+
get:
|
|
3583
|
+
operationId: PoliciesService_ListPolicyRules
|
|
3584
|
+
parameters:
|
|
3585
|
+
- in: path
|
|
3586
|
+
name: deploymentId
|
|
3587
|
+
required: true
|
|
3588
|
+
schema:
|
|
3589
|
+
description: 'Deployment ID (numeric). Example: `123`. Can be found at `/deployments`,
|
|
3590
|
+
or in your Settings in the web UI.'
|
|
3591
|
+
example: 123
|
|
3592
|
+
format: uint64
|
|
3593
|
+
type: string
|
|
3594
|
+
- in: path
|
|
3595
|
+
name: policyId
|
|
3596
|
+
required: true
|
|
3597
|
+
schema:
|
|
3598
|
+
description: 'Policy ID (numeric). Example: `456`. Can be found at `/deployments/{deploymentId}/policies`.'
|
|
3599
|
+
example: 456
|
|
3600
|
+
format: uint64
|
|
3601
|
+
type: string
|
|
3602
|
+
- in: query
|
|
3603
|
+
name: cursor
|
|
3604
|
+
schema:
|
|
3605
|
+
description: Cursor to paginate through the rules. Provide a cursor value
|
|
3606
|
+
from the response to retrieve the next page.
|
|
3607
|
+
type: string
|
|
3608
|
+
- in: query
|
|
3609
|
+
name: limit
|
|
3610
|
+
schema:
|
|
3611
|
+
description: Page size to paginate through the rules. The default page size
|
|
3612
|
+
is `500` and the maximum allowed page size is `2000`.
|
|
3613
|
+
format: uint32
|
|
3614
|
+
type: integer
|
|
3615
|
+
responses:
|
|
3616
|
+
'200':
|
|
3617
|
+
content:
|
|
3618
|
+
application/json:
|
|
3619
|
+
schema:
|
|
3620
|
+
$ref: '#/components/schemas/protos.openapi.v1.ListPolicyRulesResponse'
|
|
3621
|
+
description: OK
|
|
3622
|
+
security:
|
|
3623
|
+
- SemgrepWebToken: []
|
|
3624
|
+
summary: List policy rules
|
|
3625
|
+
tags:
|
|
3626
|
+
- PoliciesService
|
|
3627
|
+
x-badges: []
|
|
3628
|
+
put:
|
|
3629
|
+
operationId: PoliciesService_UpdatePolicy
|
|
3630
|
+
parameters:
|
|
3631
|
+
- in: path
|
|
3632
|
+
name: deploymentId
|
|
3633
|
+
required: true
|
|
3634
|
+
schema:
|
|
3635
|
+
description: 'Deployment ID (numeric). Example: `123`. Can be found at `/deployments`,
|
|
3636
|
+
or in your Settings in the web UI.'
|
|
3637
|
+
example: 123
|
|
3638
|
+
format: uint64
|
|
3639
|
+
type: string
|
|
3640
|
+
- in: path
|
|
3641
|
+
name: policyId
|
|
3642
|
+
required: true
|
|
3643
|
+
schema:
|
|
3644
|
+
description: 'Policy ID (numeric). Example: `456`. Can be found at `/deployments/{deploymentId}/policies`.'
|
|
3645
|
+
example: 456
|
|
3646
|
+
format: uint64
|
|
3647
|
+
type: string
|
|
3648
|
+
- in: query
|
|
3649
|
+
name: rulePath
|
|
3650
|
+
schema:
|
|
3651
|
+
description: Full path of the Rule.
|
|
3652
|
+
type: string
|
|
3653
|
+
- in: query
|
|
3654
|
+
name: policyMode
|
|
3655
|
+
schema:
|
|
3656
|
+
description: "New policy mode to set for the Rule.\n\n - MODE_MONITOR: Monitor
|
|
3657
|
+
mode, silently report findings\n - MODE_COMMENT: Comment mode, leaves
|
|
3658
|
+
PR comments but does not block\n - MODE_BLOCK: Block mode, leaves PR comments
|
|
3659
|
+
and blocks PR\n - MODE_DISABLED: Disabled mode, not active"
|
|
3660
|
+
enum:
|
|
3661
|
+
- MODE_UNSPECIFIED
|
|
3662
|
+
- MODE_MONITOR
|
|
3663
|
+
- MODE_COMMENT
|
|
3664
|
+
- MODE_BLOCK
|
|
3665
|
+
- MODE_DISABLED
|
|
3666
|
+
format: enum
|
|
3667
|
+
type: string
|
|
3668
|
+
responses:
|
|
3669
|
+
'200':
|
|
3670
|
+
content:
|
|
3671
|
+
application/json:
|
|
3672
|
+
schema:
|
|
3673
|
+
$ref: '#/components/schemas/protos.openapi.v1.UpdatePolicyResponse'
|
|
3674
|
+
description: OK
|
|
3675
|
+
security:
|
|
3676
|
+
- SemgrepWebToken: []
|
|
3677
|
+
summary: Update policy
|
|
3678
|
+
tags:
|
|
3679
|
+
- PoliciesService
|
|
3680
|
+
x-badges: []
|
|
3681
|
+
/api/v1/deployments/{deploymentId}/sbom/export:
|
|
3682
|
+
post:
|
|
3683
|
+
operationId: SupplyChainService_CreateSbomExport
|
|
3684
|
+
parameters:
|
|
3685
|
+
- in: path
|
|
3686
|
+
name: deploymentId
|
|
3687
|
+
required: true
|
|
3688
|
+
schema:
|
|
3689
|
+
description: 'Deployment ID (numeric). Example: `123`. Can be found at `/deployments`,
|
|
3690
|
+
or in your Settings in the web UI.'
|
|
3691
|
+
example: 123
|
|
3692
|
+
format: uint64
|
|
3693
|
+
type: string
|
|
3694
|
+
requestBody:
|
|
3695
|
+
content:
|
|
3696
|
+
application/json:
|
|
3697
|
+
schema:
|
|
3698
|
+
$ref: '#/components/schemas/protos.openapi.v1.CreateSbomExportRequest'
|
|
3699
|
+
required: true
|
|
3700
|
+
responses:
|
|
3701
|
+
'200':
|
|
3702
|
+
content:
|
|
3703
|
+
application/json:
|
|
3704
|
+
schema:
|
|
3705
|
+
$ref: '#/components/schemas/protos.openapi.v1.CreateSbomExportResponse'
|
|
3706
|
+
description: OK
|
|
3707
|
+
security:
|
|
3708
|
+
- SemgrepWebToken: []
|
|
3709
|
+
summary: Create a new SBOM export job
|
|
3710
|
+
tags:
|
|
3711
|
+
- SupplyChainService
|
|
3712
|
+
x-badges: []
|
|
3713
|
+
/api/v1/deployments/{deploymentId}/sbom/export/{taskToken}:
|
|
3714
|
+
get:
|
|
3715
|
+
operationId: SupplyChainService_GetSbomExport
|
|
3716
|
+
parameters:
|
|
3717
|
+
- in: path
|
|
3718
|
+
name: deploymentId
|
|
3719
|
+
required: true
|
|
3720
|
+
schema:
|
|
3721
|
+
description: 'Deployment ID (numeric). Example: `123`. Can be found at `/deployments`,
|
|
3722
|
+
or in your Settings in the web UI.'
|
|
3723
|
+
example: 123
|
|
3724
|
+
format: int64
|
|
3725
|
+
type: string
|
|
3726
|
+
- in: path
|
|
3727
|
+
name: taskToken
|
|
3728
|
+
required: true
|
|
3729
|
+
schema:
|
|
3730
|
+
description: Task token for the SBOM export job.
|
|
3731
|
+
type: string
|
|
3732
|
+
responses:
|
|
3733
|
+
'200':
|
|
3734
|
+
content:
|
|
3735
|
+
application/json:
|
|
3736
|
+
schema:
|
|
3737
|
+
$ref: '#/components/schemas/protos.openapi.v1.GetSbomExportResponse'
|
|
3738
|
+
description: OK
|
|
3739
|
+
security:
|
|
3740
|
+
- SemgrepWebToken: []
|
|
3741
|
+
summary: Get the status of a SBOM export job
|
|
3742
|
+
tags:
|
|
3743
|
+
- SupplyChainService
|
|
3744
|
+
x-badges: []
|
|
3745
|
+
/api/v1/deployments/{deploymentId}/scan/{scanId}:
|
|
3746
|
+
get:
|
|
3747
|
+
description: Request the details of a scan including the associated deployment,
|
|
3748
|
+
repository, and commit information.
|
|
3749
|
+
operationId: ScansService_GetScan
|
|
3750
|
+
parameters:
|
|
3751
|
+
- in: path
|
|
3752
|
+
name: deploymentId
|
|
3753
|
+
required: true
|
|
3754
|
+
schema:
|
|
3755
|
+
description: 'Deployment ID (numeric). Example: `123`. Can be found at `/deployments`,
|
|
3756
|
+
or in your Settings in the web UI.'
|
|
3757
|
+
example: 123
|
|
3758
|
+
format: uint64
|
|
3759
|
+
type: string
|
|
3760
|
+
- in: path
|
|
3761
|
+
name: scanId
|
|
3762
|
+
required: true
|
|
3763
|
+
schema:
|
|
3764
|
+
description: 'Scan ID (numeric). Example: `456`. Can be found at `/deployments/{deploymentId}/scans/search`.'
|
|
3765
|
+
example: 456
|
|
3766
|
+
format: uint64
|
|
3767
|
+
type: string
|
|
3768
|
+
responses:
|
|
3769
|
+
'200':
|
|
3770
|
+
content:
|
|
3771
|
+
application/json:
|
|
3772
|
+
schema:
|
|
3773
|
+
$ref: '#/components/schemas/protos.openapi.v1.GetScanResponse'
|
|
3774
|
+
description: OK
|
|
3775
|
+
security:
|
|
3776
|
+
- SemgrepWebToken: []
|
|
3777
|
+
summary: Get scan details
|
|
3778
|
+
tags:
|
|
3779
|
+
- ScansService
|
|
3780
|
+
x-badges: []
|
|
3781
|
+
/api/v1/deployments/{deploymentId}/scans/search:
|
|
3782
|
+
post:
|
|
3783
|
+
description: List the scans associated with a particular repository over the
|
|
3784
|
+
past 30 days.
|
|
3785
|
+
operationId: ScansService_SearchScans
|
|
3786
|
+
parameters:
|
|
3787
|
+
- in: path
|
|
3788
|
+
name: deploymentId
|
|
3789
|
+
required: true
|
|
3790
|
+
schema:
|
|
3791
|
+
description: 'Deployment ID (numeric). Example: `123`. Can be found at `/deployments`,
|
|
3792
|
+
or in your Settings in the web UI.'
|
|
3793
|
+
example: 123
|
|
3794
|
+
format: uint64
|
|
3795
|
+
type: string
|
|
3796
|
+
requestBody:
|
|
3797
|
+
content:
|
|
3798
|
+
application/json:
|
|
3799
|
+
schema:
|
|
3800
|
+
$ref: '#/components/schemas/protos.openapi.v1.SearchScansRequest'
|
|
3801
|
+
required: true
|
|
3802
|
+
responses:
|
|
3803
|
+
'200':
|
|
3804
|
+
content:
|
|
3805
|
+
application/json:
|
|
3806
|
+
schema:
|
|
3807
|
+
$ref: '#/components/schemas/protos.openapi.v1.SearchScansResponse'
|
|
3808
|
+
description: OK
|
|
3809
|
+
security:
|
|
3810
|
+
- SemgrepWebToken: []
|
|
3811
|
+
summary: List scans (beta)
|
|
3812
|
+
tags:
|
|
3813
|
+
- ScansService
|
|
3814
|
+
x-badges: []
|
|
3815
|
+
/api/v1/deployments/{deploymentId}/secrets:
|
|
3816
|
+
get:
|
|
3817
|
+
operationId: SecretsService_ListSecretsPath
|
|
3818
|
+
parameters:
|
|
3819
|
+
- in: path
|
|
3820
|
+
name: deploymentId
|
|
3821
|
+
required: true
|
|
3822
|
+
schema:
|
|
3823
|
+
description: 'Deployment ID (numeric). Example: `123`. Can be found at `/deployments`,
|
|
3824
|
+
or in your Settings in the web UI.'
|
|
3825
|
+
example: 123
|
|
3826
|
+
format: uint64
|
|
3827
|
+
type: string
|
|
3828
|
+
- in: query
|
|
3829
|
+
name: cursor
|
|
3830
|
+
schema:
|
|
3831
|
+
description: Cursor to paginate through the rules. Provide a cursor value
|
|
3832
|
+
from the response to retrieve the next page.
|
|
3833
|
+
type: string
|
|
3834
|
+
- in: query
|
|
3835
|
+
name: limit
|
|
3836
|
+
schema:
|
|
3837
|
+
description: Page size to paginate through the results.
|
|
3838
|
+
format: uint32
|
|
3839
|
+
type: integer
|
|
3840
|
+
- in: query
|
|
3841
|
+
name: since
|
|
3842
|
+
schema:
|
|
3843
|
+
format: date-time
|
|
3844
|
+
type: string
|
|
3845
|
+
- in: query
|
|
3846
|
+
name: validationState
|
|
3847
|
+
schema:
|
|
3848
|
+
description: "Whether the finding was validated or not.\n\n - VALIDATION_STATE_UNSPECIFIED:
|
|
3849
|
+
Return results for all validation states (can also omit this parameter).\n-
|
|
3850
|
+
VALIDATION_STATE_CONFIRMED_VALID: Secret has been tested and is confirmed
|
|
3851
|
+
valid.\n - VALIDATION_STATE_CONFIRMED_INVALID: Secret has been tested
|
|
3852
|
+
and is confirmed invalid.\n - VALIDATION_STATE_VALIDATION_ERROR: Secret
|
|
3853
|
+
test was attempted and there was an error.\n - VALIDATION_STATE_NO_VALIDATOR:
|
|
3854
|
+
There is no validator for this secret."
|
|
3855
|
+
format: string
|
|
3856
|
+
items:
|
|
3857
|
+
enum:
|
|
3858
|
+
- VALIDATION_STATE_UNSPECIFIED
|
|
3859
|
+
- VALIDATION_STATE_CONFIRMED_VALID
|
|
3860
|
+
- VALIDATION_STATE_CONFIRMED_INVALID
|
|
3861
|
+
- VALIDATION_STATE_VALIDATION_ERROR
|
|
3862
|
+
- VALIDATION_STATE_NO_VALIDATOR
|
|
3863
|
+
format: enum
|
|
3864
|
+
type: string
|
|
3865
|
+
type: array
|
|
3866
|
+
- in: query
|
|
3867
|
+
name: status
|
|
3868
|
+
schema:
|
|
3869
|
+
default: FINDING_STATUS_UNSPECIFIED
|
|
3870
|
+
description: "Status of the finding.\n\n - FINDING_STATUS_UNSPECIFIED: Return
|
|
3871
|
+
results for all finding statuses (if used as a parameter).\n - FINDING_STATUS_OPEN:
|
|
3872
|
+
Finding is open and needs to be triaged\n - FINDING_STATUS_IGNORED: Finding
|
|
3873
|
+
has been triaged and is being ignored\n - FINDING_STATUS_FIXED: Finding
|
|
3874
|
+
has been fixed\n - FINDING_STATUS_REMOVED: Finding has been removed\n
|
|
3875
|
+
- FINDING_STATUS_UNKNOWN: Finding status is unknown"
|
|
3876
|
+
enum:
|
|
3877
|
+
- FINDING_STATUS_UNSPECIFIED
|
|
3878
|
+
- FINDING_STATUS_OPEN
|
|
3879
|
+
- FINDING_STATUS_IGNORED
|
|
3880
|
+
- FINDING_STATUS_FIXED
|
|
3881
|
+
- FINDING_STATUS_REMOVED
|
|
3882
|
+
- FINDING_STATUS_UNKNOWN
|
|
3883
|
+
- FINDING_STATUS_PROVISIONALLY_IGNORED
|
|
3884
|
+
format: enum
|
|
3885
|
+
type: string
|
|
3886
|
+
- in: query
|
|
3887
|
+
name: severity
|
|
3888
|
+
schema:
|
|
3889
|
+
description: "Severity of the finding.\n\n - SEVERITY_UNSPECIFIED: Return
|
|
3890
|
+
results for all severities (if used as a parameter)."
|
|
3891
|
+
format: string
|
|
3892
|
+
items:
|
|
3893
|
+
enum:
|
|
3894
|
+
- SEVERITY_UNSPECIFIED
|
|
3895
|
+
- SEVERITY_HIGH
|
|
3896
|
+
- SEVERITY_MEDIUM
|
|
3897
|
+
- SEVERITY_LOW
|
|
3898
|
+
- SEVERITY_CRITICAL
|
|
3899
|
+
format: enum
|
|
3900
|
+
type: string
|
|
3901
|
+
type: array
|
|
3902
|
+
- in: query
|
|
3903
|
+
name: repo
|
|
3904
|
+
schema:
|
|
3905
|
+
description: Repositories to view results for. If not specified, returns
|
|
3906
|
+
all.
|
|
3907
|
+
format: string
|
|
3908
|
+
items:
|
|
3909
|
+
type: string
|
|
3910
|
+
type: array
|
|
3911
|
+
responses:
|
|
3912
|
+
'200':
|
|
3913
|
+
content:
|
|
3914
|
+
application/json:
|
|
3915
|
+
schema:
|
|
3916
|
+
$ref: '#/components/schemas/protos.openapi.v1.ListSecretsPathResponse'
|
|
3917
|
+
description: OK
|
|
3918
|
+
security:
|
|
3919
|
+
- SemgrepWebToken: []
|
|
3920
|
+
summary: List secrets
|
|
3921
|
+
tags:
|
|
3922
|
+
- SecretsService
|
|
3923
|
+
x-badges: []
|
|
3924
|
+
/api/v1/deployments/{deploymentId}/ticketing/v2/tickets/{externalTicketId}:
|
|
3925
|
+
delete:
|
|
3926
|
+
description: Unlink a Jira ticket by its ID
|
|
3927
|
+
operationId: TicketingService_DeleteTicket
|
|
3928
|
+
parameters:
|
|
3929
|
+
- in: path
|
|
3930
|
+
name: deploymentId
|
|
3931
|
+
required: true
|
|
3932
|
+
schema:
|
|
3933
|
+
description: Deployment ID. Can be found at /deployments, or in your Settings
|
|
3934
|
+
in the web UI.
|
|
3935
|
+
example: 123
|
|
3936
|
+
type: string
|
|
3937
|
+
- in: path
|
|
3938
|
+
name: externalTicketId
|
|
3939
|
+
required: true
|
|
3940
|
+
schema:
|
|
3941
|
+
description: The ID of the external ticket
|
|
3942
|
+
example: 456
|
|
3943
|
+
format: uint32
|
|
3944
|
+
type: integer
|
|
3945
|
+
responses:
|
|
3946
|
+
'200':
|
|
3947
|
+
content:
|
|
3948
|
+
application/json:
|
|
3949
|
+
schema:
|
|
3950
|
+
$ref: '#/components/schemas/protos.openapi.v1.DeleteTicketResponse'
|
|
3951
|
+
description: OK
|
|
3952
|
+
security:
|
|
3953
|
+
- SemgrepWebToken: []
|
|
3954
|
+
summary: Unlink a Jira ticket
|
|
3955
|
+
tags:
|
|
3956
|
+
- TicketingService
|
|
3957
|
+
x-badges: []
|
|
3958
|
+
/api/v1/deployments/{deploymentSlug}/findings:
|
|
3959
|
+
get:
|
|
3960
|
+
description: 'Request the list of code or supply chain findings in an organization,
|
|
3961
|
+
paginated in pages of 100 entries and limited by the `since` timestamp. Findings
|
|
3962
|
+
are returned by `relevant_since` descending (see `since` in the Query Parameters
|
|
3963
|
+
list). Examples: List SAST findings with pagination, List SCA findings since
|
|
3964
|
+
timestamp, List findings with filters.'
|
|
3965
|
+
operationId: FindingsService_ListFindings
|
|
3966
|
+
parameters:
|
|
3967
|
+
- in: path
|
|
3968
|
+
name: deploymentSlug
|
|
3969
|
+
required: true
|
|
3970
|
+
schema:
|
|
3971
|
+
description: Slug of the deployment name. Can be found at `/deployments`,
|
|
3972
|
+
or in your Settings in the web UI.
|
|
3973
|
+
example: your-deployment
|
|
3974
|
+
type: string
|
|
3975
|
+
- in: query
|
|
3976
|
+
name: issue_type
|
|
3977
|
+
schema:
|
|
3978
|
+
default: sast
|
|
3979
|
+
description: 'Type of findings to return. If not specified, returns `sast`
|
|
3980
|
+
(Code) findings. Can either be `sast` (Code) or `sca` (Supply Chain).
|
|
3981
|
+
Valid values: sast, sca'
|
|
3982
|
+
enum:
|
|
3983
|
+
- sast
|
|
3984
|
+
- sca
|
|
3985
|
+
example: sca
|
|
3986
|
+
type: string
|
|
3987
|
+
- in: query
|
|
3988
|
+
name: since
|
|
3989
|
+
schema:
|
|
3990
|
+
description: 'What timestamp should the results start at? If not specified,
|
|
3991
|
+
returns results from all timestamps. Provide epoch timestamp in seconds.
|
|
3992
|
+
Filters using the `relevant_since` field: the timestamp when this finding
|
|
3993
|
+
was detected by Semgrep (the first time, or when reintroduced).'
|
|
3994
|
+
example: 1636942398.45
|
|
3995
|
+
format: double
|
|
3996
|
+
type: number
|
|
3997
|
+
- in: query
|
|
3998
|
+
name: page
|
|
3999
|
+
schema:
|
|
4000
|
+
default: '0'
|
|
4001
|
+
description: Which page of the results do you require? If not specified,
|
|
4002
|
+
returns first page. Pages are numbered from zero (0).
|
|
4003
|
+
example: 1
|
|
4004
|
+
format: uint32
|
|
4005
|
+
type: integer
|
|
4006
|
+
- in: query
|
|
4007
|
+
name: dedup
|
|
4008
|
+
schema:
|
|
4009
|
+
default: false
|
|
4010
|
+
description: Deduplicates findings across all your refs/branches if true.
|
|
4011
|
+
If not specified, returns all findings across all refs/branches without
|
|
4012
|
+
deduplicating them. Set this to `true` if you are not filtering for a
|
|
4013
|
+
particular set of refs/branches in order to match the counts listed in
|
|
4014
|
+
the Semgrep UI.
|
|
4015
|
+
example: true
|
|
4016
|
+
type: boolean
|
|
4017
|
+
- in: query
|
|
4018
|
+
name: page_size
|
|
4019
|
+
schema:
|
|
4020
|
+
default: '100'
|
|
4021
|
+
description: 'Maximum number of records per returned page. If not specified,
|
|
4022
|
+
defaults to 100 records. Minimum: 100, Maximum: 3000'
|
|
4023
|
+
example: 100
|
|
4024
|
+
format: uint32
|
|
4025
|
+
maximum: 3000.0
|
|
4026
|
+
minimum: 100.0
|
|
4027
|
+
type: integer
|
|
4028
|
+
- in: query
|
|
4029
|
+
name: repos
|
|
4030
|
+
schema:
|
|
4031
|
+
description: Which repositories (by name) do you want to include? If not
|
|
4032
|
+
specified, includes all.
|
|
4033
|
+
example:
|
|
4034
|
+
- myorg/repo1
|
|
4035
|
+
- myorg/repo2
|
|
4036
|
+
items:
|
|
4037
|
+
type: string
|
|
4038
|
+
type: array
|
|
4039
|
+
- in: query
|
|
4040
|
+
name: repository_ids
|
|
4041
|
+
schema:
|
|
4042
|
+
description: Which repositories (by ID) do you want to include? If not specified,
|
|
4043
|
+
includes all.
|
|
4044
|
+
example:
|
|
4045
|
+
- 1
|
|
4046
|
+
- 2
|
|
4047
|
+
- 3
|
|
4048
|
+
items:
|
|
4049
|
+
format: uint32
|
|
4050
|
+
type: integer
|
|
4051
|
+
type: array
|
|
4052
|
+
- in: query
|
|
4053
|
+
name: status
|
|
4054
|
+
schema:
|
|
4055
|
+
description: 'Which status do you want to include? If not specified, includes
|
|
4056
|
+
all. Valid values: open, fixed, ignored, reviewing, fixing'
|
|
4057
|
+
enum:
|
|
4058
|
+
- open
|
|
4059
|
+
- fixed
|
|
4060
|
+
- ignored
|
|
4061
|
+
- reviewing
|
|
4062
|
+
- fixing
|
|
4063
|
+
example: open
|
|
4064
|
+
type: string
|
|
4065
|
+
- in: query
|
|
4066
|
+
name: triage_reasons
|
|
4067
|
+
schema:
|
|
4068
|
+
description: 'Which triage reasons do you want to include? If not specified,
|
|
4069
|
+
includes all. This filter is applicable when `status` is `ignored`. Valid
|
|
4070
|
+
values: acceptable_risk, false_positive, no_time, no_triage_reason'
|
|
4071
|
+
enum:
|
|
4072
|
+
- acceptable_risk
|
|
4073
|
+
- false_positive
|
|
4074
|
+
- no_time
|
|
4075
|
+
- no_triage_reason
|
|
4076
|
+
example:
|
|
4077
|
+
- acceptable_risk
|
|
4078
|
+
- false_positive
|
|
4079
|
+
items:
|
|
4080
|
+
type: string
|
|
4081
|
+
type: array
|
|
4082
|
+
- in: query
|
|
4083
|
+
name: severities
|
|
4084
|
+
schema:
|
|
4085
|
+
description: 'What severities of issues do you want to include? If not specified,
|
|
4086
|
+
returns all. Valid values: low, medium, high, critical'
|
|
4087
|
+
enum:
|
|
4088
|
+
- low
|
|
4089
|
+
- medium
|
|
4090
|
+
- high
|
|
4091
|
+
- critical
|
|
4092
|
+
example:
|
|
4093
|
+
- low
|
|
4094
|
+
- high
|
|
4095
|
+
items:
|
|
4096
|
+
type: string
|
|
4097
|
+
type: array
|
|
4098
|
+
- in: query
|
|
4099
|
+
name: ref
|
|
4100
|
+
schema:
|
|
4101
|
+
description: Which ref (branch) do you want to filter for?
|
|
4102
|
+
example: refs/pull/1234/merge
|
|
4103
|
+
type: string
|
|
4104
|
+
- in: query
|
|
4105
|
+
name: policies
|
|
4106
|
+
schema:
|
|
4107
|
+
description: 'Which policy modes do you want to include? If not specified,
|
|
4108
|
+
includes all. Monitor: `rule-board-audit`, Comment: `rule-board-pr-comments`,
|
|
4109
|
+
Block: `rule-board-block`. This filter is applicable when `issue_type`
|
|
4110
|
+
is `sast` or unspecified.'
|
|
4111
|
+
example:
|
|
4112
|
+
- rule-board-block
|
|
4113
|
+
- rule-board-pr-comments
|
|
4114
|
+
- rule-board-audit
|
|
4115
|
+
items:
|
|
4116
|
+
type: string
|
|
4117
|
+
type: array
|
|
4118
|
+
- in: query
|
|
4119
|
+
name: rules
|
|
4120
|
+
schema:
|
|
4121
|
+
description: Which rule names do you want to include? If not specified,
|
|
4122
|
+
includes all. This filter is applicable when `issue_type` is `sast` or
|
|
4123
|
+
unspecified.
|
|
4124
|
+
example:
|
|
4125
|
+
- typescript.react.security.audit.react-no-refs.react-no-refs
|
|
4126
|
+
- ajinabraham.njsscan.hardcoded_secrets.node_username
|
|
4127
|
+
items:
|
|
4128
|
+
type: string
|
|
4129
|
+
type: array
|
|
4130
|
+
- in: query
|
|
4131
|
+
name: categories
|
|
4132
|
+
schema:
|
|
4133
|
+
description: Which categories of findings do you want to include? If not
|
|
4134
|
+
specified, includes all. This filter is applicable when `issue_type` is
|
|
4135
|
+
`sast` or unspecified.
|
|
4136
|
+
example:
|
|
4137
|
+
- security
|
|
4138
|
+
- correctness
|
|
4139
|
+
- caching
|
|
4140
|
+
items:
|
|
4141
|
+
type: string
|
|
4142
|
+
type: array
|
|
4143
|
+
- in: query
|
|
4144
|
+
name: confidence
|
|
4145
|
+
schema:
|
|
4146
|
+
description: 'Which rule confidence level do you want to include? If not
|
|
4147
|
+
specified, includes all. This filter is applicable when `issue_type` is
|
|
4148
|
+
`sast` or unspecified. Valid values: low, medium, high'
|
|
4149
|
+
enum:
|
|
4150
|
+
- low
|
|
4151
|
+
- medium
|
|
4152
|
+
- high
|
|
4153
|
+
example: high
|
|
4154
|
+
type: string
|
|
4155
|
+
- in: query
|
|
4156
|
+
name: autotriage_verdict
|
|
4157
|
+
schema:
|
|
4158
|
+
description: 'Which autotriage verdict do you want to include? If not specified,
|
|
4159
|
+
includes all. This filter is applicable when `issue_type` is `sast` or
|
|
4160
|
+
unspecified. Valid values: true_positive, false_positive'
|
|
4161
|
+
enum:
|
|
4162
|
+
- true_positive
|
|
4163
|
+
- false_positive
|
|
4164
|
+
example: true_positive
|
|
4165
|
+
type: string
|
|
4166
|
+
- in: query
|
|
4167
|
+
name: component_tags
|
|
4168
|
+
schema:
|
|
4169
|
+
description: Which component tags do you want to include? If not specified,
|
|
4170
|
+
includes all.
|
|
4171
|
+
example:
|
|
4172
|
+
- user authentication
|
|
4173
|
+
- user data
|
|
4174
|
+
items:
|
|
4175
|
+
type: string
|
|
4176
|
+
type: array
|
|
4177
|
+
- in: query
|
|
4178
|
+
name: exposures
|
|
4179
|
+
schema:
|
|
4180
|
+
description: 'List of exposures or reachability types to filter by. If not
|
|
4181
|
+
specified, returns findings across all exposures. This filter is applicable
|
|
4182
|
+
when `issue_type=sca` is specified. Valid values: reachable, always_reachable,
|
|
4183
|
+
conditionally_reachable, unreachable, unknown'
|
|
4184
|
+
enum:
|
|
4185
|
+
- reachable
|
|
4186
|
+
- always_reachable
|
|
4187
|
+
- conditionally_reachable
|
|
4188
|
+
- unreachable
|
|
4189
|
+
- unknown
|
|
4190
|
+
example:
|
|
4191
|
+
- reachable
|
|
4192
|
+
- always_reachable
|
|
4193
|
+
items:
|
|
4194
|
+
type: string
|
|
4195
|
+
type: array
|
|
4196
|
+
- in: query
|
|
4197
|
+
name: transitivities
|
|
4198
|
+
schema:
|
|
4199
|
+
description: 'List of transitivities to filter by. If not specified, returns
|
|
4200
|
+
all transitivities. This filter is applicable when `issue_type=sca` is
|
|
4201
|
+
specified. Valid values: direct, transitive, unknown'
|
|
4202
|
+
enum:
|
|
4203
|
+
- direct
|
|
4204
|
+
- transitive
|
|
4205
|
+
- unknown
|
|
4206
|
+
example:
|
|
4207
|
+
- transitive
|
|
4208
|
+
items:
|
|
4209
|
+
type: string
|
|
4210
|
+
type: array
|
|
4211
|
+
- in: query
|
|
4212
|
+
name: is_malicious
|
|
4213
|
+
schema:
|
|
4214
|
+
description: 'Filter SCA findings by whether they are from malicious dependencies.
|
|
4215
|
+
If not specified, returns all SCA findings. This filter is only applicable
|
|
4216
|
+
when `issue_type=sca` is specified.
|
|
4217
|
+
|
|
4218
|
+
- true: Returns only findings from malicious dependencies
|
|
4219
|
+
|
|
4220
|
+
- false: Returns only findings from all other reachabilities (reachable
|
|
4221
|
+
in code, always reachable, conditionally reachable, etc.)'
|
|
4222
|
+
example: true
|
|
4223
|
+
type: bool
|
|
4224
|
+
responses:
|
|
4225
|
+
'200':
|
|
4226
|
+
content:
|
|
4227
|
+
application/json:
|
|
4228
|
+
schema:
|
|
4229
|
+
$ref: '#/components/schemas/protos.openapi.v1.ListFindingsResponse'
|
|
4230
|
+
description: OK
|
|
4231
|
+
default:
|
|
4232
|
+
content:
|
|
4233
|
+
application/json:
|
|
4234
|
+
schema:
|
|
4235
|
+
properties:
|
|
4236
|
+
findings:
|
|
4237
|
+
items:
|
|
4238
|
+
oneOf:
|
|
4239
|
+
- $ref: '#/components/schemas/protos.openapi.v1.SastFinding'
|
|
4240
|
+
summary: Sast Finding
|
|
4241
|
+
- $ref: '#/components/schemas/protos.openapi.v1.ScaFinding'
|
|
4242
|
+
summary: Sca Finding
|
|
4243
|
+
type: array
|
|
4244
|
+
type: object
|
|
4245
|
+
description: OK
|
|
4246
|
+
security:
|
|
4247
|
+
- SemgrepWebToken: []
|
|
4248
|
+
summary: List code or supply chain findings
|
|
4249
|
+
tags:
|
|
4250
|
+
- FindingsService
|
|
4251
|
+
x-badges: []
|
|
4252
|
+
/api/v1/deployments/{deploymentSlug}/projects:
|
|
4253
|
+
get:
|
|
4254
|
+
description: Request the list of projects that have been scanned or onboarded
|
|
4255
|
+
to Managed Scans. Does not return archived repositories. Returns 100 projects
|
|
4256
|
+
per page by default.
|
|
4257
|
+
operationId: ProjectsService_ListProjects
|
|
4258
|
+
parameters:
|
|
4259
|
+
- in: path
|
|
4260
|
+
name: deploymentSlug
|
|
4261
|
+
required: true
|
|
4262
|
+
schema:
|
|
4263
|
+
description: Slug of the deployment name. Can be found at `/deployments`,
|
|
4264
|
+
or in your Settings in the web UI.
|
|
4265
|
+
example: your-deployment
|
|
4266
|
+
type: string
|
|
4267
|
+
- in: query
|
|
4268
|
+
name: page
|
|
4269
|
+
schema:
|
|
4270
|
+
description: Which page of the results do you require? If not specified,
|
|
4271
|
+
returns first page. Pages are numbered from zero (0).
|
|
4272
|
+
example: 1
|
|
4273
|
+
format: uint32
|
|
4274
|
+
type: number
|
|
4275
|
+
- in: query
|
|
4276
|
+
name: page_size
|
|
4277
|
+
schema:
|
|
4278
|
+
default: 100.0
|
|
4279
|
+
description: Maximum number of records per returned page. If not specified,
|
|
4280
|
+
defaults to 100 records.
|
|
4281
|
+
example: 100
|
|
4282
|
+
format: uint32
|
|
4283
|
+
type: number
|
|
4284
|
+
responses:
|
|
4285
|
+
'200':
|
|
4286
|
+
content:
|
|
4287
|
+
application/json:
|
|
4288
|
+
schema:
|
|
4289
|
+
$ref: '#/components/schemas/protos.openapi.v1.ListProjectsResponse'
|
|
4290
|
+
description: OK
|
|
4291
|
+
security:
|
|
4292
|
+
- SemgrepWebToken: []
|
|
4293
|
+
summary: List all projects
|
|
4294
|
+
tags:
|
|
4295
|
+
- ProjectsService
|
|
4296
|
+
x-badges: []
|
|
4297
|
+
/api/v1/deployments/{deploymentSlug}/projects/{projectName}:
|
|
4298
|
+
delete:
|
|
4299
|
+
description: Delete a project for a deployment you have access to. This will
|
|
4300
|
+
also delete all of the associated findings.
|
|
4301
|
+
operationId: ProjectsService_DeleteProject
|
|
4302
|
+
parameters:
|
|
4303
|
+
- in: path
|
|
4304
|
+
name: deploymentSlug
|
|
4305
|
+
required: true
|
|
4306
|
+
schema:
|
|
4307
|
+
description: Slug of the deployment name. Can be found at `/deployments`,
|
|
4308
|
+
or in your Settings in the web UI.
|
|
4309
|
+
example: your-deployment
|
|
4310
|
+
type: string
|
|
4311
|
+
- in: path
|
|
4312
|
+
name: projectName
|
|
4313
|
+
required: true
|
|
4314
|
+
schema:
|
|
4315
|
+
description: Name of the project, typically the repository formatted as
|
|
4316
|
+
a path.
|
|
4317
|
+
example: organization/project
|
|
4318
|
+
type: string
|
|
4319
|
+
responses:
|
|
4320
|
+
'200':
|
|
4321
|
+
content:
|
|
4322
|
+
application/json:
|
|
4323
|
+
schema:
|
|
4324
|
+
$ref: '#/components/schemas/protos.openapi.v1.DeleteProjectResponse'
|
|
4325
|
+
description: OK
|
|
4326
|
+
security:
|
|
4327
|
+
- SemgrepWebToken: []
|
|
4328
|
+
summary: Delete project
|
|
4329
|
+
tags:
|
|
4330
|
+
- ProjectsService
|
|
4331
|
+
x-badges: []
|
|
4332
|
+
get:
|
|
4333
|
+
description: Retrieve details for a single project associated with a deployment
|
|
4334
|
+
that you have access to.
|
|
4335
|
+
operationId: ProjectsService_GetProject
|
|
4336
|
+
parameters:
|
|
4337
|
+
- in: path
|
|
4338
|
+
name: deploymentSlug
|
|
4339
|
+
required: true
|
|
4340
|
+
schema:
|
|
4341
|
+
description: Slug of the deployment name. Can be found at `/deployments`,
|
|
4342
|
+
or in your Settings in the web UI.
|
|
4343
|
+
example: your-deployment
|
|
4344
|
+
type: string
|
|
4345
|
+
- in: path
|
|
4346
|
+
name: projectName
|
|
4347
|
+
required: true
|
|
4348
|
+
schema:
|
|
4349
|
+
description: Name of the project, typically the repository formatted as
|
|
4350
|
+
a path.
|
|
4351
|
+
example: organization/project
|
|
4352
|
+
type: string
|
|
4353
|
+
responses:
|
|
4354
|
+
'200':
|
|
4355
|
+
content:
|
|
4356
|
+
application/json:
|
|
4357
|
+
schema:
|
|
4358
|
+
$ref: '#/components/schemas/protos.openapi.v1.GetProjectResponse'
|
|
4359
|
+
description: OK
|
|
4360
|
+
security:
|
|
4361
|
+
- SemgrepWebToken: []
|
|
4362
|
+
summary: Get project details
|
|
4363
|
+
tags:
|
|
4364
|
+
- ProjectsService
|
|
4365
|
+
x-badges: []
|
|
4366
|
+
patch:
|
|
4367
|
+
description: 'Update attributes for the project using the value passed in to
|
|
4368
|
+
the request body.
|
|
4369
|
+
|
|
4370
|
+
|
|
4371
|
+
Note: The only attribute that is supported as of January 2023 is `tags`.'
|
|
4372
|
+
operationId: ProjectsService_UpdateProject
|
|
4373
|
+
parameters:
|
|
4374
|
+
- in: path
|
|
4375
|
+
name: deploymentSlug
|
|
4376
|
+
required: true
|
|
4377
|
+
schema:
|
|
4378
|
+
description: Slug of the deployment name. Can be found at `/deployments`,
|
|
4379
|
+
or in your Settings in the web UI.
|
|
4380
|
+
example: your-deployment
|
|
4381
|
+
type: string
|
|
4382
|
+
- in: path
|
|
4383
|
+
name: projectName
|
|
4384
|
+
required: true
|
|
4385
|
+
schema:
|
|
4386
|
+
description: Name of the project, typically the repository formatted as
|
|
4387
|
+
a path.
|
|
4388
|
+
example: organization/project
|
|
4389
|
+
type: string
|
|
4390
|
+
- in: query
|
|
4391
|
+
name: tags
|
|
4392
|
+
schema:
|
|
4393
|
+
description: Tags associated to this project.
|
|
4394
|
+
example:
|
|
4395
|
+
- tag
|
|
4396
|
+
items:
|
|
4397
|
+
type: string
|
|
4398
|
+
type: string
|
|
4399
|
+
- in: query
|
|
4400
|
+
name: primary_branch
|
|
4401
|
+
schema:
|
|
4402
|
+
description: The full name of the branch you would like to set as primary.
|
|
4403
|
+
Use "None" if default_branch is known and you wish to set primary to always
|
|
4404
|
+
be the default branch.
|
|
4405
|
+
example: refs/heads/develop
|
|
4406
|
+
type: string
|
|
4407
|
+
- in: query
|
|
4408
|
+
name: managed_scan_config.diff_scan.enabled
|
|
4409
|
+
schema:
|
|
4410
|
+
description: When true, diff-aware scans are enabled for the project.
|
|
4411
|
+
type: boolean
|
|
4412
|
+
- in: query
|
|
4413
|
+
name: managed_scan_config.full_scan.enabled
|
|
4414
|
+
schema:
|
|
4415
|
+
description: When true, weekly full scans are enabled.
|
|
4416
|
+
type: boolean
|
|
4417
|
+
responses:
|
|
4418
|
+
'200':
|
|
4419
|
+
content:
|
|
4420
|
+
application/json:
|
|
4421
|
+
schema:
|
|
4422
|
+
$ref: '#/components/schemas/protos.openapi.v1.UpdateProjectResponse'
|
|
4423
|
+
description: OK
|
|
4424
|
+
security:
|
|
4425
|
+
- SemgrepWebToken: []
|
|
4426
|
+
summary: Update project details
|
|
4427
|
+
tags:
|
|
4428
|
+
- ProjectsService
|
|
4429
|
+
x-badges: []
|
|
4430
|
+
/api/v1/deployments/{deploymentSlug}/projects/{projectName}/managed-scan:
|
|
4431
|
+
patch:
|
|
4432
|
+
description: 'Enable or disable
|
|
4433
|
+
|
|
4434
|
+
[Semgrep Managed Scans](/docs/deployment/managed-scanning/overview)
|
|
4435
|
+
|
|
4436
|
+
for a project.'
|
|
4437
|
+
operationId: ProjectsService_ToggleProjectManagedScan
|
|
4438
|
+
parameters:
|
|
4439
|
+
- in: path
|
|
4440
|
+
name: deploymentSlug
|
|
4441
|
+
required: true
|
|
4442
|
+
schema:
|
|
4443
|
+
description: Slug of the deployment name. Can be found at `/deployments`,
|
|
4444
|
+
or in your Settings in the web UI.
|
|
4445
|
+
example: your-deployment
|
|
4446
|
+
type: string
|
|
4447
|
+
- in: path
|
|
4448
|
+
name: projectName
|
|
4449
|
+
required: true
|
|
4450
|
+
schema:
|
|
4451
|
+
description: Name of the project, typically the repository formatted as
|
|
4452
|
+
a path.
|
|
4453
|
+
example: organization/project
|
|
4454
|
+
type: string
|
|
4455
|
+
- in: query
|
|
4456
|
+
name: diff_scan.enabled
|
|
4457
|
+
schema:
|
|
4458
|
+
description: When true, diff-aware scans are enabled for the project.
|
|
4459
|
+
type: boolean
|
|
4460
|
+
- in: query
|
|
4461
|
+
name: full_scan.enabled
|
|
4462
|
+
schema:
|
|
4463
|
+
description: When true, weekly full scans are enabled.
|
|
4464
|
+
type: boolean
|
|
4465
|
+
responses:
|
|
4466
|
+
'200':
|
|
4467
|
+
content:
|
|
4468
|
+
application/json:
|
|
4469
|
+
schema:
|
|
4470
|
+
$ref: '#/components/schemas/protos.openapi.v1.ToggleProjectManagedScanResponse'
|
|
4471
|
+
description: OK
|
|
4472
|
+
security:
|
|
4473
|
+
- SemgrepWebToken: []
|
|
4474
|
+
summary: Toggle Managed Scans for a project
|
|
4475
|
+
tags:
|
|
4476
|
+
- ProjectsService
|
|
4477
|
+
x-badges: []
|
|
4478
|
+
/api/v1/deployments/{deploymentSlug}/projects/{projectName}/tags:
|
|
4479
|
+
delete:
|
|
4480
|
+
description: 'Remove tags from a project for a deployment you have access to.
|
|
4481
|
+
|
|
4482
|
+
|
|
4483
|
+
This request will not delete project tags from the deployment and will only
|
|
4484
|
+
remove
|
|
4485
|
+
|
|
4486
|
+
them from the requested project. Any other projects associated with the requested
|
|
4487
|
+
|
|
4488
|
+
tag will remain unaffected.'
|
|
4489
|
+
operationId: ProjectsService_DeleteProjectTags
|
|
4490
|
+
parameters:
|
|
4491
|
+
- in: path
|
|
4492
|
+
name: deploymentSlug
|
|
4493
|
+
required: true
|
|
4494
|
+
schema:
|
|
4495
|
+
description: Slug of the deployment name. Can be found at `/deployments`,
|
|
4496
|
+
or in your Settings in the web UI.
|
|
4497
|
+
example: your-deployment
|
|
4498
|
+
type: string
|
|
4499
|
+
- in: path
|
|
4500
|
+
name: projectName
|
|
4501
|
+
required: true
|
|
4502
|
+
schema:
|
|
4503
|
+
description: Name of the project, typically the repository formatted as
|
|
4504
|
+
a path.
|
|
4505
|
+
example: organization/project
|
|
4506
|
+
type: string
|
|
4507
|
+
- in: query
|
|
4508
|
+
name: tags
|
|
4509
|
+
schema:
|
|
4510
|
+
example:
|
|
4511
|
+
- tag
|
|
4512
|
+
items:
|
|
4513
|
+
type: string
|
|
4514
|
+
type: array
|
|
4515
|
+
responses:
|
|
4516
|
+
'200':
|
|
4517
|
+
content:
|
|
4518
|
+
application/json:
|
|
4519
|
+
schema:
|
|
4520
|
+
$ref: '#/components/schemas/protos.openapi.v1.DeleteProjectTagsResponse'
|
|
4521
|
+
description: OK
|
|
4522
|
+
security:
|
|
4523
|
+
- SemgrepWebToken: []
|
|
4524
|
+
summary: Remove tags from project
|
|
4525
|
+
tags:
|
|
4526
|
+
- ProjectsService
|
|
4527
|
+
x-badges: []
|
|
4528
|
+
put:
|
|
4529
|
+
description: 'Add tags to a project for a deployment you have access to.
|
|
4530
|
+
|
|
4531
|
+
|
|
4532
|
+
Any project tags that do not already exist for the deployment will be created
|
|
4533
|
+
automatically and associated with the project.'
|
|
4534
|
+
operationId: ProjectsService_AddProjectTags
|
|
4535
|
+
parameters:
|
|
4536
|
+
- in: path
|
|
4537
|
+
name: deploymentSlug
|
|
4538
|
+
required: true
|
|
4539
|
+
schema:
|
|
4540
|
+
description: Slug of the deployment name. Can be found at `/deployments`,
|
|
4541
|
+
or in your Settings in the web UI.
|
|
4542
|
+
example: your-deployment
|
|
4543
|
+
type: string
|
|
4544
|
+
- in: path
|
|
4545
|
+
name: projectName
|
|
4546
|
+
required: true
|
|
4547
|
+
schema:
|
|
4548
|
+
description: Name of the project, typically the repository formatted as
|
|
4549
|
+
a path.
|
|
4550
|
+
example: organization/project
|
|
4551
|
+
type: string
|
|
4552
|
+
- in: query
|
|
4553
|
+
name: tags
|
|
4554
|
+
schema:
|
|
4555
|
+
example:
|
|
4556
|
+
- tag
|
|
4557
|
+
items:
|
|
4558
|
+
type: string
|
|
4559
|
+
type: array
|
|
4560
|
+
responses:
|
|
4561
|
+
'200':
|
|
4562
|
+
content:
|
|
4563
|
+
application/json:
|
|
4564
|
+
schema:
|
|
4565
|
+
$ref: '#/components/schemas/protos.openapi.v1.AddProjectTagsResponse'
|
|
4566
|
+
description: OK
|
|
4567
|
+
security:
|
|
4568
|
+
- SemgrepWebToken: []
|
|
4569
|
+
summary: Add tags to project
|
|
4570
|
+
tags:
|
|
4571
|
+
- ProjectsService
|
|
4572
|
+
x-badges: []
|
|
4573
|
+
/api/v1/deployments/{deploymentSlug}/tickets:
|
|
4574
|
+
post:
|
|
4575
|
+
description: Create Jira tickets for your findings. You can create tickets by
|
|
4576
|
+
passing in a list of issue_ids or by passing in filter query parameters to
|
|
4577
|
+
dynamically select findings. If passing in filters, Semgrep will skip already
|
|
4578
|
+
ticketed findings. This endpoint is synchronous, so it may take some time
|
|
4579
|
+
for your request to resolve. Unlike creating tickets in-app, if ticket creation
|
|
4580
|
+
fails we won't automatically retry. This endpoint accepts a limit parameter
|
|
4581
|
+
(defaulting to 20) to limit the number of tickets created per request. If
|
|
4582
|
+
you specify a list of issue_ids greater than this limit, or your selected
|
|
4583
|
+
filters match on a number of issues greater than this limit, issues that were
|
|
4584
|
+
not ticketed are included in the Failed part of the response object. You can
|
|
4585
|
+
send another request to create tickets for these skipped issues. By default,
|
|
4586
|
+
findings belonging to the same repository and the same rule will be grouped
|
|
4587
|
+
together into a single Jira ticket. You can override this using the group_issues
|
|
4588
|
+
query parameter. Up to 50 issues can be grouped into a single ticket. You
|
|
4589
|
+
can optionally override the Jira project you create tickets in by passing
|
|
4590
|
+
in a Jira project ID as jira_project_id (the numeric ID rather than the project
|
|
4591
|
+
key). You can fetch this ID using the Jira API.
|
|
4592
|
+
operationId: TicketingService_CreateTicket
|
|
4593
|
+
parameters:
|
|
4594
|
+
- in: path
|
|
4595
|
+
name: deploymentSlug
|
|
4596
|
+
required: true
|
|
4597
|
+
schema:
|
|
4598
|
+
description: Deployment slug. Can be found at `/deployments`, or in your
|
|
4599
|
+
Settings in the web UI.
|
|
4600
|
+
type: string
|
|
4601
|
+
requestBody:
|
|
4602
|
+
content:
|
|
4603
|
+
application/json:
|
|
4604
|
+
schema:
|
|
4605
|
+
$ref: '#/components/schemas/protos.openapi.v1.CreateTicketRequest'
|
|
4606
|
+
required: true
|
|
4607
|
+
responses:
|
|
4608
|
+
'200':
|
|
4609
|
+
content:
|
|
4610
|
+
application/json:
|
|
4611
|
+
schema:
|
|
4612
|
+
$ref: '#/components/schemas/protos.openapi.v1.CreateTicketResponse'
|
|
4613
|
+
description: OK
|
|
4614
|
+
security:
|
|
4615
|
+
- SemgrepWebToken: []
|
|
4616
|
+
summary: Create Jira tickets
|
|
4617
|
+
tags:
|
|
4618
|
+
- TicketingService
|
|
4619
|
+
x-badges: []
|
|
4620
|
+
/api/v1/deployments/{deploymentSlug}/triage:
|
|
4621
|
+
post:
|
|
4622
|
+
description: Bulk triage your findings. You can select the findings to triage
|
|
4623
|
+
by passing in a list of finding IDs as issue_ids, or by passing in filter
|
|
4624
|
+
query parameters. You must specify the issue_type of the findings you want
|
|
4625
|
+
to bulk triage. One of new_triage_state or new_note is required. If specifying
|
|
4626
|
+
a new_triage_reason, you must also use new_triage_state=ignored. Some filters
|
|
4627
|
+
only apply for findings associated with a given product.
|
|
4628
|
+
operationId: TriageService_BulkTriage
|
|
4629
|
+
parameters:
|
|
4630
|
+
- in: path
|
|
4631
|
+
name: deploymentSlug
|
|
4632
|
+
required: true
|
|
4633
|
+
schema:
|
|
4634
|
+
description: Deployment slug. Can be found at /deployments, or in your Settings
|
|
4635
|
+
in the web UI.
|
|
4636
|
+
type: string
|
|
4637
|
+
requestBody:
|
|
4638
|
+
content:
|
|
4639
|
+
application/json:
|
|
4640
|
+
schema:
|
|
4641
|
+
$ref: '#/components/schemas/protos.openapi.v1.BulkTriageRequest'
|
|
4642
|
+
required: true
|
|
4643
|
+
responses:
|
|
4644
|
+
'200':
|
|
4645
|
+
content:
|
|
4646
|
+
application/json:
|
|
4647
|
+
schema:
|
|
4648
|
+
$ref: '#/components/schemas/protos.openapi.v1.BulkTriageResponse'
|
|
4649
|
+
description: OK
|
|
4650
|
+
security:
|
|
4651
|
+
- SemgrepWebToken: []
|
|
4652
|
+
summary: Bulk triage
|
|
4653
|
+
tags:
|
|
4654
|
+
- TriageService
|
|
4655
|
+
x-badges: []
|
|
4656
|
+
/api/v1/ping:
|
|
4657
|
+
get:
|
|
4658
|
+
description: Use to ping the server and assert liveness.
|
|
4659
|
+
operationId: MiscService_Ping
|
|
4660
|
+
responses:
|
|
4661
|
+
'200':
|
|
4662
|
+
content:
|
|
4663
|
+
application/json:
|
|
4664
|
+
schema:
|
|
4665
|
+
$ref: '#/components/schemas/protos.openapi.v1.PingResponse'
|
|
4666
|
+
description: OK
|
|
4667
|
+
summary: Ping
|
|
4668
|
+
tags:
|
|
4669
|
+
- MiscService
|
|
4670
|
+
x-badges: []
|
|
4671
|
+
tags:
|
|
4672
|
+
- description: Deployments encapsulate your organization's security organization,
|
|
4673
|
+
with multiple projects, policies, and integrations. As the root object of the
|
|
4674
|
+
organization, they're similarly the root object of the API.
|
|
4675
|
+
name: DeploymentsService
|
|
4676
|
+
x-displayName: Deployment
|
|
4677
|
+
- description: Manage and retrieve code and supply chain security findings from Semgrep
|
|
4678
|
+
scans
|
|
4679
|
+
name: FindingsService
|
|
4680
|
+
x-displayName: Code and Supply Chain
|
|
4681
|
+
- description: Utility endpoints.
|
|
4682
|
+
name: MiscService
|
|
4683
|
+
x-displayName: Other
|
|
4684
|
+
- description: View and manage the Policies of your organization.
|
|
4685
|
+
name: PoliciesService
|
|
4686
|
+
x-displayName: Policies
|
|
4687
|
+
- name: ProjectsService
|
|
4688
|
+
x-displayName: Projects
|
|
4689
|
+
- description: View details of scans associated with projects in your organization.
|
|
4690
|
+
name: ScansService
|
|
4691
|
+
x-displayName: Scans
|
|
4692
|
+
- description: View and manage the Secrets of your organization.
|
|
4693
|
+
name: SecretsService
|
|
4694
|
+
x-displayName: Secrets
|
|
4695
|
+
- description: 'Manage the Supply Chain findings and dependencies of your organization.
|
|
4696
|
+
|
|
4697
|
+
|
|
4698
|
+
A request body is required, but may be an empty object.'
|
|
4699
|
+
name: SupplyChainService
|
|
4700
|
+
x-displayName: Supply Chain
|
|
4701
|
+
- description: Create and manage external tickets
|
|
4702
|
+
name: TicketingService
|
|
4703
|
+
x-displayName: Ticketing
|
|
4704
|
+
- description: View and manage the triage of your organization.
|
|
4705
|
+
name: TriageService
|
|
4706
|
+
x-displayName: Triage
|