Skip to content

Resolve API Reference (V5)

API Support: accounts@resolvepay.com

Legacy (v2) API documentation: https://app.resolvepay.com/docs/api/v2

Download OpenAPI description
Languages
Servers
Mock server
https://api-docs.resolvepay.com/_mock/swagger
Sandbox server
https://app-sandbox.resolvepay.com/api

Introduction

The Resolve API is organized around REST principles. It uses predictable resource-oriented URLs, standard HTTP verbs and response codes, and accepts and returns JSON-encoded request and response bodies.

Getting started

Resolve offers both server-side and client-side integrations. This documentation refers to the server-side API. Refer to our e-commerce plugin guides for details on client-side checkout solutions.

There is a sandbox API available for testing, which leverages the same data store as your sandbox dashboard. Testing on sandbox won't affect your live data or create money movements.

Environment Base URL
Production https://app.resolvepay.com/api/
Sandbox https://app-sandbox.resolvepay.com/api/

Authentication

Before using the API, reach out and get your Resolve account created. This account enables access to the credentials that are necessary for API access.

Resolve uses HTTP basic authentication where the username refers to your merchant ID, and the password refers to your secret API key.

Versioning and Upgrading

When backwards-incompatible changes are released, a new, dated version is released. The current version is V5. You can upgrade the version of the api that your account uses within your merchant settings.

Legacy (v2) API documentation may be found here.

Rate Limits

To ensure platform reliability and fair use, Resolve implements rate limits for the REST API.

Resolve APIs use the Sliding Window algorithm to monitor and control request rates with a 100 requests/minute limit. The API will return a 429 Too Many Requests status if the amount of requests exceeds rate limits.

All responses from Resolve APIs will include the following headers:

  • X-Ratelimit-Limit: The maximum amount of requests permitted within a 60-second period.
  • X-Ratelimit-Remaining: The remaining requests within the current period.
  • X-Ratelimit-Reset: A UNIX timestamp indicating when the rate limit period will reset.

Best Practices

  • Use caching when necessary for data that is routinely requested by your application.
  • Utilize the X-Ratelimit-Limit and X-Ratelimit-Remaining response headers in your application to avoid surpassing rate limits.
  • Your application should avoid making additional API requests if your requests return with a 429 status code.

Webhooks

Webhooks allow you to receive real-time notifications about events in your Resolve account. When an event occurs, Resolve sends an HTTP POST request to your configured webhook endpoint with details about the event.

Operations

Invoices

The invoice represents the business transaction between you and your customer. In Resolve, an invoice must be tied to a customer and an advance can be taken on the invoice.

For an advance to be taken on the invoice, a PDF of the invoice must be uploaded and the associated customer must be approved and have available credit for the amount of the invoice.

Operations

Customers

A customer represents a company that you do business with. For larger companies, there may be several users with access to the customer account that can make purchases with their credit line. For smaller companies, a customer may represent a single individual. Retrieve a customer to get a summary of their total credit line and available credit balance.

Operations

List all customers

Request

Return a list of customers.

Security
basicAuth
Query
limitinteger[ 25 .. 100 ]

Limit the number of customers returned.

Default 25
pagestring

Specify the page of customers returned.

Default "1"
filterobject

Filter customers by the specified fields.

Filter semantics: filter[field][operator]=value.

Available filter operators:

  • eq - equal (=)
  • ne - not equal (!=)
  • gt - greater than (>)
  • gte - greater than or equal (>=)
  • lt - less than (<)
  • lte - less than or equal (<=)

Filtering is allowed by the following fields:

  • email (eq)
  • business_name (eq)
  • created_at (eq, gt, lt, gte, lte)
  • amount_approved (eq, gt, lt, gte, lte)
  • amount_available (eq, gt, lt, gte, lte)
  • amount_authorized (eq, gt, lt, gte, lte)
  • amount_balance (eq, gt, lt, gte, lte)
  • amount_unapplied_payments (eq, gt, lt, gte, lte)
  • advance_rate (eq, gt, lt, gte, lte)
  • archived (eq, ne)

Example: filter[email][eq]=test@resolvepay.com

Note: filter with the eq operator is equivalent to the following filter filter[field]=value

sortstring

Sort customers by the specified fields.

The sort order for each sort field is ascending unless it is prefixed with a minus, in which case it is descending.

Multiple sort fields supported by allowing comma-separated sort fields. Sort fields will be applied in the order specified.

