DEVELOPER

Merchant Boarding API Specification

Version 1.42

production
sandbox

Merchant Boarding API

application

Manage merchant enrollment applications

Get Authentication Token

post /oauth/token

The Authentication endpoint is used to retrieve the token needed to call the application endpoints. A token is granted when a user calls the Authentication endpoint and submits a matching Client ID and Client Secret pair. For more information about authentication, please refer to the Merchant Boarding API Integration Guide.

Request Schema
grant_type required
string
Example:
client_credentials

Loading...

scope required
string
Example:
all

Loading...

client_id required
string
Example:
example_sandbox

Loading...

client_secret required
string

Loading...

Example Request
{
  "grant_type": "client_credentials",
  "scope": "all",
  "client_id": "example_sandbox",
  "client_secret": "example"
}
Example Response
201 Returns Authentication Token Data

Create New Application

post /enroll/application

Create a new enrollment application by using a plan ID. For information about obtaining a plan ID, please refer to the Merchant Boarding API Integration Guide. Fields required to create and save a new application are identified by the Required attribute in this endpoint. Fields required to submit an application to Underwriting are identified by the Required attribute in the One-Click Create And Submit endpoint.

Request Schema
agent required
integer
Example:
12345

Loading...

applicationName required
string1 to 255 characters
Example:
Joe's Pizza Shop application for location #123 in Troy

Loading...

externalKey required
string^(?!.*/).*$
Minimum:
1
Example:
123abc

Loading...

plan required
object

Loading...

shipping
object

Loading...

principals
array

Loading...

business
object

Loading...

bankAccount
object

Loading...

epxHierarchy
object

Loading...

Example Request
validMinimalApplication
{
  "agent": 12345,
  "applicationName": "Joe's spaceage Stereo - Vermont",
  "externalKey": "0aa000a-000a-00a0-00a0-00000aa00a0",
  "plan": {
    "planId": 12345
  }
}
Example Response
201 Returns the created application.
400 Bad request
415 Unsupported media type response - Invalid content type
422 Invalid input

One-Click Create and Submit

post /enroll/one-click-submit-application

This endpoint is used to create a new processing application, validate, and submit it to Underwriting using a single endpoint.

Request Schema
agent required
integer
Example:
12345

Loading...

applicationName required
string1 to 255 characters
Example:
Joe's Pizza Shop application for location #123 in Troy

Loading...

externalKey required
string^(?!.*/).*$
Minimum:
1
Example:
123abc

Loading...

plan required
object

Loading...

shipping
object

Loading...

principals required
array

Loading...

business required
object

Loading...

bankAccount required
object

Loading...

