NAV Navbar

Introduction

The ISO Amp API is a RESTful API for integrating with the ISO Amp tool. The examples use the domain example.com. Replace example.com with your ISO Amp domain.

Authentication

To authorize, use this code:

curl "api_endpoint_here" \
  -H "Authorization: 01234567890abcdef"

Make sure to replace 01234567890abcdef with your API key.

ISO Amp uses API keys to allow access to the API. You can register a API key in the admin panel.

ISO Amp expects the API key to be included in all API requests to the server in a header that looks like the following:

Authorization: 01234567890abcdef

Merchant Application Integration

Proposals can be sent to your own backend system with a single click. Here is an example flow for a merchant application:

  1. User goes through quote tool and creates proposal.
  2. User clicks on "Start Application" button.
  3. The user's browser follows the link to your backend system and includes the proposal ID in the URL.
  4. Your backend system uses the proposal API to fetch the proposal.
  5. Your backend system creates a merchant services application with the relevant information from the proposal.
  6. Your backend system redirects the user's browser to the prefilled online application.

A proposal handoff link is the entity that creates a button on the proposal screen. The label of the button and the destination URL template is all that is required. Proposal handoff links are created in the Admin page in the Developer section.

Attribute Type Description
Agent View boolean Button will be displayed on the agent proposal view.
Label string The text of the button
Merchant View boolean Button will be displayed on the merchant proposal view.
URL Template string URL template for the destination of the button. {proposal_id} will be replaced with the actual proposal ID.

Merchant Types

Merchant Type Definition

Attribute Type Description
business_type_primary string Top-level category
business_type_secondary string Second-level category
id uuid Unique identifier

Get All Merchant Types

curl "http://example.com/api/v1/merchant_types" \
  -H "Authorization: 01234567890abcdef"

The above command returns JSON structured like this:

{
  "object": "list",
  "data": [
    {
      "id": "01312b8e-146e-4425-be0e-81cdc2d36982",
      "business_type_primary": "Services",
      "business_type_secondary": "Lodging",
      "object": "merchant_type"
    },
    {
      "id": "131fc45b-154b-4933-8f3e-790896d99653",
      "business_type_primary": "Auto",
      "business_type_secondary": "Detailing",
      "object": "merchant_type"
    }
  ]
}

This endpoint retrieves all merchant types.

HTTP Request

GET http://example.com/api/v1/merchant_types

Get a Specific Merchant Type

curl http://example.com/api/v1/merchant_types/01312b8e-146e-4425-be0e-81cdc2d36982 \
  -H 'Authorization: 01234567890abcdef'

The above command returns JSON structured like this:

{
  "id": "01312b8e-146e-4425-be0e-81cdc2d36982",
  "business_type_primary": "Services",
  "business_type_secondary": "Lodging",
  "object": "merchant_type"
}

This endpoint retrieves a specific merchant type.

HTTP Request

GET http://example.com/api/v1/merchant_types/{id}

URL Parameters

Parameter Description
id The ID of the merchant type to retrieve

Proposals

Proposal Definition

Attribute Type Description
created_at timestamp When the user was created formatted in ISO8601
id uuid Unique identifier
merchant_activity array List of merchant activity records
program_features array List of selected program features
program_id uuid ID of the proposed program
proposed_fees array List of proposed fees
prospect_id uuid ID of the prospect this proposal belongs to

Merchant Activity Definition

Attribute Type Description
type string Type of activity (e.g. "Visa", "Mastercard", etc.)
volume numeric string Volume in dollars
transactions numeric string Number of transactions

Program Feature Definition

Attribute Type Description
id uuid Unique identifier
name string Name of program feature

Fee Definition

Attribute Type Description
name string Human-readable name of fee
internal_name string Name of fee designed for system integration
amount numeric string Amount of fee (unit depends on type of fee)
monthly_amount numeric string Monthly amount of fee in dollars based on merchant activity and selected program features

It is possible for there to a fee with a monthly_amount of 0 because of merchant activity or selected program features. For example, a monthly PIN debit fee with an amount of 9.95 may be present but have a monthly_amount of 0 if there are no PIN debit transactions.

Get All Proposals

curl "http://example.com/api/v1/proposals" \
  -H "Authorization: 01234567890abcdef"

The above command returns JSON structured like this:

