NMI · Schema

Add processor

PaymentsPayment GatewayPayment ProcessingTokenizationRecurring BillingCustomer VaultFintechEmbedded PaymentsPayment Facilitation

Properties

Name Type Description
processorFields object The processor-specific fields.
descriptor object The descriptor fields.
currencies array The allowed currencies for the processor.
accountClassification string The processor account classification.
billingType string The processor billing type.
paymentTypes array The allowed payment types for the processor.
maxTicketAmount string The maximum amount for a single transaction run through this processor.
maxMonthlyVolume string The maximum total amount that can be run through this processor in a single month.
applyToAllCardType boolean Whether the maxMonthlyVolume and maxTicketAmount should apply to all payment methods through this processor or not.
avsCvvPreCheck string The AVS/CVV precheck method for the processor.
skipAvsCvv boolean Whether to enable skipping AVS/CVV or not.
enableDuplicateChecking boolean Whether to enable duplicate checking or not.
allowMerchantOverride boolean Whether to allow the merchant to ignore the duplicate check on a per-transaction basis or not.
duplicateTime string The amount of time in seconds to look back to check if a transaction is a duplicate.
requiredFields object The fields that are required to be populated for each transaction.
processorName string The name for the processor.
mcc string The Merchant Category Code.
serviceId string The ID of the processor platform you want to board.
merchantId string The merchant's Gateway ID.
faceConfiguration object The FACe configuration for the processor.
View JSON Schema on GitHub

JSON Schema