Example Request
validApplication
{
  "agent": 12345,
  "applicationName": "Joe's spaceage Stereo - Vermont",
  "externalKey": "0aa000a-000a-00a0-00a0-00000aa00a0",
  "plan": {
    "planId": 12345,
    "equipmentCostToMerchant": 325.49,
    "accountSetupFee": 10.99,
    "discountFrequency": "Daily",
    "equipment": [
      {
        "equipmentId": 621,
        "quantity": 1
      },
      {
        "equipmentId": 809,
        "quantity": 3
      },
      {
        "equipmentId": 1054,
        "quantity": 2
      }
    ]
  },
  "shipping": {
    "shippingDestination": "DBA",
    "deliveryMethod": "Ground"
  },
  "principals": [
    {
      "firstName": "Joseph",
      "lastName": "Jackson",
      "socialSecurityNumber": "123456789",
      "driverLicenseNumber": "ABC1234567890",
      "driverLicenseIssuedState": "MI",
      "dateOfBirth": "1955-12-25",
      "phoneNumber": "1234567890",
      "email": "user@example.com",
      "street": "123 Selah Way",
      "street2": "Suite 123",
      "zipCode": "12345",
      "city": "South Burlington",
      "state": "VT",
      "equityOwnershipPercentage": 50,
      "title": "ceo",
      "isPersonalGuarantor": true
    },
    {
      "firstName": "Jeremy",
      "lastName": "Coelman",
      "socialSecurityNumber": "123456789",
      "dateOfBirth": "1977-12-25",
      "phoneNumber": "1234567890",
      "email": "user@example.com",
      "street": "3601 Finwood Drive",
      "zipCode": "12345",
      "city": "Red Bank",
      "state": "NJ",
      "equityOwnershipPercentage": 50,
      "title": "manager",
      "isPersonalGuarantor": false
    }
  ],
  "business": {
    "corporateName": "Joe's Spaceage Stereo",
    "dbaName": "Jo Jackson Spaceage Stereo",
    "businessType": "C",
    "industryType": "restaurant",
    "federalTaxIdNumber": "123567654",
    "federalTaxIdType": "EIN",
    "mcc": "0742",
    "phone": "1234567890",
    "email": "user@example.com",
    "websites": [
      {
        "url": "https://spaceagestereos.biz",
        "websiteCustomerServiceEmail": "customer-service-email@example.com",
        "websiteCustomerServicePhoneNumber": "1234567890"
      }
    ],
    "averageTicketAmount": 5000,
    "averageMonthlyVolume": 1250000,
    "highTicketAmount": 125000,
    "merchandiseServicesSold": "Audio components and services",
    "yearsInBusiness": 10,
    "monthsInBusiness": 10,
    "percentOfBusinessTransactions": {
      "cardSwiped": 65,
      "keyedCardPresentNotImprinted": 20,
      "mailOrPhoneOrder": 0,
      "internet": 15
    },
    "ebt": {
      "ebtFood": true,
      "ebtCash": false,
      "ebtAccountNumber": "test-account-12345"
    },
    "businessContact": {
      "firstName": "Roy",
      "lastName": "Martin",
      "socialSecurityNumber": "123456789",
      "dateOfBirth": "1947-11-05",
      "street": "828 Late Avenue",
      "street2": "",
      "zipCode": "12345",
      "city": "South Burington",
      "state": "VT",
      "phoneNumber": "1234567890",
      "email": "user@example.com"
    },
    "statementDeliveryMethod": "electronic",
    "businessAddress": {
      "dba": {
        "street": "1072 Clinton St",
        "city": "South Burlington",
        "state": "VT",
        "zipCode": "12345"
      },
      "corporate": {
        "street": "1447 Sun Valley Rd",
        "city": "South Burlington",
        "state": "VT",
        "zipCode": "12345"
      },
      "shipTo": {
        "street": "4735 Saint James Drive",
        "city": "South Burlington",
        "state": "VT",
        "zipCode": "12345"
      }
    }
  },
  "bankAccount": {
    "abaRouting": "000000001",
    "accountType": "checking",
    "demandDepositAccount": "9999999999999"
  }
}
Example Response
201 Returns created application and underwriting status.
400 Bad request
415 Unsupported media type response - Invalid content type.
422 Invalid input.

Get Application by External Key

get /enroll/application/key/{externalKey}

This endpoint is used to retrieve an existing application by referencing the external key associated with the application.

Parameters
externalKey required
string^(?!.*/).*$
Minimum:
1
Example:
0aa000a-000a-00a0-00a0-00000aa00a0

Loading...

Example Response
200 Returns an existing application
404 Application not found

Update Application

patch /enroll/application/key/{externalKey}

Update an existing application using the PATCH method.

Parameters
externalKey required
string^(?!.*/).*$
Minimum:
1
Example:
0aa000a-000a-00a0-00a0-00000aa00a0

Loading...

Request Schema
agent
integer
Example:
12345

Loading...

applicationName
string1 to 255 characters
Example:
Joe's Pizza Shop application for location #123 in Troy

Loading...

externalKey
string^(?!.*/).*$
Minimum:
1
Example:
123abc

Loading...

plan
object

Loading...

shipping
object

Loading...

principals
array

Loading...

business
object

Loading...

bankAccount
object

Loading...

epxHierarchy
object

Loading...

