---
title: "UpdateToolPattern"
method: PATCH
path: "/v1/namespaces/{object.tenant_meta.namespace}/tool-patterns"
tags: ["ToolPatternService"]
---

# UpdateToolPattern

`PATCH /v1/namespaces/{object.tenant_meta.namespace}/tool-patterns`

## Request

- Base URL: `https://api.endorlabs.com`
- URL: `https://api.endorlabs.com/v1/namespaces/{object.tenant_meta.namespace}/tool-patterns`
- Auth: none declared

Updates a tool pattern.

## Path parameters

- `object.tenant_meta.namespace` string, required

## Request body

- ToolPatternServiceUpdateToolPatternBody: Request to update a tool pattern.
  - `object` object: ToolPattern represents the search pattern data for one tool.
    - `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: Indicates that the object should be visible in child namespaces.
    - `spec` V1ToolPatternSpec: The internal specification of the object.
      - `app_patterns` SpecAppPatterns[]: List of GitHub application patterns.
        - `app_slug` string: Unique GitHub application slug.
      - `badge_patterns` string[]: List of badge URL patterns. Example: codecov.io.
      - `categories` string[]: List of control function categories (based on static name to category mapping). Examples: Build, CI/CD Pipeline, Code Coverage, Container Orchestration, Container Registry, Dependency Mgmt, Documentation, IaC, License Mgmt, Linters, Monitoring, Package Mgmt, Publishers, SBOM, SCA, Secrets, Security, Signing and Verification, Testing, VMs, Vulnerability Mgmt.
      - `cmd_patterns` SpecCmdPatterns[]: List of search patterns that are applied to the content of all CI/CD pipeline definition files. Example: "endorctl scan" identifies Endor Labs usage inside tool configuration files that contain shell commands.
        - `examples` string[]: List of examples of tool usage "in the wild".
        - `line_patterns` string[]: List of patterns to match inside files for other tools.
      - `display_name` string: Display name if different from tool name. Example: "GitHub Actions" might be the display name for "ghactions".
      - `file_patterns` SpecFilePatterns[]: List of search patterns that are applied file/path names (filename_patterns) and, if present, their content (line_patterns). Examples: A file name match for "Dockerfile$" identifies Docker. A match for line_pattern "\[tool\.black\]" inside a file with a filename_pattern match for "pyproject.toml$" idenfies Python Black.
        - `examples` string[]: List of examples of tool usage "in the wild".
        - `filename_patterns` string[]: List of file name patterns.
        - `line_patterns` string[]: List of patterns to match inside a file with a name that matches the file name pattern.
      - `refs` string[]: List of references.
      - `tool_patterns` object: Map of search patterns that are applied to the content of specific tool definition files, indexed by tool name. Example: ".*uses: sonarsource/sonarcloud-github-action@.*" identifies sonarcloud inside a GitHub Actions file, so it is listed under "ghactions" here. The index string must match the name of the other tool in order for the infrastructure to cross-reference them.
      - `webhook_patterns` string[]: List of search patterns that are applied to webhook payload URLs. Example: https://coveralls.io/webhook.
    - `tenant_meta` object: Rules are associated with a tenant and namespace.
    - `uuid` string: The UUID of the tool pattern.
  - `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.

- V1ToolPattern: ToolPattern represents the search pattern data for one tool.
  - `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: Indicates that the object should be visible in child namespaces.
  - `spec` V1ToolPatternSpec, required: The internal specification of the object.
    - `app_patterns` SpecAppPatterns[]: List of GitHub application patterns.
      - `app_slug` string: Unique GitHub application slug.
    - `badge_patterns` string[]: List of badge URL patterns. Example: codecov.io.
    - `categories` string[]: List of control function categories (based on static name to category mapping). Examples: Build, CI/CD Pipeline, Code Coverage, Container Orchestration, Container Registry, Dependency Mgmt, Documentation, IaC, License Mgmt, Linters, Monitoring, Package Mgmt, Publishers, SBOM, SCA, Secrets, Security, Signing and Verification, Testing, VMs, Vulnerability Mgmt.
    - `cmd_patterns` SpecCmdPatterns[]: List of search patterns that are applied to the content of all CI/CD pipeline definition files. Example: "endorctl scan" identifies Endor Labs usage inside tool configuration files that contain shell commands.
      - `examples` string[]: List of examples of tool usage "in the wild".
      - `line_patterns` string[]: List of patterns to match inside files for other tools.
    - `display_name` string: Display name if different from tool name. Example: "GitHub Actions" might be the display name for "ghactions".
    - `file_patterns` SpecFilePatterns[]: List of search patterns that are applied file/path names (filename_patterns) and, if present, their content (line_patterns). Examples: A file name match for "Dockerfile$" identifies Docker. A match for line_pattern "\[tool\.black\]" inside a file with a filename_pattern match for "pyproject.toml$" idenfies Python Black.
      - `examples` string[]: List of examples of tool usage "in the wild".
      - `filename_patterns` string[]: List of file name patterns.
      - `line_patterns` string[]: List of patterns to match inside a file with a name that matches the file name pattern.
    - `refs` string[]: List of references.
    - `tool_patterns` object: Map of search patterns that are applied to the content of specific tool definition files, indexed by tool name. Example: ".*uses: sonarsource/sonarcloud-github-action@.*" identifies sonarcloud inside a GitHub Actions file, so it is listed under "ghactions" here. The index string must match the name of the other tool in order for the infrastructure to cross-reference them.
    - `webhook_patterns` string[]: List of search patterns that are applied to webhook payload URLs. Example: https://coveralls.io/webhook.
  - `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 tool pattern.

## Other responses

- `default`: An unexpected error response.

## Changes

- **2026-11-03** `4acd9fe15140`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/endorlabs/apis/endor-labs-rest-api-reference/changes/v1/namespaces/:object.tenant_meta.namespace/tool-patterns/patch.md)

---

[API](https://skmtc.dev/endorlabs/apis/endor-labs-rest-api-reference.md) - [All operations](https://skmtc.dev/endorlabs/apis/endor-labs-rest-api-reference/llms.txt) - [OpenAPI document](https://skmtc.dev/endorlabs/apis/endor-labs-rest-api-reference/revisions/4acd9fe15140?raw)
