Visa Customer Rules API API

Register consumer accounts and manage payment rules and thresholds that define which transaction types to block or alert on.

Documentation

📖
GettingStarted
https://developer.visa.com/capabilities/pav/docs
📖
Authentication
https://developer.visa.com/capabilities/pav/docs-authentication
📖
GettingStarted
https://developer.visa.com/capabilities/suppliermatchingservice/docs-getting-started
📖
Authentication
https://developer.visa.com/capabilities/suppliermatchingservice/docs-authentication
📖
GettingStarted
https://developer.visa.com/capabilities/vcms/docs-getting-started
📖
Authentication
https://developer.visa.com/capabilities/vcms/docs-authentication
📖
GettingStarted
https://developer.visa.com/capabilities/card-on-file-data-inquiry/docs-getting-started
📖
Authentication
https://developer.visa.com/capabilities/card-on-file-data-inquiry/docs-authentication
📖
GettingStarted
https://developer.visa.com/capabilities/foreign_exchange/docs-getting-started
📖
Authentication
https://developer.visa.com/capabilities/foreign_exchange/docs-authentication
📖
Documentation
https://developer.visa.com/capabilities/foreign_exchange/reference#tag/Foreign-Exchange-Rates-API/operation/ForeignExchangeRates_v2%20-%20Latest
📖
GettingStarted
https://developer.visa.com/capabilities/paai/docs-getting-started
📖
Authentication
https://developer.visa.com/capabilities/paai/docs-authentication
📖
Documentation
https://developer.visa.com/capabilities/paai/reference#tag/Funds-Transfer-Attributes-Inquiry-API/operation/Funds%20Transfer%20Inquiry_v5%20-%20Latest
📖
GettingStarted
https://developer.visa.com/capabilities/vau/docs-getting-started
📖
Authentication
https://developer.visa.com/capabilities/vau/docs-authentication
📖
Documentation
https://developer.visa.com/capabilities/vau/reference#tag/Issuer-Stop-Advice-API/operation/stopAdviceUsingPOST_v1%20-%20Latest
📖
GettingStarted
https://developer.visa.com/capabilities/visa-bin-attribute-sharing-service/docs-getting-started
📖
Authentication
https://developer.visa.com/capabilities/visa-bin-attribute-sharing-service/docs-authentication
📖
GettingStarted
https://developer.visa.com/capabilities/vbds/docs-getting-started
📖
Authentication
https://developer.visa.com/capabilities/vbds/docs-authentication
📖
Documentation
https://developer.visa.com/capabilities/vbds/reference#tag/Authorization-Data-API/operation/getAuthDataUsingPOST_v1%20-%20Latest
📖
GettingStarted
https://developer.visa.com/capabilities/vcpm/docs-getting-started
📖
Authentication
https://developer.visa.com/capabilities/vcpm/docs-authentication
📖
Documentation
https://developer.visa.com/capabilities/vcpm/reference#tag/Visa-Card-Program-Enrollment/operation/enrollmentV2UsingPOST_v2%20-%20Latest
📖
GettingStarted
https://developer.visa.com/capabilities/visa-secure-remote-commerce/docs-getting-started
📖
Documentation
https://developer.visa.com/capabilities/visa-secure-remote-commerce/reference#tag/CTP-Checkout-API/operation/CTP%20Checkout%20API_v1%20-%20Latest
📖
Documentation
https://developer.visa.com/capabilities/visa-digital-enablement-lite/reference#tag/URL-Generation-API_/paths/1inapp1provision1appclip1url/post_v1%20-%20Latest
📖
GettingStarted
https://developer.visa.com/capabilities/visa-merchant-screening-service/docs-getting-started
📖
Authentication
https://developer.visa.com/capabilities/visa-merchant-screening-service/docs-authentication
📖
Documentation
https://developer.visa.com/capabilities/visa-merchant-screening-service/reference#tag/Termination-Inquiry-APIs/operation/RetroActive%20Alert%20of%20Terminated%20Merchants%20or%20Agent_v2%20-%20Latest
📖
Documentation
https://developer.visa.com/capabilities/vpa
📖
Documentation
https://developer.visa.com/capabilities/visa-in-app-provisioning
📖
Documentation
https://developer.visa.com/capabilities/merchant_search/docs
📖
Documentation
https://developer.visa.com/capabilities/vba/docs
📖
Documentation
https://developer.visa.com/capabilities/vmorc/docs
📖
Documentation
https://developer.visa.com/capabilities/visa_direct/docs
📖
Documentation
https://developer.visa.com/capabilities/atmlocator/docs
📖
Documentation
https://developer.visa.com/capabilities/vctc/docs