{
  "object": "list",
  "data": [
    {
      "id": "64d569a7-1e77-4eb4-a1d8-37ed1a201a1b",
      "prospect_id": "d6fa9c24-a156-4083-9744-96626058329d",
      "created_at": "2019-03-26T01:46:57.532-04:00",
      "object": "proposal",
      "program_id": "06efac3f-5f48-4651-9048-1280f3dc1883",
      "merchant_activity": [
        {
          "type": "Visa",
          "volume": "2000.0",
          "transactions": "10.0"
        },
        {
          "type": "Mastercard",
          "volume": "0",
          "transactions": "0"
        },
        {
          "type": "Discover",
          "volume": "0",
          "transactions": "0"
        },
        {
          "type": "American Express",
          "volume": "0",
          "transactions": "0"
        },
        {
          "type": "PIN Debit",
          "volume": "0",
          "transactions": "0"
        }
      ],
      "program_features": [],
      "proposed_fees": [
        {
          "name": "VMD Volume",
          "internal_name": "vmd_volume",
          "amount": "0.0025",
          "monthly_amount": "5.0"
        },
        {
          "name": "VMD Per Item",
          "internal_name": "vmd_per_item",
          "amount": "0.08",
          "monthly_amount": "0.8"
        },
        {
          "name": "Monthly Fee",
          "internal_name": "monthly_fee",
          "amount": "9.95",
          "monthly_amount": "9.95"
        },
        {
          "name": "PCI Monthly",
          "internal_name": "pci_monthly",
          "amount": "9.95",
          "monthly_amount": "9.95"
        },
        {
          "name": "PIN Debit Per Item",
          "internal_name": "pin_debit_per_item",
          "amount": "0.2",
          "monthly_amount": "0.0"
        },
        {
          "name": "AMEX Per Item",
          "internal_name": "amex_per_item",
          "amount": "0.15",
          "monthly_amount": "0.0"
        },
        {
          "name": "AMEX Volume",
          "internal_name": "amex_volume",
          "amount": "0.004",
          "monthly_amount": "0.0"
        },
        {
          "name": "VMD Interchange",
          "internal_name": "vmd_interchange",
          "amount": "1.0",
          "monthly_amount": "25.03"
        },
        {
          "name": "Visa Credit NABU",
          "internal_name": "visa_credit_nabu",
          "amount": "0.0195",
          "monthly_amount": "0.06"
        },
        {
          "name": "Visa Credit Assessment",
          "internal_name": "visa_credit_assessment",
          "amount": "0.0013",
          "monthly_amount": "1.11"
        },
        {
          "name": "Visa Check NABU",
          "internal_name": "visa_check_nabu",
          "amount": "0.0155",
          "monthly_amount": "0.11"
        },
        {
          "name": "Visa Check Assessment",
          "internal_name": "visa_check_assessment",
          "amount": "0.0011",
          "monthly_amount": "1.26"
        },
        {
          "name": "Mastercard NABU",
          "internal_name": "mastercard_nabu",
          "amount": "0.0185",
          "monthly_amount": "0.0"
        },
        {
          "name": "Mastercard Assessment",
          "internal_name": "mastercard_assessment",
          "amount": "0.0012",
          "monthly_amount": "0.0"
        },
        {
          "name": "Discover NABU",
          "internal_name": "discover_nabu",
          "amount": "0.0195",
          "monthly_amount": "0.0"
        },
        {
          "name": "Discover Assessment",
          "internal_name": "discover_assessment",
          "amount": "0.0013",
          "monthly_amount": "0.0"
        },
        {
          "name": "Debit Network Access",
          "internal_name": "debit_network_access",
          "amount": "1.0",
          "monthly_amount": "0.0"
        },
        {
          "name": "AMEX OptBlue",
          "internal_name": "amex_optblue",
          "amount": "1.0",
          "monthly_amount": "0.0"
        },
        {
          "name": "PIN Debit Monthly",
          "internal_name": "pin_debit_monthly",
          "amount": "9.95",
          "monthly_amount": 0
        }
      ]
    },
    {
      "id": "8a9fa93d-574b-46ac-8a61-eddf78a8825d",
      "prospect_id": "6c77048e-28f2-4542-b807-d2b1409258b4",
      "created_at": "2019-03-26T18:32:54.195-04:00",
      "object": "proposal",
      "program_id": "06efac3f-5f48-4651-9048-1280f3dc1883",
      "merchant_activity": [
        {
          "type": "Visa",
          "volume": "19025.49",
          "transactions": "183.0"
        },
        {
          "type": "Mastercard",
          "volume": "4780.79",
          "transactions": "63.0"
        },
        {
          "type": "Discover",
          "volume": "1193.72",
          "transactions": "14.0"
        },
        {
          "type": "American Express",
          "volume": "0",
          "transactions": "0"
        },
        {
          "type": "PIN Debit",
          "volume": "0",
          "transactions": "0"
        }
      ],
      "program_features": [],
      "proposed_fees": [
        {
          "name": "VMD Volume",
          "internal_name": "vmd_volume",
          "amount": "0.0025",
          "monthly_amount": "62.5"
        },
        {
          "name": "VMD Per Item",
          "internal_name": "vmd_per_item",
          "amount": "0.08",
          "monthly_amount": "20.8"
        },
        {
          "name": "Monthly Fee",
          "internal_name": "monthly_fee",
          "amount": "9.95",
          "monthly_amount": "9.95"
        },
        {
          "name": "PCI Monthly",
          "internal_name": "pci_monthly",
          "amount": "9.95",
          "monthly_amount": "9.95"
        },
        {
          "name": "PIN Debit Per Item",
          "internal_name": "pin_debit_per_item",
          "amount": "0.2",
          "monthly_amount": "0.0"
        },
        {
          "name": "AMEX Per Item",
          "internal_name": "amex_per_item",
          "amount": "0.15",
          "monthly_amount": "0.0"
        },
        {
          "name": "AMEX Volume",
          "internal_name": "amex_volume",
          "amount": "0.004",
          "monthly_amount": "0.0"
        },
        {
          "name": "VMD Interchange",
          "internal_name": "vmd_interchange",
          "amount": "1.0",
          "monthly_amount": "345.66"
        },
        {
          "name": "Visa Credit NABU",
          "internal_name": "visa_credit_nabu",
          "amount": "0.0195",
          "monthly_amount": "1.31"
        },
        {
          "name": "Visa Credit Assessment",
          "internal_name": "visa_credit_assessment",
          "amount": "0.0013",
          "monthly_amount": "13.07"
        },
        {
          "name": "Visa Check NABU",
          "internal_name": "visa_check_nabu",
          "amount": "0.0155",
          "monthly_amount": "1.8"
        },
        {
          "name": "Visa Check Assessment",
          "internal_name": "visa_check_assessment",
          "amount": "0.0011",
          "monthly_amount": "9.87"
        },
        {
          "name": "Mastercard NABU",
          "internal_name": "mastercard_nabu",
          "amount": "0.0185",
          "monthly_amount": "1.17"
        },
        {
          "name": "Mastercard Assessment",
          "internal_name": "mastercard_assessment",
          "amount": "0.0012",
          "monthly_amount": "5.74"
        },
        {
          "name": "Discover NABU",
          "internal_name": "discover_nabu",
          "amount": "0.0195",
          "monthly_amount": "0.27"
        },
        {
          "name": "Discover Assessment",
          "internal_name": "discover_assessment",
          "amount": "0.0013",
          "monthly_amount": "1.55"
        },
        {
          "name": "Debit Network Access",
          "internal_name": "debit_network_access",
          "amount": "1.0",
          "monthly_amount": "0.0"
        },
        {
          "name": "AMEX OptBlue",
          "internal_name": "amex_optblue",
          "amount": "1.0",
          "monthly_amount": "0.0"
        },
        {
          "name": "PIN Debit Monthly",
          "internal_name": "pin_debit_monthly",
          "amount": "9.95",
          "monthly_amount": 0
        }
      ]
    }
  ]
}