Example Request
{
  "applicationName": "Joe's spaceage Stereo - Redmond",
  "plan": {
    "equipment": [
      {
        "equipmentId": 621,
        "quantity": 1
      },
      {
        "equipmentId": 791,
        "quantity": 0
      },
      {
        "equipmentId": 809,
        "quantity": 3
      },
      {
        "equipmentId": 994,
        "quantity": 0
      },
      {
        "equipmentId": 1054,
        "quantity": 2
      }
    ],
    "equipmentCostToMerchant": 15,
    "accountSetupFee": 0.99
  },
  "principals": [
    {
      "street": "790 Selah Drive",
      "street2": "Suite 125",
      "city": "South Burlington",
      "state": "VT",
      "zipCode": "12345",
      "firstName": "Joseph Jr.",
      "lastName": "Jameson",
      "socialSecurityNumber": "123456789",
      "driverLicenseNumber": "ABC1234567891",
      "driverLicenseIssuedState": "GA",
      "dateOfBirth": "1955-12-25",
      "phoneNumber": "1234567890",
      "email": "user@example.com",
      "equityOwnershipPercentage": 40,
      "title": "owner",
      "isPersonalGuarantor": true
    },
    {
      "street": "3601 Finwood Drive",
      "street2": null,
      "city": "Red Bank",
      "state": "NJ",
      "zipCode": "12345",
      "firstName": "Jeremy",
      "lastName": "Coelman",
      "socialSecurityNumber": "123456789",
      "driverLicenseNumber": "ABC1234567891",
      "driverLicenseIssuedState": "GA",
      "dateOfBirth": "1977-12-25",
      "phoneNumber": "1234567890",
      "email": "user@example.com",
      "equityOwnershipPercentage": 50,
      "title": "manager",
      "isPersonalGuarantor": false
    }
  ]
}
Example Response
200 Returns updated application
404 Application not found response.
415 Unsupported media type response - Invalid content type
422 Validation error within request body

Get Application by MID

get /enroll/application/mid/{merchantId}

This endpoint is used to retrieve an existing application by referencing the Merchant ID (MID).

Parameters
merchantId required
string^\d*$
Minimum:
1
Example:
00000000001

Loading...

Example Response
200 Returns existing application
404 Application not found.

Update Application Pricing

patch /enroll/application/pricing/key/{externalKey}

The Update Application Pricing endpoint uses the PATCH method to give Partners the ability to edit pricing fields directly on applications. Please refer to the 'Pricing Field Conditions' section of the Merchant Boarding API Integration Guide for the field mapping conditions required to successfully update specific pricing field values. Once an application has been created, this endpoint can be leveraged to set customized values for applicable pricing fields without creating a new template. Any changes made using this endpoint will only affect the application specified by the external key and will not change the template.

Parameters
externalKey required
string^(?!.*/).*$
Minimum:
1
Example:
0aa000a-000a-00a0-00a0-00000aa00a0

Loading...

Request Schema
qualifiedRate
number
Example:
0.25

Loading...

amexQualifiedRate
number
Example:
0.25

Loading...

qualifiedTransactionFee
number
Example:
1.25

Loading...

midQualifiedBump
number
Example:
0.25

Loading...

nonQualifiedBump
number
Example:
0.25

Loading...

nonQualifiedTransactionFeeBump
number
Example:
1.25

Loading...

interchangeDuesAssessmentsBasisPoint
number
Example:
25

Loading...

amexInterchangeDuesAssessmentsBasisPoint
number
Example:
25

Loading...

ebtInterchangeDuesAssessmentsBasisPoint
number
Example:
25

Loading...

ebtQualifiedRate
number
Example:
0.25

Loading...

debitInterchangeDuesAssessmentsBasisPoint
number
Example:
25

Loading...

debitQualifiedRate
number
Example:
0.25

Loading...

qualifiedCheckCardRate
number
Example:
0.25

Loading...

qualifiedCheckCardTransactionFee
number
Example:
1.25

Loading...

rewardRate
string
Enum:
MQ
Q
20
30
40
50
60
70
80
90
95
Example:
Q

Loading...

accountSetupFee
number
Example:
15.5

Loading...

interchangeTransactionPassthroughCreditFee
number
Example:
1.25

Loading...

interchangeTransactionPassthroughCheckcardFee
number
Example:
1.25

Loading...

equipmentCostToMerchant
number
Default:
0
Example:
25

Loading...

pciFeeBillingFrequency
string
Default:
ANNUAL
Enum:
MONTHLY
ANNUAL
monthly
annual
Monthly
Annual
Example:
ANNUAL

Loading...

edgeFlatFee
number
Example:
1.25

Loading...

edgePercentFee
number
Example:
0.25

Loading...

enableAchDiscountFee
boolean
Example:
true

Loading...

