---
title: "CreateEndorIgnoreEntry"
method: POST
path: "/v1/namespaces/{tenant_meta.namespace}/endor-ignore-entries"
tags: ["EndorIgnoreEntryService"]
---

# CreateEndorIgnoreEntry

`POST /v1/namespaces/{tenant_meta.namespace}/endor-ignore-entries`

## Request

- Base URL: `https://api.endorlabs.com`
- URL: `https://api.endorlabs.com/v1/namespaces/{tenant_meta.namespace}/endor-ignore-entries`
- Auth: none declared

Creates an EndorIgnoreEntry object.

## Path parameters

- `tenant_meta.namespace` string, required

## Request body

- EndorIgnoreEntryServiceCreateEndorIgnoreEntryBody: Represents a single entry in the ignore file. EndorIgnoreEntry objects are created by the endorctl client after reading and processing the ignore file during the git scan, and then applied to the findings during the analytics scan. The ignore file is either a raw list of vulnerability ids (one per line), or a YAML file that contains a list of ignore entries, each identifying one or more findings in a repository version. The file is formatted manually or via the endorctl ignore command. Each entry must specify at least the finding name or the vulnerability ID. The more fields you provide, the more specific the ignore entry is. I.e. if you only provide the finding name and there are multiple findings with the same name in the same repository version, the ignore entry is applied to all of them. Use the endorctl ignore --finding-uuid option to automatically populate all fields of the ignore entry based on a given finding.
  - `context` V1Context: Contexts keep objects from different scans separated.
    - `id` string, required: The context ID, such as a pull request ID or branch reference.
    - `tags` string[]: A list of tags applied to a context. Used primarily for CI and SBOM contexts.
    - `type` 'CONTEXT_TYPE_UNSPECIFIED' | 'CONTEXT_TYPE_MAIN' | 'CONTEXT_TYPE_EXTERNAL' | 'CONTEXT_TYPE_CI_RUN' | 'CONTEXT_TYPE_SBOM' | 'CONTEXT_TYPE_REF', required: - CONTEXT_TYPE_MAIN: Objects from a scan of the default branch. All objects in the oss namespace are in the main context. The context id is always "default". - CONTEXT_TYPE_EXTERNAL: Indicates that this object is a copy/temporary value of an object in another project. Used for same-tenant dependencies. In source code reference this is equivalent to "vendor" folders. Package versions in the external context are only scanned for call graphs. No other operations are performed on them. - CONTEXT_TYPE_CI_RUN: Objects from a PR scan. The context id is the PR UUID. Objects in this context are deleted after 30 days. - CONTEXT_TYPE_SBOM: Objects from an SBOM scan. The context id is the SBOM serial number or some other unique identifier. - CONTEXT_TYPE_REF: Objects from a scan of a specific branch. The context id is the branch reference name.
    - `will_be_deleted_at` string, date-time: Time that all objects in this context will be deleted. This field is deprecated and will be removed in the future. Please use the meta.will_be_deleted_at field instead.
  - `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.
  - `spec` V1EndorIgnoreEntrySpec, required
    - `dependency_name` string: Name of the dependency of the finding that is being ignored. For example, "org.apache.logging.log4j:log4j-core@2.3". Partial matches are accepted. This corresponds to the spec.target_dependency_package_name field of the finding object for PackageVersion findings.
    - `extra_key` string: Extra key for the finding that is being ignored. For example, the finding policy UUID. Exact matches only. The extra key is used internally to uniquely identify findings (along with other fields such as the parent, target, and type) and is stored in the spec.extra_key field of the finding object.
    - `finding_name` string: Name of the finding that is being ignored. For example, "Potential secret leak Generic API Key: ID #3b0fbc". Exact matches only. Please note that finding names are stored in the meta.description field of the finding object rather than in meta.name. Yes, this is confusing, but there are historical reasons for this.
    - `ignore_params` V1DismissParams, required: Metadata associated with a snooze or ignore request.
      - `comments` string: Comments for the snooze or ignore.
      - `entry_id` string: The ignore file entry id.
      - `expiration_time` string, date-time: Expiration time of the snooze or ignore.
      - `expire_if_fix_available` boolean: Set to true if the snooze or ignore should expire if a fix is available.
      - `file_name` string: Name of the file that was used to ignore the finding.
      - `reason` 'EXCEPTION_REASON_UNSPECIFIED' | 'EXCEPTION_REASON_FALSE_POSITIVE' | 'EXCEPTION_REASON_RISK_ACCEPTED' | 'EXCEPTION_REASON_IN_TRIAGE' | 'EXCEPTION_REASON_OTHER' | 'EXCEPTION_REASON_RESOLVED' | 'EXCEPTION_REASON_PRESENT_IN_BASELINE': Reasons for dismissing a finding. - EXCEPTION_REASON_FALSE_POSITIVE: Tool is incorrect. This is not a real issue. - EXCEPTION_REASON_RISK_ACCEPTED: Risk acknowledged and accepted. - EXCEPTION_REASON_IN_TRIAGE: Issue is actively being triaged. - EXCEPTION_REASON_OTHER: Other reason. Use policy description or dismiss comments to elaborate. - EXCEPTION_REASON_RESOLVED: Issue has been resolved. For example, a secret is no longer valid. - EXCEPTION_REASON_PRESENT_IN_BASELINE: The finding is also present in the baseline scan this one was diffed against, so it is not newly introduced. Set only by container diff tooling, never by a human.
      - `source` 'DISMISS_SOURCE_UNSPECIFIED' | 'DISMISS_SOURCE_CONTAINER_DIFF': Which tool created a snooze or ignore, for tooling that maintains its own dismissals over time and must never clear one it did not create. - DISMISS_SOURCE_UNSPECIFIED: Created by a person, or by tooling that does not maintain what it writes. - DISMISS_SOURCE_CONTAINER_DIFF: Created by `endorctl container diff --snooze-baseline-findings`, or by the equivalent step of `endorctl container scan --diff`. Those commands clear the dismissals carrying this source once the finding is no longer common with the baseline, so no other writer may set it.
      - `update_time` string, date-time: Timestamp of the last update.
      - `updated_by` string: Username of the user who last updated the snooze or ignore.
    - `parent_name` string: Name of the parent of the finding that is being ignored. For example, "com.endor.webapp:endor-java-webapp-demo@4.0-SNAPSHOT". Partial matches are accepted. This corresponds to the meta.name field of the parent object pointed to by the meta.parent_uuid field of the finding object.
    - `project_uuid` string: Project UUID.
    - `vuln_id` string: Vulnerability ID of the finding that is being ignored. For example, "CVE-2025-12345" or "GHSA-7rjr-3q55-vv33". Exact matches only.
  - `tenant_meta` object: Tenant data.
  - `uuid` string: The UUID of the object.

## Response `200`

A successful response.

- V1EndorIgnoreEntry: Represents a single entry in the ignore file. EndorIgnoreEntry objects are created by the endorctl client after reading and processing the ignore file during the git scan, and then applied to the findings during the analytics scan. The ignore file is either a raw list of vulnerability ids (one per line), or a YAML file that contains a list of ignore entries, each identifying one or more findings in a repository version. The file is formatted manually or via the endorctl ignore command. Each entry must specify at least the finding name or the vulnerability ID. The more fields you provide, the more specific the ignore entry is. I.e. if you only provide the finding name and there are multiple findings with the same name in the same repository version, the ignore entry is applied to all of them. Use the endorctl ignore --finding-uuid option to automatically populate all fields of the ignore entry based on a given finding.
  - `context` V1Context: Contexts keep objects from different scans separated.
    - `id` string, required: The context ID, such as a pull request ID or branch reference.
    - `tags` string[]: A list of tags applied to a context. Used primarily for CI and SBOM contexts.
    - `type` 'CONTEXT_TYPE_UNSPECIFIED' | 'CONTEXT_TYPE_MAIN' | 'CONTEXT_TYPE_EXTERNAL' | 'CONTEXT_TYPE_CI_RUN' | 'CONTEXT_TYPE_SBOM' | 'CONTEXT_TYPE_REF', required: - CONTEXT_TYPE_MAIN: Objects from a scan of the default branch. All objects in the oss namespace are in the main context. The context id is always "default". - CONTEXT_TYPE_EXTERNAL: Indicates that this object is a copy/temporary value of an object in another project. Used for same-tenant dependencies. In source code reference this is equivalent to "vendor" folders. Package versions in the external context are only scanned for call graphs. No other operations are performed on them. - CONTEXT_TYPE_CI_RUN: Objects from a PR scan. The context id is the PR UUID. Objects in this context are deleted after 30 days. - CONTEXT_TYPE_SBOM: Objects from an SBOM scan. The context id is the SBOM serial number or some other unique identifier. - CONTEXT_TYPE_REF: Objects from a scan of a specific branch. The context id is the branch reference name.
    - `will_be_deleted_at` string, date-time: Time that all objects in this context will be deleted. This field is deprecated and will be removed in the future. Please use the meta.will_be_deleted_at field instead.
  - `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.
  - `spec` V1EndorIgnoreEntrySpec, required
    - `dependency_name` string: Name of the dependency of the finding that is being ignored. For example, "org.apache.logging.log4j:log4j-core@2.3". Partial matches are accepted. This corresponds to the spec.target_dependency_package_name field of the finding object for PackageVersion findings.
    - `extra_key` string: Extra key for the finding that is being ignored. For example, the finding policy UUID. Exact matches only. The extra key is used internally to uniquely identify findings (along with other fields such as the parent, target, and type) and is stored in the spec.extra_key field of the finding object.
    - `finding_name` string: Name of the finding that is being ignored. For example, "Potential secret leak Generic API Key: ID #3b0fbc". Exact matches only. Please note that finding names are stored in the meta.description field of the finding object rather than in meta.name. Yes, this is confusing, but there are historical reasons for this.
    - `ignore_params` V1DismissParams, required: Metadata associated with a snooze or ignore request.
      - `comments` string: Comments for the snooze or ignore.
      - `entry_id` string: The ignore file entry id.
      - `expiration_time` string, date-time: Expiration time of the snooze or ignore.
      - `expire_if_fix_available` boolean: Set to true if the snooze or ignore should expire if a fix is available.
      - `file_name` string: Name of the file that was used to ignore the finding.
      - `reason` 'EXCEPTION_REASON_UNSPECIFIED' | 'EXCEPTION_REASON_FALSE_POSITIVE' | 'EXCEPTION_REASON_RISK_ACCEPTED' | 'EXCEPTION_REASON_IN_TRIAGE' | 'EXCEPTION_REASON_OTHER' | 'EXCEPTION_REASON_RESOLVED' | 'EXCEPTION_REASON_PRESENT_IN_BASELINE': Reasons for dismissing a finding. - EXCEPTION_REASON_FALSE_POSITIVE: Tool is incorrect. This is not a real issue. - EXCEPTION_REASON_RISK_ACCEPTED: Risk acknowledged and accepted. - EXCEPTION_REASON_IN_TRIAGE: Issue is actively being triaged. - EXCEPTION_REASON_OTHER: Other reason. Use policy description or dismiss comments to elaborate. - EXCEPTION_REASON_RESOLVED: Issue has been resolved. For example, a secret is no longer valid. - EXCEPTION_REASON_PRESENT_IN_BASELINE: The finding is also present in the baseline scan this one was diffed against, so it is not newly introduced. Set only by container diff tooling, never by a human.
      - `source` 'DISMISS_SOURCE_UNSPECIFIED' | 'DISMISS_SOURCE_CONTAINER_DIFF': Which tool created a snooze or ignore, for tooling that maintains its own dismissals over time and must never clear one it did not create. - DISMISS_SOURCE_UNSPECIFIED: Created by a person, or by tooling that does not maintain what it writes. - DISMISS_SOURCE_CONTAINER_DIFF: Created by `endorctl container diff --snooze-baseline-findings`, or by the equivalent step of `endorctl container scan --diff`. Those commands clear the dismissals carrying this source once the finding is no longer common with the baseline, so no other writer may set it.
      - `update_time` string, date-time: Timestamp of the last update.
      - `updated_by` string: Username of the user who last updated the snooze or ignore.
    - `parent_name` string: Name of the parent of the finding that is being ignored. For example, "com.endor.webapp:endor-java-webapp-demo@4.0-SNAPSHOT". Partial matches are accepted. This corresponds to the meta.name field of the parent object pointed to by the meta.parent_uuid field of the finding object.
    - `project_uuid` string: Project UUID.
    - `vuln_id` string: Vulnerability ID of the finding that is being ignored. For example, "CVE-2025-12345" or "GHSA-7rjr-3q55-vv33". Exact matches only.
  - `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 object.

## Other responses

- `default`: An unexpected error response.

## Changes

- **2026-11-03** `4acd9fe15140`: 1 warning, 3 info
  - added the new `EXCEPTION_REASON_PRESENT_IN_BASELINE` enum value to the `spec/ignore_params/reason` response property for the response status `200`
  - added the new optional request property `spec/ignore_params/source`
  - added the new `EXCEPTION_REASON_PRESENT_IN_BASELINE` enum value to the request property `spec/ignore_params/reason`
  - added the optional property `spec/ignore_params/source` to the response with the `200` status

[Operation history](https://skmtc.dev/endorlabs/apis/endor-labs-rest-api-reference/changes/v1/namespaces/:tenant_meta.namespace/endor-ignore-entries/post.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)