This endpoint retrieves all proposals.

HTTP Request

GET http://example.com/api/v1/proposals

Query Parameters

Parameter Default Description
limit 10 Limit the number of proposals returned (valid values are integers 1 to 100).
start_after_id None Only include proposals created after user with this ID (must be UUID).

Get a Specific Proposal

curl http://example.com/api/v1/proposals/8a9fa93d-574b-46ac-8a61-eddf78a8825d \
  -H 'Authorization: 01234567890abcdef'

The above command returns JSON structured like this:

{
  "id": "8a9fa93d-574b-46ac-8a61-eddf78a8825d",
  "prospect_id": "6c77048e-28f2-4542-b807-d2b1409258b4",
  "created_at": "2019-03-26T18:32:54.195-04:00",
  "object": "proposal",
  "program_id": "06efac3f-5f48-4651-9048-1280f3dc1883",
  "merchant_activity": [
    {
      "type": "Visa",
      "volume": "19025.49",
      "transactions": "183.0"
    },
    {
      "type": "Mastercard",
      "volume": "4780.79",
      "transactions": "63.0"
    },
    {
      "type": "Discover",
      "volume": "1193.72",
      "transactions": "14.0"
    },
    {
      "type": "American Express",
      "volume": "0",
      "transactions": "0"
    },
    {
      "type": "PIN Debit",
      "volume": "0",
      "transactions": "0"
    }
  ],
  "program_features": [],
  "proposed_fees": [
    {
      "name": "VMD Volume",
      "internal_name": "vmd_volume",
      "amount": "0.0025",
      "monthly_amount": "62.5"
    },
    {
      "name": "VMD Per Item",
      "internal_name": "vmd_per_item",
      "amount": "0.08",
      "monthly_amount": "20.8"
    },
    {
      "name": "Monthly Fee",
      "internal_name": "monthly_fee",
      "amount": "9.95",
      "monthly_amount": "9.95"
    },
    {
      "name": "PCI Monthly",
      "internal_name": "pci_monthly",
      "amount": "9.95",
      "monthly_amount": "9.95"
    },
    {
      "name": "PIN Debit Per Item",
      "internal_name": "pin_debit_per_item",
      "amount": "0.2",
      "monthly_amount": "0.0"
    },
    {
      "name": "AMEX Per Item",
      "internal_name": "amex_per_item",
      "amount": "0.15",
      "monthly_amount": "0.0"
    },
    {
      "name": "AMEX Volume",
      "internal_name": "amex_volume",
      "amount": "0.004",
      "monthly_amount": "0.0"
    },
    {
      "name": "VMD Interchange",
      "internal_name": "vmd_interchange",
      "amount": "1.0",
      "monthly_amount": "345.66"
    },
    {
      "name": "Visa Credit NABU",
      "internal_name": "visa_credit_nabu",
      "amount": "0.0195",
      "monthly_amount": "1.31"
    },
    {
      "name": "Visa Credit Assessment",
      "internal_name": "visa_credit_assessment",
      "amount": "0.0013",
      "monthly_amount": "13.07"
    },
    {
      "name": "Visa Check NABU",
      "internal_name": "visa_check_nabu",
      "amount": "0.0155",
      "monthly_amount": "1.8"
    },
    {
      "name": "Visa Check Assessment",
      "internal_name": "visa_check_assessment",
      "amount": "0.0011",
      "monthly_amount": "9.87"
    },
    {
      "name": "Mastercard NABU",
      "internal_name": "mastercard_nabu",
      "amount": "0.0185",
      "monthly_amount": "1.17"
    },
    {
      "name": "Mastercard Assessment",
      "internal_name": "mastercard_assessment",
      "amount": "0.0012",
      "monthly_amount": "5.74"
    },
    {
      "name": "Discover NABU",
      "internal_name": "discover_nabu",
      "amount": "0.0195",
      "monthly_amount": "0.27"
    },
    {
      "name": "Discover Assessment",
      "internal_name": "discover_assessment",
      "amount": "0.0013",
      "monthly_amount": "1.55"
    },
    {
      "name": "Debit Network Access",
      "internal_name": "debit_network_access",
      "amount": "1.0",
      "monthly_amount": "0.0"
    },
    {
      "name": "AMEX OptBlue",
      "internal_name": "amex_optblue",
      "amount": "1.0",
      "monthly_amount": "0.0"
    },
    {
      "name": "PIN Debit Monthly",
      "internal_name": "pin_debit_monthly",
      "amount": "9.95",
      "monthly_amount": 0
    }
  ]
}