Sorting is allowed by the following fields: id, created_at, amount_approved, amount_available, business_name.

Example: sort=business_name,-created_at

curl -i -X GET \
  -u <username>:<password> \
  'https://api-docs.resolvepay.com/_mock/swagger/customers?limit=25&page=1&filter%5Bemail%5D=%5Bobject+Object%5D&filter%5Bbusiness_name%5D=%5Bobject+Object%5D&filter%5Bcreated_at%5D=%5Bobject+Object%5D&filter%5Bamount_approved%5D=%5Bobject+Object%5D&filter%5Bamount_available%5D=%5Bobject+Object%5D&filter%5Bamount_authorized%5D=%5Bobject+Object%5D&filter%5Bamount_balance%5D=%5Bobject+Object%5D&filter%5Bamount_unapplied_payments%5D=%5Bobject+Object%5D&filter%5Badvance_rate%5D=%5Bobject+Object%5D&filter%5Barchived%5D=%5Bobject+Object%5D&sort=string'

Responses

An object with an array of results containing up to the limit. If no customers are found, the results array will be empty.

Bodyapplication/json
countinteger
Example: 1
limitinteger
Example: 25
pageinteger
Example: 1
resultsArray of objects(Customer)
Response
application/json
{ "count": 1, "limit": 25, "page": 1, "results": [ { … } ] }

Create a customer

Request

Create a customer

Security
basicAuth
Bodyapplication/json

Customer to add to the system.

business_addressstringrequired

Street address of the business' primary location.

Example: "111 Main Street"
business_citystringrequired

City of the business' primary location.

Example: "San Francisco"
business_statestringrequired

State or province of the business' primary location.

Example: "CA"
business_zipstringrequired

US zip code of the business' primary location.

Example: "94104"
business_countrystring(ISO 3166-1 alpha 2)required

2-letter country code of the business' primary location, according to the ISO 3166-1 alpha 2 standard.

Example: "US"
business_ap_emailstring(email)required

Email address of the business' accounts payable person or department.

Example: "ap@example.com"
business_ap_phonestring

Phone number of the business' accounts payable person or department.

Example: "(202) 456-1414"
business_ap_phone_extensionstring

Phone number extension of the business' accounts payable person or department.

Example: "123"
business_namestringrequired

Full legal name of the business being applied for.

Example: "Example, Inc."
emailstring(email)required

Email of the customer applying for terms.

Example: "user@example.com"
default_termsstring or null

Default terms invoices will be advanced with.

Enum"net7""net10""net10th""net15""net20""net30""net45""net60""net75""net90"
curl -i -X POST \
  -u <username>:<password> \
  https://api-docs.resolvepay.com/_mock/swagger/customers \
  -H 'Content-Type: application/json' \
  -d '{
    "business_address": "111 Main Street",
    "business_city": "San Francisco",
    "business_state": "CA",
    "business_zip": "94104",
    "business_country": "US",
    "business_ap_email": "ap@example.com",
    "business_ap_phone": "(202) 456-1414",
    "business_ap_phone_extension": "123",
    "business_name": "Example, Inc.",
    "email": "user@example.com",
    "default_terms": "net7"
  }'

Responses

An object representing the customer.

Bodyapplication/json
idstring
Example: "PMMlaE5wbg0"
created_atstring(date-time)

Date the customer was created.

Example: "2020-01-01T00:00:00.750Z"
updated_atstring(date-time)

Date the customer was last updated.

Example: "2020-01-01T00:00:00.750Z"
sourcestring
Enum"QUICKBOOKS""MERCHANT_USER""ADMIN_USER""APPLICATION""CUSTOMER_USER""API"
Example: "MERCHANT_USER"
business_addressstring

Street address of the business' primary location.

Example: "111 Main Street"
business_citystring

City of the business' primary location.

Example: "San Francisco"
business_statestring

State or province of the business' primary location.

Example: "CA"
business_zipstring

US zip code of the business' primary location.

Example: "94104"
business_countrystring

Country of the business' primary location according to the ISO 3166-1 alpha 2 standard.

Example: "US"
business_age_rangestring

String indicating age of the business in years.

Enum"0-2""2-5""5-10""10+"
Example: "5-10"
business_ap_emailstring

Email address of the business' accounts payable person or department.

Example: "ap@example.com"
business_ap_phonestring

Phone number of the business' accounts payable person or department.

Example: "(202) 456-1414"
business_ap_phone_extensionstring

