---
title: "UpdateSemgrepRule"
method: PATCH
path: "/v1/namespaces/{object.tenant_meta.namespace}/semgrep-rules"
tags: ["SemgrepRuleService"]
---

# UpdateSemgrepRule

`PATCH /v1/namespaces/{object.tenant_meta.namespace}/semgrep-rules`

Updates the Semgrep rule.

## Path parameters

- `object.tenant_meta.namespace` string, required

## Request body

- SemgrepRuleServiceUpdateSemgrepRuleBody — Request to update Semgrep rule.
  - `object` object
    - `disabled` boolean
    - `meta` V1Meta — Common fields for all Endor Labs resources.
      - `annotations` object — Annotations can be used to attach metadata to a resource message. Annotation values can be small or large, structured or unstructured, and may include characters not permitted by labels. The keys may contain alphanumerics, underscores (_), dots (.) and dashes (-). The values of an annotation must be 16384 bytes or smaller.
      - `create_time` string, date-time — Time the resource was created. Format: 2017-01-15T01:30:15.01Z RFC 3339: https://www.ietf.org/rfc/rfc3339.txt.
      - `created_by` string — Name and authentication source of the user who created the object, for example, ewok@endor.ai@google@api-key.
      - `description` string — Resource description. Must be less than 1024 bytes.
      - `index_data` V1IndexData — IndexData is used to index the resource for search. It's an internal object.
        - `data` string[]
        - `search_score` number, float — search_score is the score of the resource for search. Internal use only.
        - `tenant` string
        - `will_be_deleted_at` string, date-time — Time that the resource will be deleted.
      - `kind` string — Resource kind, for example, HelloResponse. Auto-generated using the protobuf message proto.MessageName().Name().
      - `name` string, required — Resource name. Must be 63 characters or less.
      - `parent_kind` string — Parent object resource kind, for example, Project.
      - `parent_uuid` string — Parent object UUID.
      - `references` object — Map of objects referenced in a query API.
      - `tags` string[] — List of tags attached to the resource. Tags can be used to select objects and to find collections of objects that satisfy certain conditions. A tag must be 255 characters or less.
      - `update_time` string, date-time — Time the resource was last updated. Note: Updated on all create/patch/delete operations. Format: 2017-01-15T01:30:15.01Z RFC 3339: https://www.ietf.org/rfc/rfc3339.txt.
      - `updated_by` string — Name and authentication source of the last user who updated the object, for example, vulnerabilityingestor@endor.ai@x509.
      - `upsert_time` string, date-time — Time the resource was last upserted. Note: create_time is only set the first time the resource is created. upsert_time is set every time the resource is upseted. Format: 2017-01-15T01:30:15.01Z RFC 3339: https://www.ietf.org/rfc/rfc3339.txt.
      - `version` string — Message version.
    - `propagate` boolean — Propagate indicates that the object should be visible in child namespaces.
    - `spec` V1SemgrepRuleSpec
      - `defined_by` string — Endor Labs or the name of the tenant creating the rule.
      - `disabled` boolean — Rule is disabled.
      - `rule` V1SemgrepNativeRule — SemgrepNativeRule reflects the Semgrep rules as per the specification.
        - `fix` string
        - `fix_regex` V1SemgrepFixRegex
          - `count` integer
          - `regex` string
          - `replacement` string
        - `focus_metavariable` string[]
        - `id` string
        - `languages` string[]
        - `message` string
        - `metadata` V1SemgrepRuleMeta
          - `ai_provider` string
          - `asvs` V1SemgrepMetaAsvs
            - `control_id` string
            - `control_url` string
            - `section` string
            - `version` string
          - `author` string
          - `bandit_code` string
          - `category` string
          - `confidence` string
          - `confidence_level` 'CONFIDENCE_LEVEL_UNSPECIFIED' | 'CONFIDENCE_LEVEL_UNKNOWN' | 'CONFIDENCE_LEVEL_HIGH' | 'CONFIDENCE_LEVEL_MEDIUM' | 'CONFIDENCE_LEVEL_LOW' — Protobuf definition for ConfidenceLevel.
          - `cwe` string[]
          - `cwe2020_top25` boolean
          - `cwe2021_top25` boolean
          - `cwe2022_top25` boolean
          - `cwe2023_top25` boolean
          - `deprecated` boolean
          - `description` string — A description of the rule.
          - `display_name` string
          - `endor_attack_examples` string[] — References to the description of an attack (if any) that used the respective code.
          - `endor_category` string — Determines what a rule is used for (possible values: vulnerability, malware-detection, critical-api, or llm).
          - `endor_rule_origin` V1EndorRuleOrigin
            - `license` string
            - `url` string
          - `endor_tags` string[] — ENDOR_TAG_SEMGREP_IGNORE ENDOR_TAG_ANALYTICS_INFO ENDOR_TAG_ANALYTICS_IMPACT
          - `endor_targets` V1EndorTarget[] — Determines whether a rule is run against the repository and/or package (possible values: package, repository).
          - `explanation` string
          - `functional_categories` string[]
          - `help` string
          - `impact` string
          - `interfile` boolean
          - `license` string
          - `likelihood` string
          - `masvs` string[]
          - `owasp` string[]
          - `owaspapi` string
          - `precision` string
          - `references` string[]
          - `remediation` string
          - `resources` string[]
          - `rule_origin_note` string
          - `security_severity` string
          - `severity` string
          - `short_description` string
          - `source_rule_url` string
          - `source_url_open` string
          - `subcategory` string[]
          - `tags` string[]
          - `technology` string[]
          - `version` string — The semantic version of this rule.
          - `vulnerability` string
          - `vulnerability_class` string[]
        - `metavariable_pattern` V1SemgrepMetavariablePattern
          - `language` string
          - `metavariable` string
          - `pattern` string
          - `pattern_either` V1SemgrepRulePatternType[]
            - `by_side_effect` boolean
            - `exact` boolean
            - `focus_metavariable` string[]
            - `from` string
            - `label` string
            - `management` V1SemgrepManagement
              - …
            - `metavariable_analysis` V1SemgrepMetavariableAnalysis
              - …
            - `metavariable_comparison` V1SemgrepMetavariableComparison
              - …
            - `metavariable_pattern` V1SemgrepMetavariablePattern — recursive
            - `metavariable_regex` V1SemgrepMetavariableRegex
              - …
            - `metavariable_type` V1SemgrepMetavariableType
              - …
            - `not_conflicting` boolean
            - `pattern` string
            - `pattern_either_new` V1SemgrepRulePatternType[]
            - `pattern_inside` string
            - `pattern_inside_either` V1SemgrepRulePatternType[]
            - `pattern_not` string
            - `pattern_not_inside` string
            - `pattern_not_regex` string
            - `pattern_regex` string
            - `patterns` V1SemgrepRulePatternType[]
            - `requires` string
            - `to` string
          - `pattern_regex` string
          - `patterns` V1SemgrepRulePatternType[]
            - `by_side_effect` boolean
            - `exact` boolean
            - `focus_metavariable` string[]
            - `from` string
            - `label` string
            - `management` V1SemgrepManagement
              - …
            - `metavariable_analysis` V1SemgrepMetavariableAnalysis
              - …
            - `metavariable_comparison` V1SemgrepMetavariableComparison
              - …
            - `metavariable_pattern` V1SemgrepMetavariablePattern — recursive
            - `metavariable_regex` V1SemgrepMetavariableRegex
              - …
            - `metavariable_type` V1SemgrepMetavariableType
              - …
            - `not_conflicting` boolean
            - `pattern` string
            - `pattern_either_new` V1SemgrepRulePatternType[]
            - `pattern_inside` string
            - `pattern_inside_either` V1SemgrepRulePatternType[]
            - `pattern_not` string
            - `pattern_not_inside` string
            - `pattern_not_regex` string
            - `pattern_regex` string
            - `patterns` V1SemgrepRulePatternType[]
            - `requires` string
            - `to` string
        - `metavariable_regex` V1SemgrepMetavariableRegex
          - `metavariable` string
          - `regex` string
          - `x` string
        - `min_version` string
        - `mode` string
        - `options` V1SemgrepOptions
          - `constant_propagation` boolean — Enables constant propagation analysis.
          - `generic_ellipsis_max_span` integer — Maximum span for generic ellipsis patterns.
          - `generic_engine` string — Specifies the generic engine to use for analysis.
          - `implicit_deep_exprstmt` boolean — Enables implicit deep expression statement analysis.
          - `interfile` boolean — Enables interfile analysis for cross-file taint tracking.
          - `symbolic_propagation` boolean — Enables symbolic propagation analysis for taint tracking.
          - `taint_assume_safe_booleans` boolean — Assumes boolean values are safe in taint analysis.
          - `taint_assume_safe_functions` boolean — Assumes function calls are safe in taint analysis.
          - `taint_assume_safe_numbers` boolean — Assumes numeric values are safe in taint analysis.
          - `taint_unify_mvars` boolean — Enables unification of metavariables in taint analysis.
        - `paths` V1SemgrepPaths
          - `exclude` string[]
          - `include` string[]
        - `pattern` string
        - `pattern_either` V1SemgrepRulePatternType[]
          - `by_side_effect` boolean
          - `exact` boolean
          - `focus_metavariable` string[]
          - `from` string
          - `label` string
          - `management` V1SemgrepManagement
            - `endpoints` V1SemgrepEndpoints
              - …
          - `metavariable_analysis` V1SemgrepMetavariableAnalysis
            - `analyzer` string
            - `metavariable` string
          - `metavariable_comparison` V1SemgrepMetavariableComparison
            - `base` boolean
            - `comparison` string
            - `metavariable` string
            - `strip` boolean
          - `metavariable_pattern` V1SemgrepMetavariablePattern
            - `language` string
            - `metavariable` string
            - `pattern` string
            - `pattern_either` V1SemgrepRulePatternType[]
            - `pattern_regex` string
            - `patterns` V1SemgrepRulePatternType[]
          - `metavariable_regex` V1SemgrepMetavariableRegex
            - `metavariable` string
            - `regex` string
            - `x` string
          - `metavariable_type` V1SemgrepMetavariableType
            - `metavariable` string
            - `type` string
          - `not_conflicting` boolean
          - `pattern` string
          - `pattern_either_new` V1SemgrepRulePatternType[]
          - `pattern_inside` string
          - `pattern_inside_either` V1SemgrepRulePatternType[]
          - `pattern_not` string
          - `pattern_not_inside` string
          - `pattern_not_regex` string
          - `pattern_regex` string
          - `patterns` V1SemgrepRulePatternType[]
          - `requires` string
          - `to` string
        - `pattern_inside` string
        - `pattern_inside_either` V1SemgrepRulePatternType[]
          - `by_side_effect` boolean
          - `exact` boolean
          - `focus_metavariable` string[]
          - `from` string
          - `label` string
          - `management` V1SemgrepManagement
            - `endpoints` V1SemgrepEndpoints
              - …
          - `metavariable_analysis` V1SemgrepMetavariableAnalysis
            - `analyzer` string
            - `metavariable` string
          - `metavariable_comparison` V1SemgrepMetavariableComparison
            - `base` boolean
            - `comparison` string
            - `metavariable` string
            - `strip` boolean
          - `metavariable_pattern` V1SemgrepMetavariablePattern
            - `language` string
            - `metavariable` string
            - `pattern` string
            - `pattern_either` V1SemgrepRulePatternType[]
            - `pattern_regex` string
            - `patterns` V1SemgrepRulePatternType[]
          - `metavariable_regex` V1SemgrepMetavariableRegex
            - `metavariable` string
            - `regex` string
            - `x` string
          - `metavariable_type` V1SemgrepMetavariableType
            - `metavariable` string
            - `type` string
          - `not_conflicting` boolean
          - `pattern` string
          - `pattern_either_new` V1SemgrepRulePatternType[]
          - `pattern_inside` string
          - `pattern_inside_either` V1SemgrepRulePatternType[]
          - `pattern_not` string
          - `pattern_not_inside` string
          - `pattern_not_regex` string
          - `pattern_regex` string
          - `patterns` V1SemgrepRulePatternType[]
          - `requires` string
          - `to` string
        - `pattern_not` V1SemgrepRulePatternType[]
          - `by_side_effect` boolean
          - `exact` boolean
          - `focus_metavariable` string[]
          - `from` string
          - `label` string
          - `management` V1SemgrepManagement
            - `endpoints` V1SemgrepEndpoints
              - …
          - `metavariable_analysis` V1SemgrepMetavariableAnalysis
            - `analyzer` string
            - `metavariable` string
          - `metavariable_comparison` V1SemgrepMetavariableComparison
            - `base` boolean
            - `comparison` string
            - `metavariable` string
            - `strip` boolean
          - `metavariable_pattern` V1SemgrepMetavariablePattern
            - `language` string
            - `metavariable` string
            - `pattern` string
            - `pattern_either` V1SemgrepRulePatternType[]
            - `pattern_regex` string
            - `patterns` V1SemgrepRulePatternType[]
          - `metavariable_regex` V1SemgrepMetavariableRegex
            - `metavariable` string
            - `regex` string
            - `x` string
          - `metavariable_type` V1SemgrepMetavariableType
            - `metavariable` string
            - `type` string
          - `not_conflicting` boolean
          - `pattern` string
          - `pattern_either_new` V1SemgrepRulePatternType[]
          - `pattern_inside` string
          - `pattern_inside_either` V1SemgrepRulePatternType[]
          - `pattern_not` string
          - `pattern_not_inside` string
          - `pattern_not_regex` string
          - `pattern_regex` string
          - `patterns` V1SemgrepRulePatternType[]
          - `requires` string
          - `to` string
        - `pattern_propagators` V1SemgrepRulePatternType[]
          - `by_side_effect` boolean
          - `exact` boolean
          - `focus_metavariable` string[]
          - `from` string
          - `label` string
          - `management` V1SemgrepManagement
            - `endpoints` V1SemgrepEndpoints
              - …
          - `metavariable_analysis` V1SemgrepMetavariableAnalysis
            - `analyzer` string
            - `metavariable` string
          - `metavariable_comparison` V1SemgrepMetavariableComparison
            - `base` boolean
            - `comparison` string
            - `metavariable` string
            - `strip` boolean
          - `metavariable_pattern` V1SemgrepMetavariablePattern
            - `language` string
            - `metavariable` string
            - `pattern` string
            - `pattern_either` V1SemgrepRulePatternType[]
            - `pattern_regex` string
            - `patterns` V1SemgrepRulePatternType[]
          - `metavariable_regex` V1SemgrepMetavariableRegex
            - `metavariable` string
            - `regex` string
            - `x` string
          - `metavariable_type` V1SemgrepMetavariableType
            - `metavariable` string
            - `type` string
          - `not_conflicting` boolean
          - `pattern` string
          - `pattern_either_new` V1SemgrepRulePatternType[]
          - `pattern_inside` string
          - `pattern_inside_either` V1SemgrepRulePatternType[]
          - `pattern_not` string
          - `pattern_not_inside` string
          - `pattern_not_regex` string
          - `pattern_regex` string
          - `patterns` V1SemgrepRulePatternType[]
          - `requires` string
          - `to` string
        - `pattern_regex` string
        - `pattern_sanitizers` V1SemgrepRulePatternType[]
          - `by_side_effect` boolean
          - `exact` boolean
          - `focus_metavariable` string[]
          - `from` string
          - `label` string
          - `management` V1SemgrepManagement
            - `endpoints` V1SemgrepEndpoints
              - …
          - `metavariable_analysis` V1SemgrepMetavariableAnalysis
            - `analyzer` string
            - `metavariable` string
          - `metavariable_comparison` V1SemgrepMetavariableComparison
            - `base` boolean
            - `comparison` string
            - `metavariable` string
            - `strip` boolean
          - `metavariable_pattern` V1SemgrepMetavariablePattern
            - `language` string
            - `metavariable` string
            - `pattern` string
            - `pattern_either` V1SemgrepRulePatternType[]
            - `pattern_regex` string
            - `patterns` V1SemgrepRulePatternType[]
          - `metavariable_regex` V1SemgrepMetavariableRegex
            - `metavariable` string
            - `regex` string
            - `x` string
          - `metavariable_type` V1SemgrepMetavariableType
            - `metavariable` string
            - `type` string
          - `not_conflicting` boolean
          - `pattern` string
          - `pattern_either_new` V1SemgrepRulePatternType[]
          - `pattern_inside` string
          - `pattern_inside_either` V1SemgrepRulePatternType[]
          - `pattern_not` string
          - `pattern_not_inside` string
          - `pattern_not_regex` string
          - `pattern_regex` string
          - `patterns` V1SemgrepRulePatternType[]
          - `requires` string
          - `to` string
        - `pattern_sinks` V1SemgrepRulePatternType[]
          - `by_side_effect` boolean
          - `exact` boolean
          - `focus_metavariable` string[]
          - `from` string
          - `label` string
          - `management` V1SemgrepManagement
            - `endpoints` V1SemgrepEndpoints
              - …
          - `metavariable_analysis` V1SemgrepMetavariableAnalysis
            - `analyzer` string
            - `metavariable` string
          - `metavariable_comparison` V1SemgrepMetavariableComparison
            - `base` boolean
            - `comparison` string
            - `metavariable` string
            - `strip` boolean
          - `metavariable_pattern` V1SemgrepMetavariablePattern
            - `language` string
            - `metavariable` string
            - `pattern` string
            - `pattern_either` V1SemgrepRulePatternType[]
            - `pattern_regex` string
            - `patterns` V1SemgrepRulePatternType[]
          - `metavariable_regex` V1SemgrepMetavariableRegex
            - `metavariable` string
            - `regex` string
            - `x` string
          - `metavariable_type` V1SemgrepMetavariableType
            - `metavariable` string
            - `type` string
          - `not_conflicting` boolean
          - `pattern` string
          - `pattern_either_new` V1SemgrepRulePatternType[]
          - `pattern_inside` string
          - `pattern_inside_either` V1SemgrepRulePatternType[]
          - `pattern_not` string
          - `pattern_not_inside` string
          - `pattern_not_regex` string
          - `pattern_regex` string
          - `patterns` V1SemgrepRulePatternType[]
          - `requires` string
          - `to` string
        - `pattern_sources` V1SemgrepRulePatternType[]
          - `by_side_effect` boolean
          - `exact` boolean
          - `focus_metavariable` string[]
          - `from` string
          - `label` string
          - `management` V1SemgrepManagement
            - `endpoints` V1SemgrepEndpoints
              - …
          - `metavariable_analysis` V1SemgrepMetavariableAnalysis
            - `analyzer` string
            - `metavariable` string
          - `metavariable_comparison` V1SemgrepMetavariableComparison
            - `base` boolean
            - `comparison` string
            - `metavariable` string
            - `strip` boolean
          - `metavariable_pattern` V1SemgrepMetavariablePattern
            - `language` string
            - `metavariable` string
            - `pattern` string
            - `pattern_either` V1SemgrepRulePatternType[]
            - `pattern_regex` string
            - `patterns` V1SemgrepRulePatternType[]
          - `metavariable_regex` V1SemgrepMetavariableRegex
            - `metavariable` string
            - `regex` string
            - `x` string
          - `metavariable_type` V1SemgrepMetavariableType
            - `metavariable` string
            - `type` string
          - `not_conflicting` boolean
          - `pattern` string
          - `pattern_either_new` V1SemgrepRulePatternType[]
          - `pattern_inside` string
          - `pattern_inside_either` V1SemgrepRulePatternType[]
          - `pattern_not` string
          - `pattern_not_inside` string
          - `pattern_not_regex` string
          - `pattern_regex` string
          - `patterns` V1SemgrepRulePatternType[]
          - `requires` string
          - `to` string
        - `patterns` V1SemgrepRulePatternType[]
          - `by_side_effect` boolean
          - `exact` boolean
          - `focus_metavariable` string[]
          - `from` string
          - `label` string
          - `management` V1SemgrepManagement
            - `endpoints` V1SemgrepEndpoints
              - …
          - `metavariable_analysis` V1SemgrepMetavariableAnalysis
            - `analyzer` string
            - `metavariable` string
          - `metavariable_comparison` V1SemgrepMetavariableComparison
            - `base` boolean
            - `comparison` string
            - `metavariable` string
            - `strip` boolean
          - `metavariable_pattern` V1SemgrepMetavariablePattern
            - `language` string
            - `metavariable` string
            - `pattern` string
            - `pattern_either` V1SemgrepRulePatternType[]
            - `pattern_regex` string
            - `patterns` V1SemgrepRulePatternType[]
          - `metavariable_regex` V1SemgrepMetavariableRegex
            - `metavariable` string
            - `regex` string
            - `x` string
          - `metavariable_type` V1SemgrepMetavariableType
            - `metavariable` string
            - `type` string
          - `not_conflicting` boolean
          - `pattern` string
          - `pattern_either_new` V1SemgrepRulePatternType[]
          - `pattern_inside` string
          - `pattern_inside_either` V1SemgrepRulePatternType[]
          - `pattern_not` string
          - `pattern_not_inside` string
          - `pattern_not_regex` string
          - `pattern_regex` string
          - `patterns` V1SemgrepRulePatternType[]
          - `requires` string
          - `to` string
        - `references` string[]
        - `severity` string
      - `severity_level` 'SEVERITY_LEVEL_UNSPECIFIED' | 'SEVERITY_LEVEL_LOW' | 'SEVERITY_LEVEL_MEDIUM' | 'SEVERITY_LEVEL_HIGH' | 'SEVERITY_LEVEL_CRITICAL' — The severity level of the rule. This is computed using the values of the confidence and the impact from the rule itself. If those values are not defined, the severity level is set to LOW.
      - `yaml` string — Yaml is the rule in its original yaml format.
    - `tenant_meta` object — Rules are associated with a tenant and namespace.
    - `uuid` string — The UUID of the Semgrep rule.
  - `request` V1UpdateRequest — Message used for all update requests.
    - `force` boolean — Force will force the update of the resource if any checks fail.
    - `update_mask` string — Fields to update. Defaults to all fields.