This endpoint retrieves a specific proposal.

HTTP Request

GET http://example.com/api/v1/proposals/{id}

URL Parameters

Parameter Description
id The ID of the proposal to retrieve

Create a Simple Proposal

curl http://example.com/api/v1/proposals/simple \
  -H 'Authorization: 01234567890abcdef' \
  -H 'Content-Type: application/json' \
  -X POST \
  -d '{"prospect_id": "9136dff2-bc86-4f71-8f0e-84dbb33a4ed0", "total_volume": "20000", "avg_ticket": "37.90"}'

The above command returns JSON structured like this:

{
  "id": "33ebe2d9-a717-4507-9933-fbc455748c69",
  "prospect_id": "9136dff2-bc86-4f71-8f0e-84dbb33a4ed0",
  "created_at": "2019-03-28T11:18:10.822-04:00",
  "object": "proposal",
  "program_id": "06efac3f-5f48-4651-9048-1280f3dc1883",
  "merchant_activity": [
    {
      "type": "Visa",
      "volume": "14959.34",
      "transactions": "401.0"
    },
    {
      "type": "Mastercard",
      "volume": "4932.77",
      "transactions": "122.0"
    },
    {
      "type": "Discover",
      "volume": "107.89",
      "transactions": "4.0"
    },
    {
      "type": "American Express",
      "volume": "0",
      "transactions": "0"
    },
    {
      "type": "PIN Debit",
      "volume": "0",
      "transactions": "0"
    }
  ],
  "program_features": [],
  "proposed_fees": [
    {
      "name": "AMEX OptBlue",
      "internal_name": "amex_optblue",
      "amount": "1.0",
      "monthly_amount": "0.0"
    },
    {
      "name": "AMEX Per Item",
      "internal_name": "amex_per_item",
      "amount": "0.15",
      "monthly_amount": "0.0"
    },
    {
      "name": "AMEX Volume",
      "internal_name": "amex_volume",
      "amount": "0.004",
      "monthly_amount": "0.0"
    },
    {
      "name": "Debit Network Access",
      "internal_name": "debit_network_access",
      "amount": "1.0",
      "monthly_amount": "0.0"
    },
    {
      "name": "Discover Assessment",
      "internal_name": "discover_assessment",
      "amount": "0.0013",
      "monthly_amount": "0.14"
    },
    {
      "name": "Discover NABU",
      "internal_name": "discover_nabu",
      "amount": "0.0195",
      "monthly_amount": "0.08"
    },
    {
      "name": "Mastercard Assessment",
      "internal_name": "mastercard_assessment",
      "amount": "0.0012",
      "monthly_amount": "5.92"
    },
    {
      "name": "Mastercard NABU",
      "internal_name": "mastercard_nabu",
      "amount": "0.0185",
      "monthly_amount": "2.26"
    },
    {
      "name": "Monthly Fee",
      "internal_name": "monthly_fee",
      "amount": "9.95",
      "monthly_amount": "9.95"
    },
    {
      "name": "PCI Monthly",
      "internal_name": "pci_monthly",
      "amount": "9.95",
      "monthly_amount": "9.95"
    },
    {
      "name": "PIN Debit Monthly",
      "internal_name": "pin_debit_monthly",
      "amount": "9.95",
      "monthly_amount": 0
    },
    {
      "name": "PIN Debit Per Item",
      "internal_name": "pin_debit_per_item",
      "amount": "0.2",
      "monthly_amount": "0.0"
    },
    {
      "name": "Visa Check Assessment",
      "internal_name": "visa_check_assessment",
      "amount": "0.0011",
      "monthly_amount": "12.63"
    },
    {
      "name": "Visa Check NABU",
      "internal_name": "visa_check_nabu",
      "amount": "0.0155",
      "monthly_amount": "4.85"
    },
    {
      "name": "Visa Credit Assessment",
      "internal_name": "visa_credit_assessment",
      "amount": "0.0013",
      "monthly_amount": "4.52"
    },
    {
      "name": "Visa Credit NABU",
      "internal_name": "visa_credit_nabu",
      "amount": "0.0195",
      "monthly_amount": "1.72"
    },
    {
      "name": "VMD Interchange",
      "internal_name": "vmd_interchange",
      "amount": "1.0",
      "monthly_amount": "252.22"
    },
    {
      "name": "VMD Per Item",
      "internal_name": "vmd_per_item",
      "amount": "0.08",
      "monthly_amount": "42.16"
    },
    {
      "name": "VMD Volume",
      "internal_name": "vmd_volume",
      "amount": "0.0025",
      "monthly_amount": "50.0"
    }
  ]
}