Specifications

Other Resources

OpenAPI Specification

visa-customer-rules-api-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: Foreign Exchange Rates Customer Rules API API
  description: Register consumer accounts and manage payment rules and thresholds that define which transaction types to block or alert on.
  version: '1'
servers:
- url: https://sandbox.api.visa.com
  description: Sandbox server
security: []
tags:
- name: Customer Rules API
  description: Register consumer accounts and manage payment rules and thresholds that define which transaction types to block or alert on.
paths:
  /vctc/customerrules/v1/consumertransactioncontrols:
    post:
      operationId: createCustomerRules
      summary: Create Customer Rules
      description: Registers a consumer's payment account to the VTC service and establishes the payment rules and thresholds that define which transaction types the consumer wants to block or receive alerts about.
      tags:
      - Customer Rules API
      requestBody:
        description: Customer rules configuration
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CustomerRulesRequest'
      responses:
        '200':
          description: Customer rules created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomerRulesResponse'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
    get:
      operationId: getCustomerRules
      summary: Get Customer Rules
      description: Retrieves the current transaction control rules configured for a registered consumer account.
      tags:
      - Customer Rules API
      parameters:
      - name: primaryAccountNumber
        in: query
        required: true
        description: Primary account number of the registered card
        schema:
          type: string
      responses:
        '200':
          description: Customer rules retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomerRulesResponse'
        '401':
          description: Unauthorized
        '404':
          description: No rules found for the specified account
    put:
      operationId: updateCustomerRules
      summary: Update Customer Rules
      description: Updates the transaction control rules for an existing registered consumer account.
      tags:
      - Customer Rules API
      requestBody:
        description: Updated customer rules configuration
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CustomerRulesRequest'
      responses:
        '200':
          description: Customer rules updated successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomerRulesResponse'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
    delete:
      operationId: deleteCustomerRules
      summary: Delete Customer Rules
      description: Removes transaction control rules and unregisters a consumer account from the VTC service.
      tags:
      - Customer Rules API
      parameters:
      - name: primaryAccountNumber
        in: query
        required: true
        description: Primary account number to deregister
        schema:
          type: string
      responses:
        '200':
          description: Customer rules deleted successfully
        '401':
          description: Unauthorized
        '404':
          description: Account not found
components:
  schemas:
    CustomerRulesResponse:
      type: object
      properties:
        primaryAccountNumber:
          type: string
          description: Primary account number
        status:
          type: string
          description: Registration status
        controls:
          type: array
          description: Active controls on the account
          items:
            $ref: '#/components/schemas/TransactionControl'
    CustomerRulesRequest:
      type: object
      required:
      - primaryAccountNumber
      properties:
        primaryAccountNumber:
          type: string
          description: Primary account number to register or update
        controls:
          type: array
          description: List of transaction controls to apply
          items:
            $ref: '#/components/schemas/TransactionControl'
    ErrorResponse:
      type: object
      properties:
        errorCode:
          type: string
          description: Machine-readable error code
        message:
          type: string
          description: Human-readable error description
    TransactionControl:
      type: object
      properties:
        controlType:
          type: string
          description: Type of transaction control
          enum:
          - TRANSACTION_AMOUNT
          - MERCHANT_CATEGORY
          - GEOGRAPHIC_LOCATION
          - TRANSACTION_TYPE
          - CHANNEL
        isDeclinedEnabled:
          type: boolean
          description: Whether to decline matching transactions
        isAlertEnabled:
          type: boolean
          description: Whether to send alerts for matching transactions
        merchantCategoryCodes:
          type: array
          description: MCC codes to control (applicable when controlType is MERCHANT_CATEGORY)
          items:
            type: string
        countryCodes:
          type: array
          description: Country codes to control (applicable when controlType is GEOGRAPHIC_LOCATION)
          items:
            type: string
        thresholdAmount:
          type: number
          format: double
          description: Threshold amount for amount-based controls
        transactionTypes:
          type: array
          description: Transaction types to control
          items:
            type: string
            enum:
            - ATM
            - ECOMMERCE
            - IN_STORE
            - INTERNATIONAL
x-tagGroups:
- name: API Reference
  tags:
  - Foreign Exchange Rates API