enableInterchangeTransactionPassthroughFee
boolean
Example:
true

Loading...

enablePassthroughAssessment
boolean
Example:
false

Loading...

enableNetworkAccessBrandFees
boolean
Example:
true

Loading...

waiveTerminationFee
boolean
Example:
false

Loading...

additionalFees
object

Loading...

Example Request
validApplicationPricingPatchRequest
{
  "equipmentCostToMerchant": 20.5,
  "qualifiedRate": 0.69,
  "amexQualifiedRate": 0.12,
  "qualifiedTransactionFee": 0.99,
  "interchangeDuesAssessmentsBasisPoint": null,
  "amexInterchangeDuesAssessmentsBasisPoint": null,
  "ebtInterchangeDuesAssessmentsBasisPoint": null,
  "ebtQualifiedRate": null,
  "debitInterchangeDuesAssessmentsBasisPoint": null,
  "debitQualifiedRate": null,
  "qualifiedCheckCardRate": null,
  "qualifiedCheckCardTransactionFee": 1.5,
  "accountSetupFee": 10.12,
  "interchangeTransactionPassthroughCreditFee": 1.45,
  "interchangeTransactionPassthroughCheckcardFee": 2.45,
  "pciFeeBillingFrequency": "ANNUAL",
  "enableInterchangeTransactionPassthroughFee": false,
  "enablePassthroughAssessment": false,
  "enableNetworkAccessBrandFees": true,
  "waiveTerminationFee": false,
  "additionalFees": {
    "achTransactionFee": 0,
    "achBatchHeaderFee": 30,
    "achMonthlyBasicServiceFee": 1,
    "achNotificationOfChangeFee": 1,
    "achPerItemFee": 1,
    "achRejectFee": 1,
    "achReturnFee": 1,
    "achUnauthorizedReturnFee": 22,
    "batchHeader": 0,
    "chargeBackFee": 15,
    "debitGatewayFee": 0,
    "debitTransactionFee": 0,
    "ebtTransactionFee": 0,
    "gatewayTransactionFee": 0,
    "internetGatewayMonthlyFee": 0,
    "internetTransactionFee": 0,
    "mcclaimsFee": 0,
    "merchantClubFee": 14.95,
    "monthlyBasicServiceFee": 5,
    "monthlyDiscountFee": 0,
    "monthlyHostingFee": 0,
    "monthlyMinimumDiscountFee": 25,
    "monthlyMinimumFee": 0,
    "monthlyRegulatoryFee": 0,
    "monthlySoftwareFeePerDevice": 11.99,
    "processorAuthorizationFee": 0,
    "retrievalFee": 15,
    "returnItemSupportFee": 0,
    "travelAndEntertainmentDraftCaptureTransactionFee": 0,
    "wirelessMonthlyFee": 0,
    "wirelessTransactionFee": 0
  }
}
Example Response
200 Return updated pricing details for enrollment application.
400 Bad request with validation errors
404 Application not found error
415 Unsupported media type response - Invalid content type.
422 Schema validation error within request body response.

Validate Application Ready for Underwriting

get /enroll/application/validate/{externalKey}

This endpoint is used to validate that the data entered in the application meets the parameter requirements before submitting the application to underwriting.

Parameters
externalKey required
string^(?!.*/).*$
Minimum:
1
Example:
0aa000a-000a-00a0-00a0-00000aa00a0

Loading...

Example Response
200 Successful validation
404 Unable to locate application by external key
422 Validation error within request body response

Submit Application to Underwriting

put /enroll/application/submit/{externalKey}

This endpoint is used to submit a completed application. When the user submits an application, its data is validated before the submission process completes. If any data is invalid, the application will not be submitted. The response data object will include a description of the parameter requirements where the error occurred. It is recommended that you use the Application Validation endpoint before submitting to ensure all data will be accepted.

Parameters
externalKey required
string^(?!.*/).*$
Minimum:
1
Example:
0aa000a-000a-00a0-00a0-00000aa00a0

Loading...

Example Response
200 Successful application submission.
404 Unable to locate application by external key.
422 Validation error within request body response.

Send Application to Merchant

put /enroll/application/merchant/send/key/{externalKey}

This endpoint is used to send an application to a merchant for completion. The application is sent by external key.