Phone number extension of the business' accounts payable person or department.

Example: "123"
business_namestring

Full legal name of the business being applied for.

Example: "Example, Inc."
business_trade_namestring

Trade name of the business, if different than business_name.

Example: "Example Trading Company"
business_phonestring

Phone number of the business' primary location.

Example: "(202) 456-1414"
business_typestring

String indicating the business' type of legal entity.

Enum"sole_prop_or_partnership""llc""corporation""nonprofit""government"
Example: "corporation"
emailstring(email)

Email of the customer applying for terms.

Example: "user@example.com"
personal_name_firststring

First name of the person applying on behalf of the business.

Example: "James"
personal_name_laststring

Last name of the person applying on behalf of the business.

Example: "Bond"
personal_phonestring

Personal phone number of the customer representative applying for terms.

Example: "(202) 456-1414"
amount_approvedinteger(int64)

Total amount of the credit approved.

Example: 10000
amount_authorizedinteger(int64)

Amount of the credit line reserved for authorized charges.

Example: 10000
amount_availableinteger(int64)

Current amount of the credit line available for purchases.

Example: 10000
amount_balanceinteger(int64)

Current balance on the customer's credit line.

Example: 2000
amount_unapplied_paymentsinteger(int64)

Current amount of a customer's unapplied payments.

Example: 1000
default_termsstring or null

Set default terms that will apply to this customer's invoices. Can be overridden when requesting an advance.

Enum"net7""net10""net10th""net15""net20""net30""net45""net60""net75""net90"
advance_ratenumber or null(double)[ 0 .. 1 ]

The advance rate that will be used to determine the amount advanced for this customer's invoices.

Example: 0.75
credit_statusstring or null

Current credit status of this customer. See #request-a-credit-check for more details.

Enum"approved""hold""declined""pending""deactivated"null
net_terms_statusstring or null

Current net terms enrollment status of this customer. See #fetchCustomer for more details.

Enum"enrolled""pending_enrollment""enrollment_expired"null
net_terms_enrollment_urlstring or null

The URL for a customer to complete enrollment requirements when net_terms_status is pending_enrollment. See #fetchCustomer for more details.

Example: "www.app.resolvepay.com/merchant-id/activate/123456"
net_terms_enrollment_expires_atstring or null(date-time)

The date by which the customer must be enrolled in this net terms offer, not null when net_terms_status is pending_enrollment.

Example: "2020-01-01T00:00:00.750Z"
credit_check_requested_atstring or null(date-time)

The date a credit check was requested.

Example: "2020-01-01T00:00:00.750Z"
archivedboolean

Boolean indicating if customer is archived.

Example: false
duns_numberstring or null

Dun & Bradstreet unique nine-digit identifier for businesses that is associated with a business's Live Business Identity

Example: "00-123-4567"
credit_decisionsArray of objects

Array of credit decisions made for this customer.

Response
application/json
{ "id": "PMMlaE5wbg0", "created_at": "2020-01-01T00:00:00.750Z", "updated_at": "2020-01-01T00:00:00.750Z", "source": "MERCHANT_USER", "business_address": "111 Main Street", "business_city": "San Francisco", "business_state": "CA", "business_zip": "94104", "business_country": "US", "business_age_range": "5-10", "business_ap_email": "ap@example.com", "business_ap_phone": "(202) 456-1414", "business_ap_phone_extension": "123", "business_name": "Example, Inc.", "business_trade_name": "Example Trading Company", "business_phone": "(202) 456-1414", "business_type": "corporation", "email": "user@example.com", "personal_name_first": "James", "personal_name_last": "Bond", "personal_phone": "(202) 456-1414", "amount_approved": 10000, "amount_authorized": 10000, "amount_available": 10000, "amount_balance": 2000, "amount_unapplied_payments": 1000, "default_terms": "net7", "advance_rate": 0.75, "credit_status": "approved", "net_terms_status": "enrolled", "net_terms_enrollment_url": "www.app.resolvepay.com/merchant-id/activate/123456", "net_terms_enrollment_expires_at": "2020-01-01T00:00:00.750Z", "credit_check_requested_at": "2020-01-01T00:00:00.750Z", "archived": false, "duns_number": "00-123-4567", "credit_decisions": [ { … } ] }

Fetch a customer

Request

Retrieve an existing customer by its ID.

