---
title: "Bulk enable/disable namespace-level customization for packages"
method: POST
path: "/api/fleet/epm/packages/_bulk_namespace_customization"
tags: ["Elastic Package Manager (EPM)"]
---

# Bulk enable/disable namespace-level customization for packages

`POST /api/fleet/epm/packages/_bulk_namespace_customization`

**Spaces method and path for this operation:**

<div><span class="operation-verb post">post</span>&nbsp;<span class="operation-path">/s/{space_id}/api/fleet/epm/packages/_bulk_namespace_customization</span></div>

Refer to [Spaces](https://www.elastic.co/docs/deploy-manage/manage-spaces) for more information.

Enable or disable namespace-level index template customization for a list of packages in one call. Use this for IaC-style declarative flows.<br/><br/>[Required authorization] Route required privileges: integrations-all AND fleet-agent-policies-all.

## Headers

- `kbn-xsrf` string, required

## Request body

- KibanaHTTPAPIsBulkNamespaceCustomizationRequest
  - `disable` string[] — Namespaces to disable namespace-level customization for on each package.
  - `enable` string[] — Namespaces to enable namespace-level customization for on each package.
  - `packages` string[], required — Package names to apply the customization changes to.

## Response `200`

OK: A successful request.

- KibanaHTTPAPIsBulkNamespaceCustomizationResponse
  - `items` object[], required
    - `error` string
    - `name` string, required
    - `namespace_customization_enabled_for` string[] — The opt-in list on the package. Returned whenever the package is installed: the new list on success, or the unchanged list when the request is rejected (for example, because of a namespace-prefix restriction).
    - `success` boolean, required
    - `warnings` object[]
      - `baseTemplateName` string, required
      - `conflictingTemplates` object[], required
        - `conflictType` 'overrides_fleet' | 'blocked_by_same_priority' | 'overridden_by_fleet', required
        - `name` string, required
        - `priority` number, required
      - `dataStreamName` string, required
      - `namespace` string, required
      - `nsTemplateName` string, required

## Other responses

- `400` — A bad request.

## Changes

- **2026-08-10** `deb2e8b751e7` — 1 info
  - added the optional property `items/items/warnings` to the response with the `200` status

[Change history](https://skmtc.dev/elastic/apis/kibana-apis/changes/api/fleet/epm/packages/_bulk_namespace_customization/post.md)

---

[API](https://skmtc.dev/elastic/apis/kibana-apis.md) · [All operations](https://skmtc.dev/elastic/apis/kibana-apis/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/elastic/kibana-apis/revisions/95178ec615b6/schema)
