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

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/visa-customer-rules-api-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

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