---
title: "Bulk Import Policies"
method: POST
path: "/policies/bulk-import"
---

# Bulk Import Policies

`POST /policies/bulk-import`

Bulk import multiple policies from JSON.

IDs from the import are ignored; new IDs will be generated for each policy.
Returns a summary of successful and failed imports.
Requires admin role.

Docs: [Guide](https://docs.grayswan.ai/policy-management/policies) |
[API Reference](https://docs.grayswan.ai/api-reference/policies/bulk-import-policies)

## Request body

- BulkPolicyImportRequest — Request body for bulk importing multiple policies.
  - `policies` PolicyExportData[], required
    - `name` string, required
    - `description` string, nullable
    - `categories` object
    - `rule_modes` object
    - `mode` string, nullable
    - `pre_violation_threshold` number, nullable
    - `pre_jb_threshold` number, nullable
    - `post_violation_threshold` number, nullable
    - `post_violation_jb_threshold` number, nullable
    - `scanners_config` object, nullable
    - `block_message` string, nullable
    - `export_version` string

## Response `201`

Successful Response

- BulkPolicyImportResponse — Response for bulk import operation.
  - `total` integer, required
  - `successful` integer, required
  - `failed` integer, required
  - `results` PolicyImportResult[], required
    - `name` string, required
    - `success` boolean, required
    - `id` string, nullable
    - `error` string, nullable

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/grayswan/apis/gray-swan-ai-api.md) · [All operations](https://skmtc.net/grayswan/apis/gray-swan-ai-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/grayswan/gray-swan-ai-api/revisions/6ef1ea32ff13/schema)