Parameters
externalKey required
string^(?!.*/).*$
Minimum:
1
Example:
0aa000a-000a-00a0-00a0-00000aa00a0

Loading...

Example Response
200 Application successfully sent to merchant for completion
400 Invalid request
404 Unable to locate application by external key
422 Invalid input

Validate Application Ready for Merchant

get /enroll/application/merchant/validate/key/{externalKey}

Validate that an application is ready to be sent to the merchant by application external key.

Parameters
externalKey required
string^(?!.*/).*$
Minimum:
1
Example:
123123123-123-123123-123123-123

Loading...

Example Response
200 Successful response showing application exists and is ready for merchant
404 Application not found response.
422 Error response.
500 Internal server error response

Add Merchant Signature to Application

put /enroll/application/merchant-signature/key/{externalKey}

Add a merchant's signature to an existing application by referencing the application's external key.

Parameters
externalKey required
string^(?!.*/).*$
Minimum:
1
Example:
0aa000a-000a-00a0-00a0-00000aa00a0

Loading...

Request Schema
ipAddress required
string
Minimum:
1
Example:
127.0.0.1

Loading...

signatureDate required
string^\d{4}-\d{2}-\d{2}(?: \d{2}:\d{2}:\d{2})?(?:\.[0-9]\d{0,5})?(?:[+-][0-9]\d{0,5})?$
Minimum:
1
Example:
2020-01-01 01:01:01

Loading...

Example Request
validMerchantSignature
{
  "ipAddress": "127.0.0.1",
  "signatureDate": "2020-10-21 18:00:00-04"
}
Example Response
200 Return enrollment application with merchant signature details.
400 Bad request with validation errors response.
401 Unauthorized response - Need authorized permission to access the resource.
404 Application not found response
415 Unsupported media type response - Invalid content type
422 Validation error within request body response

Add Merchant Signature to Application & Submit

put /enroll/application/merchant-signature-submit/key/{externalKey}

Add a merchant's signature to an existing application by referencing the application's external key and submit the application to Underwriting for processing.

Parameters
externalKey required
string^(?!.*/).*$
Minimum:
1
Example:
0aa000a-000a-00a0-00a0-00000aa00a0

Loading...

Request Schema
ipAddress required
string
Minimum:
1
Example:
127.0.0.1

Loading...

signatureDate required
string^\d{4}-\d{2}-\d{2}(?: \d{2}:\d{2}:\d{2})?(?:\.[0-9]\d{0,5})?(?:[+-][0-9]\d{0,5})?$
Minimum:
1
Example:
2020-01-01 01:01:01

Loading...

Example Request
validMerchantSignature
{
  "ipAddress": "127.0.0.1",
  "signatureDate": "2020-10-21 18:00:00-04"
}
Example Response
200 Successful application submission with merchant signature response
400 Bad request with validation errors response.
401 Unauthorized response - Need authorized permission to access the resource.
404 Application not found
415 Unsupported media type response - Invalid content type.
422 Validation error within request body

One-Click Create & Submit With Signature

post /enroll/one-click-submit-merchant

Create enrollment application with a merchant signature and submit application for underwriting processing.

Request Schema
application required
object

Loading...

merchantSignature required
object

Loading...