## Response `200`

A successful response.

- V1SemgrepRule
  - `disabled` boolean
  - `meta` V1Meta, required — Common fields for all Endor Labs resources.
    - `annotations` object — Annotations can be used to attach metadata to a resource message. Annotation values can be small or large, structured or unstructured, and may include characters not permitted by labels. The keys may contain alphanumerics, underscores (_), dots (.) and dashes (-). The values of an annotation must be 16384 bytes or smaller.
    - `create_time` string, date-time — Time the resource was created. Format: 2017-01-15T01:30:15.01Z RFC 3339: https://www.ietf.org/rfc/rfc3339.txt.
    - `created_by` string — Name and authentication source of the user who created the object, for example, ewok@endor.ai@google@api-key.
    - `description` string — Resource description. Must be less than 1024 bytes.
    - `index_data` V1IndexData — IndexData is used to index the resource for search. It's an internal object.
      - `data` string[]
      - `search_score` number, float — search_score is the score of the resource for search. Internal use only.
      - `tenant` string
      - `will_be_deleted_at` string, date-time — Time that the resource will be deleted.
    - `kind` string — Resource kind, for example, HelloResponse. Auto-generated using the protobuf message proto.MessageName().Name().
    - `name` string, required — Resource name. Must be 63 characters or less.
    - `parent_kind` string — Parent object resource kind, for example, Project.
    - `parent_uuid` string — Parent object UUID.
    - `references` object — Map of objects referenced in a query API.
    - `tags` string[] — List of tags attached to the resource. Tags can be used to select objects and to find collections of objects that satisfy certain conditions. A tag must be 255 characters or less.
    - `update_time` string, date-time — Time the resource was last updated. Note: Updated on all create/patch/delete operations. Format: 2017-01-15T01:30:15.01Z RFC 3339: https://www.ietf.org/rfc/rfc3339.txt.
    - `updated_by` string — Name and authentication source of the last user who updated the object, for example, vulnerabilityingestor@endor.ai@x509.
    - `upsert_time` string, date-time — Time the resource was last upserted. Note: create_time is only set the first time the resource is created. upsert_time is set every time the resource is upseted. Format: 2017-01-15T01:30:15.01Z RFC 3339: https://www.ietf.org/rfc/rfc3339.txt.
    - `version` string — Message version.
  - `propagate` boolean — Propagate indicates that the object should be visible in child namespaces.
  - `spec` V1SemgrepRuleSpec, required
    - `defined_by` string — Endor Labs or the name of the tenant creating the rule.
    - `disabled` boolean — Rule is disabled.
    - `rule` V1SemgrepNativeRule — SemgrepNativeRule reflects the Semgrep rules as per the specification.
      - `fix` string
      - `fix_regex` V1SemgrepFixRegex
        - `count` integer
        - `regex` string
        - `replacement` string
      - `focus_metavariable` string[]
      - `id` string
      - `languages` string[]
      - `message` string
      - `metadata` V1SemgrepRuleMeta
        - `ai_provider` string
        - `asvs` V1SemgrepMetaAsvs
          - `control_id` string
          - `control_url` string
          - `section` string
          - `version` string
        - `author` string
        - `bandit_code` string
        - `category` string
        - `confidence` string
        - `confidence_level` 'CONFIDENCE_LEVEL_UNSPECIFIED' | 'CONFIDENCE_LEVEL_UNKNOWN' | 'CONFIDENCE_LEVEL_HIGH' | 'CONFIDENCE_LEVEL_MEDIUM' | 'CONFIDENCE_LEVEL_LOW' — Protobuf definition for ConfidenceLevel.
        - `cwe` string[]
        - `cwe2020_top25` boolean
        - `cwe2021_top25` boolean
        - `cwe2022_top25` boolean
        - `cwe2023_top25` boolean
        - `deprecated` boolean
        - `description` string — A description of the rule.
        - `display_name` string
        - `endor_attack_examples` string[] — References to the description of an attack (if any) that used the respective code.
        - `endor_category` string — Determines what a rule is used for (possible values: vulnerability, malware-detection, critical-api, or llm).
        - `endor_rule_origin` V1EndorRuleOrigin
          - `license` string
          - `url` string
        - `endor_tags` string[] — ENDOR_TAG_SEMGREP_IGNORE ENDOR_TAG_ANALYTICS_INFO ENDOR_TAG_ANALYTICS_IMPACT
        - `endor_targets` V1EndorTarget[] — Determines whether a rule is run against the repository and/or package (possible values: package, repository).
        - `explanation` string
        - `functional_categories` string[]
        - `help` string
        - `impact` string
        - `interfile` boolean
        - `license` string
        - `likelihood` string
        - `masvs` string[]
        - `owasp` string[]
        - `owaspapi` string
        - `precision` string
        - `references` string[]
        - `remediation` string
        - `resources` string[]
        - `rule_origin_note` string
        - `security_severity` string
        - `severity` string
        - `short_description` string
        - `source_rule_url` string
        - `source_url_open` string
        - `subcategory` string[]
        - `tags` string[]
        - `technology` string[]
        - `version` string — The semantic version of this rule.
        - `vulnerability` string
        - `vulnerability_class` string[]
      - `metavariable_pattern` V1SemgrepMetavariablePattern
        - `language` string
        - `metavariable` string
        - `pattern` string
        - `pattern_either` V1SemgrepRulePatternType[]
          - `by_side_effect` boolean
          - `exact` boolean
          - `focus_metavariable` string[]
          - `from` string
          - `label` string
          - `management` V1SemgrepManagement
            - `endpoints` V1SemgrepEndpoints
              - …
          - `metavariable_analysis` V1SemgrepMetavariableAnalysis
            - `analyzer` string
            - `metavariable` string
          - `metavariable_comparison` V1SemgrepMetavariableComparison
            - `base` boolean
            - `comparison` string
            - `metavariable` string
            - `strip` boolean
          - `metavariable_pattern` V1SemgrepMetavariablePattern — recursive
          - `metavariable_regex` V1SemgrepMetavariableRegex
            - `metavariable` string
            - `regex` string
            - `x` string
          - `metavariable_type` V1SemgrepMetavariableType
            - `metavariable` string
            - `type` string
          - `not_conflicting` boolean
          - `pattern` string
          - `pattern_either_new` V1SemgrepRulePatternType[]
          - `pattern_inside` string
          - `pattern_inside_either` V1SemgrepRulePatternType[]
          - `pattern_not` string
          - `pattern_not_inside` string
          - `pattern_not_regex` string
          - `pattern_regex` string
          - `patterns` V1SemgrepRulePatternType[]
          - `requires` string
          - `to` string
        - `pattern_regex` string
        - `patterns` V1SemgrepRulePatternType[]
          - `by_side_effect` boolean
          - `exact` boolean
          - `focus_metavariable` string[]
          - `from` string
          - `label` string
          - `management` V1SemgrepManagement
            - `endpoints` V1SemgrepEndpoints
              - …
          - `metavariable_analysis` V1SemgrepMetavariableAnalysis
            - `analyzer` string
            - `metavariable` string
          - `metavariable_comparison` V1SemgrepMetavariableComparison
            - `base` boolean
            - `comparison` string
            - `metavariable` string
            - `strip` boolean
          - `metavariable_pattern` V1SemgrepMetavariablePattern — recursive
          - `metavariable_regex` V1SemgrepMetavariableRegex
            - `metavariable` string
            - `regex` string
            - `x` string
          - `metavariable_type` V1SemgrepMetavariableType
            - `metavariable` string
            - `type` string
          - `not_conflicting` boolean
          - `pattern` string
          - `pattern_either_new` V1SemgrepRulePatternType[]
          - `pattern_inside` string
          - `pattern_inside_either` V1SemgrepRulePatternType[]
          - `pattern_not` string
          - `pattern_not_inside` string
          - `pattern_not_regex` string
          - `pattern_regex` string
          - `patterns` V1SemgrepRulePatternType[]
          - `requires` string
          - `to` string
      - `metavariable_regex` V1SemgrepMetavariableRegex
        - `metavariable` string
        - `regex` string
        - `x` string
      - `min_version` string
      - `mode` string
      - `options` V1SemgrepOptions
        - `constant_propagation` boolean — Enables constant propagation analysis.
        - `generic_ellipsis_max_span` integer — Maximum span for generic ellipsis patterns.
        - `generic_engine` string — Specifies the generic engine to use for analysis.
        - `implicit_deep_exprstmt` boolean — Enables implicit deep expression statement analysis.
        - `interfile` boolean — Enables interfile analysis for cross-file taint tracking.
        - `symbolic_propagation` boolean — Enables symbolic propagation analysis for taint tracking.
        - `taint_assume_safe_booleans` boolean — Assumes boolean values are safe in taint analysis.
        - `taint_assume_safe_functions` boolean — Assumes function calls are safe in taint analysis.
        - `taint_assume_safe_numbers` boolean — Assumes numeric values are safe in taint analysis.
        - `taint_unify_mvars` boolean — Enables unification of metavariables in taint analysis.
      - `paths` V1SemgrepPaths
        - `exclude` string[]
        - `include` string[]
      - `pattern` string
      - `pattern_either` V1SemgrepRulePatternType[]
        - `by_side_effect` boolean
        - `exact` boolean
        - `focus_metavariable` string[]
        - `from` string
        - `label` string
        - `management` V1SemgrepManagement
          - `endpoints` V1SemgrepEndpoints
            - `web` V1SemgrepWeb
              - …
        - `metavariable_analysis` V1SemgrepMetavariableAnalysis
          - `analyzer` string
          - `metavariable` string
        - `metavariable_comparison` V1SemgrepMetavariableComparison
          - `base` boolean
          - `comparison` string
          - `metavariable` string
          - `strip` boolean
        - `metavariable_pattern` V1SemgrepMetavariablePattern
          - `language` string
          - `metavariable` string
          - `pattern` string
          - `pattern_either` V1SemgrepRulePatternType[]
          - `pattern_regex` string
          - `patterns` V1SemgrepRulePatternType[]
        - `metavariable_regex` V1SemgrepMetavariableRegex
          - `metavariable` string
          - `regex` string
          - `x` string
        - `metavariable_type` V1SemgrepMetavariableType
          - `metavariable` string
          - `type` string
        - `not_conflicting` boolean
        - `pattern` string
        - `pattern_either_new` V1SemgrepRulePatternType[]
        - `pattern_inside` string
        - `pattern_inside_either` V1SemgrepRulePatternType[]
        - `pattern_not` string
        - `pattern_not_inside` string
        - `pattern_not_regex` string
        - `pattern_regex` string
        - `patterns` V1SemgrepRulePatternType[]
        - `requires` string
        - `to` string
      - `pattern_inside` string
      - `pattern_inside_either` V1SemgrepRulePatternType[]
        - `by_side_effect` boolean
        - `exact` boolean
        - `focus_metavariable` string[]
        - `from` string
        - `label` string
        - `management` V1SemgrepManagement
          - `endpoints` V1SemgrepEndpoints
            - `web` V1SemgrepWeb
              - …
        - `metavariable_analysis` V1SemgrepMetavariableAnalysis
          - `analyzer` string
          - `metavariable` string
        - `metavariable_comparison` V1SemgrepMetavariableComparison
          - `base` boolean
          - `comparison` string
          - `metavariable` string
          - `strip` boolean
        - `metavariable_pattern` V1SemgrepMetavariablePattern
          - `language` string
          - `metavariable` string
          - `pattern` string
          - `pattern_either` V1SemgrepRulePatternType[]
          - `pattern_regex` string
          - `patterns` V1SemgrepRulePatternType[]
        - `metavariable_regex` V1SemgrepMetavariableRegex
          - `metavariable` string
          - `regex` string
          - `x` string
        - `metavariable_type` V1SemgrepMetavariableType
          - `metavariable` string
          - `type` string
        - `not_conflicting` boolean
        - `pattern` string
        - `pattern_either_new` V1SemgrepRulePatternType[]
        - `pattern_inside` string
        - `pattern_inside_either` V1SemgrepRulePatternType[]
        - `pattern_not` string
        - `pattern_not_inside` string
        - `pattern_not_regex` string
        - `pattern_regex` string
        - `patterns` V1SemgrepRulePatternType[]
        - `requires` string
        - `to` string
      - `pattern_not` V1SemgrepRulePatternType[]
        - `by_side_effect` boolean
        - `exact` boolean
        - `focus_metavariable` string[]
        - `from` string
        - `label` string
        - `management` V1SemgrepManagement
          - `endpoints` V1SemgrepEndpoints
            - `web` V1SemgrepWeb
              - …
        - `metavariable_analysis` V1SemgrepMetavariableAnalysis
          - `analyzer` string
          - `metavariable` string
        - `metavariable_comparison` V1SemgrepMetavariableComparison
          - `base` boolean
          - `comparison` string
          - `metavariable` string
          - `strip` boolean
        - `metavariable_pattern` V1SemgrepMetavariablePattern
          - `language` string
          - `metavariable` string
          - `pattern` string
          - `pattern_either` V1SemgrepRulePatternType[]
          - `pattern_regex` string
          - `patterns` V1SemgrepRulePatternType[]
        - `metavariable_regex` V1SemgrepMetavariableRegex
          - `metavariable` string
          - `regex` string
          - `x` string
        - `metavariable_type` V1SemgrepMetavariableType
          - `metavariable` string
          - `type` string
        - `not_conflicting` boolean
        - `pattern` string
        - `pattern_either_new` V1SemgrepRulePatternType[]
        - `pattern_inside` string
        - `pattern_inside_either` V1SemgrepRulePatternType[]
        - `pattern_not` string
        - `pattern_not_inside` string
        - `pattern_not_regex` string
        - `pattern_regex` string
        - `patterns` V1SemgrepRulePatternType[]
        - `requires` string
        - `to` string
      - `pattern_propagators` V1SemgrepRulePatternType[]
        - `by_side_effect` boolean
        - `exact` boolean
        - `focus_metavariable` string[]
        - `from` string
        - `label` string
        - `management` V1SemgrepManagement
          - `endpoints` V1SemgrepEndpoints
            - `web` V1SemgrepWeb
              - …
        - `metavariable_analysis` V1SemgrepMetavariableAnalysis
          - `analyzer` string
          - `metavariable` string
        - `metavariable_comparison` V1SemgrepMetavariableComparison
          - `base` boolean
          - `comparison` string
          - `metavariable` string
          - `strip` boolean
        - `metavariable_pattern` V1SemgrepMetavariablePattern
          - `language` string
          - `metavariable` string
          - `pattern` string
          - `pattern_either` V1SemgrepRulePatternType[]
          - `pattern_regex` string
          - `patterns` V1SemgrepRulePatternType[]
        - `metavariable_regex` V1SemgrepMetavariableRegex
          - `metavariable` string
          - `regex` string
          - `x` string
        - `metavariable_type` V1SemgrepMetavariableType
          - `metavariable` string
          - `type` string
        - `not_conflicting` boolean
        - `pattern` string
        - `pattern_either_new` V1SemgrepRulePatternType[]
        - `pattern_inside` string
        - `pattern_inside_either` V1SemgrepRulePatternType[]
        - `pattern_not` string
        - `pattern_not_inside` string
        - `pattern_not_regex` string
        - `pattern_regex` string
        - `patterns` V1SemgrepRulePatternType[]
        - `requires` string
        - `to` string
      - `pattern_regex` string
      - `pattern_sanitizers` V1SemgrepRulePatternType[]
        - `by_side_effect` boolean
        - `exact` boolean
        - `focus_metavariable` string[]
        - `from` string
        - `label` string
        - `management` V1SemgrepManagement
          - `endpoints` V1SemgrepEndpoints
            - `web` V1SemgrepWeb
              - …
        - `metavariable_analysis` V1SemgrepMetavariableAnalysis
          - `analyzer` string
          - `metavariable` string
        - `metavariable_comparison` V1SemgrepMetavariableComparison
          - `base` boolean
          - `comparison` string
          - `metavariable` string
          - `strip` boolean
        - `metavariable_pattern` V1SemgrepMetavariablePattern
          - `language` string
          - `metavariable` string
          - `pattern` string
          - `pattern_either` V1SemgrepRulePatternType[]
          - `pattern_regex` string
          - `patterns` V1SemgrepRulePatternType[]
        - `metavariable_regex` V1SemgrepMetavariableRegex
          - `metavariable` string
          - `regex` string
          - `x` string
        - `metavariable_type` V1SemgrepMetavariableType
          - `metavariable` string
          - `type` string
        - `not_conflicting` boolean
        - `pattern` string
        - `pattern_either_new` V1SemgrepRulePatternType[]
        - `pattern_inside` string
        - `pattern_inside_either` V1SemgrepRulePatternType[]
        - `pattern_not` string
        - `pattern_not_inside` string
        - `pattern_not_regex` string
        - `pattern_regex` string
        - `patterns` V1SemgrepRulePatternType[]
        - `requires` string
        - `to` string
      - `pattern_sinks` V1SemgrepRulePatternType[]
        - `by_side_effect` boolean
        - `exact` boolean
        - `focus_metavariable` string[]
        - `from` string
        - `label` string
        - `management` V1SemgrepManagement
          - `endpoints` V1SemgrepEndpoints
            - `web` V1SemgrepWeb
              - …
        - `metavariable_analysis` V1SemgrepMetavariableAnalysis
          - `analyzer` string
          - `metavariable` string
        - `metavariable_comparison` V1SemgrepMetavariableComparison
          - `base` boolean
          - `comparison` string
          - `metavariable` string
          - `strip` boolean
        - `metavariable_pattern` V1SemgrepMetavariablePattern
          - `language` string
          - `metavariable` string
          - `pattern` string
          - `pattern_either` V1SemgrepRulePatternType[]
          - `pattern_regex` string
          - `patterns` V1SemgrepRulePatternType[]
        - `metavariable_regex` V1SemgrepMetavariableRegex
          - `metavariable` string
          - `regex` string
          - `x` string
        - `metavariable_type` V1SemgrepMetavariableType
          - `metavariable` string
          - `type` string
        - `not_conflicting` boolean
        - `pattern` string
        - `pattern_either_new` V1SemgrepRulePatternType[]
        - `pattern_inside` string
        - `pattern_inside_either` V1SemgrepRulePatternType[]
        - `pattern_not` string
        - `pattern_not_inside` string
        - `pattern_not_regex` string
        - `pattern_regex` string
        - `patterns` V1SemgrepRulePatternType[]
        - `requires` string
        - `to` string
      - `pattern_sources` V1SemgrepRulePatternType[]
        - `by_side_effect` boolean
        - `exact` boolean
        - `focus_metavariable` string[]
        - `from` string
        - `label` string
        - `management` V1SemgrepManagement
          - `endpoints` V1SemgrepEndpoints
            - `web` V1SemgrepWeb
              - …
        - `metavariable_analysis` V1SemgrepMetavariableAnalysis
          - `analyzer` string
          - `metavariable` string
        - `metavariable_comparison` V1SemgrepMetavariableComparison
          - `base` boolean
          - `comparison` string
          - `metavariable` string
          - `strip` boolean
        - `metavariable_pattern` V1SemgrepMetavariablePattern
          - `language` string
          - `metavariable` string
          - `pattern` string
          - `pattern_either` V1SemgrepRulePatternType[]
          - `pattern_regex` string
          - `patterns` V1SemgrepRulePatternType[]
        - `metavariable_regex` V1SemgrepMetavariableRegex
          - `metavariable` string
          - `regex` string
          - `x` string
        - `metavariable_type` V1SemgrepMetavariableType
          - `metavariable` string
          - `type` string
        - `not_conflicting` boolean
        - `pattern` string
        - `pattern_either_new` V1SemgrepRulePatternType[]
        - `pattern_inside` string
        - `pattern_inside_either` V1SemgrepRulePatternType[]
        - `pattern_not` string
        - `pattern_not_inside` string
        - `pattern_not_regex` string
        - `pattern_regex` string
        - `patterns` V1SemgrepRulePatternType[]
        - `requires` string
        - `to` string
      - `patterns` V1SemgrepRulePatternType[]
        - `by_side_effect` boolean
        - `exact` boolean
        - `focus_metavariable` string[]
        - `from` string
        - `label` string
        - `management` V1SemgrepManagement
          - `endpoints` V1SemgrepEndpoints
            - `web` V1SemgrepWeb
              - …
        - `metavariable_analysis` V1SemgrepMetavariableAnalysis
          - `analyzer` string
          - `metavariable` string
        - `metavariable_comparison` V1SemgrepMetavariableComparison
          - `base` boolean
          - `comparison` string
          - `metavariable` string
          - `strip` boolean
        - `metavariable_pattern` V1SemgrepMetavariablePattern
          - `language` string
          - `metavariable` string
          - `pattern` string
          - `pattern_either` V1SemgrepRulePatternType[]
          - `pattern_regex` string
          - `patterns` V1SemgrepRulePatternType[]
        - `metavariable_regex` V1SemgrepMetavariableRegex
          - `metavariable` string
          - `regex` string
          - `x` string
        - `metavariable_type` V1SemgrepMetavariableType
          - `metavariable` string
          - `type` string
        - `not_conflicting` boolean
        - `pattern` string
        - `pattern_either_new` V1SemgrepRulePatternType[]
        - `pattern_inside` string
        - `pattern_inside_either` V1SemgrepRulePatternType[]
        - `pattern_not` string
        - `pattern_not_inside` string
        - `pattern_not_regex` string
        - `pattern_regex` string
        - `patterns` V1SemgrepRulePatternType[]
        - `requires` string
        - `to` string
      - `references` string[]
      - `severity` string
    - `severity_level` 'SEVERITY_LEVEL_UNSPECIFIED' | 'SEVERITY_LEVEL_LOW' | 'SEVERITY_LEVEL_MEDIUM' | 'SEVERITY_LEVEL_HIGH' | 'SEVERITY_LEVEL_CRITICAL' — The severity level of the rule. This is computed using the values of the confidence and the impact from the rule itself. If those values are not defined, the severity level is set to LOW.
    - `yaml` string — Yaml is the rule in its original yaml format.
  - `tenant_meta` V1TenantMeta — Tenant related data for the tenant containing the resource.
    - `namespace` string, required — Namespaces are a way to organize organizational units into virtual groupings of resources. Namespaces must be a fully qualified name, for example, the child namespace of namespace "endor.prod" called "app" is called "endor.prod.app".
  - `uuid` string — The UUID of the Semgrep rule.

## Other responses

- `default` — An unexpected error response.

---

[API](https://skmtc.net/endorlabs/apis/endor-labs-rest-api-reference.md) · [All operations](https://skmtc.net/endorlabs/apis/endor-labs-rest-api-reference/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/endorlabs/endor-labs-rest-api-reference/revisions/2fe1f84213b3/schema)
