> ## Documentation Index
> Fetch the complete documentation index at: https://docs.leadpipe.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Replace the suppression list

> Destructive sync: every existing rule is deleted and replaced by the submitted set, in one transaction. This is the endpoint to point at a source-of-truth file — re-post the whole list on every run and the stored list matches it exactly. Rules removed here stop suppressing from the next sync cycle onward. Pass `types` to replace only some rule types and leave the rest untouched (e.g. sync your `email` list without disturbing industry rules); send an empty `rules` array with `types` to clear a category. Up to 25,000 rules per call — a list longer than that cannot be replaced atomically, so build it with POST instead. Authenticates via X-API-Key header.



## OpenAPI

````yaml https://api.aws53.cloud/openapi-data.json put /v1/data/suppression-rules
openapi: 3.1.0
info:
  title: Identification API
  version: 1.0.0
  description: >-
    Programmatic access to your visitor data and pixel management. Authenticate
    with your API key (X-API-Key header).
servers:
  - url: https://api.aws53.cloud
    description: Production
security:
  - apiKeyAuth: []
tags:
  - name: Visitors
  - name: Pixels
  - name: Account
  - name: Visitor Suppression
paths:
  /v1/data/suppression-rules:
    put:
      tags:
        - Visitor Suppression
      summary: Replace the suppression list
      description: >-
        Destructive sync: every existing rule is deleted and replaced by the
        submitted set, in one transaction. This is the endpoint to point at a
        source-of-truth file — re-post the whole list on every run and the
        stored list matches it exactly. Rules removed here stop suppressing from
        the next sync cycle onward. Pass `types` to replace only some rule types
        and leave the rest untouched (e.g. sync your `email` list without
        disturbing industry rules); send an empty `rules` array with `types` to
        clear a category. Up to 25,000 rules per call — a list longer than that
        cannot be replaced atomically, so build it with POST instead.
        Authenticates via X-API-Key header.
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                rules:
                  type: array
                  items:
                    type: object
                    properties:
                      type:
                        type: string
                        enum:
                          - email
                          - domain
                          - company_domain
                          - industry
                      value:
                        type: string
                        minLength: 1
                        maxLength: 500
                    required:
                      - type
                      - value
                  maxItems: 25000
                types:
                  type: array
                  items:
                    type: string
                    enum:
                      - email
                      - domain
                      - company_domain
                      - industry
                  minItems: 1
                  maxItems: 4
                  description: >-
                    Restrict the replace to these rule types. Rules of other
                    types are left alone, and submitting a rule whose type is
                    not listed is an error.
              required:
                - rules
              example:
                rules:
                  - type: domain
                    value: mycompany.com
                  - type: domain
                    value: subsidiary.com
                types:
                  - domain
      responses:
        '200':
          description: List replaced
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SuppressionWriteResult'
        '400':
          description: Validation error
        '401':
          description: Missing or invalid API key
        '403':
          description: Revoked key or inactive organization
      security:
        - apiKeyAuth: []
components:
  schemas:
    SuppressionWriteResult:
      type: object
      properties:
        data:
          type: object
          properties:
            added:
              type: number
              description: Rules newly stored
            removed:
              type: number
              description: Rules deleted (replace mode only)
            duplicates:
              type: number
              description: 'Rows skipped: already stored, or repeated within the request'
            rejectedCount:
              type: number
              description: Rows that failed validation
            rejected:
              type: array
              items:
                type: object
                properties:
                  index:
                    type: number
                    description: Position of the row in the submitted array
                  type:
                    type: string
                  value:
                    type: string
                  reason:
                    type: string
                required:
                  - index
                  - type
                  - value
                  - reason
              description: >-
                Detail for the first 100 rejected rows — everything else in the
                batch was still applied
            total:
              type: number
              description: Rules stored for the organization after this call
          required:
            - added
            - removed
            - duplicates
            - rejectedCount
            - rejected
            - total
      required:
        - data
  securitySchemes:
    apiKeyAuth:
      type: apiKey
      in: header
      name: X-API-Key
      description: >-
        Organization API key (sk_...). Get yours from Settings > API Keys in the
        dashboard.

````