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

# Block an email, IP address or range, card or card range

> Written to this API's own block list, which screens the payments of this API's stores. V2 checkouts keep their own block rules.



## OpenAPI

````yaml /payments-api/openapi.json post /v1/block-list
openapi: 3.1.0
info:
  title: TagadaPay Payments API
  version: '2026-11-01'
servers:
  - url: https://api.tagada.io
security: []
paths:
  /v1/block-list:
    post:
      tags:
        - block_list
      summary: Block an email, IP address or range, card or card range
      description: >-
        Written to this API's own block list, which screens the payments of this
        API's stores. V2 checkouts keep their own block rules.
      operationId: blockList.add
      parameters:
        - in: header
          name: payments-account
          required: false
          schema:
            type: string
        - in: header
          name: payments-version
          required: false
          schema:
            enum:
              - '2026-11-01'
            type: string
        - in: header
          name: idempotency-key
          required: true
          schema:
            maxLength: 255
            minLength: 1
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AddBlock'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BlockListEntry'
          description: Block list entry; values are hashed except card ranges.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
          description: parameter_invalid, parameter_missing, amount_out_of_range
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
          description: authentication_required
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
          description: permission_denied
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
          description: resource_not_found
        '409':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
          description: idempotency_key_reused, idempotency_key_in_progress
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
          description: rate_limited
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
          description: internal_error
        '501':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
          description: not_implemented
      security:
        - bearerAuth: []
components:
  schemas:
    AddBlock:
      oneOf:
        - additionalProperties: false
          properties:
            kind:
              enum:
                - email
              type: string
            reason:
              maxLength: 200
              minLength: 1
              type: string
            stores:
              items:
                pattern: ^store_[a-f0-9]{12}$
                type: string
              maxItems: 100
              minItems: 1
              type: array
            until:
              format: date-time
              type: string
            value:
              maxLength: 254
              minLength: 3
              type: string
          required:
            - kind
            - value
            - reason
          type: object
        - additionalProperties: false
          properties:
            kind:
              enum:
                - ip
              type: string
            reason:
              maxLength: 200
              minLength: 1
              type: string
            stores:
              items:
                pattern: ^store_[a-f0-9]{12}$
                type: string
              maxItems: 100
              minItems: 1
              type: array
            until:
              format: date-time
              type: string
            value:
              anyOf:
                - format: ip
                  type: string
                - format: ip
                  type: string
                - format: ipv4-cidr
                  type: string
                - format: ipv6-cidr
                  type: string
          required:
            - kind
            - value
            - reason
          type: object
        - additionalProperties: false
          properties:
            kind:
              enum:
                - card
              type: string
            payment_method:
              pattern: ^inst_[a-f0-9]{12}$
              type: string
            reason:
              maxLength: 200
              minLength: 1
              type: string
            stores:
              items:
                pattern: ^store_[a-f0-9]{12}$
                type: string
              maxItems: 100
              minItems: 1
              type: array
            until:
              format: date-time
              type: string
          required:
            - kind
            - payment_method
            - reason
          type: object
        - additionalProperties: false
          properties:
            kind:
              enum:
                - card_range
              type: string
            reason:
              maxLength: 200
              minLength: 1
              type: string
            stores:
              items:
                pattern: ^store_[a-f0-9]{12}$
                type: string
              maxItems: 100
              minItems: 1
              type: array
            until:
              format: date-time
              type: string
            value:
              pattern: ^[0-9]{6,8}$
              type: string
          required:
            - kind
            - value
            - reason
          type: object
    BlockListEntry:
      additionalProperties: false
      properties:
        created_at:
          format: date-time
          type: string
        id:
          pattern: ^be_[a-f0-9]{12}$
          type: string
        kind:
          enum:
            - email
            - ip
            - card
            - card_range
            - other
          type: string
          x-extensible-enum:
            - email
            - ip
            - card
            - card_range
            - other
        managed_by:
          description: >-
            payments_api: an entry of this API, lifted here. v2: a V2 block
            rule, shown read-only; lift it in V2.
          enum:
            - payments_api
            - v2
          type: string
          x-extensible-enum:
            - payments_api
            - v2
        object:
          enum:
            - block_list_entry
          type: string
        reason:
          type: string
        source:
          enum:
            - merchant
            - abuse_detection
          type: string
          x-extensible-enum:
            - merchant
            - abuse_detection
        stores:
          items:
            pattern: ^store_[a-f0-9]{12}$
            type: string
          type:
            - array
            - 'null'
        until:
          format: date-time
          type:
            - string
            - 'null'
        value:
          type:
            - string
            - 'null'
      required:
        - id
        - object
        - kind
        - value
        - source
        - reason
        - stores
        - until
        - created_at
        - managed_by
      type: object
    ApiError:
      properties:
        error:
          properties:
            code:
              $ref: '#/components/schemas/ErrorCode'
            details:
              additionalProperties: {}
              type: object
            message:
              type: string
            param:
              type:
                - string
                - 'null'
            request_id:
              type: string
            type:
              enum:
                - invalid_request_error
                - authentication_error
                - permission_error
                - conflict_error
                - rate_limit_error
                - api_error
                - unavailable_error
              type: string
          required:
            - type
            - code
            - message
            - param
            - request_id
          type: object
      required:
        - error
      type: object
    ErrorCode:
      enum:
        - account_daily_cap_exceeded
        - account_not_enabled
        - amount_out_of_range
        - authentication_required
        - checkout_session_in_use
        - currency_not_supported
        - fx_rate_unavailable
        - idempotency_key_in_progress
        - idempotency_key_reused
        - internal_error
        - no_active_policy
        - not_implemented
        - parameter_invalid
        - parameter_missing
        - parent_payment_invalid
        - parent_payment_not_allowed
        - parent_payment_not_paid
        - payment_method_not_usable
        - payment_method_required
        - payment_method_save_disabled
        - payment_not_confirmable
        - payment_not_retryable
        - payments_api_disabled
        - permission_denied
        - rate_limited
        - resource_not_found
        - retry_exists
        - retry_limit_reached
        - store_not_on_payments_api
        - stored_credential_missing
      type: string
      x-extensible-enum:
        - account_daily_cap_exceeded
        - account_not_enabled
        - amount_out_of_range
        - authentication_required
        - checkout_session_in_use
        - currency_not_supported
        - fx_rate_unavailable
        - idempotency_key_in_progress
        - idempotency_key_reused
        - internal_error
        - no_active_policy
        - not_implemented
        - parameter_invalid
        - parameter_missing
        - parent_payment_invalid
        - parent_payment_not_allowed
        - parent_payment_not_paid
        - payment_method_not_usable
        - payment_method_required
        - payment_method_save_disabled
        - payment_not_confirmable
        - payment_not_retryable
        - payments_api_disabled
        - permission_denied
        - rate_limited
        - resource_not_found
        - retry_exists
        - retry_limit_reached
        - store_not_on_payments_api
        - stored_credential_missing
  securitySchemes:
    bearerAuth:
      description: >-
        Secret, platform or publishable API key. Platform keys require
        Payments-Account.
      scheme: bearer
      type: http

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.