nmi-add-processor-request-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/nmi/json-schema/nmi-add-processor-request-schema.json",
  "title": "Add processor",
  "x-generated": "2026-11-10",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/nmi-processors-and-services-api-openapi.yml#/components/schemas/AddProcessorRequest",
  "allOf": [
    {
      "type": "object",
      "required": [
        "processorFields",
        "currencies",
        "paymentTypes",
        "serviceId",
        "accountClassification",
        "maxMonthlyVolume",
        "duplicateTime",
        "processorName",
        "mcc",
        "merchantId"
      ],
      "properties": {
        "processorFields": {
          "type": "object",
          "description": "The processor-specific fields."
        },
        "descriptor": {
          "type": "object",
          "description": "The descriptor fields.",
          "properties": {
            "descriptor": {
              "type": "string",
              "description": "The descriptor."
            },
            "phone": {
              "type": "string",
              "description": "The descriptor phone number."
            },
            "city": {
              "type": "string",
              "description": "The descriptor city."
            },
            "state": {
              "type": "string",
              "description": "The descriptor state."
            },
            "url": {
              "type": "string",
              "description": "The descriptor URL."
            }
          }
        },
        "currencies": {
          "type": "array",
          "description": "The allowed currencies for the processor.",
          "items": {
            "type": "string"
          }
        },
        "accountClassification": {
          "type": "string",
          "description": "The processor account classification."
        },
        "billingType": {
          "type": "string",
          "description": "The processor billing type."
        },
        "paymentTypes": {
          "type": "array",
          "description": "The allowed payment types for the processor.",
          "items": {
            "type": "string",
            "enum": [
              "visa",
              "mastercard",
              "amex",
              "discover",
              "diners",
              "jcb",
              "maestro"
            ]
          }
        },
        "maxTicketAmount": {
          "type": "string",
          "description": "The maximum amount for a single transaction run through this processor."
        },
        "maxMonthlyVolume": {
          "type": "string",
          "description": "The maximum total amount that can be run through this processor in a single month."
        },
        "applyToAllCardType": {
          "type": "boolean",
          "description": "Whether the maxMonthlyVolume and maxTicketAmount should apply to all payment methods through this processor or not."
        },
        "avsCvvPreCheck": {
          "type": "string",
          "description": "The AVS/CVV precheck method for the processor."
        },
        "skipAvsCvv": {
          "type": "boolean",
          "description": "Whether to enable skipping AVS/CVV or not."
        },
        "enableDuplicateChecking": {
          "type": "boolean",
          "description": "Whether to enable duplicate checking or not."
        },
        "allowMerchantOverride": {
          "type": "boolean",
          "description": "Whether to allow the merchant to ignore the duplicate check on a per-transaction basis or not."
        },
        "duplicateTime": {
          "type": "string",
          "description": "The amount of time in seconds to look back to check if a transaction is a duplicate."
        },
        "requiredFields": {
          "type": "object",
          "description": "The fields that are required to be populated for each transaction.",
          "properties": {
            "name": {
              "type": "boolean",
              "description": "Whether the name should be a required field or not."
            },
            "company": {
              "type": "boolean",
              "description": "Whether the company should be a required field or not."
            },
            "address": {
              "type": "boolean",
              "description": "Whether the address should be a required field or not."
            },
            "city": {
              "type": "boolean",
              "description": "Whether the city should be a required field or not."
            },
            "state": {
              "type": "boolean",
              "description": "Whether the state should be a required field or not."
            },
            "zip": {
              "type": "boolean",
              "description": "Whether the ZIP code should be a required field or not."
            },
            "country": {
              "type": "boolean",
              "description": "Whether the country should be a required field or not."
            },
            "phone": {
              "type": "boolean",
              "description": "Whether the phone should be a required field or not."
            },
            "email": {
              "type": "boolean",
              "description": "Whether the email should be a required field or not."
            },
            "driversLicense": {
              "type": "boolean",
              "description": "Whether the driver's license should be a required field or not."
            },
            "driversLicenseState": {
              "type": "boolean",
              "description": "Whether the driver's license state should be a required field or not."
            },
            "driversLicenseDob": {
              "type": "boolean",
              "description": "Whether the driver's license date of birth should be a required field or not."
            },
            "ssn": {
              "type": "boolean",
              "description": "Whether the SSN should be a required field or not."
            },
            "cvv": {
              "type": "string",
              "description": "The CVV requirement setting."
            },
            "fax": {
              "type": "boolean",
              "description": "Whether the fax should be a required field or not."
            },
            "url": {
              "type": "boolean",
              "description": "Whether the URL should be a required field or not."
            },
            "orderId": {
              "type": "boolean",
              "description": "Whether the order ID should be a required field or not."
            },
            "orderDescription": {
              "type": "boolean",
              "description": "Whether the order description should be a required field or not."
            },
            "poNumber": {
              "type": "boolean",
              "description": "Whether the PO number should be a required field or not."
            },
            "shipping": {
              "type": "boolean",
              "description": "Whether shipping should be a required field or not."
            },
            "tax": {
              "type": "boolean",
              "description": "Whether tax should be a required field or not."
            },
            "shippingName": {
              "type": "boolean",
              "description": "Whether the shipping name should be a required field or not."
            },
            "shippingAddress": {
              "type": "boolean",
              "description": "Whether the shipping address should be a required field or not."
            },
            "shippingCity": {
              "type": "boolean",
              "description": "Whether the shipping city should be a required field or not."
            },
            "shippingState": {
              "type": "boolean",
              "description": "Whether the shipping state should be a required field or not."
            },
            "shippingZip": {
              "type": "boolean",
              "description": "Whether the shipping ZIP code should be a required field or not."
            },
            "shippingCountry": {
              "type": "boolean",
              "description": "Whether the shipping country should be a required field or not."
            },
            "mdf1": {
              "type": "boolean",
              "description": "Whether Merchant Defined Field 1 should be a required field or not."
            },
            "mdf2": {
              "type": "boolean",
              "description": "Whether Merchant Defined Field 2 should be a required field or not."
            },
            "mdf3": {
              "type": "boolean",
              "description": "Whether Merchant Defined Field 3 should be a required field or not."
            },
            "mdf4": {
              "type": "boolean",
              "description": "Whether Merchant Defined Field 4 should be a required field or not."
            },
            "mdf5": {
              "type": "boolean",
              "description": "Whether Merchant Defined Field 5 should be a required field or not."
            },
            "mdf6": {
              "type": "boolean",
              "description": "Whether Merchant Defined Field 6 should be a required field or not."
            },
            "mdf7": {
              "type": "boolean",
              "description": "Whether Merchant Defined Field 7 should be a required field or not."
            },
            "mdf8": {
              "type": "boolean",
              "description": "Whether Merchant Defined Field 8 should be a required field or not."
            },
            "mdf9": {
              "type": "boolean",
              "description": "Whether Merchant Defined Field 9 should be a required field or not."
            },
            "mdf10": {
              "type": "boolean",
              "description": "Whether Merchant Defined Field 10 should be a required field or not."
            },
            "mdf11": {
              "type": "boolean",
              "description": "Whether Merchant Defined Field 11 should be a required field or not."
            },
            "mdf12": {
              "type": "boolean",
              "description": "Whether Merchant Defined Field 12 should be a required field or not."
            },
            "mdf13": {
              "type": "boolean",
              "description": "Whether Merchant Defined Field 13 should be a required field or not."
            },
            "mdf14": {
              "type": "boolean",
              "description": "Whether Merchant Defined Field 14 should be a required field or not."
            },
            "mdf15": {
              "type": "boolean",
              "description": "Whether Merchant Defined Field 15 should be a required field or not."
            },
            "mdf16": {
              "type": "boolean",
              "description": "Whether Merchant Defined Field 16 should be a required field or not."
            },
            "mdf17": {
              "type": "boolean",
              "description": "Whether Merchant Defined Field 17 should be a required field or not."
            },
            "mdf18": {
              "type": "boolean",
              "description": "Whether Merchant Defined Field 18 should be a required field or not."
            },
            "mdf19": {
              "type": "boolean",
              "description": "Whether Merchant Defined Field 19 should be a required field or not."
            },
            "mdf20": {
              "type": "boolean",
              "description": "Whether Merchant Defined Field 20 should be a required field or not."
            }
          }
        },
        "processorName": {
          "type": "string",
          "description": "The name for the processor."
        },
        "mcc": {
          "type": "string",
          "description": "The Merchant Category Code."
        },
        "serviceId": {
          "type": "string",
          "description": "The ID of the processor platform you want to board."
        },
        "merchantId": {
          "type": "string",
          "description": "The merchant's Gateway ID."
        },
        "faceConfiguration": {
          "type": "object",
          "description": "The FACe configuration for the processor."
        }
      }
    }
  ]
}

Work with this as data

Every JSON Schema 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 schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • 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 JSON Schema
curl "https://apis.io/api/v1/json-schemas/nmi-add-processor-request"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

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