Example Request
validOneClickSubmitAppWithMerchantSignatureRequestBody
{
  "application": {
    "agent": 12345,
    "applicationName": "Joe's spaceage Stereo - Vermont",
    "externalKey": "0aa000a-000a-00a0-00a0-00000aa00a0",
    "plan": {
      "planId": 12345,
      "equipmentCostToMerchant": 325.49,
      "accountSetupFee": 10.99,
      "discountFrequency": "Daily",
      "equipment": [
        {
          "equipmentId": 621,
          "quantity": 1
        },
        {
          "equipmentId": 809,
          "quantity": 3
        },
        {
          "equipmentId": 1054,
          "quantity": 2
        }
      ]
    },
    "shipping": {
      "shippingDestination": "DBA",
      "deliveryMethod": "Ground"
    },
    "principals": [
      {
        "firstName": "Joseph",
        "lastName": "Jackson",
        "socialSecurityNumber": "123456789",
        "driverLicenseNumber": "ABC1234567890",
        "driverLicenseIssuedState": "MI",
        "dateOfBirth": "1955-12-25",
        "phoneNumber": "1234567890",
        "email": "jojackson@msn.com",
        "street": "722 Selah Way",
        "street2": "Suite 125",
        "zipCode": "12345",
        "city": "South Burlington",
        "state": "VT",
        "equityOwnershipPercentage": 50,
        "title": "ceo",
        "isPersonalGuarantor": true
      },
      {
        "firstName": "Jeremy",
        "lastName": "Coelman",
        "socialSecurityNumber": "123123123",
        "dateOfBirth": "1977-12-25",
        "phoneNumber": "1234567890",
        "email": "jerrycole@spaceagestereo.com",
        "street": "3601 Finwood Drive",
        "zipCode": "12345",
        "city": "Red Bank",
        "state": "NJ",
        "equityOwnershipPercentage": 50,
        "title": "manager",
        "isPersonalGuarantor": false
      }
    ],
    "business": {
      "corporateName": "Joe's Spaceage Stereo",
      "dbaName": "Jo Jackson Spaceage Stereo",
      "businessType": "C",
      "industryType": "restaurant",
      "federalTaxIdNumber": "123567654",
      "federalTaxIdType": "EIN",
      "mcc": "0742",
      "phone": "1234567890",
      "email": "joejackson@spaceagestereo.com",
      "websites": [
        {
          "url": "https://spaceagestereos.biz",
          "websiteCustomerServiceEmail": "customer-service-email@example.com",
          "websiteCustomerServicePhoneNumber": "1234567890"
        }
      ],
      "averageTicketAmount": 5000,
      "averageMonthlyVolume": 1250000,
      "highTicketAmount": 125000,
      "percentOfBusinessTransactions": {
        "cardSwiped": 65,
        "keyedCardPresentNotImprinted": 20,
        "mailOrPhoneOrder": 0,
        "internet": 15
      },
      "ebt": {
        "ebtFood": true,
        "ebtCash": false,
        "ebtAccountNumber": "test-account-12345"
      },
      "businessContact": {
        "firstName": "Roy",
        "lastName": "Martin",
        "socialSecurityNumber": "123456789",
        "dateOfBirth": "1947-11-05",
        "street": "828 Late Avenue",
        "street2": "",
        "zipCode": "12345",
        "city": "South Burington",
        "state": "VT",
        "phoneNumber": "1234567890",
        "email": "roymartin@spaceagestereo.com"
      },
      "statementDeliveryMethod": "electronic",
      "businessAddress": {
        "dba": {
          "street": "1072 Clinton St",
          "city": "South Burlington",
          "state": "VT",
          "zipCode": "12345"
        },
        "corporate": {
          "street": "1447 Sun Valley Rd",
          "city": "South Burlington",
          "state": "VT",
          "zipCode": "12345"
        },
        "shipTo": {
          "street": "4735 Saint James Drive",
          "city": "South Burlington",
          "state": "VT",
          "zipCode": "12345"
        }
      }
    },
    "bankAccount": {
      "abaRouting": "000000001",
      "accountType": "checking",
      "demandDepositAccount": "000000000001"
    }
  },
  "merchantSignature": {
    "ipAddress": "127.0.0.1",
    "signatureDate": "2020-10-21 18:00:00-04"
  }
}
Example Response
200 Return newly created enrollment application with merchant signature details.
400 Bad request with validation errors response.
401 Unauthorized response - Need authorized permission to access the resource.
404 Application not found response
415 Unsupported media type response - Invalid content type.
422 Validation error within request body response

Get Underwriting Bank Details

get /enroll/application/underwriting/key/{externalKey}

Get information about the Underwriting bank related to an existing application.

Parameters
externalKey required
string^(?!.*/).*$
Minimum:
1
Example:
0aa000a-000a-00a0-00a0-00000aa00a0

Loading...

Example Response
200 Return underwriting related details for enrollment application.
403 Invalid agent client affiliation response.
404 Application not found error response.
500 Internal server error response.

Update Underwriting Bank

patch /enroll/application/underwriting/key/{externalKey}

Update Underwriting bank for an existing application. If an invalid bank is provided during the update operation, a default valid Underwriting bank is automatically assigned based on the eligibility criteria.

Parameters
externalKey required
string^(?!.*/).*$
Minimum:
1
Example:
0aa000a-000a-00a0-00a0-00000aa00a0