A successful response to this request will be the Customer entity. If customer enrollment is required, we will return net_terms_status='pending_enrollment' and a not null net_terms_enrollment_url. If customer enrollment is not required (customer applied through a direct application), we will return net_terms_status='enrolled'.

Security
basicAuth
Path
customer_idstringrequired

ID of the customer to return

curl -i -X GET \
  -u <username>:<password> \
  'https://api-docs.resolvepay.com/_mock/swagger/customers/{customer_id}'

Responses

An object representing the customer.

Bodyapplication/json
idstring
Example: "PMMlaE5wbg0"
created_atstring(date-time)

Date the customer was created.

Example: "2020-01-01T00:00:00.750Z"
updated_atstring(date-time)

Date the customer was last updated.

Example: "2020-01-01T00:00:00.750Z"
sourcestring
Enum"QUICKBOOKS""MERCHANT_USER""ADMIN_USER""APPLICATION""CUSTOMER_USER""API"
Example: "MERCHANT_USER"
business_addressstring

Street address of the business' primary location.

Example: "111 Main Street"
business_citystring

City of the business' primary location.

Example: "San Francisco"
business_statestring

State or province of the business' primary location.

Example: "CA"
business_zipstring

US zip code of the business' primary location.

Example: "94104"
business_countrystring

Country of the business' primary location according to the ISO 3166-1 alpha 2 standard.

Example: "US"
business_age_rangestring

String indicating age of the business in years.

Enum"0-2""2-5""5-10""10+"
Example: "5-10"
business_ap_emailstring

Email address of the business' accounts payable person or department.

Example: "ap@example.com"
business_ap_phonestring

Phone number of the business' accounts payable person or department.

Example: "(202) 456-1414"
business_ap_phone_extensionstring

Phone number extension of the business' accounts payable person or department.

Example: "123"
business_namestring

Full legal name of the business being applied for.

Example: "Example, Inc."
business_trade_namestring

Trade name of the business, if different than business_name.

Example: "Example Trading Company"
business_phonestring

Phone number of the business' primary location.

Example: "(202) 456-1414"
business_typestring

String indicating the business' type of legal entity.

Enum"sole_prop_or_partnership""llc""corporation""nonprofit""government"
Example: "corporation"
emailstring(email)

Email of the customer applying for terms.

Example: "user@example.com"
personal_name_firststring

First name of the person applying on behalf of the business.

Example: "James"
personal_name_laststring

Last name of the person applying on behalf of the business.

Example: "Bond"
personal_phonestring

Personal phone number of the customer representative applying for terms.

Example: "(202) 456-1414"
amount_approvedinteger(int64)

Total amount of the credit approved.

Example: 10000
amount_authorizedinteger(int64)

Amount of the credit line reserved for authorized charges.

Example: 10000
amount_availableinteger(int64)

Current amount of the credit line available for purchases.

Example: 10000
amount_balanceinteger(int64)

Current balance on the customer's credit line.

Example: 2000
amount_unapplied_paymentsinteger(int64)

Current amount of a customer's unapplied payments.

Example: 1000
default_termsstring or null

Set default terms that will apply to this customer's invoices. Can be overridden when requesting an advance.

Enum"net7""net10""net10th""net15""net20""net30""net45""net60""net75""net90"
advance_ratenumber or null(double)[ 0 .. 1 ]

The advance rate that will be used to determine the amount advanced for this customer's invoices.

Example: 0.75
credit_statusstring or null

Current credit status of this customer. See #request-a-credit-check for more details.

Enum"approved""hold""declined""pending""deactivated"null
net_terms_statusstring or null

Current net terms enrollment status of this customer. See #fetchCustomer for more details.

Enum"enrolled""pending_enrollment""enrollment_expired"null
net_terms_enrollment_urlstring or null

The URL for a customer to complete enrollment requirements when net_terms_status is pending_enrollment. See #fetchCustomer for more details.

Example: "www.app.resolvepay.com/merchant-id/activate/123456"
net_terms_enrollment_expires_atstring or null(date-time)

The date by which the customer must be enrolled in this net terms offer, not null when net_terms_status is pending_enrollment.

Example: "2020-01-01T00:00:00.750Z"
credit_check_requested_atstring or null(date-time)

The date a credit check was requested.

Example: "2020-01-01T00:00:00.750Z"
archivedboolean

Boolean indicating if customer is archived.

Example: false
duns_numberstring or null

Dun & Bradstreet unique nine-digit identifier for businesses that is associated with a business's Live Business Identity

Example: "00-123-4567"
credit_decisionsArray of objects