This endpoint creates a simple proposal. This corresponds to the standard / simple form in the quote tool.

HTTP Request

POST http://example.com/api/v1/proposals/simple

Attributes

Attribute Type Description
avg_ticket numeric string Average VMD transaction amount in dollars
num_transactions numeric string Number of VMD transactions
preferred_program_id uuid ID of program to propose if possible
prospect_id uuid ID of prospect to create proposal for
total_fees numeric string The total fees being paid now in dollars
total_volume numeric string Total VMD volume in dollars

prospect_id and total_volume are required along with avg_ticket or num_transactions.

Create an Advanced Proposal

curl http://example.com/api/v1/proposals/advanced \
  -H 'Authorization: 01234567890abcdef' \
  -H 'Content-Type: application/json' \
  -X POST \
  -d '{"prospect_id": "9136dff2-bc86-4f71-8f0e-84dbb33a4ed0", "vs_volume": "7500", "vs_transactions": "70", "mc_volume": "2100", "mc_transactions": "47", "ds_volume": "300", "ds_transactions": "7", "amex_volume": "0", "amex_transactions": "0", "pin_debit_volume": "0", "pin_debit_transactions": "0", "batch_count": "30", "total_fees": "430"}'

The above command returns JSON structured like this:

{
  "id": "6936cf17-b8fc-490b-b733-3309fdbdb250",
  "prospect_id": "9136dff2-bc86-4f71-8f0e-84dbb33a4ed0",
  "created_at": "2019-03-28T12:20:21.809-04:00",
  "object": "proposal",
  "program_id": "06efac3f-5f48-4651-9048-1280f3dc1883",
  "merchant_activity": [
    {
      "type": "Visa",
      "volume": "7500.0",
      "transactions": "70.0"
    },
    {
      "type": "Mastercard",
      "volume": "2100.0",
      "transactions": "47.0"
    },
    {
      "type": "Discover",
      "volume": "300.0",
      "transactions": "7.0"
    },
    {
      "type": "American Express",
      "volume": "0",
      "transactions": "0"
    },
    {
      "type": "PIN Debit",
      "volume": "0",
      "transactions": "0"
    }
  ],
  "program_features": [],
  "proposed_fees": [
    {
      "name": "AMEX OptBlue",
      "internal_name": "amex_optblue",
      "amount": "1.0",
      "monthly_amount": "0.0"
    },
    {
      "name": "AMEX Per Item",
      "internal_name": "amex_per_item",
      "amount": "0.15",
      "monthly_amount": "0.0"
    },
    {
      "name": "AMEX Volume",
      "internal_name": "amex_volume",
      "amount": "0.004",
      "monthly_amount": "0.0"
    },
    {
      "name": "Debit Network Access",
      "internal_name": "debit_network_access",
      "amount": "1.0",
      "monthly_amount": "0.0"
    },
    {
      "name": "Discover Assessment",
      "internal_name": "discover_assessment",
      "amount": "0.0013",
      "monthly_amount": "0.39"
    },
    {
      "name": "Discover NABU",
      "internal_name": "discover_nabu",
      "amount": "0.0195",
      "monthly_amount": "0.14"
    },
    {
      "name": "Mastercard Assessment",
      "internal_name": "mastercard_assessment",
      "amount": "0.0012",
      "monthly_amount": "2.52"
    },
    {
      "name": "Mastercard NABU",
      "internal_name": "mastercard_nabu",
      "amount": "0.0185",
      "monthly_amount": "0.87"
    },
    {
      "name": "Monthly Fee",
      "internal_name": "monthly_fee",
      "amount": "9.95",
      "monthly_amount": "9.95"
    },
    {
      "name": "PCI Monthly",
      "internal_name": "pci_monthly",
      "amount": "9.95",
      "monthly_amount": "9.95"
    },
    {
      "name": "PIN Debit Monthly",
      "internal_name": "pin_debit_monthly",
      "amount": "9.95",
      "monthly_amount": 0
    },
    {
      "name": "PIN Debit Per Item",
      "internal_name": "pin_debit_per_item",
      "amount": "0.2",
      "monthly_amount": "0.0"
    },
    {
      "name": "Visa Check Assessment",
      "internal_name": "visa_check_assessment",
      "amount": "0.0011",
      "monthly_amount": "6.25"
    },
    {
      "name": "Visa Check NABU",
      "internal_name": "visa_check_nabu",
      "amount": "0.0155",
      "monthly_amount": "0.76"
    },
    {
      "name": "Visa Credit Assessment",
      "internal_name": "visa_credit_assessment",
      "amount": "0.0013",
      "monthly_amount": "2.37"
    },
    {
      "name": "Visa Credit NABU",
      "internal_name": "visa_credit_nabu",
      "amount": "0.0195",
      "monthly_amount": "0.41"
    },
    {
      "name": "VMD Interchange",
      "internal_name": "vmd_interchange",
      "amount": "1.0",
      "monthly_amount": "100.41"
    },
    {
      "name": "VMD Per Item",
      "internal_name": "vmd_per_item",
      "amount": "0.08",
      "monthly_amount": "9.92"
    },
    {
      "name": "VMD Volume",
      "internal_name": "vmd_volume",
      "amount": "0.0025",
      "monthly_amount": "24.75"
    }
  ]
}

