NMI · Schema

ACH - Credit

PaymentsPayment GatewayPayment ProcessingTokenizationRecurring BillingCustomer VaultFintechEmbedded PaymentsPayment Facilitation
View JSON Schema on GitHub

JSON Schema

nmi-achcredit-request-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/nmi/main/json-schema/nmi-achcredit-request-schema.json",
  "title": "ACH - Credit",
  "x-generated": "2026-10-14",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/nmi-payments-openapi.yml#/components/schemas/ACHCreditRequest",
  "allOf": [
    {
      "type": "object",
      "required": [
        "type",
        "checkname",
        "checkaba",
        "checkaccount",
        "payment",
        "security_key"
      ],
      "properties": {
        "security_key": {
          "$ref": "#/$defs/SecurityKey"
        },
        "type": {
          "type": "string",
          "enum": [
            "credit"
          ],
          "description": "The type of transaction to be processed. Note that credits need to be enabled."
        },
        "payment": {
          "type": "string",
          "description": "The type of payment.",
          "enum": [
            "check",
            "cash"
          ]
        }
      }
    },
    {
      "additionalProperties": {
        "type": "string",
        "description": "Up to 20 `merchant_defined_field_#` are allowed."
      }
    },
    {
      "$ref": "#/$defs/ACH"
    },
    {
      "$ref": "#/$defs/Amount"
    },
    {
      "$ref": "#/$defs/BaseTransaction"
    },
    {
      "type": "object",
      "properties": {
        "social_security_number": {
          "type": "string",
          "description": "Customer's social security number, checked against bad check writers database if check verification is enabled."
        }
      }
    },
    {
      "$ref": "#/$defs/SignatureImage"
    }
  ],
  "$defs": {
    "ACH": {
      "type": "object",
      "properties": {
        "checkname": {
          "type": "string",
          "description": "The name on the customer's ACH account."
        },
        "checkaba": {
          "type": "string",
          "minLength": 9,
          "maxLength": 9,
          "description": "The customer's bank routing number."
        },
        "checkaccount": {
          "type": "string",
          "description": "The customer's bank account number."
        },
        "account_holder_type": {
          "type": "string",
          "enum": [
            "business",
            "personal"
          ],
          "description": "The type of ACH account the customer has."
        },
        "account_type": {
          "type": "string",
          "enum": [
            "checking",
            "savings"
          ],
          "description": "The type of ACH account the customer has."
        },
        "sec_code": {
          "type": "string",
          "enum": [
            "PPD",
            "WEB",
            "TEL",
            "CCD"
          ],
          "description": "The Standard Entry Class code of the ACH transaction."
        }
      }
    },
    "Amount": {
      "type": "object",
      "properties": {
        "amount": {
          "type": "string",
          "description": "Total amount to be charged.\n  \nFormat: `x.xx`"
        }
      }
    },
    "BaseTransaction": {
      "allOf": [
        {
          "type": "object",
          "properties": {
            "payment_token": {
              "type": "string",
              "description": "The tokenized version of the customer's card or check information, generated by the [Payment Component](../docs/payment-component) (npm packages / [Gateway.js](https://secure.networkmerchants.com/merchants/resources/integration/integration_portal.php#gjs_methodology)) and usable only once. Existing integrations may also supply a token from [Collect.js](https://secure.networkmerchants.com/merchants/resources/integration/integration_portal.php#cjs_methodology)."
            },
            "transaction_session_id": {
              "type": "string",
              "minLength": 32,
              "maxLength": 32,
              "description": "A single use session ID used by Kount to link the transaction and Data Collector information together.\n\n* Should be generated every time a payment form is loaded by the cardholder.\n* Should be random/unpredictable (do not use sequential IDs).\n* Should not be reused within a 30 day period.\n\nThis can be used with [Collect.js](https://secure.networkmerchants.com/merchants/resources/integration/integration_portal.php#cjs_methodology) or the Payment API when using the [Kount DDC with Gateway.js](https://secure.networkmerchants.com/merchants/resources/integration/integration_portal.php#gjs_methodology).\n\nFormat: `alphanumeric`"
            },
            "applepay_payment_data": {
              "type": "string",
              "description": "The encrypted token created when integration directly to the Apple Pay SDK."
            },
            "googlepay_payment_data": {
              "type": "string",
              "description": "The encrypted token created when [integration directly to the Google Pay SDK](https://secure.networkmerchants.com/merchants/resources/integration/integration_portal.php#googlepay_variables)."
            },
            "surcharge": {
              "type": "string",
              "description": "Surcharge amount.\n  \nFormat: `x.xx`"
            },
            "convenience_fee": {
              "type": "string",
              "description": "Convenience fee amount.\n  \nFormat: `x.xx`"
            },
            "misc_fee": {
              "type": "string",
              "description": "Miscellaneous fee amount.\n  \nFormat: `x.xx`"
            },
            "misc_fee_name": {
              "type": "string",
              "description": "Custom miscellaneous fee name.\n  \nDefault: `Miscellaneous Fee`"
            },
            "tip": {
              "type": "number",
              "description": "The final tip amount, included in the transaction, associated with the purchase.\n  \nFormat: `x.xx`"
            },
            "currency": {
              "type": "string",
              "description": "The transaction currency.\n  \nFormat: `ISO 4217`"
            },
            "processor_id": {
              "type": "string",
              "description": "If using Multiple MIDs, route to this processor (*processor_id* is obtained under Settings → Transaction Routing in the Control Panel)."
            },
            "dup_seconds": {
              "type": "integer",
              "maximum": 7862400,
              "description": "Sets the time in seconds for duplicate transaction checking on supported processors. Set to *0* to disable duplicate checking."
            }
          }
        },
        {
          "$ref": "#/$defs/Descriptor"
        },
        {
          "type": "object",
          "properties": {
            "billing_method": {
              "type": "string",
              "enum": [
                "initial_recurring",
                "recurring",
                "installment"
              ],
              "description": "Recurring or installment classification for the processor.\n\n- `initial_recurring`: First transaction in a recurring sequence only.\n- `recurring`: Later charges in that sequence.\n- `installment`: Installment transactions; use `billing_number` and `billing_total` on supported processors.\n\nWhich values apply depends on the processor."
            },
            "billing_number": {
              "type": "integer",
              "minimum": 0,
              "maximum": 99,
              "description": "Specify installment billing number, on supported processors. For use when `billing_method` is set to \"installment\"."
            },
            "billing_total": {
              "type": "string",
              "description": "Specify installment billing total on supported processors. For use when `billing_method` is set to \"installment\"."
            },
            "order_template": {
              "type": "string",
              "description": "Order template ID."
            },
            "order_description": {
              "type": "string",
              "description": "Order description."
            },
            "orderid": {
              "type": "string",
              "description": "Order Id."
            },
            "ipaddress": {
              "type": "string",
              "description": "IP address of cardholder, this field is recommended.\n  \nFormat: `xxx.xxx.xxx.xxx`"
            }
          }
        },
        {
          "type": "object",
          "properties": {
            "first_name": {
              "type": "string",
              "description": "Cardholder's first name."
            },
            "last_name": {
              "type": "string",
              "description": "Cardholder's last name"
            },
            "company": {
              "type": "string",
              "description": "Cardholder's company"
            },
            "address1": {
              "type": "string",
              "description": "Card billing address"
            },
            "address2": {
              "type": "string",
              "description": "Card billing address, line 2"
            },
            "city": {
              "type": "string",
              "description": "Card billing city"
            },
            "state": {
              "type": "string",
              "description": "Card billing state.\n  \nFormat: `CC`"
            },
            "zip": {
              "type": "string",
              "description": "Card billing zip code"
            },
            "country": {
              "type": "string",
              "description": "Card billing country. *Country codes are as shown in ISO 3166-1 alpha-2*.\n  \nFormat: `CC`"
            },
            "phone": {
              "type": "string",
              "description": "Billing phone number"
            },
            "fax": {
              "type": "string",
              "description": "Billing fax number"
            },
            "email": {
              "type": "string",
              "format": "email",
              "description": "Billing email address"
            }
          }
        },
        {
          "$ref": "#/$defs/DriversLicense"
        },
        {
          "$ref": "#/$defs/Shipping"
        },
        {
          "$ref": "#/$defs/MerchantDefinedField"
        },
        {
          "type": "object",
          "properties": {
            "customer_receipt": {
              "type": "string",
              "enum": [
                "true",
                "false"
              ],
              "description": "If set to true, when the customer is charged, they will be sent a transaction receipt."
            },
            "cardholder_auth": {
              "type": "string",
              "enum": [
                "verified",
                "attempted"
              ],
              "description": "Set 3D Secure condition. Value used to determine E-commerce indicator (ECI).\n  \n**Required for 3D Secure transactions**"
            },
            "cavv": {
              "type": "string",
              "description": "Cardholder authentication verification value.\n  \nFormat: `base64 encoded` **Required for 3D Secure transactions**"
            },
            "xid": {
              "type": "string",
              "description": "Cardholder authentication transaction id.\n  \nFormat: `base64 encoded` **Required for 3D Secure transactions**"
            },
            "three_ds_version": {
              "type": "string",
              "enum": [
                "2.0.0",
                "2.2.0"
              ],
              "description": "3DSecure version. **Required for 3D Secure transactions**"
            },
            "directory_server_id": {
              "type": "string",
              "description": "Directory Server Transaction ID. May be provided as part of 3DSecure 2.0 authentication.\n  \nFormat: `xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx`"
            },
            "source_transaction_id": {
              "type": "string",
              "description": "Specifies a payment gateway transaction id in order to associate payment information with a Subscription or Customer Vault record. Must be set with a 'recurring' or 'customer_vault' action."
            },
            "pinless_debit_override": {
              "type": "string",
              "description": "Set to 'Y' if you have Pinless Debit Conversion enabled but want to opt out for this transaction. Feature applies to selected processors only."
            }
          }
        },
        {
          "type": "object",
          "properties": {
            "recurring": {
              "type": "string",
              "enum": [
                "add_subscription"
              ],
              "description": "**Recurring Field:** Recurring action to be processed.",
              "x-group-key": "Recurring"
            },
            "plan_id": {
              "type": "string",
              "description": "**Recurring Field:** Create a subscription tied to a Plan ID if the sale/auth transaction is successful.\n\nRequired when **recurring** variable is set to `add_subscription`",
              "x-group-key": "Recurring"
            },
            "plan_payments": {
              "type": "integer",
              "description": "**Recurring Field:** The number of payments before the recurring plan is complete.\n\nNote: Use '0' for until canceled\n\nRequired when **recurring** variable is set to `add_subscription`",
              "x-group-key": "Recurring"
            },
            "plan_amount": {
              "type": "number",
              "description": "**Recurring Field:** The plan amount to be charged each billing cycle.\n\nFormat: `x.xx`\n\nRequired when **recurring** variable is set to `add_subscription`",
              "x-group-key": "Recurring"
            },
            "month_frequency": {
              "type": "integer",
              "minimum": 1,
              "maximum": 24,
              "description": "**Recurring Field:** How often, in months, to charge the customer. Cannot be set with 'day_frequency'. Must be set with 'day_of_month'. \n\nRequired when **recurring** variable is set to `add_subscription`",
              "x-group-key": "Recurring"
            },
            "day_of_month": {
              "type": "integer",
              "minimum": 1,
              "maximum": 31,
              "description": "**Recurring Field:** The day that the customer will be charged. Cannot be set with 'day_frequency'. Must be set with 'month_frequency'. For months without 29, 30, or 31 days, the charge will be on the last day\n\nRequired when **recurring** variable is set to `add_subscription`",
              "x-group-key": "Recurring"
            },
            "day_frequency": {
              "type": "integer",
              "description": "**Recurring Field:** How often, in days, to charge the customer. Cannot be set with 'month_frequency' or 'day_of_month'.\n\nRequired when **recurring** variable is set to `add_subscription`",
              "x-group-key": "Recurring"
            },
            "start_date": {
              "type": "string",
              "format": "date",
              "description": "**Recurring Field:** The first day that the customer will be charged.\n\nFormat: `YYYYMMDD`\n\nRequired when **recurring** variable is set to `add_subscription`",
              "x-group-key": "Recurring"
            }
          }
        },
        {
          "$ref": "#/$defs/CustomerVaultFields"
        },
        {
          "$ref": "#/$defs/StoredCredentialsFields"
        },
        {
          "$ref": "#/$defs/LevelThreeOrderFields"
        },
        {
          "$ref": "#/$defs/LevelThreeLineItemDetailFields"
        },
        {
          "$ref": "#/$defs/PaymentFacilitatorFields"
        }
      ]
    },
    "CustomerVaultFields": {
      "type": "object",
      "properties": {
        "customer_vault": {
          "type": "string",
          "enum": [
            "add_customer",
            "update_customer"
          ],
          "description": "Associate payment information with a Customer Vault record if the transaction is successful.",
          "x-group-key": "Customer Vault"
        },
        "customer_vault_id": {
          "type": "string",
          "description": "Specifies a Customer Vault id. If not set, the payment gateway will randomly generate a Customer Vault id.",
          "x-group-key": "Customer Vault"
        }
      }
    },
    "Descriptor": {
      "type": "object",
      "properties": {
        "descriptor": {
          "type": "string",
          "description": "Set payment descriptor on supported processors."
        },
        "descriptor_phone": {
          "type": "string",
          "description": "Set payment descriptor phone on supported processors."
        },
        "descriptor_address": {
          "type": "string",
          "description": "Set payment descriptor address on supported processors."
        },
        "descriptor_city": {
          "type": "string",
          "description": "Set payment descriptor city on supported processors."
        },
        "descriptor_state": {
          "type": "string",
          "description": "Set payment descriptor state on supported processors."
        },
        "descriptor_postal": {
          "type": "string",
          "description": "Set payment descriptor postal code on supported processors."
        },
        "descriptor_country": {
          "type": "string",
          "description": "Set payment descriptor country on supported processors."
        },
        "descriptor_mcc": {
          "type": "string",
          "description": "Set payment descriptor mcc on supported processors."
        },
        "descriptor_merchant_id": {
          "type": "string",
          "description": "Set payment descriptor merchant id on supported processors."
        },
        "descriptor_url": {
          "type": "string",
          "description": "Set payment descriptor url on supported processors."
        }
      }
    },
    "DriversLicense": {
      "type": "object",
      "properties": {
        "drivers_license_number": {
          "type": "string",
          "description": "Driver's license number."
        },
        "drivers_license_dob": {
          "type": "string",
          "description": "Driver's license date of birth."
        },
        "drivers_license_state": {
          "type": "string",
          "description": "The state that issued the customer's driver's license."
        }
      }
    },
    "LevelThreeLineItemDetailFields": {
      "type": "object",
      "properties": {
        "item_product_code_1": {
          "type": "string",
          "description": "**Level III - Line Item:** Merchant defined description code of the item being purchased.\n\n*Up to 99 sets of item_* fields are allowed.*",
          "x-group-key": "Level III - Line Item(s)"
        },
        "item_description_1": {
          "type": "string",
          "description": "**Level III - Line Item:** Description of the item(s) being supplied.",
          "x-group-key": "Level III - Line Item(s)"
        },
        "item_commodity_code_1": {
          "type": "string",
          "description": "**Level III - Line Item:** International description code of the individual good or service being supplied. The acquirer or processor will provide a list of current codes.",
          "x-group-key": "Level III - Line Item(s)"
        },
        "item_unit_of_measure_1": {
          "type": "string",
          "description": "**Level III - Line Item:** Code for units of measurement as used in international trade. Default - `EACH`.",
          "x-group-key": "Level III - Line Item(s)"
        },
        "item_unit_cost_1": {
          "type": "number",
          "description": "**Level III - Line Item:** Unit cost of item purchased, may contain up to 4 decimal places.",
          "x-group-key": "Level III - Line Item(s)"
        },
        "item_quantity_1": {
          "type": "integer",
          "description": "**Level III - Line Item:** Quantity of the item(s) being purchased. Default - `1`.",
          "x-group-key": "Level III - Line Item(s)"
        },
        "item_total_amount_1": {
          "type": "number",
          "description": "**Level III - Line Item:** Purchase amount associated with the item. Defaults to: 'item_unit_cost_#' x 'item_quantity_#' rounded to the nearest penny.",
          "x-group-key": "Level III - Line Item(s)"
        },
        "item_tax_amount_1": {
          "type": "number",
          "description": "**Level III - Line Item:** Amount of sales tax on specific item. Amount should not be included in 'total_amount_#'. Default - `0.00`.\n\nFormat: `x.xx`",
          "x-group-key": "Level III - Line Item(s)"
        },
        "item_tax_rate_1": {
          "type": "number",
          "description": "**Level III - Line Item:** Percentage representing the value-added tax applied. Default - `0.00`.\n\nFormat: `x.xx`",
          "x-group-key": "Level III - Line Item(s)"
        },
        "item_discount_amount_1": {
          "type": "number",
          "description": "**Level III - Line Item:** Discount amount which can have been applied by the merchant on the sale of the specific item. Amount should not be included in 'total_amount_#'.",
          "x-group-key": "Level III - Line Item(s)"
        },
        "item_discount_rate_1": {
          "type": "number",
          "description": "**Level III - Line Item:** Discount rate for the line item. Default - `0.00`.\n\nFormat: `x.xx`",
          "x-group-key": "Level III - Line Item(s)"
        },
        "item_tax_type_1": {
          "type": "string",
          "description": "**Level III - Line Item:** Type of value-added taxes that are being used.",
          "x-group-key": "Level III - Line Item(s)"
        },
        "item_alternate_tax_id_1": {
          "type": "string",
          "description": "**Level III - Line Item:** Tax identification number of the merchant that reported the alternate tax amount.",
          "x-group-key": "Level III - Line Item(s)"
        }
      }
    },
    "LevelThreeOrderFields": {
      "type": "object",
      "properties": {
        "shipping": {
          "type": "number",
          "description": "**Level II/III - Order Field:** Freight or shipping amount included in the transaction amount. Default - `0.00`.\n\nFormat: `x.xx`",
          "x-group-key": "Level III - Order"
        },
        "tax": {
          "type": "number",
          "description": "**Level II/III - Order Field:** The sales tax, included in the transaction amount, associated with the purchase. Setting tax equal to '-1' indicates an order that is exempt from sales tax. Default - `0.00`.\n\nFormat: `x.xx`",
          "x-group-key": "Level III - Order"
        },
        "ponumber": {
          "type": "string",
          "description": "**Level II/III - Order Field:** Purchase order number",
          "x-group-key": "Level III - Order"
        },
        "orderid": {
          "type": "string",
          "description": "**Level III - Order Field:** Identifier assigned by the merchant. This defaults to gateway transaction id.",
          "x-group-key": "Level III - Order"
        },
        "shipping_country": {
          "type": "string",
          "description": "**Level III - Order Field:** Shipping country (e.g. US).\n \nFormat: `CC` - ISO 3166-1 alpha-2",
          "x-group-key": "Level III - Order"
        },
        "shipping_postal": {
          "type": "string",
          "description": "**Level III - Order Field:** Postal/ZIP code of the address where purchased goods will be delivered. This field can be identical to the 'ship_from_postal' if the customer is present and takes immediate possession of the goods.",
          "x-group-key": "Level III - Order"
        },
        "ship_from_postal": {
          "type": "string",
          "description": "**Level III - Order Field:** Postal/ZIP code of the address from where purchased goods are being shipped, defaults to merchant profile postal code.",
          "x-group-key": "Level III - Order"
        },
        "summary_commodity_code": {
          "type": "string",
          "description": "**Level III - Order Field:** 4 character international description code of the overall goods or services being supplied. The acquirer or processor will provide a list of current codes.",
          "x-group-key": "Level III - Order"
        },
        "duty_amount": {
          "type": "number",
          "description": "**Level III - Order Field:** Amount included in the transaction amount associated with the import of purchased goods. Default - `0.00`.\n\nFormat: `x.xx`",
          "x-group-key": "Level III - Order"
        },
        "discount_amount": {
          "type": "number",
          "description": "**Level III - Order Field:** Amount included in the transaction amount of any discount applied to complete order by the merchant. Default - `0.00`.\n\nFormat: `x.xx`",
          "x-group-key": "Level III - Order"
        },
        "national_tax_amount": {
          "type": "number",
          "description": "**Level III - Order Field:** The national tax amount included in the transaction amount. Default - `0.00`.\n\nFormat: `x.xx`",
          "x-group-key": "Level III - Order"
        },
        "alternate_tax_amount": {
          "type": "number",
          "description": "**Level III - Order Field:** Second tax amount included in the transaction amount in countries where more than one type of tax can be applied to the purchases. Default - `0.00`.\n\nFormat: `x.xx`",
          "x-group-key": "Level III - Order"
        },
        "alternate_tax_id": {
          "type": "string",
          "description": "**Level III - Order Field:** Tax identification number of the merchant that reported the alternate tax amount.",
          "x-group-key": "Level III - Order"
        },
        "vat_tax_amount": {
          "type": "number",
          "description": "**Level III - Order Field:** Contains the amount of any value added taxes which can be associated with the purchased item. Default - `0.00`.\n\nFormat: `x.xx`",
          "x-group-key": "Level III - Order"
        },
        "vat_tax_rate": {
          "type": "number",
          "description": "**Level III - Order Field:** Contains the tax rate used to calculate the sales tax amount appearing. Can contain up to 2 decimal places, e.g. 1% = 1.00. Default - `0.00`.\n\nFormat: `x.xx`",
          "x-group-key": "Level III - Order"
        },
        "vat_invoice_reference_number": {
          "type": "string",
          "description": "**Level III - Order Field:** Invoice number that is associated with the VAT invoice.",
          "x-group-key": "Level III - Order"
        },
        "customer_vat_registration": {
          "type": "string",
          "description": "**Level III - Order Field:** Value added tax registration number supplied by the cardholder.",
          "x-group-key": "Level III - Order"
        },
        "merchant_vat_registration": {
          "type": "string",
          "description": "**Level III - Order Field:** Government assigned tax identification number of the merchant for whom the goods or services were purchased from.",
          "x-group-key": "Level III - Order"
        },
        "order_date": {
          "type": "string",
          "format": "date",
          "description": "**Level III - Order Field:** Purchase order date, defaults to the date of the transaction.\n\nFormat: `YYMMDD`",
          "x-group-key": "Level III - Order"
        }
      }
    },
    "MerchantDefinedField": {
      "type": "object",
      "properties": {
        "merchant_defined_field_1": {
          "type": "string",
          "description": "Merchant defined field. You can pass custom information in up to 20 fields.\n\nFormat: `merchant_defined_field_1=Value1`, `merchant_defined_field_2=Value2`, etc..."
        }
      }
    },
    "PaymentFacilitatorFields": {
      "type": "object",
      "properties": {
        "payment_facilitator_id": {
          "type": "string",
          "description": "**Payment Facilitator:** Payment Facilitator/Aggregator/ISO's ID Number",
          "x-group-key": "Payment Facilitator"
        },
        "submerchant_id": {
          "type": "string",
          "description": "**Payment Facilitator:** Sub-merchant Account ID",
          "x-group-key": "Payment Facilitator"
        },
        "submerchant_name": {
          "type": "string",
          "description": "**Payment Facilitator:** Sub-merchant's Name",
          "x-group-key": "Payment Facilitator"
        },
        "submerchant_address": {
          "type": "string",
          "description": "**Payment Facilitator:** Sub-merchant's Address",
          "x-group-key": "Payment Facilitator"
        },
        "submerchant_city": {
          "type": "string",
          "description": "**Payment Facilitator:** Sub-merchant's City",
          "x-group-key": "Payment Facilitator"
        },
        "submerchant_state": {
          "type": "string",
          "description": "**Payment Facilitator:** Sub-merchant's State",
          "x-group-key": "Payment Facilitator"
        },
        "submerchant_postal": {
          "type": "string",
          "description": "**Payment Facilitator:** Sub-merchant's Zip/Postal Code",
          "x-group-key": "Payment Facilitator"
        },
        "submerchant_country": {
          "type": "string",
          "description": "**Payment Facilitator:** Sub-merchant's Country",
          "x-group-key": "Payment Facilitator"
        },
        "submerchant_phone": {
          "type": "string",
          "description": "**Payment Facilitator:** Sub-merchant's Phone Number",
          "x-group-key": "Payment Facilitator"
        },
        "submerchant_email": {
          "type": "string",
          "format": "email",
          "description": "**Payment Facilitator:** Sub-merchant's Email Address",
          "x-group-key": "Payment Facilitator"
        }
      }
    },
    "SecurityKey": {
      "type": "string",
      "description": "API Security Key assigned to a merchant account. New keys can be generated from the merchant control panel in Settings > Security Keys"
    },
    "Shipping": {
      "type": "object",
      "properties": {
        "shipping_firstname": {
          "type": "string",
          "description": "Shipping first name"
        },
        "shipping_lastname": {
          "type": "string",
          "description": "Shipping last name"
        },
        "shipping_company": {
          "type": "string",
          "description": "Shipping company"
        },
        "shipping_address1": {
          "type": "string",
          "description": "Shipping address"
        },
        "shipping_address2": {
          "type": "string",
          "description": "Shipping address, line 2"
        },
        "shipping_city": {
          "type": "string",
          "description": "Shipping city"
        },
        "shipping_state": {
          "type": "string",
          "description": "Shipping state.\n  \nFormat: `CC`"
        },
        "shipping_zip": {
          "type": "string",
          "description": "Shipping zip code"
        },
        "shipping_country": {
          "type": "string",
          "description": "Shipping country. *Country codes are as shown in ISO 3166-1 alpha-2*.\n  \nFormat: `CC`"
        },
        "shipping_email": {
          "type": "string",
          "format": "email",
          "description": "Shipping email address"
        }
      }
    },
    "SignatureImage": {
      "type": "object",
      "properties": {
        "signature_image": {
          "type": "string",
          "description": "Cardholder signature image.\n  \nFormat: `base64 encoded raw PNG image. (16kiB maximum)`"
        }
      }
    },
    "StoredCredentialsFields": {
      "type": "object",
      "properties": {
        "initiated_by": {
          "type": "string",
          "enum": [
            "customer",
            "merchant"
          ],
          "description": "**Stored Credentials (CIT/MIT):** Who initiated the transaction."
        },
        "initial_transaction_id": {
          "type": "string",
          "description": "**Stored Credentials (CIT/MIT):** Original payment gateway transaction id."
        },
        "stored_credential_indicator": {
          "type": "string",
          "enum": [
            "stored",
            "used"
          ],
          "description": "**Stored Credentials (CIT/MIT):** The indicator of the stored credential.\n\nUse **'stored'** when processing the initial transaction

# --- truncated at 32 KB (32 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/nmi/refs/heads/main/json-schema/nmi-achcredit-request-schema.json

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-achcredit-request"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

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

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.