Array of credit decisions made for this customer.

Response
application/json
{ "id": "PMMlaE5wbg0", "created_at": "2020-01-01T00:00:00.750Z", "updated_at": "2020-01-01T00:00:00.750Z", "source": "MERCHANT_USER", "business_address": "111 Main Street", "business_city": "San Francisco", "business_state": "CA", "business_zip": "94104", "business_country": "US", "business_age_range": "5-10", "business_ap_email": "ap@example.com", "business_ap_phone": "(202) 456-1414", "business_ap_phone_extension": "123", "business_name": "Example, Inc.", "business_trade_name": "Example Trading Company", "business_phone": "(202) 456-1414", "business_type": "corporation", "email": "user@example.com", "personal_name_first": "James", "personal_name_last": "Bond", "personal_phone": "(202) 456-1414", "amount_approved": 10000, "amount_authorized": 10000, "amount_available": 10000, "amount_balance": 2000, "amount_unapplied_payments": 1000, "default_terms": "net7", "advance_rate": 0.75, "credit_status": "approved", "net_terms_status": "enrolled", "net_terms_enrollment_url": "www.app.resolvepay.com/merchant-id/activate/123456", "net_terms_enrollment_expires_at": "2020-01-01T00:00:00.750Z", "credit_check_requested_at": "2020-01-01T00:00:00.750Z", "archived": false, "duns_number": "00-123-4567", "credit_decisions": [ { … } ] }

Update a customer

Request

Update a customer

Security
basicAuth
Path
customer_idstringrequired

ID of the customer to update

Bodyapplication/json

Fields to update a customer with.

business_addressstring

Street address of the business' primary location.

Example: "111 Main Street"
business_citystring

City of the business' primary location.

Example: "San Francisco"
business_statestring

State or province of the business' primary location.

Example: "CA"
business_zipstring

US zip code of the business' primary location.

Example: "94104"
business_countrystring

Country of the business' primary location.

Example: "US"
business_ap_emailstring

Email address of the business' accounts payable person or department.

Example: "ap@example.com"
business_ap_phonestring

Phone number of the business' accounts payable person or department.

Example: "(202) 456-1414"
business_ap_phone_extensionstring

Phone number extension of the business' accounts payable person or department.

Example: "123"
business_namestring

Full legal name of the business being applied for.

Example: "Example, Inc."
emailstring(email)

Email of the customer applying for terms.

Example: "user@example.com"
default_termsstring or null

Set default terms that will apply to this customer's invoices. Can be overridden when requesting an advance.

Enum"net7""net10""net10th""net15""net20""net30""net45""net60""net75""net90"
curl -i -X PUT \
  -u <username>:<password> \
  'https://api-docs.resolvepay.com/_mock/swagger/customers/{customer_id}' \
  -H 'Content-Type: application/json' \
  -d '{
    "business_address": "111 Main Street",
    "business_city": "San Francisco",
    "business_state": "CA",
    "business_zip": "94104",
    "business_country": "US",
    "business_ap_email": "ap@example.com",
    "business_ap_phone": "(202) 456-1414",
    "business_ap_phone_extension": "123",
    "business_name": "Example, Inc.",
    "email": "user@example.com",
    "default_terms": "net7"
  }'

Responses

An object representing the customer.

Bodyapplication/json
idstring
Example: "PMMlaE5wbg0"
created_atstring(date-time)

Date the customer was created.

Example: "2020-01-01T00:00:00.750Z"
updated_atstring(date-time)

Date the customer was last updated.

Example: "2020-01-01T00:00:00.750Z"
sourcestring
Enum"QUICKBOOKS""MERCHANT_USER""ADMIN_USER""APPLICATION""CUSTOMER_USER""API"
Example: "MERCHANT_USER"
business_addressstring

Street address of the business' primary location.

Example: "111 Main Street"
business_citystring

City of the business' primary location.

Example: "San Francisco"
business_statestring

State or province of the business' primary location.

Example: "CA"
business_zipstring

US zip code of the business' primary location.

Example: "94104"
business_countrystring

Country of the business' primary location according to the ISO 3166-1 alpha 2 standard.

Example: "US"
business_age_rangestring

String indicating age of the business in years.

Enum"0-2""2-5""5-10""10+"
Example: "5-10"
business_ap_emailstring

Email address of the business' accounts payable person or department.

Example: "ap@example.com"
business_ap_phonestring