This endpoint creates a advanced proposal. This corresponds to the advanced form in the quote tool.

HTTP Request

POST http://example.com/api/v1/proposals/advanced

Attributes

Attribute Type Description
vs_volume numeric string Visa volume in dollars
vs_transactions numeric string Number of Visa transactions
mc_volume numeric string Mastercard volume in dollars
mc_transactions numeric string Number of Mastercard transactions
ds_volume numeric string Discover volume in dollars
ds_transactions numeric string Number of Discover transactions
amex_volume numeric string American Express volume in dollars
amex_transactions numeric string Number of American Express transactions
pin_debit_volume numeric string PIN debit volume in dollars
pin_debit_transactions numeric string Number of PIN debit transactions
preferred_program_id uuid ID of program to propose if possible
prospect_id uuid ID of prospect to create proposal for
total_fees numeric string The total fees being paid now in dollars
batch_count numeric string Number of batches per month

Prospects

Prospect Definition

Attribute Type Description
business_name string Name of business
contact_name string Name of contact at business
created_at timestamp When the user was created formatted in ISO8601
email email Email address
id uuid Unique identifier
merchant_type_id uuid Merchant Type ID
phone string Phone number
prospect_stage_id uuid Prospect Stage ID
source_type string Source of prospect
user_id uuid User ID that owns prospect

Get All Prospects

curl "http://example.com/api/v1/prospects" \
  -H "Authorization: 01234567890abcdef"

The above command returns JSON structured like this:

{
  "object": "list",
  "data": [
    {
      "id": "0e68f57d-e361-4ea1-a827-0ce6256adf77",
      "business_name": "Sal's Subs",
      "contact_name": "Sal",
      "phone": "555-5555",
      "email": "sal@example.com",
      "source_type": "in-person",
      "user_id": "c742ce38-daa2-4011-a9b1-c85459186436",
      "merchant_type_id": "9cd01d9c-4994-48b1-8246-9ecde769ae7c",
      "prospect_stage_id": "7365ec0e-0aab-406c-b54e-3c6ed9f483d3",
      "created_at": "2019-03-25T16:30:45.941-04:00",
      "object": "prospect"
    },
    {
      "id": "ab593f14-f2de-4ae0-a260-d1ac28d4badf",
      "business_name": "Acme Food Stuffs",
      "contact_name": "Phil",
      "phone": "555-5555",
      "email": "phil@example.com",
      "source_type": "web",
      "user_id": "c742ce38-daa2-4011-a9b1-c85459186436",
      "merchant_type_id": "7447c292-332b-4c36-86a1-aa5ba256a4e8",
      "prospect_stage_id": "1ae64c8a-66be-42f9-902c-5dc92bb70f3b",
      "created_at": "2019-03-25T16:26:54.944-04:00",
      "object": "prospect"
    }
  ]
}

This endpoint retrieves all prospects sorted by created_at ascending.

HTTP Request

GET http://example.com/api/v1/prospects

Query Parameters

Parameter Default Description
limit 10 Limit the number of prospects returned (valid values are integers 1 to 100).
start_after_id None Only include prospects created after user with this ID (must be UUID).

Get a Specific Prospect

curl http://example.com/api/v1/prospects/ab593f14-f2de-4ae0-a260-d1ac28d4badf \
  -H 'Authorization: 01234567890abcdef'

The above command returns JSON structured like this:

  {
    "id": "ab593f14-f2de-4ae0-a260-d1ac28d4badf",
    "business_name": "Acme Food Stuffs",
    "contact_name": "Phil",
    "phone": "555-5555",
    "email": "phil@example.com",
    "source_type": "web",
    "user_id": "c742ce38-daa2-4011-a9b1-c85459186436",
    "merchant_type_id": "7447c292-332b-4c36-86a1-aa5ba256a4e8",
    "prospect_stage_id": "1ae64c8a-66be-42f9-902c-5dc92bb70f3b",
    "created_at": "2019-03-25T16:26:54.944-04:00",
    "object": "prospect"
  }