Loading...

Request Schema
underwritingBank required
string
Example:
TBB

Loading...

Example Request
validApplicationUnderwritingPatchRequest
{
  "underwritingBank": "BMO"
}
Example Response
200 Return updated underwriting related details for enrollment application.
400 Bad request response.
403 Invalid agent client affiliation response.
404 Application not found error response.
415 Unsupported media type response - Invalid content type.
422 Schema validation error within request body response.

Get Additional Information by Application

get /enroll/application/additional-info/key/{externalKey}

Get additional information associated with an application by application external key.

Parameters
externalKey required
string^(?!.*/).*$
Minimum:
1
Example:
0aa000a-000a-00a0-00a0-00000aa00a0

Loading...

Example Response
200 Return additional information for enrollment application.
403 Forbidden response.
404 Application not found error response.
500 Internal Server Error response.

Update Additional Information by Application

patch /enroll/application/additional-info/key/{externalKey}

Update additional information associated with an application by application external key.

Parameters
externalKey required
string^(?!.*/).*$
Minimum:
1
Example:
0aa000a-000a-00a0-00a0-00000aa00a0

Loading...

Request Schema
agentData
object

Loading...

acceptedPaymentTypes
object

Loading...

highRiskBusinessData
object

Loading...

achProcessing
object

Loading...

isAchProcessingEnabled
boolean
Example:
false

Loading...

Example Request
validApplicationAdditionalInformationPatchRequest
{
  "agentData": {
    "agentGroupId": 1
  },
  "acceptedPaymentTypes": {
    "americanExpress": {
      "accountNumber": "123-test-2344",
      "amexAnnualVolumeThresholdExceeded": false,
      "amexMonthlyVolume": 11111
    }
  },
  "highRiskBusinessData": {
    "businessTypeFlags": {
      "isCbd": false,
      "isCannabis": true,
      "isKratom": true,
      "isSexuallyExplicitProducts": true
    },
    "highRiskPercentOfBusinessTransactions": {
      "cbd": 10
    }
  },
  "achProcessing": {
    "achCompanyName": "Business Corp.",
    "achEntryDescription": "Back Office Conversion Entry",
    "achPercentOfBusinessTransactions": {
      "retail": 100,
      "internet": 0,
      "moto": 0,
      "other": 0
    },
    "achPercentOfCustomerProfile": {
      "consumer": 100,
      "business": 0,
      "government": 0
    },
    "achProcessingVolumeBreakdown": {
      "credit": {
        "highAmount": 101,
        "averageAmount": 100,
        "averageBatchVolume": 1000,
        "averageMonthlyCount": 1
      },
      "debit": {
        "highAmount": 101,
        "averageAmount": 100,
        "averageBatchVolume": 100,
        "averageMonthlyCount": 10
      }
    },
    "achTransactionFrequency": {
      "oneTime": 100,
      "recurring": 0
    },
    "standardEntryCodes": [
      "BOC"
    ],
    "naicsCode": "311224"
  }
}
Example Response
200 Return updated additional information for enrollment application.
400 Bad request response.
403 Forbidden response.
404 Application not found error response.
415 Unsupported media type response - Invalid content type.
422 Unprocessable entity error response.
500 Internal Server Error response.

Update Agent Information by Application

patch /application/agent-assign/key/{externalKey}

Update agent related information by application external key.

Parameters
externalKey required
string^(?!.*/).*$
Minimum:
1
Example:
0aa000a-000a-00a0-00a0-00000aa00a0

Loading...

Request Schema
agent required
integer
Example:
12345

Loading...

Example Request
validApplicationAgentInformationPatchRequest
{
  "agent": 11111
}
Example Response
200 Return updated enrollment application.
403 Forbidden response.
404 Application not found error response.
415 Invalid content type.
422 Validation errors.
500 Internal Server Error response.
©2025 North is a registered DBA of NorthAB, LLC. All rights reserved. North is a registered ISO of BMO Harris Bank N.A., Chicago, IL, Citizens Bank N.A., Providence, RI, The Bancorp Bank, Philadelphia, PA, FFB Bank, Fresno, CA, Wells Fargo Bank, N.A., Concord, CA, and PNC Bank, N.A.