Phone number of the business' accounts payable person or department.

Example: "(202) 456-1414"
business_ap_phone_extensionstring

Phone number extension of the business' accounts payable person or department.

Example: "123"
business_namestring

Full legal name of the business being applied for.

Example: "Example, Inc."
business_trade_namestring

Trade name of the business, if different than business_name.

Example: "Example Trading Company"
business_phonestring

Phone number of the business' primary location.

Example: "(202) 456-1414"
business_typestring

String indicating the business' type of legal entity.

Enum"sole_prop_or_partnership""llc""corporation""nonprofit""government"
Example: "corporation"
emailstring(email)

Email of the customer applying for terms.

Example: "user@example.com"
personal_name_firststring

First name of the person applying on behalf of the business.

Example: "James"
personal_name_laststring

Last name of the person applying on behalf of the business.

Example: "Bond"
personal_phonestring

Personal phone number of the customer representative applying for terms.

Example: "(202) 456-1414"
amount_approvedinteger(int64)

Total amount of the credit approved.

Example: 10000
amount_authorizedinteger(int64)

Amount of the credit line reserved for authorized charges.

Example: 10000
amount_availableinteger(int64)

Current amount of the credit line available for purchases.

Example: 10000
amount_balanceinteger(int64)

Current balance on the customer's credit line.

Example: 2000
amount_unapplied_paymentsinteger(int64)

Current amount of a customer's unapplied payments.

Example: 1000
default_termsstring or null

Set default terms that will apply to this customer's invoices. Can be overridden when requesting an advance.

Enum"net7""net10""net10th""net15""net20""net30""net45""net60""net75""net90"
advance_ratenumber or null(double)[ 0 .. 1 ]

The advance rate that will be used to determine the amount advanced for this customer's invoices.

Example: 0.75
credit_statusstring or null

Current credit status of this customer. See #request-a-credit-check for more details.

Enum"approved""hold""declined""pending""deactivated"null
net_terms_statusstring or null

Current net terms enrollment status of this customer. See #fetchCustomer for more details.

Enum"enrolled""pending_enrollment""enrollment_expired"null
net_terms_enrollment_urlstring or null

The URL for a customer to complete enrollment requirements when net_terms_status is pending_enrollment. See #fetchCustomer for more details.

Example: "www.app.resolvepay.com/merchant-id/activate/123456"
net_terms_enrollment_expires_atstring or null(date-time)

The date by which the customer must be enrolled in this net terms offer, not null when net_terms_status is pending_enrollment.

Example: "2020-01-01T00:00:00.750Z"
credit_check_requested_atstring or null(date-time)

The date a credit check was requested.

Example: "2020-01-01T00:00:00.750Z"
archivedboolean

Boolean indicating if customer is archived.

Example: false
duns_numberstring or null

Dun & Bradstreet unique nine-digit identifier for businesses that is associated with a business's Live Business Identity

Example: "00-123-4567"
credit_decisionsArray of objects

Array of credit decisions made for this customer.

Response
application/json
{ "id": "PMMlaE5wbg0", "created_at": "2020-01-01T00:00:00.750Z", "updated_at": "2020-01-01T00:00:00.750Z", "source": "MERCHANT_USER", "business_address": "111 Main Street", "business_city": "San Francisco", "business_state": "CA", "business_zip": "94104", "business_country": "US", "business_age_range": "5-10", "business_ap_email": "ap@example.com", "business_ap_phone": "(202) 456-1414", "business_ap_phone_extension": "123", "business_name": "Example, Inc.", "business_trade_name": "Example Trading Company", "business_phone": "(202) 456-1414", "business_type": "corporation", "email": "user@example.com", "personal_name_first": "James", "personal_name_last": "Bond", "personal_phone": "(202) 456-1414", "amount_approved": 10000, "amount_authorized": 10000, "amount_available": 10000, "amount_balance": 2000, "amount_unapplied_payments": 1000, "default_terms": "net7", "advance_rate": 0.75, "credit_status": "approved", "net_terms_status": "enrolled", "net_terms_enrollment_url": "www.app.resolvepay.com/merchant-id/activate/123456", "net_terms_enrollment_expires_at": "2020-01-01T00:00:00.750Z", "credit_check_requested_at": "2020-01-01T00:00:00.750Z", "archived": false, "duns_number": "00-123-4567", "credit_decisions": [ { … } ] }

Request a credit check

Request