This endpoint retrieves a specific prospect.

HTTP Request

GET http://example.com/api/v1/prospect/{id}

URL Parameters

Parameter Description
id The ID of the prospect to retrieve

Create a Prospect

curl http://example.com/api/v1/prospects \
  -H 'Authorization: 01234567890abcdef' \
  -H 'Content-Type: application/json' \
  -X POST \
  -d '{"user_id": "c742ce38-daa2-4011-a9b1-c85459186436", "merchant_type_id": "196a094a-16a4-4fda-8007-9300ef9c5cf8", "prospect_stage_id": "1ae64c8a-66be-42f9-902c-5dc92bb70f3b", "business_name": "Fancy Burgers", "contact_name": "Sam", "phone": "555-5555", "email": "sam@example.com", "source_type": "search engine"}'

The above command returns JSON structured like this:

{
  "id": "73458508-0ef5-4abb-9715-ceed559583f6",
  "business_name": "Fancy Burgers",
  "contact_name": "Sam",
  "phone": "555-5555",
  "email": "sam@example.com",
  "source_type": "search engine",
  "user_id": "c742ce38-daa2-4011-a9b1-c85459186436",
  "merchant_type_id": "196a094a-16a4-4fda-8007-9300ef9c5cf8",
  "prospect_stage_id": "1ae64c8a-66be-42f9-902c-5dc92bb70f3b",
  "created_at": "2019-03-25T16:48:21.543-04:00",
  "object": "prospect"
}

This endpoint creates a prospect.

HTTP Request

POST http://example.com/api/v1/users

Required Attributes

Attribute Type Description
merchant_type_id uuid Merchant Type ID
prospect_stage_id uuid Prospect Stage ID
source_type string Source of prospect
user_id uuid User ID that owns prospect

Allowed Attributes

Attribute Type Default Description
business_name string None Name of business
contact_name string None Name of contact at business
email email None Email address
phone string None Phone number

Update a Specific Prospect

curl http://example.com/api/v1/prospects/73458508-0ef5-4abb-9715-ceed559583f6 \
  -H 'Authorization: 01234567890abcdef' \
  -H 'Content-Type: application/json' \
  -X PATCH \
  -d '{"email": "john@example.com"}'

The above command returns JSON structured like this:

{
  "id": "73458508-0ef5-4abb-9715-ceed559583f6",
  "business_name": "Fancy Burgers",
  "contact_name": "Sam",
  "phone": "555-5555",
  "email": "john@example.com",
  "source_type": "search engine",
  "user_id": "c742ce38-daa2-4011-a9b1-c85459186436",
  "merchant_type_id": "196a094a-16a4-4fda-8007-9300ef9c5cf8",
  "prospect_stage_id": "1ae64c8a-66be-42f9-902c-5dc92bb70f3b",
  "created_at": "2019-03-25T16:48:21.543-04:00",
  "object": "prospect"
}

This endpoint updates a prospect.

HTTP Request

PATCH http://example.com/api/v1/prospects/{id}

URL Parameters

Parameter Description
id The ID of the prospect to update

Allowed Attributes

Attribute Type Description
business_name string Name of business
contact_name string Name of contact at business
email email Email address
merchant_type_id uuid Merchant Type ID
phone string Phone number
prospect_stage_id uuid Prospect Stage ID
source_type string Source of prospect
user_id uuid User ID that owns prospect

Delete a Specific Prospect

curl http://example.com/api/v1/prospects/73458508-0ef5-4abb-9715-ceed559583f6 \
  -H 'Authorization: 01234567890abcdef' \
  -X DELETE

The above command does not return a response body.

This endpoint deletes a specific prospect.

HTTP Request

DELETE http://example.com/api/v1/prospects/{id}

URL Parameters

Parameter Description
id The ID of the prospect to delete

Prospect Stages

Prospect Stage Definition

Attribute Type Description
id uuid Unique identifier
name string Name

Get All Prospect Stages

curl "http://example.com/api/v1/prospect_stages" \
  -H "Authorization: 01234567890abcdef"

The above command returns JSON structured like this:

{
  "object": "list",
  "data": [
    {
      "id": "1ae64c8a-66be-42f9-902c-5dc92bb70f3b",
      "name": "Prospect",
      "object": "prospect_stage"
    },
    {
      "id": "2bb0ca43-b47a-408d-a48c-322ad3453905",
      "name": "Quoted",
      "object": "prospect_stage"
    },
    {
      "id": "6820bc00-2aaa-472f-bda7-eeb64c9c5dbd",
      "name": "Closed-Yes",
      "object": "prospect_stage"
    },
    {
      "id": "7365ec0e-0aab-406c-b54e-3c6ed9f483d3",
      "name": "Contacted",
      "object": "prospect_stage"
    },
    {
      "id": "944e129f-635c-4a16-b9cd-0d6965b2b1fa",
      "name": "Closed-No",
      "object": "prospect_stage"
    }
  ]
}

This endpoint retrieves all merchant types.

HTTP Request

GET http://example.com/api/v1/prospect_stages

Get a Specific Merchant Type