You may request a credit check on a customer who hasn't previously been credit checked. This endpoint returns no content. You'll be able to see the date you requested the credit check (credit_check_requested_at) and credit_status updated to pending or, in the case of an instant decision, approved or declined by fetching the Customer entity.

A hold credit status represents when a customer's credit account is over 15 days overdue. A deactivated credit status represents when a customer's credit account has been deactivated.

When a customer's credit_status is approved - the customer's net_terms_status represents the current state of a customer's enrollment in the approved net terms offer. See #fetchCustomer for more details.

Note: Except for instant decisions, a decision should be reflected on the Customer entity within 1 business day.

Security
basicAuth
Path
customer_idstringrequired

ID of the customer being submitted for a credit check

Bodyapplication/json

Request a credit check for a customer

amount_requestednumber>= 1required

Request an amount (plus buffer) to cover your customer's purchases over their payment term. This can be increased later.

Example: 50000
business_descriptionstring or null<= 500 characters

A description of your customer's business.

Example: "Put a description your customer's business here."
has_purchase_historybooleanrequired

Indicates whether this customer has prior purchase history with the merchant. When true, the merchant has prior purchase history with this customer.

Example: true
has_purchase_terms_historyboolean

Required if has_purchase_history = true. Indicates whether this customer has prior purchase history on net terms with the merchant. When true, the merchant has prior net terms purchase history with this customer.

Example: false
curl -i -X POST \
  -u <username>:<password> \
  'https://api-docs.resolvepay.com/_mock/swagger/customers/{customer_id}/credit-check' \
  -H 'Content-Type: application/json' \
  -d '{
    "amount_requested": 50000,
    "business_description": "Put a description your customer'\''s business here.",
    "has_purchase_history": true,
    "has_purchase_terms_history": false
  }'

Responses

Credit check request accepted.

Response
No content

Enroll a customerDeprecated

Request

As of July 2023, this route has been replaced with a stub response and will soon be deprecated. The `confirm_enrollment` status no longer exists and, once approved by Resolve, customers will either be `enrolled` (if they applied through an application) or `pending_enrollment` (if credit checked).
Security
basicAuth
Path
customer_idstringrequired

ID of the customer to enroll

curl -i -X POST \
  -u <username>:<password> \
  'https://api-docs.resolvepay.com/_mock/swagger/customers/{customer_id}/enroll'

Responses

An object representing the customer.

Bodyapplication/json
idstring
Example: "PMMlaE5wbg0"
created_atstring(date-time)

Date the customer was created.

Example: "2020-01-01T00:00:00.750Z"
updated_atstring(date-time)

Date the customer was last updated.

Example: "2020-01-01T00:00:00.750Z"
sourcestring
Enum"QUICKBOOKS""MERCHANT_USER""ADMIN_USER""APPLICATION""CUSTOMER_USER""API"
Example: "MERCHANT_USER"
business_addressstring

Street address of the business' primary location.

Example: "111 Main Street"
business_citystring

City of the business' primary location.

Example: "San Francisco"
business_statestring

State or province of the business' primary location.

Example: "CA"
business_zipstring

US zip code of the business' primary location.

Example: "94104"
business_countrystring

Country of the business' primary location according to the ISO 3166-1 alpha 2 standard.

Example: "US"
business_age_rangestring

String indicating age of the business in years.

Enum"0-2""2-5""5-10""10+"
Example: "5-10"
business_ap_emailstring

Email address of the business' accounts payable person or department.

Example: "ap@example.com"
business_ap_phonestring

Phone number of the business' accounts payable person or department.

Example: "(202) 456-1414"
business_ap_phone_extensionstring

Phone number extension of the business' accounts payable person or department.

Example: "123"
business_namestring

Full legal name of the business being applied for.

Example: "Example, Inc."
business_trade_namestring

Trade name of the business, if different than business_name.

Example: "Example Trading Company"
business_phonestring

Phone number of the business' primary location.

Example: "(202) 456-1414"
business_typestring

String indicating the business' type of legal entity.

Enum"sole_prop_or_partnership""llc""corporation""nonprofit""government"
Example: "corporation"
emailstring(email)

Email of the customer applying for terms.

Example: "user@example.com"
personal_name_firststring

First name of the person applying on behalf of the business.

Example: "James"
personal_name_laststring

Last name of the person applying on behalf of the business.

Example: "Bond"
personal_phonestring

Personal phone number of the customer representative applying for terms.

Example: "(202) 456-1414"
amount_approvedinteger(int64)