curl http://example.com/api/v1/prospect_stages/944e129f-635c-4a16-b9cd-0d6965b2b1fa \
  -H 'Authorization: 01234567890abcdef'

The above command returns JSON structured like this:

{
  "id": "944e129f-635c-4a16-b9cd-0d6965b2b1fa",
  "name": "Closed-No",
  "object": "prospect_stage"
}

This endpoint retrieves a specific prospect stage.

HTTP Request

GET http://example.com/api/v1/prospect_stages/{id}

URL Parameters

Parameter Description
id The ID of the prospect stage to retrieve

Users

User Definition

Attribute Type Description
admin bool Is user an administrator
created_at timestamp When the user was created formatted in ISO8601
email email Email address
id uuid Unique identifier
name string Name
user_name string User name (may be used for vanity quote URL)

In addition, a user's password may be assigned on creation or reset later via the API. The password is securely digested and cannot be read via the API. However, it is preferable to use single sign-on rather than managing passwords via the API.

Get All Users

curl "http://example.com/api/v1/users" \
  -H "Authorization: 01234567890abcdef"

The above command returns JSON structured like this:

{
  "object": "list",
  "data": [
    {
      "id": "086fa4f9-1c54-47c5-8cc7-df4ac8b52f81",
      "email": "john@example.com",
      "user_name": "john",
      "name": "John Doe",
      "admin": false,
      "object": "user",
      "created_at": "2019-03-20T17:59:04.408-04:00"
    },
    {
      "id": "446f6f42-6ed7-4957-b922-8f60e37e65d1",
      "email": "jane@example.com",
      "user_name": "jane",
      "name": "Jane Doe",
      "admin": false,
      "object": "user",
      "created_at": "2019-03-20T17:59:31.138-04:00"
    },
  ]
}

This endpoint retrieves all users sorted by created_at ascending.

HTTP Request

GET http://example.com/api/v1/users

Query Parameters

Parameter Default Description
limit 10 Limit the number of users returned (valid values are integers 1 to 100).
start_after_id None Only include users created after user with this ID (must be UUID).

Get a Specific User

curl http://example.com/api/v1/users/446f6f42-6ed7-4957-b922-8f60e37e65d1 \
  -H 'Authorization: 01234567890abcdef'

The above command returns JSON structured like this:

{
  "id": "446f6f42-6ed7-4957-b922-8f60e37e65d1",
  "email": "jane@example.com",
  "user_name": "jane",
  "name": "Jane Doe",
  "admin": false,
  "object": "user",
  "created_at": "2019-03-20T17:59:31.138-04:00"
}

This endpoint retrieves a specific user.

HTTP Request

GET http://example.com/api/v1/users/{id}

URL Parameters

Parameter Description
id The ID of the user to retrieve

Create a User

curl http://example.com/api/v1/users \
  -H 'Authorization: 01234567890abcdef' \
  -H 'Content-Type: application/json' \
  -X POST \
  -d '{"email": "john@example.com", "user_name": "john", "name": "John Smith", "admin": "false"}'

The above command returns JSON structured like this:

{
  "id": "446f6f42-6ed7-4957-b922-8f60e37e65d1",
  "email": "john@example.com",
  "user_name": "john",
  "name": "John Smith",
  "admin": false,
  "object": "user",
  "created_at": "2019-03-20T19:02:21.701-04:00"
}

This endpoint creates a user. As an alternative, single sign-on can be configured to create users on first sign-on.

HTTP Request

POST http://example.com/api/v1/users

Required Attributes

Attribute Type Description
email email Email address
name string Name
user_name string User name (must match this regexp: /\A[a-z][a-z0-9-]*\z/)

Allowed Attributes

Attribute Type Default Description
admin bool false Is user an administrator
password string Unguessable random string Login password

Update a Specific User

curl http://example.com/api/v1/users/446f6f42-6ed7-4957-b922-8f60e37e65d1 \
  -H 'Authorization: 01234567890abcdef' \
  -H 'Content-Type: application/json' \
  -X PATCH \
  -d '{"email": "john@example.com", "user_name": "john", "name": "John Smith", "admin": "false"}'

The above command returns JSON structured like this:

{
  "id": "446f6f42-6ed7-4957-b922-8f60e37e65d1",
  "email": "john@example.com",
  "user_name": "john",
  "name": "John Smith",
  "admin": false,
  "object": "user",
  "created_at": "2019-03-20T19:02:21.701-04:00"
}

This endpoint updates a user.

HTTP Request

PATCH http://example.com/api/v1/users/{id}

URL Parameters

Parameter Description
id The ID of the user to update

Allowed Attributes

Attribute Type Description
admin bool Is user an administrator
email email Email address
name string Name
password string Login password
user_name string User name (must match this regexp: /\A[a-z][a-z0-9-]*\z/)

Delete a Specific User

curl http://example.com/api/v1/users/446f6f42-6ed7-4957-b922-8f60e37e65d1 \
  -H 'Authorization: 01234567890abcdef' \
  -X DELETE

The above command does not return a response body.

This endpoint deletes a specific user.

HTTP Request

DELETE http://example.com/api/v1/users/{id}

URL Parameters

Parameter Description
id The ID of the user to delete