Total amount of the credit approved.

Example: 10000
amount_authorizedinteger(int64)

Amount of the credit line reserved for authorized charges.

Example: 10000
amount_availableinteger(int64)

Current amount of the credit line available for purchases.

Example: 10000
amount_balanceinteger(int64)

Current balance on the customer's credit line.

Example: 2000
amount_unapplied_paymentsinteger(int64)

Current amount of a customer's unapplied payments.

Example: 1000
default_termsstring or null

Set default terms that will apply to this customer's invoices. Can be overridden when requesting an advance.

Enum"net7""net10""net10th""net15""net20""net30""net45""net60""net75""net90"
advance_ratenumber or null(double)[ 0 .. 1 ]

The advance rate that will be used to determine the amount advanced for this customer's invoices.

Example: 0.75
credit_statusstring or null

Current credit status of this customer. See #request-a-credit-check for more details.

Enum"approved""hold""declined""pending""deactivated"null
net_terms_statusstring or null

Current net terms enrollment status of this customer. See #fetchCustomer for more details.

Enum"enrolled""pending_enrollment""enrollment_expired"null
net_terms_enrollment_urlstring or null

The URL for a customer to complete enrollment requirements when net_terms_status is pending_enrollment. See #fetchCustomer for more details.

Example: "www.app.resolvepay.com/merchant-id/activate/123456"
net_terms_enrollment_expires_atstring or null(date-time)

The date by which the customer must be enrolled in this net terms offer, not null when net_terms_status is pending_enrollment.

Example: "2020-01-01T00:00:00.750Z"
credit_check_requested_atstring or null(date-time)

The date a credit check was requested.

Example: "2020-01-01T00:00:00.750Z"
archivedboolean

Boolean indicating if customer is archived.

Example: false
duns_numberstring or null

Dun & Bradstreet unique nine-digit identifier for businesses that is associated with a business's Live Business Identity

Example: "00-123-4567"
credit_decisionsArray of objects

Array of credit decisions made for this customer.

Response
application/json
{ "id": "PMMlaE5wbg0", "created_at": "2020-01-01T00:00:00.750Z", "updated_at": "2020-01-01T00:00:00.750Z", "source": "MERCHANT_USER", "business_address": "111 Main Street", "business_city": "San Francisco", "business_state": "CA", "business_zip": "94104", "business_country": "US", "business_age_range": "5-10", "business_ap_email": "ap@example.com", "business_ap_phone": "(202) 456-1414", "business_ap_phone_extension": "123", "business_name": "Example, Inc.", "business_trade_name": "Example Trading Company", "business_phone": "(202) 456-1414", "business_type": "corporation", "email": "user@example.com", "personal_name_first": "James", "personal_name_last": "Bond", "personal_phone": "(202) 456-1414", "amount_approved": 10000, "amount_authorized": 10000, "amount_available": 10000, "amount_balance": 2000, "amount_unapplied_payments": 1000, "default_terms": "net7", "advance_rate": 0.75, "credit_status": "approved", "net_terms_status": "enrolled", "net_terms_enrollment_url": "www.app.resolvepay.com/merchant-id/activate/123456", "net_terms_enrollment_expires_at": "2020-01-01T00:00:00.750Z", "credit_check_requested_at": "2020-01-01T00:00:00.750Z", "archived": false, "duns_number": "00-123-4567", "credit_decisions": [ { … } ] }

Payouts

A Payout is a transfer of money between the Merchant and Resolve.

Operations

Payout Transactions

Payout Transactions are the individual transactions like customer payments, Resolve advances, forwarded payments, etc. that are rolled into a Payout. Each Payout is the sum of one or more transactions. Note that certain fields are only relevant to certain transaction types - e.g.: a Payout Transaction of type monthly_fee will have both customer_id and invoice_id set to null.

Operations

Payments

A payment represents a transaction where a customer pays towards their invoices. When a payment is made to Resolve, the customer's available credit balance is increased by the amount of the payment. Payments can be made via various methods including ACH, credit card, check, or wire transfer. Each payment can be applied to one or more invoices.

Operations

Credit Notes

Credit Notes are issued to customers to reduce the amount they owe.

Operations

Shipments

A shipment represents the fulfillment of goods or services for an invoice. Track shipments to monitor delivery status and fulfillment progress. Shipments can be fulfilled through various methods including shipping providers, self-delivery, customer pickup, or for services-only transactions.

Operations