API Reference v2020.10.20.1
Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu.
Base URLs:
Token : Manage authentication for the PEX API.
Reissue token prior to expiration
Code samples
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'string'
}
result = RestClient.post 'https://coreapi.pexcard.com/v4/Token/Renew',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'string'
}
r = requests.post('https://coreapi.pexcard.com/v4/Token/Renew', headers = headers)
print(r.json())
const headers = {
'Accept':'application/json',
'Authorization':'string'
};
fetch('https://coreapi.pexcard.com/v4/Token/Renew',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST /Token/Renew
Reissue an existing token. A new token will be generated based on your existing valid token. This end-point does not extend the expiration date of an existing token.
All tokens expire 6 months after creation. You can reissue the token one (1) month prior to its expiration date. Once the token is expired, it cannot be renewed and you will need to generate a new one.
If you know a token has been compromised, please delete it and generate a new one.
To get the expiration date of a token, use GET /Token.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | token {USERTOKEN} |
Example responses
200 Response
{
"Username": "",
"Token": "",
"AppId": "",
"TokenExpiration": ""
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | RenewTokenResponse |
403 | Forbidden | Cannot renew token | None |
Return all tokens for the business
Code samples
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'string'
}
result = RestClient.get 'https://coreapi.pexcard.com/v4/Token/GetAuthTokens',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'string'
}
r = requests.get('https://coreapi.pexcard.com/v4/Token/GetAuthTokens', headers = headers)
print(r.json())
const headers = {
'Accept':'application/json',
'Authorization':'string'
};
fetch('https://coreapi.pexcard.com/v4/Token/GetAuthTokens',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /Token/GetAuthTokens
List all tokens for the business, including the expiration date/time.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | basic {Base64Encoded appId:appSecret} / token {USERTOKEN} |
Example responses
200 Response
{
"Tokens": [
{
"Token": "",
"SecondsUntilExpire": 0,
"ExpirationTime": ""
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | GetAllTokensResponse |
Return details associated with the token or return list of tokens details for basic auth
Code samples
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'string'
}
result = RestClient.get 'https://coreapi.pexcard.com/v4/Token',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'string'
}
r = requests.get('https://coreapi.pexcard.com/v4/Token', headers = headers)
print(r.json())
const headers = {
'Accept':'application/json',
'Authorization':'string'
};
fetch('https://coreapi.pexcard.com/v4/Token',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /Token
Determine which API user a token belongs to, as well as the token expiration date.
Once the token expires, it cannot be retrieved, renewed or deleted.
The following error responses will result in PEX deleting the token (after the first error):
‘401: Password has changed’ (API user has changed the password)
‘403: User is not active’ (API user is terminated/closed)
‘403: Token expired or does not exist’.
If you receive any of the above errors, you will need to contact the API user for further instructions.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | basic {Base64Encoded appId:appSecret} / token {USERTOKEN} |
Example responses
200 Response
{
"Tokens": [
{
"Username": "",
"AppId": "",
"Token": "",
"TokenExpiration": ""
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | GetTokenResponse |
Generate a new access token
Code samples
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'basic '
}
result = RestClient.post 'https://coreapi.pexcard.com/v4/Token',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'basic '
}
r = requests.post('https://coreapi.pexcard.com/v4/Token', headers = headers)
print(r.json())
const inputBody = '{
"Username": "",
"Password": ""
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'basic '
};
fetch('https://coreapi.pexcard.com/v4/Token',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST /Token
Create a token.
A token is required to make all API calls. The life of a token is six (6) months.
Tokens are the equivalent of a username/password combination and must not be shared or distributed to untrusted parties.
Token authentication is only secure if SSL is used. Therefore, all requests (both to obtain and use the tokens) must use HTTPS endpoints. Please follow the best practices using SSL - peers should always be verified. To find our latest VeriSign certificate, please go to https://coreapi.pexcard.com.
If you are a partner (API user), your customer will provide a PEX administrator or cardholder username/password that you (partner) will generate the token from. You (partner) then use that token to authenticate.
If you are a customer, you received your API username/password from PEX Operations.
Before creating your first token the following pre-steps are required:
Note: To see the Curl example - in the Authorization field, prepend the word basic to the Base64 encoded value, for example,
basic MmRlMWZjZgq6OTU0MzQwYmY3OGIwNjFjnJcxIIY0MWM2NWE4NWIxPPO=
Body parameter
{
"Username": "",
"Password": ""
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | basic {Base64Encoded appId:appSecret} |
body | body | PostTokenRequest | true | Username and password |
Example responses
201 Response
{
"Token": ""
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
201 | Created | Created | PostTokenResponse |
401 | Unauthorized |
Revoke access for the authenticated user
Code samples
require 'rest-client'
require 'json'
headers = {
'Authorization' => 'string'
}
result = RestClient.delete 'https://coreapi.pexcard.com/v4/Token',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Authorization': 'string'
}
r = requests.delete('https://coreapi.pexcard.com/v4/Token', headers = headers)
print(r.json())
const headers = {
'Authorization':'string'
};
fetch('https://coreapi.pexcard.com/v4/Token',
{
method: 'DELETE',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
DELETE /Token
To revoke API access, delete the token.
The following error responses will result in PEX deleting the token (after the first error):
‘401: Password has changed’ (Administrator has changed the password)
‘403: User is not active’ (Administrator is terminated/closed)
‘403: Token expired or does not exist’.
If the token will expire in one month or less, use POST /Token/Renew.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | token {USERTOKEN} |
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | None |
401 | Unauthorized | Password has changed’ (Administrator has changed the password) | None |
402 | Payment Required | User is not active’ (Administrator is terminated/closed) | None |
403 | Forbidden | Token expired or does not exist | None |
Card : Create, activate, and fund cards. Setup rules for spending and scheduled funding.
Return all advanced spend rules for a specified card accountID
Code samples
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'string'
}
result = RestClient.get 'https://coreapi.pexcard.com/v4/Card/SpendRules/{id}/Advanced',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'string'
}
r = requests.get('https://coreapi.pexcard.com/v4/Card/SpendRules/{id}/Advanced', headers = headers)
print(r.json())
const headers = {
'Accept':'application/json',
'Authorization':'string'
};
fetch('https://coreapi.pexcard.com/v4/Card/SpendRules/{id}/Advanced',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /Card/SpendRules/{id}/Advanced
Return all advanced spend rules for a specified card accountID.
Advanced spend rules dictate where a card can be used to make purchases.
Cardholders using PEX card do not have cash access. ATMs, Money Orders, Money Remittance (e.g. MoneyGram) and other cash transactions, such as purchasing casino chips, will be declined at all times.
At card creation, the advanced spend rule defaults are:
CardNotPresentEnabled: This parameter is deprecated in favor of CardPresence.
CardPresence: Control how PEX Card can be used for purchases, either physically present at the point-of-sale or used virtually over the Internet or phone.
0 - Card present (in person) transaction only. If the cardholder only makes purchase in person, choose this option for better fraud protection.
1 - No restrictions. A cardholder can make purchases both in-person and online/over the internet.
2 - Card not present (online) transactions only. If the cardholder only makes purchases over the internet/online, choose this option for better fraud protection.
DaysOfWeekRestrictions: This parameter allows a card to be used only on specific days of the week. If empty, all days are valid. Days are comma delimited array values. E.g. Allow only weekends: ["Saturday", "Sunday"]
UsStateRestrictions: This parameter allows a card to be used only in certain US States. If empty, all US States are valid. States are abbriviated comma delimited array values. E.g. Allow only New York and New Jersey: ["NY","NJ"]
PEX has combined Merchant Category Codes (MCC) into larger groupings based upon merchant or service type. Below is the list of those combinations with examples of merchant types for each (this is not an exhaustive merchant listing):
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
id | path | integer(int32) | true | Card account ID |
Authorization | header | string | true | token {USERTOKEN} |
Example responses
200 Response
{
"AdvancedSpendRules": {
"MerchantCategories": [
{
"Id": 0,
"Name": "",
"Description": "",
"TransactionLimit": 0,
"DailySpendLimit": 0,
"WeeklySpendLimit": 0,
"MonthlySpendLimit": 0,
"YearlySpendLimit": 0,
"LifetimeSpendLimit": 0
}
],
"InternationalSpendEnabled": false,
"IsDailySpendLimitEnabled": false,
"DailySpendLimit": 0,
"WeeklySpendLimit": 0,
"MonthlySpendLimit": 0,
"YearlySpendLimit": 0,
"LifetimeSpendLimit": 0,
"CardNotPresentUse": false,
"CardPresence": 0,
"UsePexAccountBalanceForAuths": false,
"UseCustomerAuthDecision": false,
"DaysOfWeekRestrictions": [
"string"
],
"UsStateRestrictions": [
"string"
]
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | GetAdvancedSpendRulesResponse |
403 | Forbidden |
|
None |
500 | Internal Server Error | InternalServerError | None |
Create advanced spend rules for a specified card accountID
Code samples
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Authorization' => 'string'
}
result = RestClient.put 'https://coreapi.pexcard.com/v4/Card/SpendRules/{id}/Advanced',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Authorization': 'string'
}
r = requests.put('https://coreapi.pexcard.com/v4/Card/SpendRules/{id}/Advanced', headers = headers)
print(r.json())
const inputBody = '{
"MerchantCategories": [
{
"Id": 0,
"Name": "",
"TransactionLimit": 0,
"DailySpendLimit": 0,
"WeeklySpendLimit": 0,
"MonthlySpendLimit": 0,
"YearlySpendLimit": 0,
"LifetimeSpendLimit": 0
}
],
"InternationalSpendEnabled": false,
"DailySpendLimit": 0,
"WeeklySpendLimit": 0,
"MonthlySpendLimit": 0,
"YearlySpendLimit": 0,
"LifetimeSpendLimit": 0,
"CardNotPresentUse": false,
"CardPresence": 0,
"UsePexAccountBalanceForAuths": false,
"UseCustomerAuthDecision": false,
"DaysOfWeekRestrictions": [
"string"
],
"UsStateRestrictions": [
"string"
]
}';
const headers = {
'Content-Type':'application/json',
'Authorization':'string'
};
fetch('https://coreapi.pexcard.com/v4/Card/SpendRules/{id}/Advanced',
{
method: 'PUT',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
PUT /Card/SpendRules/{id}/Advanced
Create advanced spend rules for a specified card accountID.
Advanced spend rules dictate where a card can be used to make purchases and can be used to set a per day spending limit. Changes to spend rules happen in real-time. Be sure the cardholder is aware of the limitations being set.
If your business allows cardholders to "Use your PEX Account balance" for transactions, you must set a value for "DailySpendLimit" for those cardholders. The "DailySpendLimit" value must be less than or equal to the PEX assigned daily spend limit for your business (typically $5,000 USD).
Cardholders using PEX do not have cash access. ATMs, Money Orders, Money Remittance (e.g. MoneyGram) and other cash transactions, such as purchasing casino chips, will be declined at all times.
CardNotPresentUse: This parameter is deprecated in favor of CardPresence.
CardPresence: Control how PEX Card can be used for purchases, either physically present at the point-of-sale or used virtually over the Internet or phone.
0 - Card present (in person) transaction only. If the cardholder only makes purchase in person, choose this option for better fraud protection.
1 - No restrictions. A cardholder can make purchases both in-person and online/over the internet.
2 - Card not present (online) transactions only. If the cardholder only makes purchases over the internet/online, choose this option for better fraud protection.
DaysOfWeekRestrictions: This parameter allows a card to be used only on specific days of the week. If empty, all days are valid. Days are comma delimited array values. E.g. Allow only weekends: ["Saturday", "Sunday"]
UsStateRestrictions: This parameter allows a card to be used only in certain US States. If empty, all US States are valid. States are abbriviated comma delimited array values. E.g. Allow only New York and New Jersey: ["NY","NJ"]
International spending is turned OFF by default. To keep fraud to a minimum, we suggest you leave ‘InternationalSpendEnabled’ = false. If a cardholder is traveling internationally, or needs to make purchases from international websites/merchants, change ‘InternationalSpendEnabled’ = true. US sanctioned countries will always be declined, see list of sanctioned countries on dashboard.pexcard.com in FAQ (found in the footer).
Padding for Restaurant: At non-fast food locations, card authorization is (typically) for total plus 20% of total (ex. bill total $56.00 + $11.20 (20%) = $67.20 authorization amount). If the cardholder spends at restaurants, please be sure to allow for the additional 20%.
Gas Purchases at Automated Fuel Dispensers (AFDs): AFDs will authorize for a minimum $50.00 and settle for the amount of gas pumped (whether the purchase is above or below $50.00). So setting a daily spend limit of $30.00 means a cardholder cannot purchase fuel at the gas pump.
PEX has combined Merchant Category Codes (MCC) into larger groupings based upon merchant or service type. Below is the list of those combinations with examples of merchant types for each (this is not an exhaustive merchant listing):
Body parameter
{
"MerchantCategories": [
{
"Id": 0,
"Name": "",
"TransactionLimit": 0,
"DailySpendLimit": 0,
"WeeklySpendLimit": 0,
"MonthlySpendLimit": 0,
"YearlySpendLimit": 0,
"LifetimeSpendLimit": 0
}
],
"InternationalSpendEnabled": false,
"DailySpendLimit": 0,
"WeeklySpendLimit": 0,
"MonthlySpendLimit": 0,
"YearlySpendLimit": 0,
"LifetimeSpendLimit": 0,
"CardNotPresentUse": false,
"CardPresence": 0,
"UsePexAccountBalanceForAuths": false,
"UseCustomerAuthDecision": false,
"DaysOfWeekRestrictions": [
"string"
],
"UsStateRestrictions": [
"string"
]
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
id | path | integer(int32) | true | Card account ID |
Authorization | header | string | true | token {USERTOKEN} |
body | body | SetAdvancedSpendRulesRequest | true | Advanced spend rule data |
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | None |
400 | Bad Request |
|
None |
403 | Forbidden |
|
None |
500 | Internal Server Error | InternalServerError | None |
Create a 4-digit PIN and associate it with a card accountID
Code samples
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'string'
}
result = RestClient.put 'https://coreapi.pexcard.com/v4/Card/SetPin/{Id}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'string'
}
r = requests.put('https://coreapi.pexcard.com/v4/Card/SetPin/{Id}', headers = headers)
print(r.json())
const inputBody = '{
"Pin": ""
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'string'
};
fetch('https://coreapi.pexcard.com/v4/Card/SetPin/{Id}',
{
method: 'PUT',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
PUT /Card/SetPin/{Id}
Create a 4-digit PIN and associate it with a card accountID.
There is no cash access and a PEX card cannot be used to obtain cash from an ATM, POS or by any other means.
You can set a PIN to allow your cardholder to shop at some stores that require PINs, e.g. Sam's Club and Costco.
The PIN is secure and cannot be viewed online or by customer service. If the cardholder forgets the PIN, a new PIN must be created.
If the cardholder uses an incorrect PIN five (5) times, the system will block the card for fraud. To remove the block, call customer service (1-866-685-1898) or create a new PIN - SetPIN will unblock the card and set the failure count to 0.
A PIN must:
Body parameter
{
"Pin": ""
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Id | path | integer(int32) | true | Card account ID |
Authorization | header | string | true | token {USERTOKEN} |
body | body | SetCardholderPinRequest | true | 4 digit PIN |
Example responses
200 Response
{}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | Inline |
403 | Forbidden |
Response Schema
Status Code 200
IHttpActionResult
Name | Type | Required | Restrictions | Description |
---|
Set a group for the card account
Code samples
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'string'
}
result = RestClient.put 'https://coreapi.pexcard.com/v4/Card/SetGroup',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'string'
}
r = requests.put('https://coreapi.pexcard.com/v4/Card/SetGroup', headers = headers)
print(r.json())
const inputBody = '{
"GroupId": 0,
"AcctId": 0
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'string'
};
fetch('https://coreapi.pexcard.com/v4/Card/SetGroup',
{
method: 'PUT',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
PUT /Card/SetGroup
Insert a card accountID into a specified group.
For a definition of group see POST /Group/Group.
Body parameter
{
"GroupId": 0,
"AcctId": 0
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | token {USERTOKEN} |
body | body | SetCardholderGroupRequest | true | Group ID and Account ID |
Example responses
200 Response
{}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | Inline |
403 | Forbidden |
Response Schema
Status Code 200
HttpResponseMessage
Name | Type | Required | Restrictions | Description |
---|
Fund a specified card accountID to zero ($0)
Code samples
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'string'
}
result = RestClient.post 'https://coreapi.pexcard.com/v4/Card/Zero/{id}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'string'
}
r = requests.post('https://coreapi.pexcard.com/v4/Card/Zero/{id}', headers = headers)
print(r.json())
const headers = {
'Accept':'application/json',
'Authorization':'string'
};
fetch('https://coreapi.pexcard.com/v4/Card/Zero/{id}',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST /Card/Zero/{id}
Fund a specified card accountID to zero ($0).
Specify a card accountID and funds from the business account will be added/removed so that the card account (available) balance = $0.00.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
id | path | integer(int32) | true | Card account ID |
Authorization | header | string | true | token {USERTOKEN} |
Example responses
200 Response
{
"AccountId": 0,
"AvailableBalance": 0,
"LedgerBalance": 0
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | FundResponse |
403 | Forbidden |
Return all cards for a CardOrderId
Code samples
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'string'
}
result = RestClient.get 'https://coreapi.pexcard.com/v4/Card/CardOrder/{id}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'string'
}
r = requests.get('https://coreapi.pexcard.com/v4/Card/CardOrder/{id}', headers = headers)
print(r.json())
const headers = {
'Accept':'application/json',
'Authorization':'string'
};
fetch('https://coreapi.pexcard.com/v4/Card/CardOrder/{id}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /Card/CardOrder/{id}
After using POST /Card/CreateAsync to create one or more cards, you can retrieve the card information, including the card AccountId, by using this call.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
id | path | integer(int32) | true | Card order ID |
Authorization | header | string | true | token {USERTOKEN} |
Example responses
200 Response
{
"CardOrderId": 0,
"OrderDateTime": "",
"UserName": "",
"BusinessAccountId": 0,
"Cards": [
{
"AcctId": 0,
"Status": "",
"FirstName": "",
"MiddleName": "",
"LastName": "",
"DateOfBirth": "",
"HomePhone": "",
"MobilePhone": "",
"Email": "",
"HomeAddress": {
"AddressLine1": "",
"AddressLine2": "",
"City": "",
"State": "",
"PostalCode": "",
"Country": ""
},
"ShippingAddress": {
"AddressLine1": "",
"AddressLine2": "",
"City": "",
"State": "",
"PostalCode": "",
"Country": ""
},
"Recipient": "",
"ShipToShippingAddress": false,
"ShippingContactNumber": "",
"BundleCards": false,
"ShippingMethod": "",
"ShippingDate": "",
"Errors": [
{
"Code": "",
"Message": ""
}
],
"FailReason": "",
"AccountNumber": "",
"SpendingRulesetId": 0,
"GroupId": 0,
"CustomId": ""
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | CardOrderResponse |
403 | Forbidden | Order belongs to another business | None |
Get general information about card orders
Code samples
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'string'
}
result = RestClient.get 'https://coreapi.pexcard.com/v4/Card/CardOrder',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'string'
}
r = requests.get('https://coreapi.pexcard.com/v4/Card/CardOrder', headers = headers)
print(r.json())
const headers = {
'Accept':'application/json',
'Authorization':'string'
};
fetch('https://coreapi.pexcard.com/v4/Card/CardOrder',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /Card/CardOrder
This endpoint returns all the card order Ids those were created in the duration specified by Start date and End date.
With the CardOrderId from response you can use GET/Card/CardOrder/{Id} to get more information about the cards created within that CardOrder.
Please make sure time frame selected between StartDate and EndDate is no more than last 12 months.
CardOrderId: Order ID returned as a response to POST/Card/CreateAsync, when you submit card creation request.
OrderDateTime: Date time when the card order was placed.
UserName: Username of the user who placed the order
BusinessAdminId: Unique identifier for the business admin who placed the card order. More information about admin can be obtained by GET/Business/Admin/{Id}. It can have null value in some cases.
BusinessAccountId: Account Id to which card order belongs to.
NumberofCards: Total count of number of cards successfully created in the card order.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
StartDate | query | string(date-time) | false | Start date (format - YYYY-MM-DDThh:mm:ss) |
EndDate | query | string(date-time) | false | End date (format - YYYY-MM-DDThh:mm:ss) |
Authorization | header | string | true | token {USERTOKEN} |
Example responses
200 Response
{
"CardOrders": [
{
"CardOrderId": 0,
"OrderDateTime": "",
"UserName": "",
"BusinessAdminId": 0,
"BusinessAccountId": 0,
"NumberOfCards": 0
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | GetCardOrderResponse |
Return profile data associated with a single card accountID
Code samples
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'string'
}
result = RestClient.get 'https://coreapi.pexcard.com/v4/Card/Profile/{id}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'string'
}
r = requests.get('https://coreapi.pexcard.com/v4/Card/Profile/{id}', headers = headers)
print(r.json())
const headers = {
'Accept':'application/json',
'Authorization':'string'
};
fetch('https://coreapi.pexcard.com/v4/Card/Profile/{id}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /Card/Profile/{id}
Return profile data associated with a single card accountID.
Definition of some of the returned fields and how the PEX system uses them:
To retrieve all information stored against a card accountID, including spend and funding rules, use GET /Details/AccountDetails/{Id}.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
id | path | integer(int32) | true | Card account ID |
Authorization | header | string | true | token {USERTOKEN} |
Example responses
200 Response
{
"AccountId": 0,
"AccountStatus": "",
"FirstName": "",
"LastName": "",
"CardholderGroupId": 0,
"SpendRulesetId": 0,
"ProfileAddress": {
"ContactName": "",
"AddressLine1": "",
"AddressLine2": "",
"City": "",
"State": "",
"PostalCode": "",
"Country": ""
},
"Phone": "",
"ShippingAddress": {
"ContactName": "",
"AddressLine1": "",
"AddressLine2": "",
"City": "",
"State": "",
"PostalCode": "",
"Country": ""
},
"ShippingPhone": "",
"DateOfBirth": "",
"Email": "",
"IsVirtual": false,
"CustomId": ""
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | GetProfileResponse |
401 | Unauthorized | Must be card account ID | None |
403 | Forbidden | Invalid card account ID | None |
Update profile data for a specified card accountID.
Code samples
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'string'
}
result = RestClient.put 'https://coreapi.pexcard.com/v4/Card/Profile/{id}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'string'
}
r = requests.put('https://coreapi.pexcard.com/v4/Card/Profile/{id}', headers = headers)
print(r.json())
const inputBody = '{
"CardholderGroupId": 0,
"SpendRulesetId": 0,
"Phone": "",
"ShippingPhone": "",
"DateOfBirth": "",
"Email": "",
"CustomId": "",
"FirstName": "",
"LastName": "",
"NormalizeProfileAddress": false,
"ProfileAddress": {
"AddressLine1": "",
"AddressLine2": "",
"City": "",
"State": "",
"PostalCode": ""
},
"NormalizeShippingAddress": false,
"ShippingAddress": {
"ContactName": "",
"AddressLine1": "",
"AddressLine2": "",
"City": "",
"State": "",
"PostalCode": ""
}
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'string'
};
fetch('https://coreapi.pexcard.com/v4/Card/Profile/{id}',
{
method: 'PUT',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
PUT /Card/Profile/{id}
All fields are optional for update, however, some profile fields are required in the system and cannot be replaced by null or empty strings. The API user must have AddEditTerminateCard = true.
Required profile fields:
To find the group name associated with a ‘CardholderGroupId’, use GET /Details/AccountDetails.
CustomId: User defined Id which can be assigned to Card holder profile (alphanumeric up to 50 characters). This is optional field.
User can specify SpendRulesetId in the request to associate an account with SpendingRuleset.
If SpendRulesetId value in request is null, account will be disassociated from a SpendingRuleset.
If PEX card is used for fuel authorizations, transit passes or online purchases, there will be times where the cardholder will have to key in the billing zip code as it appears on the cardholder profile. To avoid issues at the time of purchase, let the cardholder know what their billing (i.e. profile) address is.
If the cardholder enters an invalid Zip Code 2 times, the merchant may refuse to accept additional card swipes. If this occurs, cardholders will have to see the attendant to complete a gas transaction, or use another form of payment.
If the cardholder should have access to dashboard.pexcard.com to review their transaction history, etc., they will need the four (4) digit year of birth from their profile. If you are using a generic value, you will need to convey that to the cardholder.
Body parameter
{
"CardholderGroupId": 0,
"SpendRulesetId": 0,
"Phone": "",
"ShippingPhone": "",
"DateOfBirth": "",
"Email": "",
"CustomId": "",
"FirstName": "",
"LastName": "",
"NormalizeProfileAddress": false,
"ProfileAddress": {
"AddressLine1": "",
"AddressLine2": "",
"City": "",
"State": "",
"PostalCode": ""
},
"NormalizeShippingAddress": false,
"ShippingAddress": {
"ContactName": "",
"AddressLine1": "",
"AddressLine2": "",
"City": "",
"State": "",
"PostalCode": ""
}
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
id | path | integer(int32) | true | Card account ID |
Authorization | header | string | true | token {USERTOKEN} |
body | body | UpdateProfileRequest | true | Profile data |
Example responses
200 Response
{}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | Inline |
403 | Forbidden |
Response Schema
Status Code 200
HttpResponseMessage
Name | Type | Required | Restrictions | Description |
---|
Add or remove funds to/from a card accountID
Code samples
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'string'
}
result = RestClient.post 'https://coreapi.pexcard.com/v4/Card/Fund/{id}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'string'
}
r = requests.post('https://coreapi.pexcard.com/v4/Card/Fund/{id}', headers = headers)
print(r.json())
const inputBody = '{
"Amount": 0
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'string'
};
fetch('https://coreapi.pexcard.com/v4/Card/Fund/{id}',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST /Card/Fund/{id}
Add or remove funds to/from a card accountID.
Card funding is in real-time and will change the cardholder's available balance immediately.
To remove funds from the card balance, enter a negative number, for example: -10.00 will remove $10.00 from the card available balance.
Padding for Restaurant: At non-fast food locations, card authorization is (typically) for total plus 20% of total (ex. bill total $56.00 + $11.20 (20%) = $67.20 authorization amount). If the cardholder spends at restaurants, please be sure to allow for the additional 20%.
Gas Purchases at Automated Fuel Dispensers (AFDs): AFDs will authorize for a minimum $50.00 and settle for the amount of gas pumped (whether the purchase is above or below $50.00).
To retrieve the card accountID, use GET /Details/AccountDetails.
Body parameter
{
"Amount": 0
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
id | path | integer(int32) | true | Card account ID |
Authorization | header | string | true | token {USERTOKEN} |
body | body | FundRequest | true | Details required for funding a card |
Example responses
200 Response
{
"AccountId": 0,
"AvailableBalance": 0,
"LedgerBalance": 0
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | FundResponse |
403 | Forbidden |
Create cards for the business
Code samples
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'string'
}
result = RestClient.post 'https://coreapi.pexcard.com/v4/Card/CreateAsync',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'string'
}
r = requests.post('https://coreapi.pexcard.com/v4/Card/CreateAsync', headers = headers)
print(r.json())
const inputBody = '{
"Cards": [
{
"Phone": "",
"ShippingPhone": "",
"ShippingMethod": "",
"DateOfBirth": "",
"Email": "",
"GroupId": 0,
"RulesetId": 0,
"CustomId": "",
"FirstName": "",
"LastName": "",
"NormalizeProfileAddress": false,
"ProfileAddress": {
"AddressLine1": "",
"AddressLine2": "",
"City": "",
"State": "",
"PostalCode": ""
},
"NormalizeShippingAddress": false,
"ShippingAddress": {
"ContactName": "",
"AddressLine1": "",
"AddressLine2": "",
"City": "",
"State": "",
"PostalCode": ""
}
}
],
"NormalizeHomeAddress": false,
"NormalizeShippingAddress": false
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'string'
};
fetch('https://coreapi.pexcard.com/v4/Card/CreateAsync',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST /Card/CreateAsync
Create cards for the business. The response to this call is a CardOrderId.
To retrieve card details, including the card AccountId, use GET /Card/CardOrder/{Id}
Cards have an expiration date of 3 years and will renew automatically 60 days prior to expiration. If the card expiration is 01/17, the card will expire on the last day of the month, January 31, 2017.
ShippingMethod is a required field and maps to the same choices available on the admin website:
non-ASCII characters. Ex: "ñ" not allowed
Cardholder name may only include letters, numbers and the following punctuation symbols: , . - & '
Cardholder first + last names must be no more than 23 characters
Email format: name@domain.com
Date format: MM-DD-YYYY, ex. 01-31-1970
Phone format: 2125551212 or 212-555-1212
Zip Code should be 5 digits: 10018.
Address format: letters, numbers and the following punctuation symbols: . ' () , # - /
City format: letters, numbers and the following punctuation symbols: . ' () , # - /
State format: two letter format ex. "CA"
Max AddressLine1 field length: 26 characters
Max AddressLine2 field length: 26 characters
Max City field length: 25 characters
Country: US
CustomId: User defined Id which can be assigned to Card holder profile (alphanumeric up to 50 characters). This is optional field.
Shipping address is used for card mailing. PEX uses this address for all future card replacements including: lost, stolen, compromised and renewal.
Valid Shipping address need to be populated as part of request while creating new cards.
If PEX card is used for fuel authorizations, transit passes or online purchases, there will be times where the cardholder will have to key in the billing zip code as it appears on the cardholder profile. To avoid issues at the time of purchase, let the cardholder know what their billing (i.e. profile) address is.
If the cardholder enters an invalid Zip Code 2 times, the merchant may refuse to accept additional card swipes. If this occurs, cardholders will have to see the attendant to complete a gas transaction, or use another form of payment.
If the cardholder should have access to dashboard.pexcard.com to review their transaction history, etc., they will need the four (4) digit year of birth from their profile. If you are using a generic value, you will need to convey that to the cardholder.
At card creation, the spend rule defaults are:
To add a card account to a group, use GET /Group to retrieve GroupIds
To add spend rules to a card account, use GET /SpendingRuleset to retrieve all the Spend rule sets for your business.
Body parameter
{
"Cards": [
{
"Phone": "",
"ShippingPhone": "",
"ShippingMethod": "",
"DateOfBirth": "",
"Email": "",
"GroupId": 0,
"RulesetId": 0,
"CustomId": "",
"FirstName": "",
"LastName": "",
"NormalizeProfileAddress": false,
"ProfileAddress": {
"AddressLine1": "",
"AddressLine2": "",
"City": "",
"State": "",
"PostalCode": ""
},
"NormalizeShippingAddress": false,
"ShippingAddress": {
"ContactName": "",
"AddressLine1": "",
"AddressLine2": "",
"City": "",
"State": "",
"PostalCode": ""
}
}
],
"NormalizeHomeAddress": false,
"NormalizeShippingAddress": false
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | token {USERTOKEN} |
body | body | CreateCardAsyncRequest | true | Profile and shipping data |
Example responses
201 Response
{
"CardOrderId": 0
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
201 | Created | Created | CreateCardAsyncResponse |
400 | Bad Request | Invalid shipping method | None |
403 | Forbidden | Admin does not have permission | None |
Activate a card
Code samples
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'string'
}
result = RestClient.post 'https://coreapi.pexcard.com/v4/Card/Activate/{id}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'string'
}
r = requests.post('https://coreapi.pexcard.com/v4/Card/Activate/{id}', headers = headers)
print(r.json())
const headers = {
'Accept':'application/json',
'Authorization':'string'
};
fetch('https://coreapi.pexcard.com/v4/Card/Activate/{id}',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST /Card/Activate/{id}
Activate a card using the card accountID.
A card must be activated before the cardholder can spend. For security reasons, you should not activate a card until it is received by the cardholder.
The PEX system will prevent you from activating a card within 24 hours of creation.
If the card is a replacement for an existing, damaged or expiring card, make sure the cardholder has the new card prior to activating it. Card activation immediately terminates all other cards on the account, including the one the cardholder is currently using. The card termination process is immediate and NOT reversible.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
id | path | integer(int32) | true | Card account ID |
Authorization | header | string | true | token {USERTOKEN} |
Example responses
200 Response
{}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | Inline |
403 | Forbidden |
Response Schema
Status Code 200
IHttpActionResult
Name | Type | Required | Restrictions | Description |
---|
Close a specified card accountId
Code samples
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'string'
}
result = RestClient.post 'https://coreapi.pexcard.com/v4/Card/Terminate/{id}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'string'
}
r = requests.post('https://coreapi.pexcard.com/v4/Card/Terminate/{id}', headers = headers)
print(r.json())
const headers = {
'Accept':'application/json',
'Authorization':'string'
};
fetch('https://coreapi.pexcard.com/v4/Card/Terminate/{id}',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST /Card/Terminate/{id}
Close a specified card accountId.
Card/Terminate completely closes the card account. Any remaining funds on the card account are returned to the main PEX business account. This action is immediate and NOT reversible.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
id | path | integer(int32) | true | Card account ID |
Authorization | header | string | true | token {USERTOKEN} |
Example responses
200 Response
{}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | Inline |
403 | Forbidden |
Response Schema
Status Code 200
IHttpActionResult
Name | Type | Required | Restrictions | Description |
---|
In real-time, change the card status for a specified card accountID.
Code samples
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'string'
}
result = RestClient.put 'https://coreapi.pexcard.com/v4/Card/Status/{id}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'string'
}
r = requests.put('https://coreapi.pexcard.com/v4/Card/Status/{id}', headers = headers)
print(r.json())
const inputBody = '{
"Status": ""
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'string'
};
fetch('https://coreapi.pexcard.com/v4/Card/Status/{id}',
{
method: 'PUT',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
PUT /Card/Status/{id}
In real-time, change the card status for a specified card accountID.
If you want to temporarily prevent a cardholder from using the card for purchases, you can change the card status from Active to Blocked. Changing card status occurs immediately on a PEX card and is reversible by using this call.
You can either make card status Active or Blocked using this endpoint.
To change card status from Blocked to Active pass 0 in request.
To change card status from Active to Blocked pass 2 in request.
If the card is inactive, you must activate it prior to changing the status to Blocked, use GET /Card/Activate/{Id}.
To find current status of all cards, use GET /Details/AccountDetails/{Id}.
Body parameter
{
"Status": ""
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
id | path | integer(int32) | true | Card account ID |
Authorization | header | string | true | token {USERTOKEN} |
body | body | UpdateCardStatusRequest | true | Status for card |
Example responses
200 Response
{}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | Inline |
403 | Forbidden |
Response Schema
Status Code 200
IHttpActionResult
Name | Type | Required | Restrictions | Description |
---|
Return all spend rules for a specified card accountID
Code samples
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'string'
}
result = RestClient.get 'https://coreapi.pexcard.com/v4/Card/SpendRules/{id}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'string'
}
r = requests.get('https://coreapi.pexcard.com/v4/Card/SpendRules/{id}', headers = headers)
print(r.json())
const headers = {
'Accept':'application/json',
'Authorization':'string'
};
fetch('https://coreapi.pexcard.com/v4/Card/SpendRules/{id}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /Card/SpendRules/{id}
Return all spend rules for a specified card accountID.
Spend rules dictate where a card can be used to make purchases.
Cardholders using PEX card do not have cash access. ATMs, Money Orders, Money Remittance (e.g. MoneyGram) and other cash transactions, such as purchasing casino chips, will be declined at all times.
At card creation, the spend rule defaults are:
CardNotPresentUse: This property is deprecated in favor of CardPresence.
CardPresence: Control how PEX Card can be used for purchases, either physically present at the point-of-sale or used virtually over the Internet or phone.
0 - Card present (in person) transaction only. If the cardholder only makes purchase in person, choose this option for better fraud protection.
1 - No restrictions. A cardholder can make purchases both in-person and online/over the internet.
2 - Card not present (online) transactions only. If the cardholder only makes purchases over the internet/online, choose this option for better fraud protection.
PEX has combined Merchant Category Codes (MCC) into larger groupings based upon merchant or service type. Below is the list of those combinations with examples of merchant types for each (this is not an exhaustive merchant listing):
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
id | path | integer(int32) | true | Card account ID |
Authorization | header | string | true | token {USERTOKEN} |
Example responses
200 Response
{
"SpendRules": {
"UseMerchantCategory": false,
"MerchantCategories": {
"AssociationsAndOrganizations": false,
"AutomotiveDealers": false,
"EducationalServices": false,
"Entertainment": false,
"FuelAndConvenienceStores": false,
"GroceryStores": false,
"HealthcareAndChildcareServices": false,
"ProfessionalServices": false,
"Restaurants": false,
"RetailStores": false,
"TravelAndTransportation": false,
"FuelPumpOnly": false,
"HardwareStores": false
},
"InternationalSpendEnabled": false,
"IsDailySpendLimitEnabled": false,
"DailySpendLimit": 0,
"CardNotPresentUse": false,
"CardPresence": 0,
"UsePexAccountBalanceForAuths": false,
"UseCustomerAuthDecision": false
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | GetSpendRulesResponse |
403 | Forbidden |
Create spend rules for a specified card accountID
Code samples
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'string'
}
result = RestClient.put 'https://coreapi.pexcard.com/v4/Card/SpendRules/{id}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'string'
}
r = requests.put('https://coreapi.pexcard.com/v4/Card/SpendRules/{id}', headers = headers)
print(r.json())
const inputBody = '{
"MerchantCategories": {
"AssociationsAndOrganizations": false,
"AutomotiveDealers": false,
"EducationalServices": false,
"Entertainment": false,
"FuelAndConvenienceStores": false,
"GroceryStores": false,
"HealthcareAndChildcareServices": false,
"ProfessionalServices": false,
"Restaurants": false,
"RetailStores": false,
"TravelAndTransportation": false,
"FuelPumpOnly": false,
"HardwareStores": false
},
"InternationalSpendEnabled": false,
"DailySpendLimit": 0,
"CardNotPresentUse": false,
"CardPresence": 0,
"UsePexAccountBalanceForAuths": false,
"UseCustomerAuthDecision": false
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'string'
};
fetch('https://coreapi.pexcard.com/v4/Card/SpendRules/{id}',
{
method: 'PUT',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
PUT /Card/SpendRules/{id}
Create spend rules for a specified card accountID.
Spend rules dictate where a card can be used to make purchases and can be used to set a per day spending limit. Changes to spend rules happen in real-time. Be sure the cardholder is aware of the limitations being set.
If your business allows cardholders to "Use your PEX Account balance" for transactions, you must set a value for "DailySpendLimit" for those cardholders. The "DailySpendLimit" value must be less than or equal to the PEX assigned daily spend limit for your business (typically $5,000 USD).
Cardholders using PEX do not have cash access. ATMs, Money Orders, Money Remittance (e.g. MoneyGram) and other cash transactions, such as purchasing casino chips, will be declined at all times.
CardNotPresentUse: This property is deprecated in favor of CardPresence.
CardPresence: Control how PEX Card can be used for purchases, either physically present at the point-of-sale or used virtually over the Internet or phone.
0 - Card present (in person) transaction only. If the cardholder only makes purchase in person, choose this option for better fraud protection.
1 - No restrictions. A cardholder can make purchases both in-person and online/over the internet.
2 - Card not present (online) transactions only. If the cardholder only makes purchases over the internet/online, choose this option for better fraud protection.
International spending is turned OFF by default. To keep fraud to a minimum, we suggest you leave ‘InternationalSpendEnabled’ = false. If a cardholder is traveling internationally, or needs to make purchases from international websites/merchants, change ‘InternationalSpendEnabled’ = true. US sanctioned countries will always be declined, see list of sanctioned countries on dashboard.pexcard.com in FAQ (found in the footer).
Padding for Restaurant: At non-fast food locations, card authorization is (typically) for total plus 20% of total (ex. bill total $56.00 + $11.20 (20%) = $67.20 authorization amount). If the cardholder spends at restaurants, please be sure to allow for the additional 20%.
Gas Purchases at Automated Fuel Dispensers (AFDs): AFDs will authorize for a minimum $50.00 and settle for the amount of gas pumped (whether the purchase is above or below $50.00). So setting a daily spend limit of $30.00 means a cardholder cannot purchase fuel at the gas pump.
PEX has combined Merchant Category Codes (MCC) into larger groupings based upon merchant or service type. Below is the list of those combinations with examples of merchant types for each (this is not an exhaustive merchant listing):
Body parameter
{
"MerchantCategories": {
"AssociationsAndOrganizations": false,
"AutomotiveDealers": false,
"EducationalServices": false,
"Entertainment": false,
"FuelAndConvenienceStores": false,
"GroceryStores": false,
"HealthcareAndChildcareServices": false,
"ProfessionalServices": false,
"Restaurants": false,
"RetailStores": false,
"TravelAndTransportation": false,
"FuelPumpOnly": false,
"HardwareStores": false
},
"InternationalSpendEnabled": false,
"DailySpendLimit": 0,
"CardNotPresentUse": false,
"CardPresence": 0,
"UsePexAccountBalanceForAuths": false,
"UseCustomerAuthDecision": false
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
id | path | integer(int32) | true | Card account ID |
Authorization | header | string | true | token {USERTOKEN} |
body | body | SetSpendRulesRequest | true | Spend rule data |
Example responses
200 Response
{}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | Inline |
403 | Forbidden |
Response Schema
Status Code 200
HttpResponseMessage
Name | Type | Required | Restrictions | Description |
---|
Return scheduled funding rules for a specified card accountID
Code samples
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'string'
}
result = RestClient.get 'https://coreapi.pexcard.com/v4/Card/ScheduledFundingRules/{id}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'string'
}
r = requests.get('https://coreapi.pexcard.com/v4/Card/ScheduledFundingRules/{id}', headers = headers)
print(r.json())
const headers = {
'Accept':'application/json',
'Authorization':'string'
};
fetch('https://coreapi.pexcard.com/v4/Card/ScheduledFundingRules/{id}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /Card/ScheduledFundingRules/{id}
Return scheduled funding rules for a specified card accountID.
If no funding rule is set, PEX system will return a null response.
To retrieve the card accountID, use GET /Details/AccountDetails.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
id | path | integer(int32) | true | Card account ID |
Authorization | header | string | true | token {USERTOKEN} |
Example responses
200 Response
{
"ScheduledFunding": {
"Amount": 0,
"Frequency": ""
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | GetScheduledFundingRulesResponse |
403 | Forbidden |
Create a scheduled funding rule for the specified card accountID
Code samples
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'string'
}
result = RestClient.put 'https://coreapi.pexcard.com/v4/Card/ScheduledFundingRules/{id}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'string'
}
r = requests.put('https://coreapi.pexcard.com/v4/Card/ScheduledFundingRules/{id}', headers = headers)
print(r.json())
const inputBody = '{
"Amount": 0,
"Frequency": ""
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'string'
};
fetch('https://coreapi.pexcard.com/v4/Card/ScheduledFundingRules/{id}',
{
method: 'PUT',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
PUT /Card/ScheduledFundingRules/{id}
Create a scheduled funding rule for the specified card accountID.
Example of a scheduled funding rule logic: I would like this card balance to equal $500.00 every Monday.
You may have cardholders who should have a set balance every day or once a week. For those employees, set a funding rule on the card.
The scheduled rule is time based. At midnight ET, the system checks to see if the card balance should be changed. If the balance is below the threshold, the system will add funds to equal the amount specified in the rule.
To change the existing rule, post new values in the input fields.
To retrieve the card accountID, use GET /Details/AccountDetails.
Body parameter
{
"Amount": 0,
"Frequency": ""
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
id | path | integer(int32) | true | Card account ID |
Authorization | header | string | true | token {USERTOKEN} |
body | body | SetScheduledFundingRulesRequest | true | Rule parameters |
Example responses
200 Response
{}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | Inline |
403 | Forbidden |
Response Schema
Status Code 200
HttpResponseMessage
Name | Type | Required | Restrictions | Description |
---|
Delete a funding rule for the card account
Code samples
require 'rest-client'
require 'json'
headers = {
'Authorization' => 'string'
}
result = RestClient.delete 'https://coreapi.pexcard.com/v4/Card/ScheduledFundingRules/{id}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Authorization': 'string'
}
r = requests.delete('https://coreapi.pexcard.com/v4/Card/ScheduledFundingRules/{id}', headers = headers)
print(r.json())
const headers = {
'Authorization':'string'
};
fetch('https://coreapi.pexcard.com/v4/Card/ScheduledFundingRules/{id}',
{
method: 'DELETE',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
DELETE /Card/ScheduledFundingRules/{id}
Once the rule is deleted, the system will no longer add funds to the card balance.
To file the card account ID, call GET /Details/AccountDetails.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
id | path | integer(int32) | true | Card account ID |
Authorization | header | string | true | token {USERTOKEN} |
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
403 | Forbidden |
Set a spending ruleset for the card account
Code samples
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'string'
}
result = RestClient.put 'https://coreapi.pexcard.com/v4/Card/SetSpendingRuleset',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'string'
}
r = requests.put('https://coreapi.pexcard.com/v4/Card/SetSpendingRuleset', headers = headers)
print(r.json())
const inputBody = '{
"RulesetId": 0,
"AccountId": 0
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'string'
};
fetch('https://coreapi.pexcard.com/v4/Card/SetSpendingRuleset',
{
method: 'PUT',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
PUT /Card/SetSpendingRuleset
What it does:
Assign a card account ID to an existing spending ruleset.
To remove the card from a ruleset and leave them unassigned, use a zero (0) in the SpendingRulesetId field.
Body parameter
{
"RulesetId": 0,
"AccountId": 0
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | token {USERTOKEN} |
body | body | SetCardholderRulesetRequest | true | Ruleset ID and Account ID |
Example responses
200 Response
{
"AccountId": 0
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | CardholderSpendRulesetResponse |
403 | Forbidden |
Details : Deep-dive into your business, card accounts, and transactions.
Ping the PEX server
Code samples
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://coreapi.pexcard.com/v4/Details/Ping',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://coreapi.pexcard.com/v4/Details/Ping', headers = headers)
print(r.json())
const headers = {
'Accept':'application/json'
};
fetch('https://coreapi.pexcard.com/v4/Details/Ping',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /Details/Ping
Verify connection to the PEX system with a ping test.
Example responses
200 Response
"2019-08-24T14:15:22Z"
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | string |
Return all data associated with a single card account
Code samples
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'string'
}
result = RestClient.get 'https://coreapi.pexcard.com/v4/Details/AccountDetails/{Id}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'string'
}
r = requests.get('https://coreapi.pexcard.com/v4/Details/AccountDetails/{Id}', headers = headers)
print(r.json())
const headers = {
'Accept':'application/json',
'Authorization':'string'
};
fetch('https://coreapi.pexcard.com/v4/Details/AccountDetails/{Id}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /Details/AccountDetails/{Id}
Return all data associated with a single card account.
Definition of some of the returned fields and how the PEX system uses them:
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Id | path | integer(int32) | true | Card account ID |
Authorization | header | string | true | token {USERTOKEN} |
Example responses
200 Response
{
"AccountId": 0,
"Group": {
"Id": 0,
"GroupName": ""
},
"AccountStatus": "",
"LedgerBalance": 0,
"AvailableBalance": 0,
"ProfileAddress": {
"ContactName": "",
"AddressLine1": "",
"AddressLine2": "",
"City": "",
"State": "",
"PostalCode": "",
"Country": ""
},
"Phone": "",
"ShippingAddress": {
"ContactName": "",
"AddressLine1": "",
"AddressLine2": "",
"City": "",
"State": "",
"PostalCode": "",
"Country": ""
},
"ShippingPhone": "",
"DateOfBirth": "",
"Email": "",
"IsVirtual": false,
"CardList": [
{
"CardId": 0,
"IssuedDate": "",
"ExpirationDate": "",
"Last4CardNumber": "",
"CardStatus": ""
}
],
"SpendingRulesetId": 0,
"SpendRules": {
"UseMerchantCategory": false,
"MerchantCategories": {
"AssociationsAndOrganizations": false,
"AutomotiveDealers": false,
"EducationalServices": false,
"Entertainment": false,
"FuelAndConvenienceStores": false,
"GroceryStores": false,
"HealthcareAndChildcareServices": false,
"ProfessionalServices": false,
"Restaurants": false,
"RetailStores": false,
"TravelAndTransportation": false,
"FuelPumpOnly": false,
"HardwareStores": false
},
"InternationalSpendEnabled": false,
"IsDailySpendLimitEnabled": false,
"DailySpendLimit": 0,
"CardNotPresentUse": false,
"CardPresence": 0,
"UsePexAccountBalanceForAuths": false,
"UseCustomerAuthDecision": false
},
"ScheduledFunding": {
"Amount": 0,
"Frequency": ""
},
"CustomId": ""
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | CardholderDetailsResponse |
403 | Forbidden |
Return remaining limits allowed by spend rules placed on a single card account
Code samples
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'string'
}
result = RestClient.get 'https://coreapi.pexcard.com/v4/Details/AccountDetails/{Id}/RemainingLimits',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'string'
}
r = requests.get('https://coreapi.pexcard.com/v4/Details/AccountDetails/{Id}/RemainingLimits', headers = headers)
print(r.json())
const headers = {
'Accept':'application/json',
'Authorization':'string'
};
fetch('https://coreapi.pexcard.com/v4/Details/AccountDetails/{Id}/RemainingLimits',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /Details/AccountDetails/{Id}/RemainingLimits
Return remaining limits allowed by spend rules placed on a single card account.
Definition of some of the returned fields and how the PEX system uses them:
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Id | path | integer(int32) | true | Card account ID |
Authorization | header | string | true | token {USERTOKEN} |
Example responses
200 Response
{
"AccountId": 0,
"GlobalLimits": [
{
"Type": "",
"EnforcedLimit": 0,
"RemainingSpend": 0
}
],
"MerchantCategoryLimits": [
{
"MerchantCategoryId": 0,
"Category": "",
"Type": "",
"EnforcedLimit": 0,
"RemainingSpend": 0
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | AccountRemainingLimitsResponse |
403 | Forbidden |
Returns all network transaction for specified card account ID. Examples: Authorization, Settlement, Reversal, PIN transaction, Decline.
Code samples
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'string'
}
result = RestClient.get 'https://coreapi.pexcard.com/v4/Details/{Id}/NetworkTransactions',
params: {
'StartDate' => 'string(date-time)',
'EndDate' => 'string(date-time)'
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'string'
}
r = requests.get('https://coreapi.pexcard.com/v4/Details/{Id}/NetworkTransactions', params={
'StartDate': '2019-08-24T14:15:22Z', 'EndDate': '2019-08-24T14:15:22Z'
}, headers = headers)
print(r.json())
const headers = {
'Accept':'application/json',
'Authorization':'string'
};
fetch('https://coreapi.pexcard.com/v4/Details/{Id}/NetworkTransactions?StartDate=2019-08-24T14%3A15%3A22Z&EndDate=2019-08-24T14%3A15%3A22Z',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /Details/{Id}/NetworkTransactions
This call is only for network transactions. Card funding transactions are not included. In case you miss webhook call for any reason, you can use this endpoint to retrieve same information.
Please make sure time frame selected between StartDate and EndDate is no more than last 12 months.
Return a list of network transaction details, within a specified start and end date, for the given card account ID.
Definition of some of the network transaction detail fields:
Details about why a transaction was declined is provided in the "Message" field.
You can find list of message codes and corresponding messages here
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Id | path | integer(int32) | true | Unique Id for cardholder account Id |
StartDate | query | string(date-time) | true | YYYY-MM-DDThh:mm:ss |
EndDate | query | string(date-time) | true | YYYY-MM-DDThh:mm:ss |
Authorization | header | string | true | token {USERTOKEN} |
Example responses
200 Response
{
"TransactionList": [
{
"NetworkTransactionId": 0,
"TransactionId": 0,
"AcctId": 0,
"TransactionTime": "",
"HoldTime": "",
"SettlementTime": "",
"MerchantLocalTime": "",
"AuthTransactionId": 0,
"TransactionAmount": 0,
"PaddingAmount": 0,
"AvailableBalance": 0,
"LedgerBalance": 0,
"TransactionType": "",
"Description": "",
"TransactionNotes": [
{
"NoteId": 0,
"UserName": "",
"NoteText": "",
"NoteDate": ""
}
],
"ReferencedTranId": 0,
"ReferencedTransactionTime": "",
"MerchantName": "",
"MerchantCity": "",
"MerchantState": "",
"MerchantZip": "",
"MerchantCountry": "",
"MCCCode": "",
"AuthIdentityResponseCode": "",
"MerchantId": "",
"TerminalId": "",
"NetworkType": "",
"NetworkStatus": "",
"IsCardPresent": false,
"Message": "",
"MessageCode": "",
"MerchantRequestedAmount": 0
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | NetworkTransactionDetailsResponse |
403 | Forbidden | Invalid card account ID | None |
Return version of the API
Code samples
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://coreapi.pexcard.com/v4/Details/Version',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://coreapi.pexcard.com/v4/Details/Version', headers = headers)
print(r.json())
const headers = {
'Accept':'application/json'
};
fetch('https://coreapi.pexcard.com/v4/Details/Version',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /Details/Version
Return version of the API.
Example responses
200 Response
"string"
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | string |
Return all accounts associated with your business
Code samples
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'string'
}
result = RestClient.get 'https://coreapi.pexcard.com/v4/Details/AccountDetails',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'string'
}
r = requests.get('https://coreapi.pexcard.com/v4/Details/AccountDetails', headers = headers)
print(r.json())
const headers = {
'Accept':'application/json',
'Authorization':'string'
};
fetch('https://coreapi.pexcard.com/v4/Details/AccountDetails',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /Details/AccountDetails
Return all accounts associated with your business, including registered external business checking accounts and all PEX business accounts.
Reasons you will use this call:
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | token {USERTOKEN} |
Example responses
200 Response
{
"BusinessAccountId": 0,
"BusinessName": "",
"BusinessAccountStatus": "",
"BusinessAccountBalance": 0,
"PendingTransferAmount": 0,
"BankAccountList": [
{
"ExternalBankAcctId": 0,
"RoutingNumber": "",
"BankAccountNumber": "",
"BankName": "",
"BankAccountType": "",
"IsActive": false
}
],
"CHAccountList": [
{
"AccountId": 0,
"FirstName": "",
"LastName": "",
"LedgerBalance": 0,
"AvailableBalance": 0,
"AccountStatus": "",
"IsVirtual": false,
"CustomId": ""
}
],
"CardholderGroups": [
{
"Id": 0,
"Name": ""
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | BusinessDetailsResponse |
Return a list of transaction details for the account
Code samples
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'string'
}
result = RestClient.get 'https://coreapi.pexcard.com/v4/Details/TransactionDetails/{Id}',
params: {
'StartDate' => 'string(date-time)',
'EndDate' => 'string(date-time)'
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'string'
}
r = requests.get('https://coreapi.pexcard.com/v4/Details/TransactionDetails/{Id}', params={
'StartDate': '2019-08-24T14:15:22Z', 'EndDate': '2019-08-24T14:15:22Z'
}, headers = headers)
print(r.json())
const headers = {
'Accept':'application/json',
'Authorization':'string'
};
fetch('https://coreapi.pexcard.com/v4/Details/TransactionDetails/{Id}?StartDate=2019-08-24T14%3A15%3A22Z&EndDate=2019-08-24T14%3A15%3A22Z',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /Details/TransactionDetails/{Id}
Please make sure time frame selected between StartDate and EndDate is no more than last 12 months.
Return a list of transaction details for PEX business account ID or card account ID provided.
If a business account ID is provided, the transactions returned will be for the PEX business account. (Note: input fields ‘IsPending’ and ‘IsDecline’ should be false, as they don't apply to transactions on the business account.)
If a card account ID is provided (and you are a partner), the transactions returned will be for that card account. Fields ‘IsPending’ and ‘IsDecline’ can be set to true or false as required.
If, for the time-frame selected, over 30,000 transactions are returned then the results will be paginated. To retrieve more data, use the ‘LastTimeRetrieved’ field returned in the StartDate parameter and repeat the call until the ‘NumberOfPages’ field = 1. (Note: the last transaction for the page will be the first transaction retrieved in the next call, use the TransactionId to eliminate duplicate records.)
Definition of some of the transaction detail fields:
Details about why a transaction was declined is provided in the "Description" field. Potential values for the message include:
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Id | path | integer(int32) | true | Card account ID or Business account ID |
IncludePendings | query | boolean | false | 1 to include pending transactions and 0 to exclude |
IncludeDeclines | query | boolean | false | 1 to include decline transactions and 0 to exclude |
StartDate | query | string(date-time) | true | YYYY-MM-DDThh:mm:ss |
EndDate | query | string(date-time) | true | YYYY-MM-DDThh:mm:ss |
Authorization | header | string | true | token {USERTOKEN} |
Example responses
200 Response
{
"TransactionList": [
{
"TransactionId": 0,
"AcctId": 0,
"TransactionTime": "",
"MerchantLocalTime": "",
"HoldTime": "",
"SettlementTime": "",
"AuthTransactionId": 0,
"TransactionAmount": 0,
"PaddingAmount": 0,
"TransactionType": "",
"Description": "",
"TransactionNotes": [
{
"NoteId": 0,
"UserName": "",
"NoteText": "",
"NoteDate": ""
}
],
"IsPending": false,
"IsDecline": false,
"MerchantName": "",
"MerchantCity": "",
"MerchantState": "",
"MerchantZip": "",
"MerchantCountry": "",
"MCCCode": "",
"TransferToOrFromAccountId": 0,
"AuthIdentityResponseCode": "",
"MerchantId": "",
"TerminalId": "",
"NetworkTransactionId": 0,
"SourceCurrencyCodeDescription": "",
"SourceCurrencyNumericCode": "",
"SourceAmount": 0,
"TransactionTags": {
"Tags": [
{
"FieldId": "",
"Value": {},
"Name": ""
}
],
"State": "",
"FieldsVersion": ""
},
"MetadataApprovalStatus": "",
"TransactionTypeCategory": ""
}
],
"Pages": {
"PageSize": 0,
"TotalRecords": 0,
"NumberOfPages": 0,
"LastTimeRetrieved": ""
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | TransactionDetailsResponse |
403 | Forbidden | Invalid card account ID | None |
Return a list of transaction details for the authenticated user
Code samples
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'string'
}
result = RestClient.get 'https://coreapi.pexcard.com/v4/Details/TransactionDetails',
params: {
'StartDate' => 'string(date-time)',
'EndDate' => 'string(date-time)'
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'string'
}
r = requests.get('https://coreapi.pexcard.com/v4/Details/TransactionDetails', params={
'StartDate': '2019-08-24T14:15:22Z', 'EndDate': '2019-08-24T14:15:22Z'
}, headers = headers)
print(r.json())
const headers = {
'Accept':'application/json',
'Authorization':'string'
};
fetch('https://coreapi.pexcard.com/v4/Details/TransactionDetails?StartDate=2019-08-24T14%3A15%3A22Z&EndDate=2019-08-24T14%3A15%3A22Z',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /Details/TransactionDetails
Please make sure time frame selected between StartDate and EndDate is no more than last 12 months.
Return a list of transaction details, within a specified start and end date, for the authenticated user.
If the token user is a PEX administrator, the transactions returned will be for the PEX business account. (Note: input fields ‘IsPending’ and ‘IsDecline’ should be false, as they don't apply to transactions on the business account.)
If the token user is a cardholder (and you are a partner), the transactions returned will be for that card account. Fields ‘IsPending’ and ‘IsDecline’ can be set to true or false as required.
If, for the time-frame selected, over 30,000 transactions are returned then the results will be paginated. To retrieve more data, use the ‘LastTimeRetrieved’ field returned in the StartDate parameter and repeat the call until the ‘NumberOfPages’ field = 1. (Note: the last transaction for the page will be the first transaction retrieved in the next call, use the TransactionId to eliminate duplicate records.)
Definition of some of the transaction detail fields:
Details about why a transaction was declined is provided in the "Description" field. Potential values for the message include:
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
IncludePendings | query | boolean | false | 1 to include pending transactions and 0 to exclude |
IncludeDeclines | query | boolean | false | 1 to include decline transactions and 0 to exclude |
StartDate | query | string(date-time) | true | YYYY-MM-DDThh:mm:ss |
EndDate | query | string(date-time) | true | YYYY-MM-DDThh:mm:ss |
Authorization | header | string | true | token {USERTOKEN} |
Example responses
200 Response
{
"TransactionList": [
{
"TransactionId": 0,
"AcctId": 0,
"TransactionTime": "",
"MerchantLocalTime": "",
"HoldTime": "",
"SettlementTime": "",
"AuthTransactionId": 0,
"TransactionAmount": 0,
"PaddingAmount": 0,
"TransactionType": "",
"Description": "",
"TransactionNotes": [
{
"NoteId": 0,
"UserName": "",
"NoteText": "",
"NoteDate": ""
}
],
"IsPending": false,
"IsDecline": false,
"MerchantName": "",
"MerchantCity": "",
"MerchantState": "",
"MerchantZip": "",
"MerchantCountry": "",
"MCCCode": "",
"TransferToOrFromAccountId": 0,
"AuthIdentityResponseCode": "",
"MerchantId": "",
"TerminalId": "",
"NetworkTransactionId": 0,
"SourceCurrencyCodeDescription": "",
"SourceCurrencyNumericCode": "",
"SourceAmount": 0,
"TransactionTags": {
"Tags": [
{
"FieldId": "",
"Value": {},
"Name": ""
}
],
"State": "",
"FieldsVersion": ""
},
"MetadataApprovalStatus": "",
"TransactionTypeCategory": ""
}
],
"Pages": {
"PageSize": 0,
"TotalRecords": 0,
"NumberOfPages": 0,
"LastTimeRetrieved": ""
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | TransactionDetailsResponse |
Returns all network transaction. Examples: Authorization, Settlement, Reversal, PIN transaction, Decline.
Code samples
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'string'
}
result = RestClient.get 'https://coreapi.pexcard.com/v4/Details/NetworkTransactions',
params: {
'StartDate' => 'string(date-time)',
'EndDate' => 'string(date-time)'
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'string'
}
r = requests.get('https://coreapi.pexcard.com/v4/Details/NetworkTransactions', params={
'StartDate': '2019-08-24T14:15:22Z', 'EndDate': '2019-08-24T14:15:22Z'
}, headers = headers)
print(r.json())
const headers = {
'Accept':'application/json',
'Authorization':'string'
};
fetch('https://coreapi.pexcard.com/v4/Details/NetworkTransactions?StartDate=2019-08-24T14%3A15%3A22Z&EndDate=2019-08-24T14%3A15%3A22Z',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /Details/NetworkTransactions
This call is only for network transactions. Card funding transactions are not included. In case you miss webhook call for any reason, you can use this endpoint to retrieve same information.
Please make sure time frame selected between StartDate and EndDate is no more than last 12 months.
Return a list of transaction details, within a specified start and end date, for the authenticated user.
Definition of some of the network transaction detail fields:
Details about why a transaction was declined is provided in the "Message" field.
You can find list of message codes and corresponding messages here
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
StartDate | query | string(date-time) | true | YYYY-MM-DDThh:mm:ss |
EndDate | query | string(date-time) | true | YYYY-MM-DDThh:mm:ss |
Authorization | header | string | true | token {USERTOKEN} |
Example responses
200 Response
{
"TransactionList": [
{
"NetworkTransactionId": 0,
"TransactionId": 0,
"AcctId": 0,
"TransactionTime": "",
"HoldTime": "",
"SettlementTime": "",
"MerchantLocalTime": "",
"AuthTransactionId": 0,
"TransactionAmount": 0,
"PaddingAmount": 0,
"AvailableBalance": 0,
"LedgerBalance": 0,
"TransactionType": "",
"Description": "",
"TransactionNotes": [
{
"NoteId": 0,
"UserName": "",
"NoteText": "",
"NoteDate": ""
}
],
"ReferencedTranId": 0,
"ReferencedTransactionTime": "",
"MerchantName": "",
"MerchantCity": "",
"MerchantState": "",
"MerchantZip": "",
"MerchantCountry": "",
"MCCCode": "",
"AuthIdentityResponseCode": "",
"MerchantId": "",
"TerminalId": "",
"NetworkType": "",
"NetworkStatus": "",
"IsCardPresent": false,
"Message": "",
"MessageCode": "",
"MerchantRequestedAmount": 0
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | NetworkTransactionDetailsResponse |
Return a list of all card transactions for the business
Code samples
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'string'
}
result = RestClient.get 'https://coreapi.pexcard.com/v4/Details/AllCardholderTransactions',
params: {
'StartDate' => 'string(date-time)',
'EndDate' => 'string(date-time)'
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'string'
}
r = requests.get('https://coreapi.pexcard.com/v4/Details/AllCardholderTransactions', params={
'StartDate': '2019-08-24T14:15:22Z', 'EndDate': '2019-08-24T14:15:22Z'
}, headers = headers)
print(r.json())
const headers = {
'Accept':'application/json',
'Authorization':'string'
};
fetch('https://coreapi.pexcard.com/v4/Details/AllCardholderTransactions?StartDate=2019-08-24T14%3A15%3A22Z&EndDate=2019-08-24T14%3A15%3A22Z',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /Details/AllCardholderTransactions
Please make sure time frame selected between StartDate and EndDate is no more than last 12 months.
Return a list of transaction details, within a specified start and end date, for all card accounts associated with the business of the authenticated user. Fields ‘IsPending’ and ‘IsDecline’ can be set to true or false as required.
If, for the time-frame selected, over 30,000 transactions are returned then the results will be paginated. To retrieve more data, use the ‘LastTimeRetrieved’ field returned in the StartDate parameter and repeat the call until the ‘NumberOfPages’ field = 1. (Note: the last transaction for the page will be the first transaction retrieved in the next call, use the TransactionId to eliminate duplicate records.)
Definition of some of the transaction detail fields:
Details about why a transaction was declined is provided in the "Description" field. Potential values for the message include:
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
IncludePendings | query | boolean | false | 1 to include pending transactions and 0 to exclude |
IncludeDeclines | query | boolean | false | 1 to include decline transactions and 0 to exclude |
StartDate | query | string(date-time) | true | YYYY-MM-DDThh:mm:ss |
EndDate | query | string(date-time) | true | YYYY-MM-DDThh:mm:ss |
Authorization | header | string | true | token {USERTOKEN} |
Example responses
200 Response
{
"TransactionList": [
{
"TransactionId": 0,
"AcctId": 0,
"TransactionTime": "",
"MerchantLocalTime": "",
"HoldTime": "",
"SettlementTime": "",
"AuthTransactionId": 0,
"TransactionAmount": 0,
"PaddingAmount": 0,
"TransactionType": "",
"Description": "",
"TransactionNotes": [
{
"NoteId": 0,
"UserName": "",
"NoteText": "",
"NoteDate": ""
}
],
"IsPending": false,
"IsDecline": false,
"MerchantName": "",
"MerchantCity": "",
"MerchantState": "",
"MerchantZip": "",
"MerchantCountry": "",
"MCCCode": "",
"TransferToOrFromAccountId": 0,
"AuthIdentityResponseCode": "",
"MerchantId": "",
"TerminalId": "",
"NetworkTransactionId": 0,
"SourceCurrencyCodeDescription": "",
"SourceCurrencyNumericCode": "",
"SourceAmount": 0,
"TransactionTags": {
"Tags": [
{
"FieldId": "",
"Value": {},
"Name": ""
}
],
"State": "",
"FieldsVersion": ""
},
"MetadataApprovalStatus": "",
"TransactionTypeCategory": ""
}
],
"Pages": {
"PageSize": 0,
"TotalRecords": 0,
"NumberOfPages": 0,
"LastTimeRetrieved": ""
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | TransactionDetailsResponse |
Return a count of transactions for the authenticated user
Code samples
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'string'
}
result = RestClient.get 'https://coreapi.pexcard.com/v4/Details/AllCardholderTransactionCount',
params: {
'StartDate' => 'string(date-time)',
'EndDate' => 'string(date-time)'
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'string'
}
r = requests.get('https://coreapi.pexcard.com/v4/Details/AllCardholderTransactionCount', params={
'StartDate': '2019-08-24T14:15:22Z', 'EndDate': '2019-08-24T14:15:22Z'
}, headers = headers)
print(r.json())
const headers = {
'Accept':'application/json',
'Authorization':'string'
};
fetch('https://coreapi.pexcard.com/v4/Details/AllCardholderTransactionCount?StartDate=2019-08-24T14%3A15%3A22Z&EndDate=2019-08-24T14%3A15%3A22Z',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /Details/AllCardholderTransactionCount
Please make sure time frame selected between StartDate and EndDate is no more than last 12 months.
Return a count of transactions, within a specified start and end date, for all card accounts associated with the business of the authenticated user. Fields ‘IsPending’ and ‘IsDecline’ can be set to true or false as required.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
IncludePendings | query | boolean | false | 1 to include pending transactions and 0 to exclude |
IncludeDeclines | query | boolean | false | 1 to include decline transactions and 0 to exclude |
StartDate | query | string(date-time) | true | YYYY-MM-DDThh:mm:ss |
EndDate | query | string(date-time) | true | YYYY-MM-DDThh:mm:ss |
Authorization | header | string | true | token {USERTOKEN} |
Example responses
200 Response
0
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | integer |
Transactions : Attach receipts and tags to transactions.
Retrieve the attachment for a transaction.
Code samples
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'string'
}
result = RestClient.get 'https://coreapi.pexcard.com/v4/Transactions/{id}/Attachments',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'string'
}
r = requests.get('https://coreapi.pexcard.com/v4/Transactions/{id}/Attachments', headers = headers)
print(r.json())
const headers = {
'Accept':'application/json',
'Authorization':'string'
};
fetch('https://coreapi.pexcard.com/v4/Transactions/{id}/Attachments',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /Transactions/{id}/Attachments
Read the attachments for a particular transaction:
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
id | path | integer(int64) | true | Transaction Id |
Authorization | header | string | true | token {USERTOKEN} |
Example responses
200 Response
{
"Attachments": [
{
"AttachmentId": "",
"Type": "",
"Size": 0,
"Link": {
"related": ""
},
"UploadStatus": "",
"CreatedDateUtc": "",
"CreatedBy": {
"AdminId": 0,
"UserId": 0
},
"UpdatedDateUtc": "",
"UpdatedBy": {
"AdminId": 0,
"UserId": 0
}
}
],
"ApprovalStatus": ""
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | GetAttachments |
404 | Not Found | NotFound | None |
Delete attachment, attached to a transaction.
Code samples
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'string'
}
result = RestClient.delete 'https://coreapi.pexcard.com/v4/Transactions/{id}/Attachments',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'string'
}
r = requests.delete('https://coreapi.pexcard.com/v4/Transactions/{id}/Attachments', headers = headers)
print(r.json())
const headers = {
'Accept':'application/json',
'Authorization':'string'
};
fetch('https://coreapi.pexcard.com/v4/Transactions/{id}/Attachments',
{
method: 'DELETE',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
DELETE /Transactions/{id}/Attachments
This endpoint can be used to delete the attachment attached to a transaction. All the attachments attached to the transaction will be deleted.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
id | path | integer(int64) | true | Transaction Id |
Authorization | header | string | true | token {USERTOKEN} |
Example responses
200 Response
[
{
"AttachmentId": "",
"Type": "",
"Size": 0,
"UploadStatus": "",
"CreatedDateUtc": "",
"CreatedBy": {
"AdminId": 0,
"UserId": 0
},
"UpdatedDateUtc": "",
"UpdatedBy": {
"AdminId": 0,
"UserId": 0
},
"DeletedDateUtc": "",
"DeletedBy": {
"AdminId": 0,
"UserId": 0
}
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | Inline |
403 | Forbidden | Forbidden | None |
404 | Not Found | NotFound | None |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | [DeleteAttachment] | false | none | [Attachment] |
» DeleteAttachment | DeleteAttachment | false | none | Attachment |
»» AttachmentId | string | false | none | Unique identifier of the attachment. |
»» Type | string | false | none | Specifies the type of attachment Image/PDF |
»» Size | integer(int64) | false | none | Size of the attachment. |
»» UploadStatus | string | false | none | the system assigned status of the attachment valid values are: Not Loaded, Loaded, Deleted, HasMalware, LoadFailed. |
»» CreatedDateUtc | string(date-time) | false | none | Created date in UTC |
»» CreatedBy | MetadataUser | false | none | Metadata user |
»»» AdminId | integer(int32) | false | none | Admin Id of the user who created, updated, or deleted the tag definition |
»»» UserId | integer(int32) | false | none | User Id of the user who created, updated, or deleted the tag definition |
»» UpdatedDateUtc | string(date-time) | false | none | Updated date in UTC |
»» UpdatedBy | MetadataUser | false | none | Metadata user |
»» DeletedDateUtc | string(date-time) | false | none | Deleted date in UTC |
»» DeletedBy | MetadataUser | false | none | Metadata user |
Enumerated Values
Property | Value |
---|---|
Type | Image |
Type | |
UploadStatus | NotLoaded |
UploadStatus | Loaded |
UploadStatus | Deleted |
UploadStatus | HasMalware |
UploadStatus | LoadFailed |
An attachment can be read by providing specific attachment id along with the transaction Id.
Code samples
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'string'
}
result = RestClient.get 'https://coreapi.pexcard.com/v4/Transactions/{id}/Attachment/{attachmentId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'string'
}
r = requests.get('https://coreapi.pexcard.com/v4/Transactions/{id}/Attachment/{attachmentId}', headers = headers)
print(r.json())
const headers = {
'Accept':'application/json',
'Authorization':'string'
};
fetch('https://coreapi.pexcard.com/v4/Transactions/{id}/Attachment/{attachmentId}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /Transactions/{id}/Attachment/{attachmentId}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
id | path | integer(int64) | true | Transaction Id |
AttachmentId | path | string | true | Attachment Id |
Authorization | header | string | true | token {USERTOKEN} |
Example responses
200 Response
{
"AttachmentId": "",
"Type": "",
"Size": 0,
"Content": "",
"UploadStatus": "",
"CreatedDateUtc": "",
"CreatedBy": {
"AdminId": 0,
"UserId": 0
},
"UpdatedDateUtc": "",
"UpdatedBy": {
"AdminId": 0,
"UserId": 0
},
"ApprovalStatus": ""
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | Attachment |
404 | Not Found | NotFound | None |
Update an existing attachment of a transaction.
Code samples
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'string'
}
result = RestClient.put 'https://coreapi.pexcard.com/v4/Transactions/{id}/Attachment/{attachmentId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'string'
}
r = requests.put('https://coreapi.pexcard.com/v4/Transactions/{id}/Attachment/{attachmentId}', headers = headers)
print(r.json())
const inputBody = '{
"Content": "",
"Type": ""
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'string'
};
fetch('https://coreapi.pexcard.com/v4/Transactions/{id}/Attachment/{attachmentId}',
{
method: 'PUT',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
PUT /Transactions/{id}/Attachment/{attachmentId}
Use this endpoint to Update the already attached attachment to a transaction.
Attachment can be specified in the form of base 64 encoded data to be attached to the specified PEX transaction.
https://www.base64encode.org/ can be used for encoding the image files. This encoded image format can be used in the request property 'Content'.
All the attachments will be scanned for malware threats.
Body parameter
{
"Content": "",
"Type": ""
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
id | path | integer(int64) | true | Transaction Id |
attachmentId | path | string | true | Attachment Id |
Authorization | header | string | true | token {USERTOKEN} |
body | body | CreateOrUpdateAttachmentRequest | true | Attachment request |
Example responses
200 Response
{
"AttachmentId": "",
"Type": "",
"Size": 0,
"Link": {
"self": ""
},
"UploadStatus": "",
"CreatedDateUtc": "",
"CreatedBy": {
"AdminId": 0,
"UserId": 0
},
"UpdatedDateUtc": "",
"UpdatedBy": {
"AdminId": 0,
"UserId": 0
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | AttachmentWithSelfLink |
400 | Bad Request | BadRequest | None |
403 | Forbidden | Forbidden | None |
404 | Not Found | NotFound | None |
Delete a specific attachment, attached to a transaction.
Code samples
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'string'
}
result = RestClient.delete 'https://coreapi.pexcard.com/v4/Transactions/{id}/Attachment/{attachmentId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'string'
}
r = requests.delete('https://coreapi.pexcard.com/v4/Transactions/{id}/Attachment/{attachmentId}', headers = headers)
print(r.json())
const headers = {
'Accept':'application/json',
'Authorization':'string'
};
fetch('https://coreapi.pexcard.com/v4/Transactions/{id}/Attachment/{attachmentId}',
{
method: 'DELETE',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
DELETE /Transactions/{id}/Attachment/{attachmentId}
You can delete a specific attachment by specifying transaction id and attachment Id.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
id | path | integer(int64) | true | Transaction Id |
attachmentId | path | string | true | Attachment Id |
Authorization | header | string | true | token {USERTOKEN} |
Example responses
200 Response
{
"AttachmentId": "",
"Type": "",
"Size": 0,
"UploadStatus": "",
"CreatedDateUtc": "",
"CreatedBy": {
"AdminId": 0,
"UserId": 0
},
"UpdatedDateUtc": "",
"UpdatedBy": {
"AdminId": 0,
"UserId": 0
},
"DeletedDateUtc": "",
"DeletedBy": {
"AdminId": 0,
"UserId": 0
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | DeleteAttachment |
403 | Forbidden | Forbidden | None |
404 | Not Found | NotFound | None |
Attach an attachment to a transaction
Code samples
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'string'
}
result = RestClient.post 'https://coreapi.pexcard.com/v4/Transactions/{id}/Attachment',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'string'
}
r = requests.post('https://coreapi.pexcard.com/v4/Transactions/{id}/Attachment', headers = headers)
print(r.json())
const inputBody = '{
"Content": "",
"Type": ""
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'string'
};
fetch('https://coreapi.pexcard.com/v4/Transactions/{id}/Attachment',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST /Transactions/{id}/Attachment
Attachments can be specified in the form of base 64 encoded data to be attached to the specified PEX transaction.
https://www.base64encode.org/ can be used for encoding the image files. This encoded image format can be used in the request property 'Content'.
All the attachments will be scanned for malware threats.
Body parameter
{
"Content": "",
"Type": ""
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
id | path | integer(int64) | true | Transaction Id |
Authorization | header | string | true | token {USERTOKEN} |
body | body | CreateOrUpdateAttachmentRequest | true | Attachment request |
Example responses
200 Response
{
"AttachmentId": "",
"Type": "",
"Size": 0,
"Link": {
"self": ""
},
"UploadStatus": "",
"CreatedDateUtc": "",
"CreatedBy": {
"AdminId": 0,
"UserId": 0
},
"UpdatedDateUtc": "",
"UpdatedBy": {
"AdminId": 0,
"UserId": 0
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | AttachmentWithSelfLink |
400 | Bad Request | BadRequest | None |
404 | Not Found | NotFound | None |
Return tag values for a transaction.
Code samples
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'string'
}
result = RestClient.get 'https://coreapi.pexcard.com/v4/Transactions/{Id}/Tags',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'string'
}
r = requests.get('https://coreapi.pexcard.com/v4/Transactions/{Id}/Tags', headers = headers)
print(r.json())
const headers = {
'Accept':'application/json',
'Authorization':'string'
};
fetch('https://coreapi.pexcard.com/v4/Transactions/{Id}/Tags',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /Transactions/{Id}/Tags
Return tag values and associated tag definitions for a transaction. Use to also return allocation tag values.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Id | path | integer(int64) | true | Transaction Id |
Authorization | header | string | true | token {USERTOKEN} |
Example responses
200 Response
{
"Id": "",
"ConcurrencyKey": "",
"State": "",
"Values": {},
"CreatedDateUtc": "",
"CreatedBy": {
"AdminId": 0,
"UserId": 0
},
"UpdatedDateUtc": "",
"UpdatedBy": {
"AdminId": 0,
"UserId": 0
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | Tags |
404 | Not Found | NotFound | None |
Update tag values for a transaction.
Code samples
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'string'
}
result = RestClient.put 'https://coreapi.pexcard.com/v4/Transactions/{Id}/Tags',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'string'
}
r = requests.put('https://coreapi.pexcard.com/v4/Transactions/{Id}/Tags', headers = headers)
print(r.json())
const inputBody = '{
"ConcurrencyKey": "",
"Values": [
{
"TagId": "",
"Value": {}
}
]
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'string'
};
fetch('https://coreapi.pexcard.com/v4/Transactions/{Id}/Tags',
{
method: 'PUT',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
PUT /Transactions/{Id}/Tags
Use this endpoint to update existing tag values associated with a transaction.
To view a list of tag definitions configured for your business, use GET /Business/Configuration/Tags
.
To change a tag definition, use PUT /Business/Configuration/Tag/{tag-type}
.
Tag values are passed as arrays of TagId and Value property pairs.
{
"ConcurrencyKey": "string",
"Values": [{
"TagId" : string,
"Value" : object
}]
}
#### Value Object Examples ####
Text Value
"Values": [{
"TagId" : "5dbaed52f7c5d7997ce43e0b",
"Value" : "Some new text"
}]
Dropdown Value
"Values": [{
"TagId" : "5dbaed52f7c5d7997ce43e0b",
"Value" : "Engineering"
}]
Decimal Value
"Values": [{
"TagId" : "5dbaed52f7c5d7997ce43e0b",
"Value" : 10.15
}]
Yes/No Value
"Values": [{
"TagId" : "5dbaed52f7c5d7997ce43e0b",
"Value" : true
}]
Body parameter
{
"ConcurrencyKey": "",
"Values": [
{
"TagId": "",
"Value": {}
}
]
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Id | path | integer(int64) | true | none |
Authorization | header | string | true | token {USERTOKEN} |
body | body | UpdateTagValuesRequest | true | none |
Example responses
200 Response
{
"Id": "",
"ConcurrencyKey": "",
"State": "",
"Values": {},
"CreatedDateUtc": "",
"CreatedBy": {
"AdminId": 0,
"UserId": 0
},
"UpdatedDateUtc": "",
"UpdatedBy": {
"AdminId": 0,
"UserId": 0
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | Tags |
400 | Bad Request | The request is invalid. | None |
409 | Conflict | Please update your outdated ConcurrencyKey value. | None |
Create tag values for a transaction.
Code samples
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'string'
}
result = RestClient.post 'https://coreapi.pexcard.com/v4/Transactions/{Id}/Tags',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'string'
}
r = requests.post('https://coreapi.pexcard.com/v4/Transactions/{Id}/Tags', headers = headers)
print(r.json())
const inputBody = '{
"ConcurrencyKey": "",
"Values": [
{
"TagId": "",
"Value": {}
}
]
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'string'
};
fetch('https://coreapi.pexcard.com/v4/Transactions/{Id}/Tags',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST /Transactions/{Id}/Tags
Create tag values for a transaction using predefined tag definitions.
To view a list of tag definitions configured for your business, use GET /Business/Configuration/Tags
.
To create a tag definition, use POST /Business/Configuration/Tag/{tag-type}
.
Tag values are passed as arrays of TagId and Value property pairs.
{
"ConcurrencyKey": "string",
"Values": [{
"TagId" : string,
"Value" : object
}]
}
#### Value Object Examples ####
Text Value
"Values": [{
"TagId" : "5dbaed52f7c5d7997ce43e0b",
"Value" : "Some new text"
}]
Dropdown Value
"Values": [{
"TagId" : "5dbaed52f7c5d7997ce43e0b",
"Value" : "Engineering"
}]
Decimal Value
"Values": [{
"TagId" : "5dbaed52f7c5d7997ce43e0b",
"Value" : 10.15
}]
Yes/No Value
"Values": [{
"TagId" : "5dbaed52f7c5d7997ce43e0b",
"Value" : true
}]
Body parameter
{
"ConcurrencyKey": "",
"Values": [
{
"TagId": "",
"Value": {}
}
]
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Id | path | integer(int64) | true | Transaction Id |
Authorization | header | string | true | token {USERTOKEN} |
body | body | CreateTagValuesRequest | true | CreateTagValuesRequest object |
Example responses
201 Response
{
"Id": "",
"ConcurrencyKey": "",
"State": "",
"Values": {},
"CreatedDateUtc": "",
"CreatedBy": {
"AdminId": 0,
"UserId": 0
},
"UpdatedDateUtc": "",
"UpdatedBy": {
"AdminId": 0,
"UserId": 0
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
201 | Created | Created | Tags |
400 | Bad Request | The request is invalid. | None |
409 | Conflict | The request is invalid because the item already exists. | None |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
201 | Location | url | URL to the newly created resource. |
Delete all tag values for a transaction.
Code samples
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'string'
}
result = RestClient.delete 'https://coreapi.pexcard.com/v4/Transactions/{Id}/Tags',
params: {
'ConcurrencyKey' => 'string'
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'string'
}
r = requests.delete('https://coreapi.pexcard.com/v4/Transactions/{Id}/Tags', params={
'ConcurrencyKey': 'string'
}, headers = headers)
print(r.json())
const headers = {
'Accept':'application/json',
'Authorization':'string'
};
fetch('https://coreapi.pexcard.com/v4/Transactions/{Id}/Tags?ConcurrencyKey=string',
{
method: 'DELETE',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
DELETE /Transactions/{Id}/Tags
Use this endpoint to delete all standards tag values for a transaction. This call does not delete allocation tag values.
Response
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Id | path | integer(int64) | true | Transaction Id |
ConcurrencyKey | query | string | true | Concurrency Key |
Authorization | header | string | true | token {USERTOKEN} |
Example responses
200 Response
{
"Id": "",
"ConcurrencyKey": "",
"State": "",
"Values": {},
"CreatedDateUtc": "",
"CreatedBy": {
"AdminId": 0,
"UserId": 0
},
"UpdatedDateUtc": "",
"UpdatedBy": {
"AdminId": 0,
"UserId": 0
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | Tags |
400 | Bad Request | The request is invalid. | None |
Update Allocation tag values for a transaction.
Code samples
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'string'
}
result = RestClient.put 'https://coreapi.pexcard.com/v4/Transactions/{Id}/Tags/Allocations',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'string'
}
r = requests.put('https://coreapi.pexcard.com/v4/Transactions/{Id}/Tags/Allocations', headers = headers)
print(r.json())
const inputBody = '{
"ConcurrencyKey": "",
"Values": [
{
"TagId": "",
"Allocation": [
{
"TagId": "",
"Value": {}
}
],
"Amount": 0
}
]
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'string'
};
fetch('https://coreapi.pexcard.com/v4/Transactions/{Id}/Tags/Allocations',
{
method: 'PUT',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
PUT /Transactions/{Id}/Tags/Allocations
Allocations allow you to associate a transaction with multiple expense categories or accounts.
### Request ### Settled PEX transactions may be divided into multiple allocation sets. Each set references one or more tag values and an allocation amount.
The sum total of all allocation amounts must be equal to the transaction settlement amount.
A transaction with allocations is required to contain a minimum of two sets of Allocation tag values. Otherwise, for a single allocation use standard tag values.
"Values": [
{
"TagId": "5e1d88aa46af0d1748afd808",
"Allocation": [
{
"TagId": "5e1c721601680617242a1152",
"Value": "Marketing"
}
],
"Amount": "3.08"
},
{
"TagId": "5e1d88aa46af0d1748afd808",
"Allocation": [
{
"TagId": "5e1c721601680617242a1152",
"Value": "Sales"
}
],
"Amount": "5.00"
}]
### Response ###
POST /Business/Configuration/Tag/Allocation
.POST /Business/Configuration/Tag/{tag-type}
.
Body parameter
{
"ConcurrencyKey": "",
"Values": [
{
"TagId": "",
"Allocation": [
{
"TagId": "",
"Value": {}
}
],
"Amount": 0
}
]
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Id | path | integer(int64) | true | Transaction Id |
Authorization | header | string | true | token {USERTOKEN} |
body | body | UpdateAllocationTagValuesRequest | true | UpdateAllocationTagValuesRequest object |
Example responses
200 Response
{
"Id": "",
"ConcurrencyKey": "",
"State": "",
"Values": {},
"CreatedDateUtc": "",
"CreatedBy": {
"AdminId": 0,
"UserId": 0
},
"UpdatedDateUtc": "",
"UpdatedBy": {
"AdminId": 0,
"UserId": 0
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | Tags |
400 | Bad Request | The request is invalid. | None |
Create Allocation tag values for a transaction.
Code samples
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'string'
}
result = RestClient.post 'https://coreapi.pexcard.com/v4/Transactions/{Id}/Tags/Allocations',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'string'
}
r = requests.post('https://coreapi.pexcard.com/v4/Transactions/{Id}/Tags/Allocations', headers = headers)
print(r.json())
const inputBody = '{
"ConcurrencyKey": "",
"Values": [
{
"TagId": "",
"Allocation": [
{
"TagId": "",
"Value": {}
}
],
"Amount": 0
}
]
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'string'
};
fetch('https://coreapi.pexcard.com/v4/Transactions/{Id}/Tags/Allocations',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST /Transactions/{Id}/Tags/Allocations
Allocations allow you to associate a transaction with multiple expense categories or accounts. Allocation tags are arrays of other tag values. An allocation tag cannot contain a reference to another allocation tag as only one may exist per business.
### Request ### Settled PEX transactions may be divided into multiple allocation sets. Each set references one or more tag values and an allocation amount.
The sum total of all allocation amounts must be equal to the transaction settlement amount.
Transaction allocation values are required to contain a minimum of two sets of tag values. Otherwise, for a single allocation use standard tag values.
"Values": [
{
"TagId": "5e1d88aa46af0d1748afd808",
"Allocation": [
{
"TagId": "5e1c721601680617242a1152",
"Value": "Marketing"
}
],
"Amount": "3.08"
},
{
"TagId": "5e1d88aa46af0d1748afd808",
"Allocation": [
{
"TagId": "5e1c721601680617242a1152",
"Value": "Sales"
}
],
"Amount": "5.00"
}]
### Response ###
POST /Business/Configuration/Tag/Allocation
.POST /Business/Configuration/Tag/{tag-type}
.
Body parameter
{
"ConcurrencyKey": "",
"Values": [
{
"TagId": "",
"Allocation": [
{
"TagId": "",
"Value": {}
}
],
"Amount": 0
}
]
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Id | path | integer(int64) | true | Transaction Id |
Authorization | header | string | true | token {USERTOKEN} |
body | body | CreateAllocationTagValuesRequest | true | Create allocation tag value request |
Example responses
201 Response
{
"Id": "",
"ConcurrencyKey": "",
"State": "",
"Values": {},
"CreatedDateUtc": "",
"CreatedBy": {
"AdminId": 0,
"UserId": 0
},
"UpdatedDateUtc": "",
"UpdatedBy": {
"AdminId": 0,
"UserId": 0
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
201 | Created | Created | Tags |
400 | Bad Request | The request is invalid. | None |
409 | Conflict | Please update your outdated ConcurrencyKey value. | None |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
201 | Location | url | URL to the newly created resource. |
Delete Allocation tag values for a transaction.
Code samples
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'string'
}
result = RestClient.delete 'https://coreapi.pexcard.com/v4/Transactions/{Id}/Tags/Allocations',
params: {
'ConcurrencyKey' => 'string'
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'string'
}
r = requests.delete('https://coreapi.pexcard.com/v4/Transactions/{Id}/Tags/Allocations', params={
'ConcurrencyKey': 'string'
}, headers = headers)
print(r.json())
const headers = {
'Accept':'application/json',
'Authorization':'string'
};
fetch('https://coreapi.pexcard.com/v4/Transactions/{Id}/Tags/Allocations?ConcurrencyKey=string',
{
method: 'DELETE',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
DELETE /Transactions/{Id}/Tags/Allocations
Use this endpoint to delete all allocation values for a transaction.
Response
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Id | path | integer(int64) | true | Transaction Id |
ConcurrencyKey | query | string | true | Concurrency Key |
Authorization | header | string | true | token {USERTOKEN} |
Example responses
200 Response
{
"Id": "",
"ConcurrencyKey": "",
"State": "",
"Values": {},
"CreatedDateUtc": "",
"CreatedBy": {
"AdminId": 0,
"UserId": 0
},
"UpdatedDateUtc": "",
"UpdatedBy": {
"AdminId": 0,
"UserId": 0
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | Tags |
400 | Bad Request | The request is invalid. | None |
VirtualCard : Create and review virtual card orders.
Create virtual cards for the business
Code samples
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'string'
}
result = RestClient.post 'https://coreapi.pexcard.com/v4/VirtualCard/Order',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'string'
}
r = requests.post('https://coreapi.pexcard.com/v4/VirtualCard/Order', headers = headers)
print(r.json())
const inputBody = '{
"VirtualCards": [
{
"FirstName": "",
"LastName": "",
"DateOfBirth": "",
"Phone": "",
"Email": "",
"ProfileAddress": {
"AddressLine1": "",
"AddressLine2": "",
"City": "",
"State": "",
"PostalCode": ""
},
"GroupId": 0,
"RulesetId": 0,
"AutoActivation": false,
"FundCardAmount": 0,
"CardDataWebhookURL": ""
}
]
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'string'
};
fetch('https://coreapi.pexcard.com/v4/VirtualCard/Order',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST /VirtualCard/Order
Create virtual cards for the business. The response to this call is a VirtualCardOrderId and NumberOfCardsRequested.
To retrieve card order details (without sensitive data), including the card AcctId, use GET /VirtualCard/Order/{Id}
Cards have an expiration date of 3 years and will renew automatically 60 days prior to expiration.
If the card expiration is 01/20, the card will expire on the last day of the month, January 31, 2020.
non-ASCII characters. Ex: "ñ" not allowed
Cardholder name may only include letters, numbers and the following punctuation symbols: , . - & '
Cardholder first + last names must be no more than 23 characters
Email format: name@domain.com
Date format: MM-DD-YYYY, ex. 01-31-1970
Phone format: 2125551212 or 212-555-1212, 10 digits can not begin with 1
Zip Code should be 5 digits: 10018
Country is always "US"
Address format: letters, numbers and the following punctuation symbols: . ' () , # - /
City format: letters, numbers and the following punctuation symbols: . ' () , # - /
State format: two letter format ex. "CA"
Max AddressLine1 field length: 26 characters
Max AddressLine2 field length: 26 characters
Max City field length: 25 characters
To add a card to a group, use GroupId, otherwise there will be no group applied.
To add a card to a group after the card order has been created, use PUT/Card/SetGroup.
To add spend rules to a card accountID, use RulesetId, otherwise there will be no spend rulesets applied.
To add spend rules to a card after the card order has been created, use PUT/Card/SpendRules/{Id}
AutoActivation by default is set to true, if you want to activate your card(s) later it can be set to false.
FundCardAmount is optional from 0 - 50,000 (if $50,000 that is the maximum card balance).
We allow for up to 2 decimal places, so 40.55.
CardDataWebhookURL requires https and the max length is 500 characters, so "https://myapp.awesome.pexcustomer.com" will suffice.
You can add your own custom parameters in your webhook i.e. "https://myapp.awesome.pexcustomer.com?id=123&orderid=1234".
If PEX is used for fuel authorizations, transit passes or online purchases,
there will be times where the cardholder will have to key in the billing zip code as it appears on the cardholder profile.
To avoid issues at the time of purchase, let the cardholder know what their billing (i.e. profile) address is.
If the cardholder enters an invalid Zip Code 2 times, the merchant may refuse to accept additional card swipes.
If this occurs, cardholders will have to see the attendant to complete a gas transaction, or use another form of payment.
If the cardholder should have access to dashboard.pexcard.com to review their transaction history, etc.,
they will need the four (4) digit year of birth from their profile.
If you are using a generic value, you will need to convey that to the cardholder.
At card creation, the spend rule defaults are:
Body parameter
{
"VirtualCards": [
{
"FirstName": "",
"LastName": "",
"DateOfBirth": "",
"Phone": "",
"Email": "",
"ProfileAddress": {
"AddressLine1": "",
"AddressLine2": "",
"City": "",
"State": "",
"PostalCode": ""
},
"GroupId": 0,
"RulesetId": 0,
"AutoActivation": false,
"FundCardAmount": 0,
"CardDataWebhookURL": ""
}
]
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | token {USERTOKEN} |
body | body | VirtualCardsOrderRequest | true | none |
Example responses
200 Response
{
"VirtualCardOrderId": 0,
"NumberOfCardsRequested": 0
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | VirtualCardsOrderResponse |
400 | Bad Request |
|None|
Return details for all virtual cards included in a virtual card order (note: will not return sensitive card data)
Code samples
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'string'
}
result = RestClient.get 'https://coreapi.pexcard.com/v4/VirtualCard/Order/{id}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'string'
}
r = requests.get('https://coreapi.pexcard.com/v4/VirtualCard/Order/{id}', headers = headers)
print(r.json())
const headers = {
'Accept':'application/json',
'Authorization':'string'
};
fetch('https://coreapi.pexcard.com/v4/VirtualCard/Order/{id}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /VirtualCard/Order/{id}
After using POST /VirtualCard/Order to create one or more cards, you can use this call to retrieve the card order information, including the virtual card Account Id ("AcctId"). Note the response will not include any sensitive card data.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
id | path | integer(int32) | true | Virtual Card Order Id |
Authorization | header | string | true | token {USERTOKEN} |
Example responses
200 Response
{
"CardOrderId": 0,
"OrderDateTime": "",
"UserName": "",
"Cards": [
{
"RequestId": 0,
"AcctId": 0,
"AccountNumber": "",
"FirstName": "",
"LastName": "",
"DateOfBirth": "",
"Phone": "",
"Email": "",
"HomeAddress": {
"AddressLine1": "",
"AddressLine2": "",
"City": "",
"State": "",
"PostalCode": "",
"Country": ""
},
"GroupId": 0,
"SpendingRulesetsId": 0,
"AutoActivation": false,
"FundCardAmount": 0,
"CardDataWebhookURL": "",
"Status": "",
"Errors": [
"string"
],
"ErrorMessage": ""
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | VirtualCardsGetOrderResponse |
403 | Forbidden | Virtual Card Order is not available (may belong to another business) | None |
404 | Not Found | Virtual Card Order does not exist | None |
Request to resend callback with sensitive card data
Code samples
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'string'
}
result = RestClient.post 'https://coreapi.pexcard.com/v4/VirtualCard/Data',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'string'
}
r = requests.post('https://coreapi.pexcard.com/v4/VirtualCard/Data', headers = headers)
print(r.json())
const inputBody = '{
"AcctId": 0,
"CardDataWebhookURL": ""
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'string'
};
fetch('https://coreapi.pexcard.com/v4/VirtualCard/Data',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST /VirtualCard/Data
Request to resend webhook/callback with sensitive card data for a single AcctId.
This should only be used if the webhook from POST/VirtualCard/Order is not delivered.
If successful, you receive no response, just the webhook.
To retrieve card order details (without sensitive data), including the card AcctId, use GET /VirtualCard/Order/{Id}.
Body parameter
{
"AcctId": 0,
"CardDataWebhookURL": ""
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | token {USERTOKEN} |
body | body | VirtualCardDataRequest | true | Account ID and webhook URL |
Example responses
200 Response
{}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | Inline |
400 | Bad Request |
|None|
Response Schema
Status Code 200
IHttpActionResult
Name | Type | Required | Restrictions | Description |
---|
Business : Check balances and transfers, manage administrators, and configure business settings.
Return details of all the available Tag definitions configured for the business
Code samples
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'string'
}
result = RestClient.get 'https://coreapi.pexcard.com/v4/Business/Configuration/Tags',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'string'
}
r = requests.get('https://coreapi.pexcard.com/v4/Business/Configuration/Tags', headers = headers)
print(r.json())
const headers = {
'Accept':'application/json',
'Authorization':'string'
};
fetch('https://coreapi.pexcard.com/v4/Business/Configuration/Tags',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /Business/Configuration/Tags
Type - It defines the type of the tag on PEX platform. Valid values are: 1. Dropdown 2. Text 3. Yes/No 4. Decimal
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | token {USERTOKEN} |
Example responses
200 Response
[
{
"Id": "",
"Type": "",
"Name": "",
"Description": "",
"IsEnabled": false,
"IsDeleted": false,
"IsRequired": false,
"Order": 0,
"ConcurrencyKey": "",
"CreatedDateUtc": "",
"CreatedBy": {
"AdminId": 0,
"UserId": 0
},
"UpdatedDateUtc": "",
"UpdatedBy": {
"AdminId": 0,
"UserId": 0
},
"DeletedDateUtc": "",
"DeletedBy": {
"AdminId": 0,
"UserId": 0
}
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | Inline |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | [Tag] | false | none | [Tag configuration] |
» Tag | Tag | false | none | Tag configuration |
»» Id | string | false | none | Unique Identifier of the tag definition |
»» Type | string | false | none | Type of the tag definition {Dropdown, Text, Decimal, Yes/No} |
»» Name | string | false | none | Name of the tag definition |
»» Description | string | false | none | Descriptive information about the tag definition |
»» IsEnabled | boolean | false | none | This flag determines if the tag definition is visible to the card holder |
»» IsDeleted | boolean | false | none | If set to true, the tag is deleted |
»» IsRequired | boolean | false | none | If set to true, tag is not required |
»» Order | integer(int32) | false | none | Determines the position where tag appears. It is a 0 based index |
»» ConcurrencyKey | string | false | none | Concurrent editing token |
»» CreatedDateUtc | string(date-time) | false | none | Date when the tag definition was created |
»» CreatedBy | MetadataUser | false | none | Metadata user |
»»» AdminId | integer(int32) | false | none | Admin Id of the user who created, updated, or deleted the tag definition |
»»» UserId | integer(int32) | false | none | User Id of the user who created, updated, or deleted the tag definition |
»» UpdatedDateUtc | string(date-time) | false | none | Date when the tag definition was last updated |
»» UpdatedBy | MetadataUser | false | none | Metadata user |
»» DeletedDateUtc | string(date-time) | false | none | Date when the tag definition was deleted |
»» DeletedBy | MetadataUser | false | none | Metadata user |
Enumerated Values
Property | Value |
---|---|
Type | Text |
Type | YesNo |
Type | Dropdown |
Type | Decimal |
Type | Allocation |
Return details of single tag definition (specified by the {Id})
Code samples
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'string'
}
result = RestClient.get 'https://coreapi.pexcard.com/v4/Business/Configuration/Tag/{Id}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'string'
}
r = requests.get('https://coreapi.pexcard.com/v4/Business/Configuration/Tag/{Id}', headers = headers)
print(r.json())
const headers = {
'Accept':'application/json',
'Authorization':'string'
};
fetch('https://coreapi.pexcard.com/v4/Business/Configuration/Tag/{Id}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /Business/Configuration/Tag/{Id}
To get the Id of the specific tag definition please use GET /Business/Configuration/Tags
Type - It defines the type of the tag on PEX platform. Valid values are:
1. Dropdown
2. Text
3. Yes/No
4. Decimal
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Id | path | string | true | Tag Id |
Authorization | header | string | true | token {USERTOKEN} |
Example responses
200 Response
{
"Id": "",
"Type": "",
"Name": "",
"Description": "",
"IsEnabled": false,
"IsDeleted": false,
"IsRequired": false,
"Order": 0,
"ConcurrencyKey": "",
"CreatedDateUtc": "",
"CreatedBy": {
"AdminId": 0,
"UserId": 0
},
"UpdatedDateUtc": "",
"UpdatedBy": {
"AdminId": 0,
"UserId": 0
},
"DeletedDateUtc": "",
"DeletedBy": {
"AdminId": 0,
"UserId": 0
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | Tag |
404 | Not Found | NotFound | None |
Updates a tag definition for Type = Dropdown
Code samples
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'string'
}
result = RestClient.put 'https://coreapi.pexcard.com/v4/Business/Configuration/Tag/Dropdown/{Id}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'string'
}
r = requests.put('https://coreapi.pexcard.com/v4/Business/Configuration/Tag/Dropdown/{Id}', headers = headers)
print(r.json())
const inputBody = '{
"Options": [
{
"Name": "",
"Value": "",
"Order": 0,
"IsEnabled": false
}
],
"Name": "",
"Description": "",
"Order": 0,
"IsRequired": false,
"IsEnabled": false
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'string'
};
fetch('https://coreapi.pexcard.com/v4/Business/Configuration/Tag/Dropdown/{Id}',
{
method: 'PUT',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
PUT /Business/Configuration/Tag/Dropdown/{Id}
Order - Determines the position where Tag appears on UI. It is a 0 based index, i.e. Order = 0 corresponds to 1st position of the tag in the list of tags. The default value is 0. It is a required field.
Body parameter
{
"Options": [
{
"Name": "",
"Value": "",
"Order": 0,
"IsEnabled": false
}
],
"Name": "",
"Description": "",
"Order": 0,
"IsRequired": false,
"IsEnabled": false
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Id | path | string | true | none |
Authorization | header | string | true | token {USERTOKEN} |
body | body | UpdateDropdownTagRequest | true | none |
Example responses
200 Response
{
"Id": "",
"Type": "",
"Name": "",
"Description": "",
"IsEnabled": false,
"IsDeleted": false,
"IsRequired": false,
"Order": 0,
"ConcurrencyKey": "",
"CreatedDateUtc": "",
"CreatedBy": {
"AdminId": 0,
"UserId": 0
},
"UpdatedDateUtc": "",
"UpdatedBy": {
"AdminId": 0,
"UserId": 0
},
"DeletedDateUtc": "",
"DeletedBy": {
"AdminId": 0,
"UserId": 0
},
"Options": [
{
"Name": "",
"Value": "",
"Order": 0,
"IsEnabled": false
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | DropdownTag |
400 | Bad Request | The request is invalid. | None |
404 | Not Found | NotFound | None |
Delete a tag definition for Type = Dropdown
Code samples
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'string'
}
result = RestClient.delete 'https://coreapi.pexcard.com/v4/Business/Configuration/Tag/Dropdown/{Id}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'string'
}
r = requests.delete('https://coreapi.pexcard.com/v4/Business/Configuration/Tag/Dropdown/{Id}', headers = headers)
print(r.json())
const headers = {
'Accept':'application/json',
'Authorization':'string'
};
fetch('https://coreapi.pexcard.com/v4/Business/Configuration/Tag/Dropdown/{Id}',
{
method: 'DELETE',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
DELETE /Business/Configuration/Tag/Dropdown/{Id}
To get the Id of the tag definition, please use GET /Business/Configuration/Tags.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Id | path | string | true | none |
Authorization | header | string | true | token {USERTOKEN} |
Example responses
200 Response
{
"Id": "",
"Type": "",
"Name": "",
"Description": "",
"IsEnabled": false,
"IsDeleted": false,
"IsRequired": false,
"Order": 0,
"ConcurrencyKey": "",
"CreatedDateUtc": "",
"CreatedBy": {
"AdminId": 0,
"UserId": 0
},
"UpdatedDateUtc": "",
"UpdatedBy": {
"AdminId": 0,
"UserId": 0
},
"DeletedDateUtc": "",
"DeletedBy": {
"AdminId": 0,
"UserId": 0
},
"Options": [
{
"Name": "",
"Value": "",
"Order": 0,
"IsEnabled": false
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | DropdownTag |
400 | Bad Request | Bad Request. | None |
Create a tag definition for Type = Dropdown
Code samples
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'string'
}
result = RestClient.post 'https://coreapi.pexcard.com/v4/Business/Configuration/Tag/Dropdown',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'string'
}
r = requests.post('https://coreapi.pexcard.com/v4/Business/Configuration/Tag/Dropdown', headers = headers)
print(r.json())
const inputBody = '{
"Name": "",
"Description": "",
"Order": 0,
"IsRequired": false,
"IsEnabled": false,
"Options": [
{
"Name": "",
"Value": "",
"Order": 0,
"IsEnabled": false
}
]
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'string'
};
fetch('https://coreapi.pexcard.com/v4/Business/Configuration/Tag/Dropdown',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST /Business/Configuration/Tag/Dropdown
IsRequired - If set to true, the User can not save the tag selection without selecting a value for this tag.
Order - Determines the position where Tag appears on UI. It is a 0 based index, i.e.Order = 0 corresponds to 1st position of the tag in the list of tags. The default value is 0. It is a required field.
Body parameter
{
"Name": "",
"Description": "",
"Order": 0,
"IsRequired": false,
"IsEnabled": false,
"Options": [
{
"Name": "",
"Value": "",
"Order": 0,
"IsEnabled": false
}
]
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | token {USERTOKEN} |
body | body | CreateDropdownTagRequest | true | none |
Example responses
201 Response
{
"Id": "",
"Type": "",
"Name": "",
"Description": "",
"IsEnabled": false,
"IsDeleted": false,
"IsRequired": false,
"Order": 0,
"ConcurrencyKey": "",
"CreatedDateUtc": "",
"CreatedBy": {
"AdminId": 0,
"UserId": 0
},
"UpdatedDateUtc": "",
"UpdatedBy": {
"AdminId": 0,
"UserId": 0
},
"DeletedDateUtc": "",
"DeletedBy": {
"AdminId": 0,
"UserId": 0
},
"Options": [
{
"Name": "",
"Value": "",
"Order": 0,
"IsEnabled": false
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
201 | Created | Created | DropdownTag |
400 | Bad Request | The request is invalid. | None |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
201 | Location | string | URL to the newly created resource. |
Create option(s) for the Type = Dropdown.
Code samples
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'string'
}
result = RestClient.post 'https://coreapi.pexcard.com/v4/Business/Configuration/Tag/Dropdown/{Id}/Options',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'string'
}
r = requests.post('https://coreapi.pexcard.com/v4/Business/Configuration/Tag/Dropdown/{Id}/Options', headers = headers)
print(r.json())
const inputBody = '{
"Options": [
{
"Name": "",
"Value": "",
"Order": 0,
"IsEnabled": false
}
]
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'string'
};
fetch('https://coreapi.pexcard.com/v4/Business/Configuration/Tag/Dropdown/{Id}/Options',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST /Business/Configuration/Tag/Dropdown/{Id}/Options
IsRequired - If set to true, the User can not save the tag selection without selecting a value for this tag.
Order - Determines the position where Tag appears on UI. It is a 0 based index i.e. Order = 0 corresponds to 1st position of the tag in the list of tags. The default value is 0. It is a required field.
Body parameter
{
"Options": [
{
"Name": "",
"Value": "",
"Order": 0,
"IsEnabled": false
}
]
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Id | path | string | true | none |
Authorization | header | string | true | token {USERTOKEN} |
body | body | TagOptionsRequest | true | none |
Example responses
200 Response
{
"Id": "",
"Type": "",
"Name": "",
"Description": "",
"IsEnabled": false,
"IsDeleted": false,
"IsRequired": false,
"Order": 0,
"ConcurrencyKey": "",
"CreatedDateUtc": "",
"CreatedBy": {
"AdminId": 0,
"UserId": 0
},
"UpdatedDateUtc": "",
"UpdatedBy": {
"AdminId": 0,
"UserId": 0
},
"DeletedDateUtc": "",
"DeletedBy": {
"AdminId": 0,
"UserId": 0
},
"Options": [
{
"Name": "",
"Value": "",
"Order": 0,
"IsEnabled": false
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | DropdownTag |
201 | Created | Created | DropdownTag |
400 | Bad Request | Tag is not dropdown type. | None |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
201 | Location | string | URL to the newly created resource. |
Create a tag definition for Type = Text
Code samples
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'string'
}
result = RestClient.post 'https://coreapi.pexcard.com/v4/Business/Configuration/Tag/Text',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'string'
}
r = requests.post('https://coreapi.pexcard.com/v4/Business/Configuration/Tag/Text', headers = headers)
print(r.json())
const inputBody = '{
"Length": 0,
"ValidationType": "",
"Name": "",
"Description": "",
"Order": 0,
"IsRequired": false,
"IsEnabled": false
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'string'
};
fetch('https://coreapi.pexcard.com/v4/Business/Configuration/Tag/Text',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST /Business/Configuration/Tag/Text
ValidationType - Determines the kind of values this tag is allowed to have. Valid values are: 1. None 2. Numeric 3. Alphabetic 4. Alphanumeric
Length - Defines the number of characters allowed for this tag. It takes numeric values E.g. Length: 5 means the tag can have up to 5 characters.
IsRequired - If set to true, the User can not save the tag selection without selecting a value for this tag.
Order - Determines the position where Tag appears on UI. It is a 0 based index, i.e. Order = 0 corresponds to 1st position of the tag in the list of tags. The default value is 0. It is a required field.
Body parameter
{
"Length": 0,
"ValidationType": "",
"Name": "",
"Description": "",
"Order": 0,
"IsRequired": false,
"IsEnabled": false
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | token {USERTOKEN} |
body | body | CreateTextTagRequest | true | none |
Example responses
201 Response
{
"Length": 0,
"ValidationType": "",
"Id": "",
"Type": "",
"Name": "",
"Description": "",
"IsEnabled": false,
"IsDeleted": false,
"IsRequired": false,
"Order": 0,
"ConcurrencyKey": "",
"CreatedDateUtc": "",
"CreatedBy": {
"AdminId": 0,
"UserId": 0
},
"UpdatedDateUtc": "",
"UpdatedBy": {
"AdminId": 0,
"UserId": 0
},
"DeletedDateUtc": "",
"DeletedBy": {
"AdminId": 0,
"UserId": 0
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
201 | Created | Created | TextTag |
400 | Bad Request | The request is invalid. | None |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
201 | Location | url | URL to the newly created resource. |
Updates a tag definition for Type = Text
Code samples
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'string'
}
result = RestClient.put 'https://coreapi.pexcard.com/v4/Business/Configuration/Tag/Text/{Id}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'string'
}
r = requests.put('https://coreapi.pexcard.com/v4/Business/Configuration/Tag/Text/{Id}', headers = headers)
print(r.json())
const inputBody = '{
"Length": 0,
"ValidationType": "",
"Name": "",
"Description": "",
"Order": 0,
"IsRequired": false,
"IsEnabled": false
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'string'
};
fetch('https://coreapi.pexcard.com/v4/Business/Configuration/Tag/Text/{Id}',
{
method: 'PUT',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
PUT /Business/Configuration/Tag/Text/{Id}
ValidationType - Determines the kind of values this tag is allowed to have. Valid values are: 1. None 2. Numeric 3. Alphabetic 4. Alphanumeric
Length - Defines the number of characters allowed for this tag.It takes numeric values E.g.Length: 5 means the tag can have up to 5 characters. Order - Determines the position where Tag appears on UI. It is a 0 based index, i.e. Order = 0 corresponds to 1st position of the tag in the list of tags. The default value is 0. It is a required field.
Body parameter
{
"Length": 0,
"ValidationType": "",
"Name": "",
"Description": "",
"Order": 0,
"IsRequired": false,
"IsEnabled": false
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Id | path | string | true | none |
Authorization | header | string | true | token {USERTOKEN} |
body | body | UpdateTextTagRequest | true | none |
Example responses
200 Response
{
"Length": 0,
"ValidationType": "",
"Id": "",
"Type": "",
"Name": "",
"Description": "",
"IsEnabled": false,
"IsDeleted": false,
"IsRequired": false,
"Order": 0,
"ConcurrencyKey": "",
"CreatedDateUtc": "",
"CreatedBy": {
"AdminId": 0,
"UserId": 0
},
"UpdatedDateUtc": "",
"UpdatedBy": {
"AdminId": 0,
"UserId": 0
},
"DeletedDateUtc": "",
"DeletedBy": {
"AdminId": 0,
"UserId": 0
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | TextTag |
400 | Bad Request | Bad Request. | None |
Deletes a tag definition for Type = Text.
Code samples
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'string'
}
result = RestClient.delete 'https://coreapi.pexcard.com/v4/Business/Configuration/Tag/Text/{Id}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'string'
}
r = requests.delete('https://coreapi.pexcard.com/v4/Business/Configuration/Tag/Text/{Id}', headers = headers)
print(r.json())
const headers = {
'Accept':'application/json',
'Authorization':'string'
};
fetch('https://coreapi.pexcard.com/v4/Business/Configuration/Tag/Text/{Id}',
{
method: 'DELETE',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
DELETE /Business/Configuration/Tag/Text/{Id}
To get the Id of the tag definition, please use GET /Business/Configuration/Tags.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Id | path | string | true | none |
Authorization | header | string | true | token {USERTOKEN} |
Example responses
200 Response
{
"Length": 0,
"ValidationType": "",
"Id": "",
"Type": "",
"Name": "",
"Description": "",
"IsEnabled": false,
"IsDeleted": false,
"IsRequired": false,
"Order": 0,
"ConcurrencyKey": "",
"CreatedDateUtc": "",
"CreatedBy": {
"AdminId": 0,
"UserId": 0
},
"UpdatedDateUtc": "",
"UpdatedBy": {
"AdminId": 0,
"UserId": 0
},
"DeletedDateUtc": "",
"DeletedBy": {
"AdminId": 0,
"UserId": 0
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | TextTag |
400 | Bad Request | Bad Request. | None |
Create a tag definition for Type = Decimal
Code samples
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'string'
}
result = RestClient.post 'https://coreapi.pexcard.com/v4/Business/Configuration/Tag/Decimal',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'string'
}
r = requests.post('https://coreapi.pexcard.com/v4/Business/Configuration/Tag/Decimal', headers = headers)
print(r.json())
const inputBody = '{
"Name": "",
"Description": "",
"Order": 0,
"IsRequired": false,
"IsEnabled": false
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'string'
};
fetch('https://coreapi.pexcard.com/v4/Business/Configuration/Tag/Decimal',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST /Business/Configuration/Tag/Decimal
IsRequired - If set to true, the User can not save the tag selection without selecting a value for this tag.
Order - Determines the position where Tag appears on UI. It is a 0 based index, i.e. Order = 0 corresponds to 1st position of the tag in the list of tags. The default value is 0. It is a required field.
Body parameter
{
"Name": "",
"Description": "",
"Order": 0,
"IsRequired": false,
"IsEnabled": false
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | token {USERTOKEN} |
body | body | CreateTagRequest | true | none |
Example responses
201 Response
{
"Id": "",
"Type": "",
"Name": "",
"Description": "",
"IsEnabled": false,
"IsDeleted": false,
"IsRequired": false,
"Order": 0,
"ConcurrencyKey": "",
"CreatedDateUtc": "",
"CreatedBy": {
"AdminId": 0,
"UserId": 0
},
"UpdatedDateUtc": "",
"UpdatedBy": {
"AdminId": 0,
"UserId": 0
},
"DeletedDateUtc": "",
"DeletedBy": {
"AdminId": 0,
"UserId": 0
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
201 | Created | Created | Tag |
400 | Bad Request | The request is invalid. | None |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
201 | Location | url | URL to the newly created resource. |
Updates a tag definition for Type = Decimal.
Code samples
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'string'
}
result = RestClient.put 'https://coreapi.pexcard.com/v4/Business/Configuration/Tag/Decimal/{Id}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'string'
}
r = requests.put('https://coreapi.pexcard.com/v4/Business/Configuration/Tag/Decimal/{Id}', headers = headers)
print(r.json())
const inputBody = '{
"Name": "",
"Description": "",
"Order": 0,
"IsRequired": false,
"IsEnabled": false
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'string'
};
fetch('https://coreapi.pexcard.com/v4/Business/Configuration/Tag/Decimal/{Id}',
{
method: 'PUT',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
PUT /Business/Configuration/Tag/Decimal/{Id}
Order - Determines the position where Tag appears on UI. It is a 0 based index, i.e. Order = 0 corresponds to 1st position of the tag in the list of tags. The default value is 0. It is a required field.
Body parameter
{
"Name": "",
"Description": "",
"Order": 0,
"IsRequired": false,
"IsEnabled": false
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Id | path | string | true | none |
Authorization | header | string | true | token {USERTOKEN} |
body | body | UpdateTagRequest | true | none |
Example responses
200 Response
{
"Length": 0,
"ValidationType": "",
"Id": "",
"Type": "",
"Name": "",
"Description": "",
"IsEnabled": false,
"IsDeleted": false,
"IsRequired": false,
"Order": 0,
"ConcurrencyKey": "",
"CreatedDateUtc": "",
"CreatedBy": {
"AdminId": 0,
"UserId": 0
},
"UpdatedDateUtc": "",
"UpdatedBy": {
"AdminId": 0,
"UserId": 0
},
"DeletedDateUtc": "",
"DeletedBy": {
"AdminId": 0,
"UserId": 0
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | TextTag |
404 | Not Found | NotFound | None |
Deletes a tag definition for Type = Decimal
Code samples
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'string'
}
result = RestClient.delete 'https://coreapi.pexcard.com/v4/Business/Configuration/Tag/Decimal/{Id}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'string'
}
r = requests.delete('https://coreapi.pexcard.com/v4/Business/Configuration/Tag/Decimal/{Id}', headers = headers)
print(r.json())
const headers = {
'Accept':'application/json',
'Authorization':'string'
};
fetch('https://coreapi.pexcard.com/v4/Business/Configuration/Tag/Decimal/{Id}',
{
method: 'DELETE',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
DELETE /Business/Configuration/Tag/Decimal/{Id}
To get the Id of the tag definition, please use GET /Business/Configuration/Tags.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Id | path | string | true | none |
Authorization | header | string | true | token {USERTOKEN} |
Example responses
200 Response
{
"Id": "",
"Type": "",
"Name": "",
"Description": "",
"IsEnabled": false,
"IsDeleted": false,
"IsRequired": false,
"Order": 0,
"ConcurrencyKey": "",
"CreatedDateUtc": "",
"CreatedBy": {
"AdminId": 0,
"UserId": 0
},
"UpdatedDateUtc": "",
"UpdatedBy": {
"AdminId": 0,
"UserId": 0
},
"DeletedDateUtc": "",
"DeletedBy": {
"AdminId": 0,
"UserId": 0
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | Tag |
400 | Bad Request | Bad Request. | None |
Create a tag definition for Type = Yes/No
Code samples
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'string'
}
result = RestClient.post 'https://coreapi.pexcard.com/v4/Business/Configuration/Tag/YesNo',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'string'
}
r = requests.post('https://coreapi.pexcard.com/v4/Business/Configuration/Tag/YesNo', headers = headers)
print(r.json())
const inputBody = '{
"Name": "",
"Description": "",
"Order": 0,
"IsRequired": false,
"IsEnabled": false
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'string'
};
fetch('https://coreapi.pexcard.com/v4/Business/Configuration/Tag/YesNo',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST /Business/Configuration/Tag/YesNo
IsRequired - If set to true, the User can not save the tag selection without selecting a value for this tag. Order - Determines the position where Tag appears on UI. It is a 0 based index, i.e. Order = 0 corresponds to 1st position of the tag in the list of tags. The default value is 0. It is a required field.
Body parameter
{
"Name": "",
"Description": "",
"Order": 0,
"IsRequired": false,
"IsEnabled": false
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | token {USERTOKEN} |
body | body | CreateTagRequest | true | none |
Example responses
201 Response
{
"Id": "",
"Type": "",
"Name": "",
"Description": "",
"IsEnabled": false,
"IsDeleted": false,
"IsRequired": false,
"Order": 0,
"ConcurrencyKey": "",
"CreatedDateUtc": "",
"CreatedBy": {
"AdminId": 0,
"UserId": 0
},
"UpdatedDateUtc": "",
"UpdatedBy": {
"AdminId": 0,
"UserId": 0
},
"DeletedDateUtc": "",
"DeletedBy": {
"AdminId": 0,
"UserId": 0
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
201 | Created | Created | Tag |
400 | Bad Request | The request is invalid. | None |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
201 | Location | url | URL to the newly created resource. |
Update a tag definition for Type = Yes/No
Code samples
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'string'
}
result = RestClient.put 'https://coreapi.pexcard.com/v4/Business/Configuration/Tag/YesNo/{Id}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'string'
}
r = requests.put('https://coreapi.pexcard.com/v4/Business/Configuration/Tag/YesNo/{Id}', headers = headers)
print(r.json())
const inputBody = '{
"Name": "",
"Description": "",
"Order": 0,
"IsRequired": false,
"IsEnabled": false
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'string'
};
fetch('https://coreapi.pexcard.com/v4/Business/Configuration/Tag/YesNo/{Id}',
{
method: 'PUT',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
PUT /Business/Configuration/Tag/YesNo/{Id}
Order - Determines the position where Tag appears on UI. It is 0 based index i.e. Order = 0 corresponds to 1st position of the tag in the list of tags. The default value is 0. It is a required field.
Body parameter
{
"Name": "",
"Description": "",
"Order": 0,
"IsRequired": false,
"IsEnabled": false
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Id | path | string | true | none |
Authorization | header | string | true | token {USERTOKEN} |
body | body | UpdateTagRequest | true | none |
Example responses
200 Response
{
"Id": "",
"Type": "",
"Name": "",
"Description": "",
"IsEnabled": false,
"IsDeleted": false,
"IsRequired": false,
"Order": 0,
"ConcurrencyKey": "",
"CreatedDateUtc": "",
"CreatedBy": {
"AdminId": 0,
"UserId": 0
},
"UpdatedDateUtc": "",
"UpdatedBy": {
"AdminId": 0,
"UserId": 0
},
"DeletedDateUtc": "",
"DeletedBy": {
"AdminId": 0,
"UserId": 0
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | Tag |
404 | Not Found | NotFound | None |
Delete a tag definition for Type = Yes/No
Code samples
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'string'
}
result = RestClient.delete 'https://coreapi.pexcard.com/v4/Business/Configuration/Tag/YesNo/{Id}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'string'
}
r = requests.delete('https://coreapi.pexcard.com/v4/Business/Configuration/Tag/YesNo/{Id}', headers = headers)
print(r.json())
const headers = {
'Accept':'application/json',
'Authorization':'string'
};
fetch('https://coreapi.pexcard.com/v4/Business/Configuration/Tag/YesNo/{Id}',
{
method: 'DELETE',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
DELETE /Business/Configuration/Tag/YesNo/{Id}
To get the Id of the tag definition, please use GET /Business/Configuration/Tags.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Id | path | string | true | none |
Authorization | header | string | true | token {USERTOKEN} |
Example responses
200 Response
{
"Id": "",
"Type": "",
"Name": "",
"Description": "",
"IsEnabled": false,
"IsDeleted": false,
"IsRequired": false,
"Order": 0,
"ConcurrencyKey": "",
"CreatedDateUtc": "",
"CreatedBy": {
"AdminId": 0,
"UserId": 0
},
"UpdatedDateUtc": "",
"UpdatedBy": {
"AdminId": 0,
"UserId": 0
},
"DeletedDateUtc": "",
"DeletedBy": {
"AdminId": 0,
"UserId": 0
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | Tag |
400 | Bad Request | Bad Request. | None |
Update a tag definition for Type = Allocation
Code samples
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'string'
}
result = RestClient.put 'https://coreapi.pexcard.com/v4/Business/Configuration/Tag/Allocation',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'string'
}
r = requests.put('https://coreapi.pexcard.com/v4/Business/Configuration/Tag/Allocation', headers = headers)
print(r.json())
const headers = {
'Accept':'application/json',
'Authorization':'string'
};
fetch('https://coreapi.pexcard.com/v4/Business/Configuration/Tag/Allocation',
{
method: 'PUT',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
PUT /Business/Configuration/Tag/Allocation
Allocations allow you to associate a transaction with multiple expense categories or accounts.
Settled PEX transactions may be divided into multiple allocation sets. Each set references one or more tag values and an allocation amount.
The sum total of all allocation amounts must be equal to the transaction settlement amount.
A transaction with allocations is required to contain a minimum of two sets of Allocation tag values. Otherwise, for a single allocation use standard tag values.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | token {USERTOKEN} |
Example responses
200 Response
{
"Id": "",
"Type": "",
"Name": "",
"Description": "",
"IsEnabled": false,
"IsDeleted": false,
"IsRequired": false,
"Order": 0,
"ConcurrencyKey": "",
"CreatedDateUtc": "",
"CreatedBy": {
"AdminId": 0,
"UserId": 0
},
"UpdatedDateUtc": "",
"UpdatedBy": {
"AdminId": 0,
"UserId": 0
},
"DeletedDateUtc": "",
"DeletedBy": {
"AdminId": 0,
"UserId": 0
},
"Tags": [
{
"TagId": "",
"Order": ""
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | AllocationTag |
Create a tag definition for Type = Allocation
Code samples
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'string'
}
result = RestClient.post 'https://coreapi.pexcard.com/v4/Business/Configuration/Tag/Allocation',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'string'
}
r = requests.post('https://coreapi.pexcard.com/v4/Business/Configuration/Tag/Allocation', headers = headers)
print(r.json())
const headers = {
'Accept':'application/json',
'Authorization':'string'
};
fetch('https://coreapi.pexcard.com/v4/Business/Configuration/Tag/Allocation',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST /Business/Configuration/Tag/Allocation
Allocations allow you to associate a transaction with multiple expense categories or accounts.
Settled PEX transactions may be divided into multiple allocation sets. Each set references one or more tag values and an allocation amount.
The sum total of all allocation amounts must be equal to the transaction settlement amount.
A transaction with allocations is required to contain a minimum of two sets of Allocation tag values. Otherwise, for a single allocation use standard tag values.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | token {USERTOKEN} |
Example responses
201 Response
{
"Id": "",
"Type": "",
"Name": "",
"Description": "",
"IsEnabled": false,
"IsDeleted": false,
"IsRequired": false,
"Order": 0,
"ConcurrencyKey": "",
"CreatedDateUtc": "",
"CreatedBy": {
"AdminId": 0,
"UserId": 0
},
"UpdatedDateUtc": "",
"UpdatedBy": {
"AdminId": 0,
"UserId": 0
},
"DeletedDateUtc": "",
"DeletedBy": {
"AdminId": 0,
"UserId": 0
},
"Tags": [
{
"TagId": "",
"Order": ""
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
201 | Created | Created | AllocationTag |
400 | Bad Request | The request is invalid. | None |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
201 | Location | url | URL to the newly created resource. |
Delete a tag definition for Type = Allocation
Code samples
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'string'
}
result = RestClient.delete 'https://coreapi.pexcard.com/v4/Business/Configuration/Tag/Allocation/{Id}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'string'
}
r = requests.delete('https://coreapi.pexcard.com/v4/Business/Configuration/Tag/Allocation/{Id}', headers = headers)
print(r.json())
const headers = {
'Accept':'application/json',
'Authorization':'string'
};
fetch('https://coreapi.pexcard.com/v4/Business/Configuration/Tag/Allocation/{Id}',
{
method: 'DELETE',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
DELETE /Business/Configuration/Tag/Allocation/{Id}
Delete one of the tag type = allocations. Once the allocation tag definition is deleted transaction split is not possible going forward. To get the Id of the tag definition, please use GET /Business/Configuration/Tags.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Id | path | string | true | none |
Authorization | header | string | true | token {USERTOKEN} |
Example responses
200 Response
{
"Id": "",
"Type": "",
"Name": "",
"Description": "",
"IsEnabled": false,
"IsDeleted": false,
"IsRequired": false,
"Order": 0,
"ConcurrencyKey": "",
"CreatedDateUtc": "",
"CreatedBy": {
"AdminId": 0,
"UserId": 0
},
"UpdatedDateUtc": "",
"UpdatedBy": {
"AdminId": 0,
"UserId": 0
},
"DeletedDateUtc": "",
"DeletedBy": {
"AdminId": 0,
"UserId": 0
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | Tag |
400 | Bad Request | Bad Request. | None |
Updates a tag option definition for Type = Dropdown
Code samples
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'string'
}
result = RestClient.put 'https://coreapi.pexcard.com/v4/Business/Configuration/Tag/Dropdown/{Id}/Option',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'string'
}
r = requests.put('https://coreapi.pexcard.com/v4/Business/Configuration/Tag/Dropdown/{Id}/Option', headers = headers)
print(r.json())
const inputBody = '{
"Name": "",
"Value": "",
"Order": 0,
"IsEnabled": false
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'string'
};
fetch('https://coreapi.pexcard.com/v4/Business/Configuration/Tag/Dropdown/{Id}/Option',
{
method: 'PUT',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
PUT /Business/Configuration/Tag/Dropdown/{Id}/Option
To get the Id of the specific tag please use GET /Business/Configuration/Tags Order - Determines the position where Tag appears on UI. It is a 0 based index, i.e.Order = 0 corresponds to 1st position of the tag in the list of tags. The default value is 0. It is a required field.
Body parameter
{
"Name": "",
"Value": "",
"Order": 0,
"IsEnabled": false
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Id | path | string | true | none |
Authorization | header | string | true | token {USERTOKEN} |
body | body | UpdateTagOptionRequest | true | none |
Example responses
200 Response
{
"Name": "",
"Value": "",
"Order": 0,
"IsEnabled": false
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | TagOption |
404 | Not Found | NotFound | None |
Return list of PEX initiated ACH transfer requests for the business
Code samples
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'string'
}
result = RestClient.get 'https://coreapi.pexcard.com/v4/Business/OneTimeTransfer',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'string'
}
r = requests.get('https://coreapi.pexcard.com/v4/Business/OneTimeTransfer', headers = headers)
print(r.json())
const headers = {
'Accept':'application/json',
'Authorization':'string'
};
fetch('https://coreapi.pexcard.com/v4/Business/OneTimeTransfer',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /Business/OneTimeTransfer
Return all one-time transfers for the business.
One-time transfers are PEX initiated debit or credit ACH requests to/from your external business checking account-on-file to/from your PEXCard business account.
One-time transfer Status definitions:
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | token {USERTOKEN} |
Example responses
200 Response
{
"OneTimeTransferDetails": [
{
"TransferRequestId": 0,
"BankInformation": {
"ExternalBankAcctId": 0,
"RoutingNumber": "",
"BankAccountNumber": "",
"BankName": "",
"BankAccountType": "",
"IsActive": false
},
"Amount": 0,
"Status": "",
"RequestedDate": "",
"FundAvailableDate": ""
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | GetOneTimeTransferResponse |
Return the PEX business profile information
Code samples
require 'rest-client'
require 'json'
headers = {
'Authorization' => 'string'
}
result = RestClient.get 'https://coreapi.pexcard.com/v4/Business/Profile',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Authorization': 'string'
}
r = requests.get('https://coreapi.pexcard.com/v4/Business/Profile', headers = headers)
print(r.json())
const headers = {
'Authorization':'string'
};
fetch('https://coreapi.pexcard.com/v4/Business/Profile',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /Business/Profile
Return the PEX business profile information including address, phone and initial contact information.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | token {USERTOKEN} |
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
403 | Forbidden | Business is not open | None |
500 | Internal Server Error | System error | None |
Update the PEX business profile
Code samples
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Authorization' => 'string'
}
result = RestClient.post 'https://coreapi.pexcard.com/v4/Business/Profile',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Authorization': 'string'
}
r = requests.post('https://coreapi.pexcard.com/v4/Business/Profile', headers = headers)
print(r.json())
const inputBody = '{
"ProfileAddress": {
"AddressLine1": "",
"AddressLine2": "",
"City": "",
"State": "",
"PostalCode": ""
},
"Phone": "",
"PhoneExtension": "",
"NormalizeAddress": false
}';
const headers = {
'Content-Type':'application/json',
'Authorization':'string'
};
fetch('https://coreapi.pexcard.com/v4/Business/Profile',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST /Business/Profile
Update the PEX business profile with the specified information.
All fields are optional for update, however, some profile fields are required in the system and cannot be replaced by null or empty strings. Required system profile fields are:
Email format: name@domain.com
Date format: MM-DD-YYYY, ex. 01-31-1970
Phone format: 2125551212
Zip code should be 5 digits: 10018.
The API user must have EditBusinessProfile = true.
Body parameter
{
"ProfileAddress": {
"AddressLine1": "",
"AddressLine2": "",
"City": "",
"State": "",
"PostalCode": ""
},
"Phone": "",
"PhoneExtension": "",
"NormalizeAddress": false
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | token {USERTOKEN} |
body | body | UpdateBusinessProfileRequest | true | Profile data |
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
403 | Forbidden |
Return administrator profile and permissions
Code samples
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'string'
}
result = RestClient.get 'https://coreapi.pexcard.com/v4/Business/Admin/{Id}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'string'
}
r = requests.get('https://coreapi.pexcard.com/v4/Business/Admin/{Id}', headers = headers)
print(r.json())
const headers = {
'Accept':'application/json',
'Authorization':'string'
};
fetch('https://coreapi.pexcard.com/v4/Business/Admin/{Id}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /Business/Admin/{Id}
Return the profile and permissions for a specific active PEX administrator. A deleted or terminated administrator will not be returned.
To obtain the administrator ID, use GET /Business/Admin.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Id | path | integer(int32) | true | Business admin ID |
Authorization | header | string | true | token {USERTOKEN} |
Example responses
200 Response
{
"Admin": {
"BusinessAdminId": 0,
"FirstName": "",
"MiddleName": "",
"LastName": "",
"ProfileAddress": {
"ContactName": "",
"AddressLine1": "",
"AddressLine2": "",
"City": "",
"State": "",
"PostalCode": "",
"Country": ""
},
"Phone": "",
"AltPhone": "",
"DateOfBirth": "",
"Email": "",
"Permissions": {
"ViewAdministration": false,
"AddEditTerminateAdministrator": false,
"RequestDeleteACHTransfer": false,
"EditBusinessProfile": false,
"AddEditTerminateCard": false,
"RequestCardFunding": false,
"ViewCardNumberReport": false,
"ModifyTransactionNotes": false,
"AdministerInstantIssueCards": false
},
"Status": ""
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | GetAdminResponse |
403 | Forbidden |
Update an existing business administrator
Code samples
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'string'
}
result = RestClient.put 'https://coreapi.pexcard.com/v4/Business/Admin/{Id}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'string'
}
r = requests.put('https://coreapi.pexcard.com/v4/Business/Admin/{Id}', headers = headers)
print(r.json())
const inputBody = '{
"FirstName": "",
"MiddleName": "",
"LastName": "",
"NormalizeAddress": false,
"ProfileAddress": {
"AddressLine1": "",
"AddressLine2": "",
"City": "",
"State": "",
"PostalCode": ""
},
"Phone": "",
"AltPhone": "",
"DateOfBirth": "",
"Email": "",
"Permissions": {
"ViewAdministration": false,
"AddEditTerminateAdministrator": false,
"RequestDeleteACHTransfer": false,
"EditBusinessProfile": false,
"AddEditTerminateCard": false,
"RequestCardFunding": false,
"ViewCardNumberReport": false,
"ModifyTransactionNotes": false,
"AdministerInstantIssueCards": false
}
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'string'
};
fetch('https://coreapi.pexcard.com/v4/Business/Admin/{Id}',
{
method: 'PUT',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
PUT /Business/Admin/{Id}
Edit an active PEX administrator’s profile address or permissions.
Email format: name@domain.com
Date format: MM-DD-YYYY, ex. 01-31-1970
Phone format: 2125551212
Zip code should be 5 digits: 10018
To retrieve a list of all active PEX administrators, use GET /Business/Admin.
Body parameter
{
"FirstName": "",
"MiddleName": "",
"LastName": "",
"NormalizeAddress": false,
"ProfileAddress": {
"AddressLine1": "",
"AddressLine2": "",
"City": "",
"State": "",
"PostalCode": ""
},
"Phone": "",
"AltPhone": "",
"DateOfBirth": "",
"Email": "",
"Permissions": {
"ViewAdministration": false,
"AddEditTerminateAdministrator": false,
"RequestDeleteACHTransfer": false,
"EditBusinessProfile": false,
"AddEditTerminateCard": false,
"RequestCardFunding": false,
"ViewCardNumberReport": false,
"ModifyTransactionNotes": false,
"AdministerInstantIssueCards": false
}
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Id | path | integer(int32) | true | The business admin id to edit |
Authorization | header | string | true | token {USERTOKEN} |
body | body | EditAdminRequest | true | Profile and permission data |
Example responses
200 Response
{
"Admin": {
"BusinessAdminId": 0,
"FirstName": "",
"MiddleName": "",
"LastName": "",
"ProfileAddress": {
"ContactName": "",
"AddressLine1": "",
"AddressLine2": "",
"City": "",
"State": "",
"PostalCode": "",
"Country": ""
},
"Phone": "",
"AltPhone": "",
"DateOfBirth": "",
"Email": "",
"Permissions": {
"ViewAdministration": false,
"AddEditTerminateAdministrator": false,
"RequestDeleteACHTransfer": false,
"EditBusinessProfile": false,
"AddEditTerminateCard": false,
"RequestCardFunding": false,
"ViewCardNumberReport": false,
"ModifyTransactionNotes": false,
"AdministerInstantIssueCards": false
},
"Status": ""
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | EditAdminResponse |
400 | Bad Request |
|None|
|500|Internal Server Error|System error|None|
Delete a PEX administrator account
Code samples
require 'rest-client'
require 'json'
headers = {
'Authorization' => 'string'
}
result = RestClient.delete 'https://coreapi.pexcard.com/v4/Business/Admin/{Id}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Authorization': 'string'
}
r = requests.delete('https://coreapi.pexcard.com/v4/Business/Admin/{Id}', headers = headers)
print(r.json())
const headers = {
'Authorization':'string'
};
fetch('https://coreapi.pexcard.com/v4/Business/Admin/{Id}',
{
method: 'DELETE',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
DELETE /Business/Admin/{Id}
Delete a PEX administrator account.
Once an administrator account is deleted, it cannot be turned on again. Use POST /Business/Admin to create a new administrator record.
To obtain the administrator ID, use GET /Business/Admin.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Id | path | integer(int32) | true | Business admin ID |
Authorization | header | string | true | token {USERTOKEN} |
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
403 | Forbidden | Invalid business admin ID | None |
500 | Internal Server Error | System error | None |
List all administrator details for the business
Code samples
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'string'
}
result = RestClient.get 'https://coreapi.pexcard.com/v4/Business/Admin',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'string'
}
r = requests.get('https://coreapi.pexcard.com/v4/Business/Admin', headers = headers)
print(r.json())
const headers = {
'Accept':'application/json',
'Authorization':'string'
};
fetch('https://coreapi.pexcard.com/v4/Business/Admin',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /Business/Admin
Return all active PEX administrator details, including administrator website permissions. Any deleted or terminated administrators will not be returned.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | token {USERTOKEN} |
Example responses
200 Response
{
"BusinessAdmins": [
{
"BusinessAdminId": 0,
"FirstName": "",
"MiddleName": "",
"LastName": "",
"ProfileAddress": {
"ContactName": "",
"AddressLine1": "",
"AddressLine2": "",
"City": "",
"State": "",
"PostalCode": "",
"Country": ""
},
"Phone": "",
"AltPhone": "",
"DateOfBirth": "",
"Email": "",
"Permissions": {
"ViewAdministration": false,
"AddEditTerminateAdministrator": false,
"RequestDeleteACHTransfer": false,
"EditBusinessProfile": false,
"AddEditTerminateCard": false,
"RequestCardFunding": false,
"ViewCardNumberReport": false,
"ModifyTransactionNotes": false,
"AdministerInstantIssueCards": false
},
"Status": ""
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | GetAdminListResponse |
403 | Forbidden |
Return the balance of the business account
Code samples
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'string'
}
result = RestClient.get 'https://coreapi.pexcard.com/v4/Business/Balance',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'string'
}
r = requests.get('https://coreapi.pexcard.com/v4/Business/Balance', headers = headers)
print(r.json())
const headers = {
'Accept':'application/json',
'Authorization':'string'
};
fetch('https://coreapi.pexcard.com/v4/Business/Balance',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /Business/Balance
Returns the current balance of your PEX business account.
Please note that you will not be able to use your entire business balance to fund cards if you are required to maintain a minimum level of funds (typically $50) in your business account.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | token {USERTOKEN} |
Example responses
200 Response
{
"BusinessAccountId": 0,
"BusinessAccountBalance": 0
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | GetBusinessBalanceResponse |
401 | Unauthorized | Standard security response if token is invalid | None |
500 | Internal Server Error | System error | None |
SpendingRuleset : Build policies which limit card spending.
Return all cards with the advanced spending rulesets
Code samples
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'string'
}
result = RestClient.get 'https://coreapi.pexcard.com/v4/SpendingRuleset/{Id}/Advanced/Cards',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'string'
}
r = requests.get('https://coreapi.pexcard.com/v4/SpendingRuleset/{Id}/Advanced/Cards', headers = headers)
print(r.json())
const headers = {
'Accept':'application/json',
'Authorization':'string'
};
fetch('https://coreapi.pexcard.com/v4/SpendingRuleset/{Id}/Advanced/Cards',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /SpendingRuleset/{Id}/Advanced/Cards
What it does:
Retrieve all cards assigned to a particular spending ruleset. The response includes all card details.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Id | path | integer(int32) | true | none |
Authorization | header | string | true | token {USERTOKEN} |
Example responses
200 Response
[
{
"AccountId": 0,
"Group": {
"Id": 0,
"GroupName": ""
},
"AccountStatus": "",
"LedgerBalance": 0,
"AvailableBalance": 0,
"ProfileAddress": {
"ContactName": "",
"AddressLine1": "",
"AddressLine2": "",
"City": "",
"State": "",
"PostalCode": "",
"Country": ""
},
"Phone": "",
"ShippingAddress": {
"ContactName": "",
"AddressLine1": "",
"AddressLine2": "",
"City": "",
"State": "",
"PostalCode": "",
"Country": ""
},
"ShippingPhone": "",
"DateOfBirth": "",
"Email": "",
"CardList": [
{
"CardId": 0,
"IssuedDate": "",
"ExpirationDate": "",
"Last4CardNumber": "",
"CardStatus": ""
}
],
"SpendingRulesetId": 0,
"SpendRules": {
"MerchantCategories": [
{
"Id": 0,
"Name": "",
"Description": "",
"TransactionLimit": 0,
"DailySpendLimit": 0,
"WeeklySpendLimit": 0,
"MonthlySpendLimit": 0,
"YearlySpendLimit": 0,
"LifetimeSpendLimit": 0
}
],
"InternationalSpendEnabled": false,
"IsDailySpendLimitEnabled": false,
"DailySpendLimit": 0,
"WeeklySpendLimit": 0,
"MonthlySpendLimit": 0,
"YearlySpendLimit": 0,
"LifetimeSpendLimit": 0,
"CardNotPresentUse": false,
"CardPresence": 0,
"UsePexAccountBalanceForAuths": false,
"UseCustomerAuthDecision": false,
"DaysOfWeekRestrictions": [
"string"
],
"UsStateRestrictions": [
"string"
]
},
"ScheduledFunding": {
"Amount": 0,
"Frequency": ""
},
"CustomId": "",
"IsVirtual": false
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | Inline |
400 | Bad Request | Invalid ruleset ID | None |
404 | Not Found | NotFound | None |
500 | Internal Server Error | InternalServerError | None |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | [AdvancedCardholderDetailsResponse] | false | none | none |
» AdvancedCardholderDetailsResponse | AdvancedCardholderDetailsResponse | false | none | none |
»» AccountId | integer(int32) | false | none | Unique cardholder account id |
»» Group | CardholderGroup | false | none | Details about a cardholder group |
»»» Id | integer(int32) | true | none | Unique id of the cardholder group |
»»» GroupName | string | true | none | Name of the cardholder group |
»» AccountStatus | string | false | none | Cardholder account status (OPEN or CLOSED) |
»» LedgerBalance | number(double) | false | none | Ledger balance for the card account, rounded to 2 decimal places |
»» AvailableBalance | number(double) | false | none | Available balance for the card account, rounded to 2 decimal places |
»» ProfileAddress | AddressContact | false | none | none |
»»» ContactName | string | false | none | none |
»»» AddressLine1 | string | true | none | none |
»»» AddressLine2 | string | false | none | none |
»»» City | string | true | none | none |
»»» State | string | true | none | none |
»»» PostalCode | string | true | none | none |
»»» Country | string | false | read-only | none |
»» Phone | string | false | none | Phone number |
»» ShippingAddress | AddressContact | false | none | none |
»» ShippingPhone | string | false | none | Shipping Phone number |
»» DateOfBirth | string(date-time) | false | none | Cardholder date of birth |
»» Email | string | false | none | Cardholder email address |
»» CardList | [CardDetail] | false | none | List of details about cards associated with the account |
»»» CardDetail | CardDetail | false | none | Details about a card |
»»»» CardId | integer(int32) | true | none | Unique id for the card |
»»»» IssuedDate | string(date-time) | true | none | Date card was issued |
»»»» ExpirationDate | string(date-time) | true | none | Expiration date for the card |
»»»» Last4CardNumber | string | true | none | Last four digits of card number |
»»»» CardStatus | string | true | none | Card status Possible string values for CardStatus parameter of card detail are:
|
»» SpendingRulesetId | integer(int32) | false | none | SpendingRulesetId for the cardholder account |
»» SpendRules | AdvancedSpendRulesResponse | false | none | Advanced Spend Rules Response |
»»» MerchantCategories | [MerchantCategoryResponse] | false | none | List of merchant categories |
»»»» MerchantCategoryResponse | MerchantCategoryResponse | false | none | Merchant Category Response |
»»»»» Id | integer(int32) | false | none | Merchant Category Id |
»»»»» Name | string | false | none | Merchant Category Name |
»»»»» Description | string | false | none | Merchant Category Description |
»»»»» TransactionLimit | number(double) | false | none | Transaction limit, rounded to 2 decimal places |
»»»»» DailySpendLimit | number(double) | false | none | Daily spend limit, rounded to 2 decimal places |
»»»»» WeeklySpendLimit | number(double) | false | none | Weekly spend limit, rounded to 2 decimal places |
»»»»» MonthlySpendLimit | number(double) | false | none | Monthly spend limit, rounded to 2 decimal places |
»»»»» YearlySpendLimit | number(double) | false | none | Yearly spend limit, rounded to 2 decimal places |
»»»»» LifetimeSpendLimit | number(double) | false | none | Lifetime spend limit, rounded to 2 decimal places |
»»» InternationalSpendEnabled | boolean | false | none | Whether or not international spend is enabled |
»»» IsDailySpendLimitEnabled | boolean | false | none | Whether or not a daily spend limit is set |
»»» DailySpendLimit | number(double) | false | none | Daily spend limit, rounded to 2 decimal places |
»»» WeeklySpendLimit | number(double) | false | none | Weekly spend limit, rounded to 2 decimal places |
»»» MonthlySpendLimit | number(double) | false | none | Monthly spend limit, rounded to 2 decimal places |
»»» YearlySpendLimit | number(double) | false | none | Yearly spend limit, rounded to 2 decimal places |
»»» LifetimeSpendLimit | number(double) | false | none | Lifetime spend limit, rounded to 2 decimal places |
»»» CardNotPresentUse | boolean | false | none | Whether or not card is present to use |
»»» CardPresence | integer(int32) | false | none | Used to evaluate spend policy based on physical or virtual use of card |
»»» UsePexAccountBalanceForAuths | boolean | false | none | Whether or not auto business balance funding to use |
»»» UseCustomerAuthDecision | boolean | false | none | Whether or not decision control allowed to use |
»»» DaysOfWeekRestrictions | [string] | false | none | Whether or not to limit days of the week for spend |
»»» UsStateRestrictions | [string] | false | none | Whether or not to limit US States spend |
»» ScheduledFunding | ScheduledFunding | false | none | Details about scheduled funding |
»»» Amount | number(double) | true | none | Amount of scheduled funding, rounded to 2 decimal places |
»»» Frequency | string | true | none | Describes when scheduled funding should occur. Possible string values for Frequency parameter of scheduled funding are:
|
»» CustomId | string | false | none | User defined Id which can be assigned to Card holder profile (alphanumeric up to 50 characters) |
»» IsVirtual | boolean | false | none | Identifies virtual cardholder |
Enumerated Values
Property | Value |
---|---|
Frequency | DAY |
Frequency | MONDAY |
Frequency | TUESDAY |
Frequency | WEDNESDAY |
Frequency | THURSDAY |
Frequency | FRIDAY |
Frequency | SATURDAY |
Frequency | SUNDAY |
Frequency | FIRSTOFMONTH |
Return all advanced spending rulesets for the business
Code samples
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'string'
}
result = RestClient.get 'https://coreapi.pexcard.com/v4/SpendingRuleset/Advanced',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'string'
}
r = requests.get('https://coreapi.pexcard.com/v4/SpendingRuleset/Advanced', headers = headers)
print(r.json())
const headers = {
'Accept':'application/json',
'Authorization':'string'
};
fetch('https://coreapi.pexcard.com/v4/SpendingRuleset/Advanced',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /SpendingRuleset/Advanced
What it does:
Return details of all advanced spending rulesets for the business.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | token {USERTOKEN} |
Example responses
200 Response
[
{
"Id": 0,
"Name": "",
"CardCount": 0,
"DailySpendLimit": 0,
"WeeklySpendLimit": 0,
"MonthlySpendLimit": 0,
"YearlySpendLimit": 0,
"LifetimeSpendLimit": 0,
"InternationalAllowed": false,
"CardNotPresentAllowed": false,
"CardPresence": 0,
"UsePexAccountBalanceForAuths": false,
"UseCustomerAuthDecision": false,
"DaysOfWeekRestrictions": [
"string"
],
"UsStateRestrictions": [
"string"
],
"MccRestrictions": false,
"MerchantCategories": [
{
"Id": 0,
"Name": "",
"Description": "",
"TransactionLimit": 0,
"DailySpendLimit": 0,
"WeeklySpendLimit": 0,
"MonthlySpendLimit": 0,
"YearlySpendLimit": 0,
"LifetimeSpendLimit": 0
}
]
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | Inline |
404 | Not Found | NotFound | None |
500 | Internal Server Error | InternalServerError | None |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | [AdvancedSpendingRulesetItemResponse] | false | none | [Advanced Spending Ruleset Item Response] |
» AdvancedSpendingRulesetItemResponse | AdvancedSpendingRulesetItemResponse | false | none | Advanced Spending Ruleset Item Response |
»» Id | integer(int32) | false | none | Id |
»» Name | string | false | none | Name |
»» CardCount | integer(int32) | false | none | Card Count |
»» DailySpendLimit | number(double) | false | none | Daily Spend Limit |
»» WeeklySpendLimit | number(double) | false | none | Weekly Spend Limit |
»» MonthlySpendLimit | number(double) | false | none | Monthly Spend Limit |
»» YearlySpendLimit | number(double) | false | none | Yearly Spend Limit |
»» LifetimeSpendLimit | number(double) | false | none | Lifetime Spend Limit |
»» InternationalAllowed | boolean | false | none | International Allowed |
»» CardNotPresentAllowed | boolean | false | none | Card Not Present Allowed |
»» CardPresence | integer(int32) | false | none | CardPresence: Control how PEX Card can be used for purchases, either physically present at the point-of-sale or used virtually over the Internet or phone. 0 - Card present (in person) transaction only. If the cardholder only makes purchase in person, choose this option for better fraud protection. 1 - No restrictions. A cardholder can make purchases both in-person and online/over the internet. 2 - Card not present (online) transactions only. If the cardholder only makes purchases over the internet/online, choose this option for better fraud protection. |
»» UsePexAccountBalanceForAuths | boolean | false | none | Use Pex Account Balance For Auths |
»» UseCustomerAuthDecision | boolean | false | none | Use Customer Auth Decision |
»» DaysOfWeekRestrictions | [string] | false | none | Whether or not limit days of the week for spend |
»» UsStateRestrictions | [string] | false | none | Whether or not limit US States for spend |
»» MccRestrictions | boolean | false | none | MCC Restrictions |
»» MerchantCategories | [AdvancedSpendingRulesetMerchantCategoryItemResponse] | false | none | Merchant Categories |
»»» AdvancedSpendingRulesetMerchantCategoryItemResponse | AdvancedSpendingRulesetMerchantCategoryItemResponse | false | none | Advanced Spending Ruleset Merchant Category Item Response |
»»»» Id | integer(int32) | false | none | Id |
»»»» Name | string | false | none | Name |
»»»» Description | string | false | none | Description |
»»»» TransactionLimit | number(double) | false | none | Transaction Limit |
»»»» DailySpendLimit | number(double) | false | none | Daily Spend Limit |
»»»» WeeklySpendLimit | number(double) | false | none | Weekly Spend Limit |
»»»» MonthlySpendLimit | number(double) | false | none | Monthly Spend Limit |
»»»» YearlySpendLimit | number(double) | false | none | Yearly Spend Limit |
»»»» LifetimeSpendLimit | number(double) | false | none | Lifetime Spend Limit |
Update advanced spending ruleset for the business
Code samples
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'string'
}
result = RestClient.put 'https://coreapi.pexcard.com/v4/SpendingRuleset/Advanced',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'string'
}
r = requests.put('https://coreapi.pexcard.com/v4/SpendingRuleset/Advanced', headers = headers)
print(r.json())
const inputBody = '{
"Id": 0,
"Name": "",
"DailySpendLimit": 0,
"WeeklySpendLimit": 0,
"MonthlySpendLimit": 0,
"YearlySpendLimit": 0,
"LifetimeSpendLimit": 0,
"MerchantCategories": [
{
"Id": 0,
"Name": "",
"TransactionLimit": 0,
"DailySpendLimit": 0,
"WeeklySpendLimit": 0,
"MonthlySpendLimit": 0,
"YearlySpendLimit": 0,
"LifetimeSpendLimit": 0
}
],
"InternationalAllowed": false,
"CardNotPresentAllowed": false,
"CardPresence": 0,
"UsePexAccountBalanceForAuths": false,
"UseCustomerAuthDecision": false,
"DaysOfWeekRestrictions": [
"string"
],
"UsStateRestrictions": [
"string"
]
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'string'
};
fetch('https://coreapi.pexcard.com/v4/SpendingRuleset/Advanced',
{
method: 'PUT',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
PUT /SpendingRuleset/Advanced
What it does:
Modify an existing advanced spending ruleset.
When you might use it.
Body parameter
{
"Id": 0,
"Name": "",
"DailySpendLimit": 0,
"WeeklySpendLimit": 0,
"MonthlySpendLimit": 0,
"YearlySpendLimit": 0,
"LifetimeSpendLimit": 0,
"MerchantCategories": [
{
"Id": 0,
"Name": "",
"TransactionLimit": 0,
"DailySpendLimit": 0,
"WeeklySpendLimit": 0,
"MonthlySpendLimit": 0,
"YearlySpendLimit": 0,
"LifetimeSpendLimit": 0
}
],
"InternationalAllowed": false,
"CardNotPresentAllowed": false,
"CardPresence": 0,
"UsePexAccountBalanceForAuths": false,
"UseCustomerAuthDecision": false,
"DaysOfWeekRestrictions": [
"string"
],
"UsStateRestrictions": [
"string"
]
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | token {USERTOKEN} |
body | body | UpdateAdvancedSpendingRulesetRequest | true | none |
Example responses
200 Response
{
"Id": 0,
"Name": "",
"CardCount": 0,
"DailySpendLimit": 0,
"WeeklySpendLimit": 0,
"MonthlySpendLimit": 0,
"YearlySpendLimit": 0,
"LifetimeSpendLimit": 0,
"InternationalAllowed": false,
"CardNotPresentAllowed": false,
"CardPresence": 0,
"UsePexAccountBalanceForAuths": false,
"UseCustomerAuthDecision": false,
"DaysOfWeekRestrictions": [
"string"
],
"UsStateRestrictions": [
"string"
],
"MccRestrictions": false,
"MerchantCategories": [
{
"Id": 0,
"Name": "",
"Description": "",
"TransactionLimit": 0,
"DailySpendLimit": 0,
"WeeklySpendLimit": 0,
"MonthlySpendLimit": 0,
"YearlySpendLimit": 0,
"LifetimeSpendLimit": 0
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | AdvancedSpendingRulesetItemResponse |
400 | Bad Request |
|
None |
403 | Forbidden |
|
None |
500 | Internal Server Error | InternalServerError | None |
Create advanced spending ruleset for the business
Code samples
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'string'
}
result = RestClient.post 'https://coreapi.pexcard.com/v4/SpendingRuleset/Advanced',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'string'
}
r = requests.post('https://coreapi.pexcard.com/v4/SpendingRuleset/Advanced', headers = headers)
print(r.json())
const inputBody = '{
"Name": "",
"DailySpendLimit": 0,
"WeeklySpendLimit": 0,
"MonthlySpendLimit": 0,
"YearlySpendLimit": 0,
"LifetimeSpendLimit": 0,
"MerchantCategories": [
{
"Id": 0,
"Name": "",
"TransactionLimit": 0,
"DailySpendLimit": 0,
"WeeklySpendLimit": 0,
"MonthlySpendLimit": 0,
"YearlySpendLimit": 0,
"LifetimeSpendLimit": 0
}
],
"InternationalAllowed": false,
"CardNotPresentAllowed": false,
"CardPresence": 0,
"UsePexAccountBalanceForAuths": false,
"UseCustomerAuthDecision": false,
"DaysOfWeekRestrictions": [
"string"
],
"UsStateRestrictions": [
"string"
]
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'string'
};
fetch('https://coreapi.pexcard.com/v4/SpendingRuleset/Advanced',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST /SpendingRuleset/Advanced
What it does:
Create a new advanced spending ruleset for the business.
Once the ruleset is created, it can be assigned to one or many cards.
An advanced spending ruleset is a group of spend rules that can be applied to multiple card accounts. For example, if all cardholders should be allowed to spend at restaurants and fuel pumps, the administrator can create a spending ruleset that has only those merchant categories 'checked'. Every card with that ruleset applied can only spend at restaurants and fuel pumps.
At card creation, the spend rule defaults are:
If your business allows cardholders to "Use your PEX Account balance" for transactions, you must set a value for "DailySpendLimit" for those cardholders. The "DailySpendLimit" value must be less than or equal to the PEX assigned daily spend limit for your business (typically $5,000 USD).
CardNotPresentEnabled: This parameter is deprecated in favor of CardPresence.
CardPresence: Control how PEX Card can be used for purchases, either physically present at the point-of-sale or used virtually over the Internet or phone.
0 - Card present (in person) transaction only. If the cardholder only makes purchase in person, choose this option for better fraud protection.
1 - No restrictions. A cardholder can make purchases both in-person and online/over the internet.
2 - Card not present (online) transactions only. If the cardholder only makes purchases over the internet/online, choose this option for better fraud protection.
DaysOfWeekRestrictions: This parameter allows a card to be used only on specific days of the week. If empty, all days are valid. Days are comma delimited array values. E.g. Allow only weekends: ["Saturday", "Sunday"]
UsStateRestrictions: This parameter allows a card to be used only in certain US States. If empty, all US States are valid. States are abbriviated comma delimited array values. E.g. Allow only New York and New Jersey: ["NY","NJ"]
PEX has combined Merchant Category Codes (MCC) into larger groupings based upon merchant or service type. Below is the list of those combinations with examples of merchant types for each (this is not an exhaustive merchant listing):
Body parameter
{
"Name": "",
"DailySpendLimit": 0,
"WeeklySpendLimit": 0,
"MonthlySpendLimit": 0,
"YearlySpendLimit": 0,
"LifetimeSpendLimit": 0,
"MerchantCategories": [
{
"Id": 0,
"Name": "",
"TransactionLimit": 0,
"DailySpendLimit": 0,
"WeeklySpendLimit": 0,
"MonthlySpendLimit": 0,
"YearlySpendLimit": 0,
"LifetimeSpendLimit": 0
}
],
"InternationalAllowed": false,
"CardNotPresentAllowed": false,
"CardPresence": 0,
"UsePexAccountBalanceForAuths": false,
"UseCustomerAuthDecision": false,
"DaysOfWeekRestrictions": [
"string"
],
"UsStateRestrictions": [
"string"
]
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | token {USERTOKEN} |
body | body | CreateAdvancedSpendingRulesetRequest | true | none |
Example responses
200 Response
{
"RulesetId": 0
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | CreateAdvancedSpendingRulesetResponse |
400 | Bad Request |
|
None |
403 | Forbidden |
|
None |
500 | Internal Server Error | InternalServerError | None |
Delete advanced spending ruleset for the business
Code samples
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Authorization' => 'string'
}
result = RestClient.delete 'https://coreapi.pexcard.com/v4/SpendingRuleset/Advanced',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Authorization': 'string'
}
r = requests.delete('https://coreapi.pexcard.com/v4/SpendingRuleset/Advanced', headers = headers)
print(r.json())
const inputBody = '{
"Id": 0
}';
const headers = {
'Content-Type':'application/json',
'Authorization':'string'
};
fetch('https://coreapi.pexcard.com/v4/SpendingRuleset/Advanced',
{
method: 'DELETE',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
DELETE /SpendingRuleset/Advanced
What it does:
Delete an existing advanced spending ruleset for the business.
If one or more cards are assigned to a ruleset, that ruleset cannot be deleted.
Body parameter
{
"Id": 0
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | token {USERTOKEN} |
body | body | DeleteAdvancedSpendingRulesetRequest | true | none |
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | None |
400 | Bad Request | Invalid ruleset ID | None |
403 | Forbidden | This spending ruleset is currently assigned to one or more cards. | None |
500 | Internal Server Error | InternalServerError | None |
Return an advanced spending ruleset for the business
Code samples
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'string'
}
result = RestClient.get 'https://coreapi.pexcard.com/v4/SpendingRuleset/{Id}/Advanced',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'string'
}
r = requests.get('https://coreapi.pexcard.com/v4/SpendingRuleset/{Id}/Advanced', headers = headers)
print(r.json())
const headers = {
'Accept':'application/json',
'Authorization':'string'
};
fetch('https://coreapi.pexcard.com/v4/SpendingRuleset/{Id}/Advanced',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /SpendingRuleset/{Id}/Advanced
What it does:
Retrieve details of a specific advanced spending ruleset.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Id | path | integer(int32) | true | none |
Authorization | header | string | true | token {USERTOKEN} |
Example responses
200 Response
{
"Id": 0,
"Name": "",
"CardCount": 0,
"DailySpendLimit": 0,
"WeeklySpendLimit": 0,
"MonthlySpendLimit": 0,
"YearlySpendLimit": 0,
"LifetimeSpendLimit": 0,
"InternationalAllowed": false,
"CardNotPresentAllowed": false,
"CardPresence": 0,
"UsePexAccountBalanceForAuths": false,
"UseCustomerAuthDecision": false,
"DaysOfWeekRestrictions": [
"string"
],
"UsStateRestrictions": [
"string"
],
"MccRestrictions": false,
"MerchantCategories": [
{
"Id": 0,
"Name": "",
"Description": "",
"TransactionLimit": 0,
"DailySpendLimit": 0,
"WeeklySpendLimit": 0,
"MonthlySpendLimit": 0,
"YearlySpendLimit": 0,
"LifetimeSpendLimit": 0
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | AdvancedSpendingRulesetItemResponse |
400 | Bad Request | Invalid ruleset ID | None |
404 | Not Found | NotFound | None |
500 | Internal Server Error | InternalServerError | None |
Return all cards with the spending rulesets
Code samples
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'string'
}
result = RestClient.get 'https://coreapi.pexcard.com/v4/SpendingRuleset/{Id}/Cards',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'string'
}
r = requests.get('https://coreapi.pexcard.com/v4/SpendingRuleset/{Id}/Cards', headers = headers)
print(r.json())
const headers = {
'Accept':'application/json',
'Authorization':'string'
};
fetch('https://coreapi.pexcard.com/v4/SpendingRuleset/{Id}/Cards',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /SpendingRuleset/{Id}/Cards
What it does:
Retrieve all cards assigned to a particular spending ruleset. The response includes all card details.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Id | path | integer(int32) | true | none |
Authorization | header | string | true | token {USERTOKEN} |
Example responses
200 Response
[
{
"AccountId": 0,
"Group": {
"Id": 0,
"GroupName": ""
},
"AccountStatus": "",
"LedgerBalance": 0,
"AvailableBalance": 0,
"ProfileAddress": {
"ContactName": "",
"AddressLine1": "",
"AddressLine2": "",
"City": "",
"State": "",
"PostalCode": "",
"Country": ""
},
"Phone": "",
"ShippingAddress": {
"ContactName": "",
"AddressLine1": "",
"AddressLine2": "",
"City": "",
"State": "",
"PostalCode": "",
"Country": ""
},
"ShippingPhone": "",
"DateOfBirth": "",
"Email": "",
"IsVirtual": false,
"CardList": [
{
"CardId": 0,
"IssuedDate": "",
"ExpirationDate": "",
"Last4CardNumber": "",
"CardStatus": ""
}
],
"SpendingRulesetId": 0,
"SpendRules": {
"UseMerchantCategory": false,
"MerchantCategories": {
"AssociationsAndOrganizations": false,
"AutomotiveDealers": false,
"EducationalServices": false,
"Entertainment": false,
"FuelAndConvenienceStores": false,
"GroceryStores": false,
"HealthcareAndChildcareServices": false,
"ProfessionalServices": false,
"Restaurants": false,
"RetailStores": false,
"TravelAndTransportation": false,
"FuelPumpOnly": false,
"HardwareStores": false
},
"InternationalSpendEnabled": false,
"IsDailySpendLimitEnabled": false,
"DailySpendLimit": 0,
"CardNotPresentUse": false,
"CardPresence": 0,
"UsePexAccountBalanceForAuths": false,
"UseCustomerAuthDecision": false
},
"ScheduledFunding": {
"Amount": 0,
"Frequency": ""
},
"CustomId": ""
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | No cards found. | Inline |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | [CardholderDetailsResponse] | false | none | [Details about a cardholder account] |
» CardholderDetailsResponse | CardholderDetailsResponse | false | none | Details about a cardholder account |
»» AccountId | integer(int32) | true | none | Unique cardholder account id |
»» Group | CardholderGroup | false | none | Details about a cardholder group |
»»» Id | integer(int32) | true | none | Unique id of the cardholder group |
»»» GroupName | string | true | none | Name of the cardholder group |
»» AccountStatus | string | true | none | Cardholder account status (OPEN or CLOSED) |
»» LedgerBalance | number(double) | true | none | Ledger balance for the card account, rounded to 2 decimal places |
»» AvailableBalance | number(double) | true | none | Available balance for the card account, rounded to 2 decimal places |
»» ProfileAddress | AddressContact | true | none | none |
»»» ContactName | string | false | none | none |
»»» AddressLine1 | string | true | none | none |
»»» AddressLine2 | string | false | none | none |
»»» City | string | true | none | none |
»»» State | string | true | none | none |
»»» PostalCode | string | true | none | none |
»»» Country | string | false | read-only | none |
»» Phone | string | false | none | Phone number |
»» ShippingAddress | AddressContact | true | none | none |
»» ShippingPhone | string | false | none | Shipping Phone number |
»» DateOfBirth | string(date-time) | true | none | Cardholder date of birth |
»» Email | string | true | none | Cardholder email address |
»» IsVirtual | boolean | false | none | Identifies virtual cardholder |
»» CardList | [CardDetail] | true | none | List of details about cards associated with the account |
»»» CardDetail | CardDetail | false | none | Details about a card |
»»»» CardId | integer(int32) | true | none | Unique id for the card |
»»»» IssuedDate | string(date-time) | true | none | Date card was issued |
»»»» ExpirationDate | string(date-time) | true | none | Expiration date for the card |
»»»» Last4CardNumber | string | true | none | Last four digits of card number |
»»»» CardStatus | string | true | none | Card status Possible string values for CardStatus parameter of card detail are:
|
»» SpendingRulesetId | integer(int32) | true | none | SpendingRulesetId for the cardholder account |
»» SpendRules | SpendRules | true | none | none |
»»» UseMerchantCategory | boolean | false | none | none |
»»» MerchantCategories | MerchantCategories | false | none | none |
»»»» AssociationsAndOrganizations | boolean | false | none | none |
»»»» AutomotiveDealers | boolean | false | none | none |
»»»» EducationalServices | boolean | false | none | none |
»»»» Entertainment | boolean | false | none | none |
»»»» FuelAndConvenienceStores | boolean | false | none | none |
»»»» GroceryStores | boolean | false | none | none |
»»»» HealthcareAndChildcareServices | boolean | false | none | none |
»»»» ProfessionalServices | boolean | false | none | none |
»»»» Restaurants | boolean | false | none | none |
»»»» RetailStores | boolean | false | none | none |
»»»» TravelAndTransportation | boolean | false | none | none |
»»»» FuelPumpOnly | boolean | false | none | none |
»»»» HardwareStores | boolean | false | none | none |
»»» InternationalSpendEnabled | boolean | false | none | none |
»»» IsDailySpendLimitEnabled | boolean | false | none | none |
»»» DailySpendLimit | number(double) | false | none | none |
»»» CardNotPresentUse | boolean | false | none | none |
»»» CardPresence | integer(int32) | false | none | none |
»»» UsePexAccountBalanceForAuths | boolean | false | none | none |
»»» UseCustomerAuthDecision | boolean | false | none | none |
»» ScheduledFunding | ScheduledFunding | false | none | Details about scheduled funding |
»»» Amount | number(double) | true | none | Amount of scheduled funding, rounded to 2 decimal places |
»»» Frequency | string | true | none | Describes when scheduled funding should occur. Possible string values for Frequency parameter of scheduled funding are:
|
»» CustomId | string | false | none | User defined Id which can be assigned to Card holder profile (alphanumeric up to 50 characters) |
Enumerated Values
Property | Value |
---|---|
Frequency | DAY |
Frequency | MONDAY |
Frequency | TUESDAY |
Frequency | WEDNESDAY |
Frequency | THURSDAY |
Frequency | FRIDAY |
Frequency | SATURDAY |
Frequency | SUNDAY |
Frequency | FIRSTOFMONTH |
Return all spending rulesets for the business
Code samples
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'string'
}
result = RestClient.get 'https://coreapi.pexcard.com/v4/SpendingRuleset',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'string'
}
r = requests.get('https://coreapi.pexcard.com/v4/SpendingRuleset', headers = headers)
print(r.json())
const headers = {
'Accept':'application/json',
'Authorization':'string'
};
fetch('https://coreapi.pexcard.com/v4/SpendingRuleset',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /SpendingRuleset
What it does:
Return details of all spending rulesets for the business.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | token {USERTOKEN} |
Example responses
200 Response
{
"SpendingRulesets": [
{
"RulesetId": 0,
"SpendingRulesetCategories": {
"CategoryId": 0,
"AssociationsOrganizationsAllowed": false,
"AutomotiveDealersAllowed": false,
"EducationalServicesAllowed": false,
"EntertainmentAllowed": false,
"FuelPumpsAllowed": false,
"GasStationsConvenienceStoresAllowed": false,
"GroceryStoresAllowed": false,
"HealthcareChildcareServicesAllowed": false,
"ProfessionalServicesAllowed": false,
"RestaurantsAllowed": false,
"RetailStoresAllowed": false,
"TravelTransportationAllowed": false,
"HardwareStoresAllowed": false
},
"MccRestrictions": false,
"BacctId": 0,
"Name": "",
"CountCardsPresent": 0,
"DailySpendLimit": 0,
"WeeklySpendLimit": 0,
"MonthlySpendLimit": 0,
"YearlySpendLimit": 0,
"LifetimeSpendLimit": 0,
"InternationalAllowed": false,
"CardNotPresentAllowed": false,
"CardPresence": 0,
"UsePexAccountBalanceForAuths": false,
"UseCustomerAuthDecision": false
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | GetSpendingRulesetsResponse |
Update spending ruleset for the business
Code samples
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'string'
}
result = RestClient.put 'https://coreapi.pexcard.com/v4/SpendingRuleset',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'string'
}
r = requests.put('https://coreapi.pexcard.com/v4/SpendingRuleset', headers = headers)
print(r.json())
const inputBody = '{
"RulesetId": 0,
"Name": "",
"CountCardsPresent": 0,
"DailySpendLimit": 0,
"SpendingRulesetCategories": {
"CategoryId": 0,
"AssociationsOrganizationsAllowed": false,
"AutomotiveDealersAllowed": false,
"EducationalServicesAllowed": false,
"EntertainmentAllowed": false,
"FuelPumpsAllowed": false,
"GasStationsConvenienceStoresAllowed": false,
"GroceryStoresAllowed": false,
"HealthcareChildcareServicesAllowed": false,
"ProfessionalServicesAllowed": false,
"RestaurantsAllowed": false,
"RetailStoresAllowed": false,
"TravelTransportationAllowed": false,
"HardwareStoresAllowed": false
},
"InternationalAllowed": false,
"CardNotPresentAllowed": false,
"CardPresence": 0,
"UsePexAccountBalanceForAuths": false,
"UseCustomerAuthDecision": false
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'string'
};
fetch('https://coreapi.pexcard.com/v4/SpendingRuleset',
{
method: 'PUT',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
PUT /SpendingRuleset
What it does:
Modify an existing spending ruleset.
When you might use it.
Body parameter
{
"RulesetId": 0,
"Name": "",
"CountCardsPresent": 0,
"DailySpendLimit": 0,
"SpendingRulesetCategories": {
"CategoryId": 0,
"AssociationsOrganizationsAllowed": false,
"AutomotiveDealersAllowed": false,
"EducationalServicesAllowed": false,
"EntertainmentAllowed": false,
"FuelPumpsAllowed": false,
"GasStationsConvenienceStoresAllowed": false,
"GroceryStoresAllowed": false,
"HealthcareChildcareServicesAllowed": false,
"ProfessionalServicesAllowed": false,
"RestaurantsAllowed": false,
"RetailStoresAllowed": false,
"TravelTransportationAllowed": false,
"HardwareStoresAllowed": false
},
"InternationalAllowed": false,
"CardNotPresentAllowed": false,
"CardPresence": 0,
"UsePexAccountBalanceForAuths": false,
"UseCustomerAuthDecision": false
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | token {USERTOKEN} |
body | body | UpdateSpendingRulesetRequest | true | none |
Example responses
200 Response
{
"RulesetId": 0
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | SpendingRulesetResponse |
Create spending ruleset for the business
Code samples
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'string'
}
result = RestClient.post 'https://coreapi.pexcard.com/v4/SpendingRuleset',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'string'
}
r = requests.post('https://coreapi.pexcard.com/v4/SpendingRuleset', headers = headers)
print(r.json())
const inputBody = '{
"Name": "",
"DailySpendLimit": 0,
"SpendingRulesetCategories": {
"CategoryId": 0,
"AssociationsOrganizationsAllowed": false,
"AutomotiveDealersAllowed": false,
"EducationalServicesAllowed": false,
"EntertainmentAllowed": false,
"FuelPumpsAllowed": false,
"GasStationsConvenienceStoresAllowed": false,
"GroceryStoresAllowed": false,
"HealthcareChildcareServicesAllowed": false,
"ProfessionalServicesAllowed": false,
"RestaurantsAllowed": false,
"RetailStoresAllowed": false,
"TravelTransportationAllowed": false,
"HardwareStoresAllowed": false
},
"InternationalAllowed": false,
"CardNotPresentAllowed": false,
"CardPresence": 0,
"UsePexAccountBalanceForAuths": false,
"UseCustomerAuthDecision": false
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'string'
};
fetch('https://coreapi.pexcard.com/v4/SpendingRuleset',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST /SpendingRuleset
What it does:
Create a new spending ruleset for the business.
Once the ruleset is created, it can be assigned to one or many cards.
A spending ruleset is a group of spend rules that can be applied to multiple card accounts. For example, if all cardholders should be allowed to spend at restaurants and fuel pumps, the administrator can create a spending ruleset that has only those merchant categories 'checked'. Every card with that ruleset applied can only spend at restaurants and fuel pumps.
At card creation, the spend rule defaults are:
If your business allows cardholders to "Use your PEX Account balance" for transactions, you must set a value for "DailySpendLimit" for those cardholders. The "DailySpendLimit" value must be less than or equal to the PEX assigned daily spend limit for your business (typically $5,000 USD).
CardNotPresentEnabled: This parameter is deprecated in favor of CardPresence.
CardPresence: Control how PEX Card can be used for purchases, either physically present at the point-of-sale or used virtually over the Internet or phone.
0 - Card present (in person) transaction only. If the cardholder only makes purchase in person, choose this option for better fraud protection.
1 - No restrictions. A cardholder can make purchases both in-person and online/over the internet.
2 - Card not present (online) transactions only. If the cardholder only makes purchases over the internet/online, choose this option for better fraud protection.
PEX has combined Merchant Category Codes (MCC) into larger groupings based upon merchant or service type. Below is the list of those combinations with examples of merchant types for each (this is not an exhaustive merchant listing):
Body parameter
{
"Name": "",
"DailySpendLimit": 0,
"SpendingRulesetCategories": {
"CategoryId": 0,
"AssociationsOrganizationsAllowed": false,
"AutomotiveDealersAllowed": false,
"EducationalServicesAllowed": false,
"EntertainmentAllowed": false,
"FuelPumpsAllowed": false,
"GasStationsConvenienceStoresAllowed": false,
"GroceryStoresAllowed": false,
"HealthcareChildcareServicesAllowed": false,
"ProfessionalServicesAllowed": false,
"RestaurantsAllowed": false,
"RetailStoresAllowed": false,
"TravelTransportationAllowed": false,
"HardwareStoresAllowed": false
},
"InternationalAllowed": false,
"CardNotPresentAllowed": false,
"CardPresence": 0,
"UsePexAccountBalanceForAuths": false,
"UseCustomerAuthDecision": false
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | token {USERTOKEN} |
body | body | CreateSpendingRulesetRequest | true | none |
Example responses
200 Response
{
"RulesetId": 0
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | CreateSpendingRulesetResponse |
Delete spending ruleset for the business
Code samples
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'string'
}
result = RestClient.delete 'https://coreapi.pexcard.com/v4/SpendingRuleset',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'string'
}
r = requests.delete('https://coreapi.pexcard.com/v4/SpendingRuleset', headers = headers)
print(r.json())
const inputBody = '{
"RulesetId": 0
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'string'
};
fetch('https://coreapi.pexcard.com/v4/SpendingRuleset',
{
method: 'DELETE',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
DELETE /SpendingRuleset
What it does:
Delete an existing spending ruleset for the business.
If one or more cards are assigned to a ruleset, that ruleset cannot be deleted.
Body parameter
{
"RulesetId": 0
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | token {USERTOKEN} |
body | body | DeleteSpendingRulesetRequest | true | none |
Example responses
200 Response
{
"RulesetId": 0
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | SpendingRulesetResponse |
Return a spending ruleset for the business
Code samples
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'string'
}
result = RestClient.get 'https://coreapi.pexcard.com/v4/SpendingRuleset/{Id}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'string'
}
r = requests.get('https://coreapi.pexcard.com/v4/SpendingRuleset/{Id}', headers = headers)
print(r.json())
const headers = {
'Accept':'application/json',
'Authorization':'string'
};
fetch('https://coreapi.pexcard.com/v4/SpendingRuleset/{Id}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /SpendingRuleset/{Id}
What it does:
Retrieve details of a specific spending ruleset.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Id | path | integer(int32) | true | none |
Authorization | header | string | true | token {USERTOKEN} |
Example responses
200 Response
{
"SpendingRuleset": {
"RulesetId": 0,
"Name": "",
"DailySpendLimit": 0,
"SpendingRulesetCategories": {
"CategoryId": 0,
"AssociationsOrganizationsAllowed": false,
"AutomotiveDealersAllowed": false,
"EducationalServicesAllowed": false,
"EntertainmentAllowed": false,
"FuelPumpsAllowed": false,
"GasStationsConvenienceStoresAllowed": false,
"GroceryStoresAllowed": false,
"HealthcareChildcareServicesAllowed": false,
"ProfessionalServicesAllowed": false,
"RestaurantsAllowed": false,
"RetailStoresAllowed": false,
"TravelTransportationAllowed": false,
"HardwareStoresAllowed": false
},
"MccRestrictions": false,
"InternationalAllowed": false,
"CardNotPresentAllowed": false,
"CardPresence": 0,
"UsePexAccountBalanceForAuths": false,
"UseCustomerAuthDecision": false
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | GetSpendingRulesetResponse |
Send test message to remote authorization server
Code samples
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'string'
}
result = RestClient.post 'https://coreapi.pexcard.com/v4/TestRemoteAuthEndpoint',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'string'
}
r = requests.post('https://coreapi.pexcard.com/v4/TestRemoteAuthEndpoint', headers = headers)
print(r.json())
const headers = {
'Accept':'application/json',
'Authorization':'string'
};
fetch('https://coreapi.pexcard.com/v4/TestRemoteAuthEndpoint',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST /TestRemoteAuthEndpoint
What it does:
Send test message to remote authorization server.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | token {USERTOKEN} |
Example responses
200 Response
{
"StatusCode": "",
"Ticks": 0
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | RemoteAuthorizationResponse |
400 | Bad Request | BadRequest | None |
408 | Request Timeout | RequestTimeout | None |
Note : Create and attach notes to transactions.
Create a network transaction note
Code samples
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'string'
}
result = RestClient.post 'https://coreapi.pexcard.com/v4/Note/NetworkTransactionNote',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'string'
}
r = requests.post('https://coreapi.pexcard.com/v4/Note/NetworkTransactionNote', headers = headers)
print(r.json())
const inputBody = '{
"NoteText": "",
"NetworkTransactionId": 0
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'string'
};
fetch('https://coreapi.pexcard.com/v4/Note/NetworkTransactionNote',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST /Note/NetworkTransactionNote
You may want to add a network transaction note to track a PO or invoice number.
Network transaction notes are alpha/numeric and can be added to cardholder funding, pending and settlement transactions. Notes can be viewed on the administration website in transaction details and on reports.
To add a note to a funding or settlement transaction, set Pending to false. For authorization/hold transactions, set Pending to true.
To retrieve the TransactionId, get a card transaction list using
GET /Details/AllCardholderTransactions
GET /Details/TransactionDetails
GET /Details/TransactionDetails/{Id}
Body parameter
{
"NoteText": "",
"NetworkTransactionId": 0
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | token {USERTOKEN} |
body | body | CreateNoteByNetworkTransactionIdRequest | true | none |
Example responses
200 Response
{
"Id": 0
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | NoteResponse |
Update a transaction note
Code samples
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'string'
}
result = RestClient.put 'https://coreapi.pexcard.com/v4/Note/{id}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'string'
}
r = requests.put('https://coreapi.pexcard.com/v4/Note/{id}', headers = headers)
print(r.json())
const inputBody = '{
"NoteText": "",
"Pending": false
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'string'
};
fetch('https://coreapi.pexcard.com/v4/Note/{id}',
{
method: 'PUT',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
PUT /Note/{id}
To retrieve the NoteId, get a card transaction list using
GET /Details/AllCardholderTransactions
GET /Details/TransactionDetails
GET /Details/TransactionDetails/{Id}
To edit a note on a funding or settlement transaction, set Pending to false. For authorization/hold transactions, set Pending to true.
Transaction notes can also be edited from the administration website in transaction detail.
Body parameter
{
"NoteText": "",
"Pending": false
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
id | path | integer(int64) | true | Note Ic |
Authorization | header | string | true | token {USERTOKEN} |
body | body | NoteRequest | true | Details required to update note |
Example responses
200 Response
{
"Id": 0
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | NoteResponse |
403 | Forbidden | Note not found | None |
Create a transaction note
Code samples
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'string'
}
result = RestClient.post 'https://coreapi.pexcard.com/v4/Note',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'string'
}
r = requests.post('https://coreapi.pexcard.com/v4/Note', headers = headers)
print(r.json())
const inputBody = '{
"TransactionId": 0,
"NoteText": "",
"Pending": false
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'string'
};
fetch('https://coreapi.pexcard.com/v4/Note',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST /Note
You may want to add a transaction note to track a PO or invoice number.
Transaction notes are alpha/numeric and can be added to cardholder funding, pending and settlement transactions. Notes can be viewed on the administration website in transaction details and on reports.
To add a note to a funding or settlement transaction, set Pending to false. For authorization/hold transactions, set Pending to true.
To retrieve the TransactionId, get a card transaction list using
GET /Details/AllCardholderTransactions
GET /Details/TransactionDetails
GET /Details/TransactionDetails/{Id}
Body parameter
{
"TransactionId": 0,
"NoteText": "",
"Pending": false
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | token {USERTOKEN} |
body | body | CreateNoteRequest | true | none |
Example responses
200 Response
{
"Id": 0
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | NoteResponse |
Delete a transaction note
Code samples
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'string'
}
result = RestClient.delete 'https://coreapi.pexcard.com/v4/Note/{id}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'string'
}
r = requests.delete('https://coreapi.pexcard.com/v4/Note/{id}', headers = headers)
print(r.json())
const inputBody = '{
"Pending": false
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'string'
};
fetch('https://coreapi.pexcard.com/v4/Note/{id}',
{
method: 'DELETE',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
DELETE /Note/{id}
To retrieve the NoteId, get a card transaction list using
GET /Details/AllCardholderTransactions
GET /Details/TransactionDetails
GET /Details/TransactionDetails/{Id}
To delete a note on a funding or settlement transaction, set Pending to false. For authorization/hold transactions, set Pending to true.
Transaction notes can also be deleted from the administration website in transaction detail.
Body parameter
{
"Pending": false
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
id | path | integer(int64) | true | none |
Authorization | header | string | true | token {USERTOKEN} |
body | body | DeleteNoteRequest | true | none |
Example responses
200 Response
{
"Id": 0
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | NoteResponse |
403 | Forbidden | Note not found | None |
Group : Manage groups and assign cards.
Return a list of groups for the business
Code samples
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'string'
}
result = RestClient.get 'https://coreapi.pexcard.com/v4/Group',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'string'
}
r = requests.get('https://coreapi.pexcard.com/v4/Group', headers = headers)
print(r.json())
const headers = {
'Accept':'application/json',
'Authorization':'string'
};
fetch('https://coreapi.pexcard.com/v4/Group',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /Group
Retrieve the list of groups for the business, including the Id and group name.
Group is an administrator defined category that can be used for sorting and reporting. For example, your business has an office in both Boston and New York City, by creating and assigning cards to those Groups, you can sort cards on the dashboard.pexcard.com website so that the Boston cards are listed together at the top. In transaction reports, you can sort card spending by Group to roll up total spending for each office location.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | token {USERTOKEN} |
Example responses
200 Response
{
"Groups": [
{
"Id": 0,
"Name": ""
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | GetGroupsResponse |
Update the group name
Code samples
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'string'
}
result = RestClient.put 'https://coreapi.pexcard.com/v4/Group/{id}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'string'
}
r = requests.put('https://coreapi.pexcard.com/v4/Group/{id}', headers = headers)
print(r.json())
const inputBody = '{
"Name": ""
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'string'
};
fetch('https://coreapi.pexcard.com/v4/Group/{id}',
{
method: 'PUT',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
PUT /Group/{id}
To retrieve the GroupID, use Get /Group
Edit the group name. Cardholders assigned to the group will be updated with the new group name. The administrator website will display fourteen (14) characters of the group name in the cardlist.
Group is an administrator defined category that can be used for sorting and reporting. For example, your business has an office in both Boston and New York City, by creating and assigning cards to those Groups, you can sort cards on the dashboard.pexcard.com website so that the Boston cards are listed together at the top. In transaction reports, you can sort card spending by Group to roll up total spending for each office location.
Body parameter
{
"Name": ""
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
id | path | integer(int32) | true | none |
Authorization | header | string | true | token {USERTOKEN} |
body | body | UpdateGroupRequest | true | Details required to update group name |
Example responses
200 Response
{
"Group": {
"Id": 0,
"Name": ""
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | UpdateGroupResponse |
403 | Forbidden |
Create a group
Code samples
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'string'
}
result = RestClient.post 'https://coreapi.pexcard.com/v4/Group',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'string'
}
r = requests.post('https://coreapi.pexcard.com/v4/Group', headers = headers)
print(r.json())
const inputBody = '{
"Name": ""
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'string'
};
fetch('https://coreapi.pexcard.com/v4/Group',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST /Group
Add a group to the business. The administrator website will display fourteen (14) characters of the group name in the cardlist.
Group is an administrator defined category that can be used for sorting and reporting. For example, your business has an office in both Boston and New York City, by creating and assigning cards to those Groups, you can sort cards on the dashboard.pexcard.com website so that the Boston cards are listed together at the top. In transaction reports, you can sort card spending by Group to roll up total spending for each office location.
Body parameter
{
"Name": ""
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | token {USERTOKEN} |
body | body | CreateGroupRequest | true | Group name |
Example responses
200 Response
{
"Group": {
"Id": 0,
"Name": ""
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | CreateGroupResponse |
403 | Forbidden | Group has already been added | None |
Delete a group
Code samples
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'string'
}
result = RestClient.delete 'https://coreapi.pexcard.com/v4/Group/{id}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'string'
}
r = requests.delete('https://coreapi.pexcard.com/v4/Group/{id}', headers = headers)
print(r.json())
const headers = {
'Accept':'application/json',
'Authorization':'string'
};
fetch('https://coreapi.pexcard.com/v4/Group/{id}',
{
method: 'DELETE',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
DELETE /Group/{id}
Delete the group. If cardholders are assigned to a group that is deleted, the cardholders will no longer have a group set.
Group is an administrator defined category that can be used for sorting and reporting. For example, your business has an office in both Boston and New York City, by creating and assigning cards to those Groups, you can sort cards on the dashboard.pexcard.com website so that the Boston cards are listed together at the top. In transaction reports, you can sort card spending by Group to roll up total spending for each office location.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
id | path | integer(int32) | true | none |
Authorization | header | string | true | token {USERTOKEN} |
Example responses
200 Response
{
"GroupId": 0
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | RemoveGroupResponse |
403 | Forbidden | Group ID is Invalid | None |
Return all cardholders in a group
Code samples
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'string'
}
result = RestClient.get 'https://coreapi.pexcard.com/v4/Group/{id}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'string'
}
r = requests.get('https://coreapi.pexcard.com/v4/Group/{id}', headers = headers)
print(r.json())
const headers = {
'Accept':'application/json',
'Authorization':'string'
};
fetch('https://coreapi.pexcard.com/v4/Group/{id}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /Group/{id}
To retrieve the GroupID, use Get /Group
Return all cardholders assigned to a group.
Group is an administrator defined category that can be used for sorting and reporting. For example, your business has an office in both Boston and New York City. By creating and assigning cards to those groups, you can sort cards on the admin website so that the Boston cards are listed together at the top. In transaction reports, you can sort card spending by group to roll up total spending for each office location.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
id | path | integer(int32) | true | Group ID |
Authorization | header | string | true | token {USERTOKEN} |
Example responses
200 Response
[
{
"FirstName": "",
"MiddleName": "",
"LastName": "",
"AccountId": 0,
"AccountNumber": "",
"AvailableBalance": 0,
"LedgerBalance": 0,
"SpendRules": false,
"AccountCreationTime": "",
"ManualStatus": "",
"SystemStatus": "",
"PinSet": false,
"BSAcctId": 0,
"IsVirtual": false,
"Group": {
"Id": 0,
"GroupName": ""
},
"SpendingRulesetModel": {
"RulesetId": 0,
"Name": ""
},
"EmbossingDetails": [
{
"AccountId": 0,
"CardNumber": "",
"ManualStatus": "",
"SystemStatus": "",
"CreatedDate": "",
"PlasticDetails": [
{
"PlasticSequence": "",
"ManualStatus": "",
"IssuedDate": "",
"ExpirationDate": ""
}
]
}
],
"CustomId": ""
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | Inline |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | [CardHolderDetailsResponse] | false | none | [Card Holder Details Response] |
» CardHolderDetailsResponse | CardHolderDetailsResponse | false | none | Card Holder Details Response |
»» FirstName | string | false | none | Firs tName |
»» MiddleName | string | false | none | Middle Name |
»» LastName | string | false | none | Last Name |
»» AccountId | integer(int32) | false | none | Account Id |
»» AccountNumber | string | false | none | Account Number |
»» AvailableBalance | number(double) | false | none | Available Balance |
»» LedgerBalance | number(double) | false | none | Ledger Balance |
»» SpendRules | boolean | false | none | Spend Rules |
»» AccountCreationTime | string(date-time) | false | none | Account Creation Time |
»» ManualStatus | string | false | none | Manual Status |
»» SystemStatus | string | false | none | System Status |
»» PinSet | boolean | false | none | Pin Set |
»» BSAcctId | integer(int32) | false | none | Business Account Id |
»» IsVirtual | boolean | false | none | Identifies virtual cardholder |
»» Group | CardholderGroup | false | none | Details about a cardholder group |
»»» Id | integer(int32) | true | none | Unique id of the cardholder group |
»»» GroupName | string | true | none | Name of the cardholder group |
»» SpendingRulesetModel | SpendingRulesetModel | false | none | Spending Ruleset Model |
»»» RulesetId | integer(int32) | false | none | RulesetId |
»»» Name | string | false | none | Name |
»» EmbossingDetails | [EmbossingDetails] | false | none | Embossing Details |
»»» EmbossingDetails | EmbossingDetails | false | none | Embossing Details |
»»»» AccountId | integer(int32) | false | none | Account Id |
»»»» CardNumber | string | false | none | Card Number |
»»»» ManualStatus | string | false | none | Manual Status |
»»»» SystemStatus | string | false | none | System Status |
»»»» CreatedDate | string(date-time) | false | none | Created Date |
»»»» PlasticDetails | [PlasticDetials] | false | none | Plastic Details |
»»»»» PlasticDetials | PlasticDetials | false | none | Plastic Detials |
»»»»»» PlasticSequence | string | false | none | Plastic Sequence |
»»»»»» ManualStatus | string | false | none | Manual Status |
»»»»»» IssuedDate | string(date-time) | false | none | Issued Date |
»»»»»» ExpirationDate | string(date-time) | false | none | Expiration Date |
»» CustomId | string | false | none | User defined Id which can be assigned to Card holder profile (alphanumeric up to 50 characters) |
Bulk : Perform bulk operations on card accounts.
Adjust all card available balances to $0.00 for the business
Code samples
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'string'
}
result = RestClient.post 'https://coreapi.pexcard.com/v4/Bulk/Zero',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'string'
}
r = requests.post('https://coreapi.pexcard.com/v4/Bulk/Zero', headers = headers)
print(r.json())
const headers = {
'Accept':'application/json',
'Authorization':'string'
};
fetch('https://coreapi.pexcard.com/v4/Bulk/Zero',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST /Bulk/Zero
This is an offline process to add or remove available funds from every card account for the business. The system will query all card available balances and add or remove that dollar value so that the available balance is $0.00.
This call can take the place of individually retrieving all card balances and calling card fund for each account individually.
If you fund the card account while this job is running, those funds will be reflected in the available balance. However, the job will not drive the account negative if funds are no longer in the account.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | token {USERTOKEN} |
Example responses
200 Response
{
"TotalNumberOfCards": 0
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | BulkResponse |
Fund all cards for the business
Code samples
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'string'
}
result = RestClient.put 'https://coreapi.pexcard.com/v4/Bulk/FundAllCards',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'string'
}
r = requests.put('https://coreapi.pexcard.com/v4/Bulk/FundAllCards', headers = headers)
print(r.json())
const inputBody = '{
"Amount": 0
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'string'
};
fetch('https://coreapi.pexcard.com/v4/Bulk/FundAllCards',
{
method: 'PUT',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
PUT /Bulk/FundAllCards
This is an offline process to add funds to all cards in the business for a specified amount.
Cards with status Inactive, Active and Blocked will be funded. Cards with status Closed will not be funded.
Body parameter
{
"Amount": 0
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | token {USERTOKEN} |
body | body | FundingRequest | true | none |
Example responses
200 Response
{
"TotalNumberOfCards": 0
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | BulkResponse |
400 | Bad Request | Invalid request | None |
Bulk fund on batches of cards in the business.
Code samples
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'string'
}
result = RestClient.put 'https://coreapi.pexcard.com/v4/Bulk/FundMultipleCards',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'string'
}
r = requests.put('https://coreapi.pexcard.com/v4/Bulk/FundMultipleCards', headers = headers)
print(r.json())
const inputBody = '{
"Cards": [
{
"AccountId": 0,
"Amount": 0
}
],
"TransferType": ""
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'string'
};
fetch('https://coreapi.pexcard.com/v4/Bulk/FundMultipleCards',
{
method: 'PUT',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
PUT /Bulk/FundMultipleCards
This endpoint is not part of our standard API offering. To access the FundMultipleCards endpoint please send an email with your request to apisupport@pexcard.com. This is a bulk process to execute balance adjustments on multiple cards in the business.
Funding of up to 25 cards per batch are allowed. Cards with status of Active, Inactive and Blocked will be funded. Cards with status Closed will not be funded.
Body parameter
{
"Cards": [
{
"AccountId": 0,
"Amount": 0
}
],
"TransferType": ""
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | token {USERTOKEN} |
body | body | FundMultipleCardsRequest | true | none |
Example responses
200 Response
{
"Success": false,
"Results": [
{
"BusinessTransactionId": 0,
"BusinessCurrentBalance": 0,
"AccountId": 0,
"TransactionId": 0,
"CurrentBalance": 0,
"ResponseCode": 0,
"Message": ""
}
],
"Errors": [
{
"AccountId": 0,
"ResponseCode": 0,
"Message": ""
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | FundMultipleCardsResponse |
206 | Partial Content | Partial Success | None |
400 | Bad Request | Failed Request | None |
Update scheduled funding rule for all cards in the business
Code samples
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'string'
}
result = RestClient.put 'https://coreapi.pexcard.com/v4/Bulk/SetAllCardsScheduledFunding',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'string'
}
r = requests.put('https://coreapi.pexcard.com/v4/Bulk/SetAllCardsScheduledFunding', headers = headers)
print(r.json())
const inputBody = '{
"Frequency": "",
"Amount": 0
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'string'
};
fetch('https://coreapi.pexcard.com/v4/Bulk/SetAllCardsScheduledFunding',
{
method: 'PUT',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
PUT /Bulk/SetAllCardsScheduledFunding
Update a scheduled funding rule for all cards in the business to the Amount and Frequency values specified.
Valid scheduled funding frequencies are:
Body parameter
{
"Frequency": "",
"Amount": 0
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | token {USERTOKEN} |
body | body | ScheduledFundingRequest | true | none |
Example responses
200 Response
{
"TotalNumberOfCards": 0
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | BulkResponse |
400 | Bad Request | Invalid request | None |
Remove scheduled funding rule for all cards in the business
Code samples
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'string'
}
result = RestClient.delete 'https://coreapi.pexcard.com/v4/Bulk/RemoveAllCardsScheduledFunding',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'string'
}
r = requests.delete('https://coreapi.pexcard.com/v4/Bulk/RemoveAllCardsScheduledFunding', headers = headers)
print(r.json())
const headers = {
'Accept':'application/json',
'Authorization':'string'
};
fetch('https://coreapi.pexcard.com/v4/Bulk/RemoveAllCardsScheduledFunding',
{
method: 'DELETE',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
DELETE /Bulk/RemoveAllCardsScheduledFunding
Remove a scheduled funding rule for all cards in the business. Once the funding rule is deleted, the system will no longer add funds to any card balance.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | token {USERTOKEN} |
Example responses
200 Response
{
"TotalNumberOfCards": 0
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | BulkResponse |
Return all spending rulesets for the business
Code samples
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'string'
}
result = RestClient.get 'https://coreapi.pexcard.com/v4/Bulk/GetSpendingRulesets',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'string'
}
r = requests.get('https://coreapi.pexcard.com/v4/Bulk/GetSpendingRulesets', headers = headers)
print(r.json())
const headers = {
'Accept':'application/json',
'Authorization':'string'
};
fetch('https://coreapi.pexcard.com/v4/Bulk/GetSpendingRulesets',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /Bulk/GetSpendingRulesets
Return all spending rulesets for the business.
A spending ruleset is a group of spend rules that can be applied to multiple card accounts. For example, if all cardholders should be allowed to spend funds at restaurants and fuel pumps, the administrator can create a spending ruleset that has only those merchant categories 'checked'. Every card with that ruleset applied can only spend at restaurants and fuel pumps.
Spending rulesets must be created in the administration website.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | token {USERTOKEN} |
Example responses
200 Response
[
{
"RulesetId": 0,
"SpendingRulesetCategories": {
"CategoryId": 0,
"AssociationsOrganizationsAllowed": false,
"AutomotiveDealersAllowed": false,
"EducationalServicesAllowed": false,
"EntertainmentAllowed": false,
"FuelPumpsAllowed": false,
"GasStationsConvenienceStoresAllowed": false,
"GroceryStoresAllowed": false,
"HealthcareChildcareServicesAllowed": false,
"ProfessionalServicesAllowed": false,
"RestaurantsAllowed": false,
"RetailStoresAllowed": false,
"TravelTransportationAllowed": false,
"HardwareStoresAllowed": false
},
"MccRestrictions": false,
"BacctId": 0,
"Name": "",
"CountCardsPresent": 0,
"DailySpendLimit": 0,
"WeeklySpendLimit": 0,
"MonthlySpendLimit": 0,
"YearlySpendLimit": 0,
"LifetimeSpendLimit": 0,
"InternationalAllowed": false,
"CardNotPresentAllowed": false,
"CardPresence": 0,
"UsePexAccountBalanceForAuths": false,
"UseCustomerAuthDecision": false
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | Inline |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | [SpendingRuleset] | false | none | none |
» SpendingRuleset | SpendingRuleset | false | none | none |
»» RulesetId | integer(int32) | false | none | none |
»» SpendingRulesetCategories | SpendingRulesetCategories | false | none | none |
»»» CategoryId | integer(int32) | false | none | none |
»»» AssociationsOrganizationsAllowed | boolean | false | none | none |
»»» AutomotiveDealersAllowed | boolean | false | none | none |
»»» EducationalServicesAllowed | boolean | false | none | none |
»»» EntertainmentAllowed | boolean | false | none | none |
»»» FuelPumpsAllowed | boolean | false | none | none |
»»» GasStationsConvenienceStoresAllowed | boolean | false | none | none |
»»» GroceryStoresAllowed | boolean | false | none | none |
»»» HealthcareChildcareServicesAllowed | boolean | false | none | none |
»»» ProfessionalServicesAllowed | boolean | false | none | none |
»»» RestaurantsAllowed | boolean | false | none | none |
»»» RetailStoresAllowed | boolean | false | none | none |
»»» TravelTransportationAllowed | boolean | false | none | none |
»»» HardwareStoresAllowed | boolean | false | none | none |
»» MccRestrictions | boolean | false | read-only | none |
»» BacctId | integer(int32) | false | none | none |
»» Name | string | true | none | none |
»» CountCardsPresent | integer(int32) | false | none | none |
»» DailySpendLimit | number(double) | false | none | none |
»» WeeklySpendLimit | number(double) | false | none | none |
»» MonthlySpendLimit | number(double) | false | none | none |
»» YearlySpendLimit | number(double) | false | none | none |
»» LifetimeSpendLimit | number(double) | false | none | none |
»» InternationalAllowed | boolean | false | none | none |
»» CardNotPresentAllowed | boolean | false | none | none |
»» CardPresence | integer(int32) | false | none | none |
»» UsePexAccountBalanceForAuths | boolean | false | none | none |
»» UseCustomerAuthDecision | boolean | false | none | none |
Update spend rules for all cards in the business
Code samples
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'string'
}
result = RestClient.put 'https://coreapi.pexcard.com/v4/Bulk/SetAllCardsSpendingRuleset',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'string'
}
r = requests.put('https://coreapi.pexcard.com/v4/Bulk/SetAllCardsSpendingRuleset', headers = headers)
print(r.json())
const inputBody = '{
"RulesetId": 0
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'string'
};
fetch('https://coreapi.pexcard.com/v4/Bulk/SetAllCardsSpendingRuleset',
{
method: 'PUT',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
PUT /Bulk/SetAllCardsSpendingRuleset
To retrieve the RulesetId, use Get /Bulk/GetSpendingRulesets and apply that RulesetId to all cards.
Changes to spend rules happen in real-time. Be sure the cardholder is aware of the limitations being set.
Cardholders using PEX card do not have cash access. ATMs, Money Orders, Money Remittance (e.g. MoneyGram) and other cash transactions, such as purchasing casino chips, will be declined at all times.
Spending rulesets must be created in the administration website.
Body parameter
{
"RulesetId": 0
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | token {USERTOKEN} |
body | body | SpendingRulesetRequest | true | none |
Example responses
200 Response
{
"TotalNumberOfCards": 0
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | BulkResponse |
400 | Bad Request | Invalid request | None |
TokenProvisioning : Manage token provisioning.
Return the token provisioning mode of the business account
Code samples
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'string'
}
result = RestClient.get 'https://coreapi.pexcard.com/v4/TokenProvisioning/Mode',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'string'
}
r = requests.get('https://coreapi.pexcard.com/v4/TokenProvisioning/Mode', headers = headers)
print(r.json())
const headers = {
'Accept':'application/json',
'Authorization':'string'
};
fetch('https://coreapi.pexcard.com/v4/TokenProvisioning/Mode',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /TokenProvisioning/Mode
Return the token provisioning mode of the business account
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | token {USERTOKEN} |
Example responses
200 Response
{
"TokenProvisioningMode": ""
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | GetBusinessTokenProvisioningModeResponse |
401 | Unauthorized | Standard security response if token is invalid | None |
500 | Internal Server Error | System error | None |
Return the token provisioning mode of the cardholder account
Code samples
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'string'
}
result = RestClient.get 'https://coreapi.pexcard.com/v4/TokenProvisioning/{id}/Mode',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'string'
}
r = requests.get('https://coreapi.pexcard.com/v4/TokenProvisioning/{id}/Mode', headers = headers)
print(r.json())
const headers = {
'Accept':'application/json',
'Authorization':'string'
};
fetch('https://coreapi.pexcard.com/v4/TokenProvisioning/{id}/Mode',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /TokenProvisioning/{id}/Mode
Return the token provisioning mode of the cardholder account
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
id | path | integer(int32) | true | none |
Authorization | header | string | true | token {USERTOKEN} |
Example responses
200 Response
{
"TokenProvisioningMode": ""
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | GetCardholderTokenProvisioningModeResponse |
401 | Unauthorized | Standard security response if token is invalid | None |
403 | Forbidden |
Change the token provisioning mode of the cardholder account
Code samples
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'string'
}
result = RestClient.put 'https://coreapi.pexcard.com/v4/TokenProvisioning/{id}/Mode',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'string'
}
r = requests.put('https://coreapi.pexcard.com/v4/TokenProvisioning/{id}/Mode', headers = headers)
print(r.json())
const inputBody = '{
"TokenProvisioningMode": ""
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'string'
};
fetch('https://coreapi.pexcard.com/v4/TokenProvisioning/{id}/Mode',
{
method: 'PUT',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
PUT /TokenProvisioning/{id}/Mode
Change the token provisioning mode of the cardholder account
Body parameter
{
"TokenProvisioningMode": ""
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
id | path | integer(int32) | true | none |
Authorization | header | string | true | token {USERTOKEN} |
body | body | ChangeCardholderTokenProvisioningModeRequest | true | none |
Example responses
200 Response
{}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | Inline |
401 | Unauthorized | Standard security response if token is invalid | None |
403 | Forbidden |
Response Schema
Status Code 200
IHttpActionResult
Name | Type | Required | Restrictions | Description |
---|
Return the tokens of the cardholder account
Code samples
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'string'
}
result = RestClient.get 'https://coreapi.pexcard.com/v4/TokenProvisioning/{id}/IssuesTokens',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'string'
}
r = requests.get('https://coreapi.pexcard.com/v4/TokenProvisioning/{id}/IssuesTokens', headers = headers)
print(r.json())
const headers = {
'Accept':'application/json',
'Authorization':'string'
};
fetch('https://coreapi.pexcard.com/v4/TokenProvisioning/{id}/IssuesTokens',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /TokenProvisioning/{id}/IssuesTokens
Return the tokens of the cardholder account
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
id | path | integer(int32) | true | none |
Authorization | header | string | true | token {USERTOKEN} |
Example responses
200 Response
{
"TokenList": [
{
"ReferenceId": "",
"AccountId": 0,
"CardId": 0,
"Last4CardNumber": "",
"Last4TokenNumber": "",
"ExpirationDate": "",
"DeviceName": "",
"WalletName": "",
"Status": ""
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | GetIssuedTokensResponse |
401 | Unauthorized | Standard security response if token is invalid | None |
403 | Forbidden |
Schemas
RenewTokenResponse
{
"Username": "",
"Token": "",
"AppId": "",
"TokenExpiration": ""
}
RenewTokenResponse
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
Username | string | true | none | Username associated with the token |
Token | string | true | none | The new token that has been generated |
AppId | string | true | none | AppId associated with the token |
TokenExpiration | string(date-time) | true | none | Time token will expire |
GetAllTokensResponse
{
"Tokens": [
{
"Token": "",
"SecondsUntilExpire": 0,
"ExpirationTime": ""
}
]
}
GetAllTokensResponse
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
Tokens | [AccessToken] | false | none | List of three scale tokens |
AccessToken
{
"Token": "",
"SecondsUntilExpire": 0,
"ExpirationTime": ""
}
AccessToken
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
Token | string | false | none | 3scale access token |
SecondsUntilExpire | integer(int32) | false | none | Seconds until token expires |
ExpirationTime | string(date-time) | false | none | Time token will expire |
GetTokenResponse
{
"Tokens": [
{
"Username": "",
"AppId": "",
"Token": "",
"TokenExpiration": ""
}
]
}
GetTokenResponse
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
Tokens | [TokenData] | false | none | List of three scale tokens |
TokenData
{
"Username": "",
"AppId": "",
"Token": "",
"TokenExpiration": ""
}
TokenData
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
Username | string | true | none | Username associated with the token |
AppId | string | true | none | AppId associated with the token |
Token | string | true | none | 3scale access token |
TokenExpiration | string(date-time) | true | none | Time token will expire |
PostTokenRequest
{
"Username": "",
"Password": ""
}
PostTokenRequest
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
Username | string | true | none | Admin username |
Password | string | true | none | Admin password |
PostTokenResponse
{
"Token": ""
}
PostTokenResponse
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
Token | string | true | none | The generated token |
GetAdvancedSpendRulesResponse
{
"AdvancedSpendRules": {
"MerchantCategories": [
{
"Id": 0,
"Name": "",
"Description": "",
"TransactionLimit": 0,
"DailySpendLimit": 0,
"WeeklySpendLimit": 0,
"MonthlySpendLimit": 0,
"YearlySpendLimit": 0,
"LifetimeSpendLimit": 0
}
],
"InternationalSpendEnabled": false,
"IsDailySpendLimitEnabled": false,
"DailySpendLimit": 0,
"WeeklySpendLimit": 0,
"MonthlySpendLimit": 0,
"YearlySpendLimit": 0,
"LifetimeSpendLimit": 0,
"CardNotPresentUse": false,
"CardPresence": 0,
"UsePexAccountBalanceForAuths": false,
"UseCustomerAuthDecision": false,
"DaysOfWeekRestrictions": [
"string"
],
"UsStateRestrictions": [
"string"
]
}
}
GetAdvancedSpendRulesResponse
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
AdvancedSpendRules | AdvancedSpendRulesResponse | true | none | Advanced Spend Rules Response |
AdvancedSpendRulesResponse
{
"MerchantCategories": [
{
"Id": 0,
"Name": "",
"Description": "",
"TransactionLimit": 0,
"DailySpendLimit": 0,
"WeeklySpendLimit": 0,
"MonthlySpendLimit": 0,
"YearlySpendLimit": 0,
"LifetimeSpendLimit": 0
}
],
"InternationalSpendEnabled": false,
"IsDailySpendLimitEnabled": false,
"DailySpendLimit": 0,
"WeeklySpendLimit": 0,
"MonthlySpendLimit": 0,
"YearlySpendLimit": 0,
"LifetimeSpendLimit": 0,
"CardNotPresentUse": false,
"CardPresence": 0,
"UsePexAccountBalanceForAuths": false,
"UseCustomerAuthDecision": false,
"DaysOfWeekRestrictions": [
"string"
],
"UsStateRestrictions": [
"string"
]
}
AdvancedSpendRulesResponse
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
MerchantCategories | [MerchantCategoryResponse] | false | none | List of merchant categories |
InternationalSpendEnabled | boolean | false | none | Whether or not international spend is enabled |
IsDailySpendLimitEnabled | boolean | false | none | Whether or not a daily spend limit is set |
DailySpendLimit | number(double) | false | none | Daily spend limit, rounded to 2 decimal places |
WeeklySpendLimit | number(double) | false | none | Weekly spend limit, rounded to 2 decimal places |
MonthlySpendLimit | number(double) | false | none | Monthly spend limit, rounded to 2 decimal places |
YearlySpendLimit | number(double) | false | none | Yearly spend limit, rounded to 2 decimal places |
LifetimeSpendLimit | number(double) | false | none | Lifetime spend limit, rounded to 2 decimal places |
CardNotPresentUse | boolean | false | none | Whether or not card is present to use |
CardPresence | integer(int32) | false | none | Used to evaluate spend policy based on physical or virtual use of card |
UsePexAccountBalanceForAuths | boolean | false | none | Whether or not auto business balance funding to use |
UseCustomerAuthDecision | boolean | false | none | Whether or not decision control allowed to use |
DaysOfWeekRestrictions | [string] | false | none | Whether or not to limit days of the week for spend |
UsStateRestrictions | [string] | false | none | Whether or not to limit US States spend |
MerchantCategoryResponse
{
"Id": 0,
"Name": "",
"Description": "",
"TransactionLimit": 0,
"DailySpendLimit": 0,
"WeeklySpendLimit": 0,
"MonthlySpendLimit": 0,
"YearlySpendLimit": 0,
"LifetimeSpendLimit": 0
}
MerchantCategoryResponse
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
Id | integer(int32) | false | none | Merchant Category Id |
Name | string | false | none | Merchant Category Name |
Description | string | false | none | Merchant Category Description |
TransactionLimit | number(double) | false | none | Transaction limit, rounded to 2 decimal places |
DailySpendLimit | number(double) | false | none | Daily spend limit, rounded to 2 decimal places |
WeeklySpendLimit | number(double) | false | none | Weekly spend limit, rounded to 2 decimal places |
MonthlySpendLimit | number(double) | false | none | Monthly spend limit, rounded to 2 decimal places |
YearlySpendLimit | number(double) | false | none | Yearly spend limit, rounded to 2 decimal places |
LifetimeSpendLimit | number(double) | false | none | Lifetime spend limit, rounded to 2 decimal places |
SetAdvancedSpendRulesRequest
{
"MerchantCategories": [
{
"Id": 0,
"Name": "",
"TransactionLimit": 0,
"DailySpendLimit": 0,
"WeeklySpendLimit": 0,
"MonthlySpendLimit": 0,
"YearlySpendLimit": 0,
"LifetimeSpendLimit": 0
}
],
"InternationalSpendEnabled": false,
"DailySpendLimit": 0,
"WeeklySpendLimit": 0,
"MonthlySpendLimit": 0,
"YearlySpendLimit": 0,
"LifetimeSpendLimit": 0,
"CardNotPresentUse": false,
"CardPresence": 0,
"UsePexAccountBalanceForAuths": false,
"UseCustomerAuthDecision": false,
"DaysOfWeekRestrictions": [
"string"
],
"UsStateRestrictions": [
"string"
]
}
SetAdvancedSpendRulesRequest
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
MerchantCategories | [MerchantCategoryRequest] | false | none | List of merchant categories |
InternationalSpendEnabled | boolean | false | none | Whether or not international spend is enabled |
DailySpendLimit | number(double) | false | none | Daily spend limit, rounded to 2 decimal places |
WeeklySpendLimit | number(double) | false | none | Weekly spend limit, rounded to 2 decimal places |
MonthlySpendLimit | number(double) | false | none | Monthly spend limit, rounded to 2 decimal places |
YearlySpendLimit | number(double) | false | none | Yearly spend limit, rounded to 2 decimal places |
LifetimeSpendLimit | number(double) | false | none | Lifetime spend limit, rounded to 2 decimal places |
CardNotPresentUse | boolean | false | none | Whether or not card is present to use |
CardPresence | integer(int32) | false | none | Whether or not card is present to use |
UsePexAccountBalanceForAuths | boolean | false | none | Whether or not auto business balance funding to use |
UseCustomerAuthDecision | boolean | false | none | Whether or not decision control allowed to use |
DaysOfWeekRestrictions | [string] | false | none | Whether or not limit days of the week for spend |
UsStateRestrictions | [string] | false | none | Whether or not limit US States for spend |
MerchantCategoryRequest
{
"Id": 0,
"Name": "",
"TransactionLimit": 0,
"DailySpendLimit": 0,
"WeeklySpendLimit": 0,
"MonthlySpendLimit": 0,
"YearlySpendLimit": 0,
"LifetimeSpendLimit": 0
}
MerchantCategoryRequest
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
Id | integer(int32) | false | none | Merchant Category Id |
Name | string | false | none | Merchant Category Name |
TransactionLimit | number(double) | false | none | Transaction Limit, rounded to 2 decimal places |
DailySpendLimit | number(double) | false | none | Daily spend limit, rounded to 2 decimal places |
WeeklySpendLimit | number(double) | false | none | Weekly spend limit, rounded to 2 decimal places |
MonthlySpendLimit | number(double) | false | none | Monthly spend limit, rounded to 2 decimal places |
YearlySpendLimit | number(double) | false | none | Yearly spend limit, rounded to 2 decimal places |
LifetimeSpendLimit | number(double) | false | none | Lifetime spend limit, rounded to 2 decimal places |
SetCardholderPinRequest
{
"Pin": ""
}
SetCardholderPinRequest
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
Pin | string | true | none | 4 digit PIN |
SetCardholderGroupRequest
{
"GroupId": 0,
"AcctId": 0
}
SetCardholderGroupRequest
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
GroupId | integer(int32) | true | none | Group ID |
AcctId | integer(int32) | true | none | Account ID |
FundResponse
{
"AccountId": 0,
"AvailableBalance": 0,
"LedgerBalance": 0
}
FundResponse
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
AccountId | integer(int32) | true | none | Unique id of the cardholder account |
AvailableBalance | number(double) | true | none | Available balance for the card account, rounded to 2 decimal places |
LedgerBalance | number(double) | true | none | Ledger balance for the card account, rounded to 2 decimal places |
CardOrderResponse
{
"CardOrderId": 0,
"OrderDateTime": "",
"UserName": "",
"BusinessAccountId": 0,
"Cards": [
{
"AcctId": 0,
"Status": "",
"FirstName": "",
"MiddleName": "",
"LastName": "",
"DateOfBirth": "",
"HomePhone": "",
"MobilePhone": "",
"Email": "",
"HomeAddress": {
"AddressLine1": "",
"AddressLine2": "",
"City": "",
"State": "",
"PostalCode": "",
"Country": ""
},
"ShippingAddress": {
"AddressLine1": "",
"AddressLine2": "",
"City": "",
"State": "",
"PostalCode": "",
"Country": ""
},
"Recipient": "",
"ShipToShippingAddress": false,
"ShippingContactNumber": "",
"BundleCards": false,
"ShippingMethod": "",
"ShippingDate": "",
"Errors": [
{
"Code": "",
"Message": ""
}
],
"FailReason": "",
"AccountNumber": "",
"SpendingRulesetId": 0,
"GroupId": 0,
"CustomId": ""
}
]
}
CardOrderResponse
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
CardOrderId | integer(int32) | false | none | order id |
OrderDateTime | string(date-time) | false | none | date and time of order |
UserName | string | false | none | admin username |
BusinessAccountId | integer(int32) | false | none | Business Account ID |
Cards | [CardHolderCardResponse] | false | none | Cards |
CardHolderCardResponse
{
"AcctId": 0,
"Status": "",
"FirstName": "",
"MiddleName": "",
"LastName": "",
"DateOfBirth": "",
"HomePhone": "",
"MobilePhone": "",
"Email": "",
"HomeAddress": {
"AddressLine1": "",
"AddressLine2": "",
"City": "",
"State": "",
"PostalCode": "",
"Country": ""
},
"ShippingAddress": {
"AddressLine1": "",
"AddressLine2": "",
"City": "",
"State": "",
"PostalCode": "",
"Country": ""
},
"Recipient": "",
"ShipToShippingAddress": false,
"ShippingContactNumber": "",
"BundleCards": false,
"ShippingMethod": "",
"ShippingDate": "",
"Errors": [
{
"Code": "",
"Message": ""
}
],
"FailReason": "",
"AccountNumber": "",
"SpendingRulesetId": 0,
"GroupId": 0,
"CustomId": ""
}
CardHolderCardResponse
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
AcctId | integer(int32) | false | none | Acct ID |
Status | string | false | none | Status |
FirstName | string | false | none | First Name |
MiddleName | string | false | none | Middle Name |
LastName | string | false | none | Last Name |
DateOfBirth | string(date-time) | false | none | Date of Birth |
HomePhone | string | false | none | Home Phone |
MobilePhone | string | false | none | Mobile Phone |
string | false | none | ||
HomeAddress | Address | false | none | none |
ShippingAddress | Address | false | none | none |
Recipient | string | false | none | Recipient |
ShipToShippingAddress | boolean | false | none | Ship to Shipping Address Flag |
ShippingContactNumber | string | false | none | Shipping Contact Number |
BundleCards | boolean | false | none | Bundle Cards Flag |
ShippingMethod | string | false | none | Shipping Method |
ShippingDate | string(date-time) | false | none | Shipping Date |
Errors | [Error] | false | none | Error Message |
FailReason | string | false | none | Fail reason |
AccountNumber | string | false | none | Account Number |
SpendingRulesetId | integer(int32) | false | none | Spending Ruleset ID |
GroupId | integer(int32) | false | none | Group ID |
CustomId | string | false | none | User defined Id which can be assigned to Card holder profile (alphanumeric up to 50 characters) |
Address
{
"AddressLine1": "",
"AddressLine2": "",
"City": "",
"State": "",
"PostalCode": "",
"Country": ""
}
Address
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
AddressLine1 | string | true | none | none |
AddressLine2 | string | false | none | none |
City | string | true | none | none |
State | string | true | none | none |
PostalCode | string | true | none | none |
Country | string | false | read-only | none |
Error
{
"Code": "",
"Message": ""
}
Error
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
Code | string | false | none | Error Code |
Message | string | false | none | Error Message |
GetCardOrderRequest
{
"StartDate": "",
"EndDate": ""
}
GetCardOrderRequest
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
StartDate | string(date-time) | false | none | Start date (format - YYYY-MM-DDThh:mm:ss) |
EndDate | string(date-time) | false | none | End date (format - YYYY-MM-DDThh:mm:ss) |
GetCardOrderResponse
{
"CardOrders": [
{
"CardOrderId": 0,
"OrderDateTime": "",
"UserName": "",
"BusinessAdminId": 0,
"BusinessAccountId": 0,
"NumberOfCards": 0
}
]
}
GetCardOrderResponse
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
CardOrders | [SingleCardOrderResponse] | false | none | List of card order objects |
SingleCardOrderResponse
{
"CardOrderId": 0,
"OrderDateTime": "",
"UserName": "",
"BusinessAdminId": 0,
"BusinessAccountId": 0,
"NumberOfCards": 0
}
SingleCardOrderResponse
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
CardOrderId | integer(int32) | false | none | Card order id |
OrderDateTime | string(date-time) | false | none | Order date |
UserName | string | false | none | Order creator |
BusinessAdminId | integer(int32) | false | none | Administrator id who created card order |
BusinessAccountId | integer(int32) | false | none | Business associated with order |
NumberOfCards | integer(int32) | false | none | Number of cards in order |
UpdateProfileRequest
{
"CardholderGroupId": 0,
"SpendRulesetId": 0,
"Phone": "",
"ShippingPhone": "",
"DateOfBirth": "",
"Email": "",
"CustomId": "",
"FirstName": "",
"LastName": "",
"NormalizeProfileAddress": false,
"ProfileAddress": {
"AddressLine1": "",
"AddressLine2": "",
"City": "",
"State": "",
"PostalCode": "",
"Country": ""
},
"NormalizeShippingAddress": false,
"ShippingAddress": {
"ContactName": "",
"AddressLine1": "",
"AddressLine2": "",
"City": "",
"State": "",
"PostalCode": "",
"Country": ""
}
}
UpdateProfileRequest
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
CardholderGroupId | integer(int32) | false | none | Unique id of the cardholder group (use 0 to remove cardholder from a group) |
SpendRulesetId | integer(int32) | false | none | Unique id of the spending ruleset (use 0 to remove cardholder from a spending ruleset) |
Phone | string | false | none | Phone number |
ShippingPhone | string | false | none | Shipping Phone number |
DateOfBirth | string(date-time) | false | none | Cardholder date of birth |
string | true | none | Cardholder email address | |
CustomId | string | false | none | User defined Id which can be assigned to Card holder profile (alphanumeric up to 50 characters) |
FirstName | string | true | none | none |
LastName | string | true | none | none |
NormalizeProfileAddress | boolean | false | none | none |
ProfileAddress | Address | true | none | none |
NormalizeShippingAddress | boolean | false | none | none |
ShippingAddress | AddressContact | false | none | none |
AddressContact
{
"ContactName": "",
"AddressLine1": "",
"AddressLine2": "",
"City": "",
"State": "",
"PostalCode": "",
"Country": ""
}
AddressContact
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
ContactName | string | false | none | none |
AddressLine1 | string | true | none | none |
AddressLine2 | string | false | none | none |
City | string | true | none | none |
State | string | true | none | none |
PostalCode | string | true | none | none |
Country | string | false | read-only | none |
GetProfileResponse
{
"AccountId": 0,
"AccountStatus": "",
"FirstName": "",
"LastName": "",
"CardholderGroupId": 0,
"SpendRulesetId": 0,
"ProfileAddress": {
"ContactName": "",
"AddressLine1": "",
"AddressLine2": "",
"City": "",
"State": "",
"PostalCode": "",
"Country": ""
},
"Phone": "",
"ShippingAddress": {
"ContactName": "",
"AddressLine1": "",
"AddressLine2": "",
"City": "",
"State": "",
"PostalCode": "",
"Country": ""
},
"ShippingPhone": "",
"DateOfBirth": "",
"Email": "",
"IsVirtual": false,
"CustomId": ""
}
GetProfileResponse
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
AccountId | integer(int32) | true | none | Card account ID. 0 will be returned as the Account ID for cards that are pending |
AccountStatus | string | true | none | Status of the account |
FirstName | string | true | none | Cardholder first name |
LastName | string | true | none | Cardholder last name |
CardholderGroupId | integer(int32) | false | none | Unique id of the cardholder group |
SpendRulesetId | integer(int32) | false | none | Unique id of the spending ruleset |
ProfileAddress | AddressContact | true | none | none |
Phone | string | false | none | Phone number |
ShippingAddress | AddressContact | true | none | none |
ShippingPhone | string | false | none | Shipping Phone number |
DateOfBirth | string(date-time) | true | none | Cardholder date of birth |
string | true | none | Cardholder email address | |
IsVirtual | boolean | false | none | Identifies virtual cardholder |
CustomId | string | false | none | User defined Id which can be assigned to Card holder profile (alphanumeric up to 50 characters) |
FundRequest
{
"Amount": 0
}
FundRequest
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
Amount | number(double) | true | none | The amount to fund the card account, rounded to 2 decimal places |
CreateCardAsyncRequest
{
"Cards": [
{
"Phone": "",
"ShippingPhone": "",
"ShippingMethod": "",
"DateOfBirth": "",
"Email": "",
"GroupId": 0,
"RulesetId": 0,
"CustomId": "",
"FirstName": "",
"LastName": "",
"NormalizeProfileAddress": false,
"ProfileAddress": {
"AddressLine1": "",
"AddressLine2": "",
"City": "",
"State": "",
"PostalCode": "",
"Country": ""
},
"NormalizeShippingAddress": false,
"ShippingAddress": {
"ContactName": "",
"AddressLine1": "",
"AddressLine2": "",
"City": "",
"State": "",
"PostalCode": "",
"Country": ""
}
}
],
"NormalizeHomeAddress": false,
"NormalizeShippingAddress": false
}
CreateCardAsyncRequest
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
Cards | [CreateCardRequest] | false | none | New Card List |
NormalizeHomeAddress | boolean | false | none | Normalize Home Address |
NormalizeShippingAddress | boolean | false | none | Normalize Shipping Address |
CreateCardRequest
{
"Phone": "",
"ShippingPhone": "",
"ShippingMethod": "",
"DateOfBirth": "",
"Email": "",
"GroupId": 0,
"RulesetId": 0,
"CustomId": "",
"FirstName": "",
"LastName": "",
"NormalizeProfileAddress": false,
"ProfileAddress": {
"AddressLine1": "",
"AddressLine2": "",
"City": "",
"State": "",
"PostalCode": "",
"Country": ""
},
"NormalizeShippingAddress": false,
"ShippingAddress": {
"ContactName": "",
"AddressLine1": "",
"AddressLine2": "",
"City": "",
"State": "",
"PostalCode": "",
"Country": ""
}
}
CreateCardRequest
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
Phone | string | true | none | Phone number |
ShippingPhone | string | true | none | Shipping Phone number |
ShippingMethod | string | true | none | Method for shipping the card |
DateOfBirth | string(date-time) | true | none | Cardholder date of birth |
string | true | none | Cardholder email address | |
GroupId | integer(int32) | false | none | Cardholder group id |
RulesetId | integer(int32) | false | none | Cardhodler ruleset id |
CustomId | string | false | none | User defined Id which can be assigned to Card holder profile (alphanumeric up to 50 characters) |
FirstName | string | true | none | none |
LastName | string | true | none | none |
NormalizeProfileAddress | boolean | false | none | none |
ProfileAddress | Address | true | none | none |
NormalizeShippingAddress | boolean | false | none | none |
ShippingAddress | AddressContact | false | none | none |
Enumerated Values
Property | Value |
---|---|
ShippingMethod | Invalid |
ShippingMethod | FirstClassMail |
ShippingMethod | Expedited |
ShippingMethod | Rush |
CreateCardAsyncResponse
{
"CardOrderId": 0
}
CreateCardAsyncResponse
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
CardOrderId | integer(int32) | false | none | Card Order ID |
UpdateCardStatusRequest
{
"Status": ""
}
UpdateCardStatusRequest
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
Status | string | true | none | New status for the card.
|
Enumerated Values
Property | Value |
---|---|
Status | Invalid |
Status | Active |
Status | Inactive |
Status | Blocked |
Status | Closed |
Status | Removed |
GetSpendRulesResponse
{
"SpendRules": {
"UseMerchantCategory": false,
"MerchantCategories": {
"AssociationsAndOrganizations": false,
"AutomotiveDealers": false,
"EducationalServices": false,
"Entertainment": false,
"FuelAndConvenienceStores": false,
"GroceryStores": false,
"HealthcareAndChildcareServices": false,
"ProfessionalServices": false,
"Restaurants": false,
"RetailStores": false,
"TravelAndTransportation": false,
"FuelPumpOnly": false,
"HardwareStores": false
},
"InternationalSpendEnabled": false,
"IsDailySpendLimitEnabled": false,
"DailySpendLimit": 0,
"CardNotPresentUse": false,
"CardPresence": 0,
"UsePexAccountBalanceForAuths": false,
"UseCustomerAuthDecision": false
}
}
GetSpendRulesResponse
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
SpendRules | SpendRules | true | none | none |
SpendRules
{
"UseMerchantCategory": false,
"MerchantCategories": {
"AssociationsAndOrganizations": false,
"AutomotiveDealers": false,
"EducationalServices": false,
"Entertainment": false,
"FuelAndConvenienceStores": false,
"GroceryStores": false,
"HealthcareAndChildcareServices": false,
"ProfessionalServices": false,
"Restaurants": false,
"RetailStores": false,
"TravelAndTransportation": false,
"FuelPumpOnly": false,
"HardwareStores": false
},
"InternationalSpendEnabled": false,
"IsDailySpendLimitEnabled": false,
"DailySpendLimit": 0,
"CardNotPresentUse": false,
"CardPresence": 0,
"UsePexAccountBalanceForAuths": false,
"UseCustomerAuthDecision": false
}
SpendRules
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
UseMerchantCategory | boolean | false | none | none |
MerchantCategories | MerchantCategories | false | none | none |
InternationalSpendEnabled | boolean | false | none | none |
IsDailySpendLimitEnabled | boolean | false | none | none |
DailySpendLimit | number(double) | false | none | none |
CardNotPresentUse | boolean | false | none | none |
CardPresence | integer(int32) | false | none | none |
UsePexAccountBalanceForAuths | boolean | false | none | none |
UseCustomerAuthDecision | boolean | false | none | none |
MerchantCategories
{
"AssociationsAndOrganizations": false,
"AutomotiveDealers": false,
"EducationalServices": false,
"Entertainment": false,
"FuelAndConvenienceStores": false,
"GroceryStores": false,
"HealthcareAndChildcareServices": false,
"ProfessionalServices": false,
"Restaurants": false,
"RetailStores": false,
"TravelAndTransportation": false,
"FuelPumpOnly": false,
"HardwareStores": false
}
MerchantCategories
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
AssociationsAndOrganizations | boolean | false | none | none |
AutomotiveDealers | boolean | false | none | none |
EducationalServices | boolean | false | none | none |
Entertainment | boolean | false | none | none |
FuelAndConvenienceStores | boolean | false | none | none |
GroceryStores | boolean | false | none | none |
HealthcareAndChildcareServices | boolean | false | none | none |
ProfessionalServices | boolean | false | none | none |
Restaurants | boolean | false | none | none |
RetailStores | boolean | false | none | none |
TravelAndTransportation | boolean | false | none | none |
FuelPumpOnly | boolean | false | none | none |
HardwareStores | boolean | false | none | none |
SetSpendRulesRequest
{
"MerchantCategories": {
"AssociationsAndOrganizations": false,
"AutomotiveDealers": false,
"EducationalServices": false,
"Entertainment": false,
"FuelAndConvenienceStores": false,
"GroceryStores": false,
"HealthcareAndChildcareServices": false,
"ProfessionalServices": false,
"Restaurants": false,
"RetailStores": false,
"TravelAndTransportation": false,
"FuelPumpOnly": false,
"HardwareStores": false
},
"InternationalSpendEnabled": false,
"DailySpendLimit": 0,
"CardNotPresentUse": false,
"CardPresence": 0,
"UsePexAccountBalanceForAuths": false,
"UseCustomerAuthDecision": false
}
SetSpendRulesRequest
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
MerchantCategories | MerchantCategories | false | none | none |
InternationalSpendEnabled | boolean | false | none | Whether or not international spend is enabled |
DailySpendLimit | number(double) | false | none | Daily spend limit, rounded to 2 decimal places |
CardNotPresentUse | boolean | false | none | Whether or not card is present to use |
CardPresence | integer(int32) | false | none | Used to evaluate spend policy based on physical or virtual use of card. 0 = blah, 1 = blah, 2 = blah |
UsePexAccountBalanceForAuths | boolean | false | none | Whether or not auto business balance funding to use |
UseCustomerAuthDecision | boolean | false | none | Whether or not decision control allowed to use |
SetScheduledFundingRulesRequest
{
"Amount": 0,
"Frequency": ""
}
SetScheduledFundingRulesRequest
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
Amount | number(double) | false | none | Amount of the scheduled funding, rounded to 2 decimal places |
Frequency | string | true | none | Describes when the scheduled funding should occur |
Enumerated Values
Property | Value |
---|---|
Frequency | DAY |
Frequency | MONDAY |
Frequency | TUESDAY |
Frequency | WEDNESDAY |
Frequency | THURSDAY |
Frequency | FRIDAY |
Frequency | SATURDAY |
Frequency | SUNDAY |
Frequency | FIRSTOFMONTH |
GetScheduledFundingRulesResponse
{
"ScheduledFunding": {
"Amount": 0,
"Frequency": ""
}
}
GetScheduledFundingRulesResponse
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
ScheduledFunding | ScheduledFunding | false | none | Details about scheduled funding |
ScheduledFunding
{
"Amount": 0,
"Frequency": ""
}
ScheduledFunding
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
Amount | number(double) | true | none | Amount of scheduled funding, rounded to 2 decimal places |
Frequency | string | true | none | Describes when scheduled funding should occur. Possible string values for Frequency parameter of scheduled funding are:
|
Enumerated Values
Property | Value |
---|---|
Frequency | DAY |
Frequency | MONDAY |
Frequency | TUESDAY |
Frequency | WEDNESDAY |
Frequency | THURSDAY |
Frequency | FRIDAY |
Frequency | SATURDAY |
Frequency | SUNDAY |
Frequency | FIRSTOFMONTH |
SetCardholderRulesetRequest
{
"RulesetId": 0,
"AccountId": 0
}
SetCardholderRulesetRequest
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
RulesetId | integer(int32) | true | none | Spending Ruleset ID |
AccountId | integer(int32) | true | none | Account ID |
CardholderSpendRulesetResponse
{
"AccountId": 0
}
CardholderSpendRulesetResponse
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
AccountId | integer(int32) | false | none | Account ID |
GetAdvancedAccountDetailsResponse
{
"AccountId": 0,
"Group": {
"Id": 0,
"GroupName": ""
},
"AccountStatus": "",
"LedgerBalance": 0,
"AvailableBalance": 0,
"ProfileAddress": {
"ContactName": "",
"AddressLine1": "",
"AddressLine2": "",
"City": "",
"State": "",
"PostalCode": "",
"Country": ""
},
"Phone": "",
"ShippingAddress": {
"ContactName": "",
"AddressLine1": "",
"AddressLine2": "",
"City": "",
"State": "",
"PostalCode": "",
"Country": ""
},
"ShippingPhone": "",
"DateOfBirth": "",
"Email": "",
"IsVirtual": false,
"CardList": [
{
"CardId": 0,
"IssuedDate": "",
"ExpirationDate": "",
"Last4CardNumber": "",
"CardStatus": ""
}
],
"SpendingRulesetId": 0,
"SpendRules": {
"MerchantCategories": [
{
"Id": 0,
"Name": "",
"Description": "",
"TransactionLimit": 0,
"DailySpendLimit": 0,
"WeeklySpendLimit": 0,
"MonthlySpendLimit": 0,
"YearlySpendLimit": 0,
"LifetimeSpendLimit": 0
}
],
"InternationalSpendEnabled": false,
"IsDailySpendLimitEnabled": false,
"DailySpendLimit": 0,
"WeeklySpendLimit": 0,
"MonthlySpendLimit": 0,
"YearlySpendLimit": 0,
"LifetimeSpendLimit": 0,
"CardNotPresentUse": false,
"CardPresence": 0,
"UsePexAccountBalanceForAuths": false,
"UseCustomerAuthDecision": false,
"DaysOfWeekRestrictions": [
"string"
],
"UsStateRestrictions": [
"string"
]
},
"ScheduledFunding": {
"Amount": 0,
"Frequency": ""
},
"CustomId": ""
}
GetAdvancedAccountDetailsResponse
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
AccountId | integer(int32) | false | none | Unique cardholder account id |
Group | CardholderGroup | false | none | Details about a cardholder group |
AccountStatus | string | false | none | Cardholder account status (OPEN or CLOSED) |
LedgerBalance | number(double) | false | none | Ledger balance for the card account, rounded to 2 decimal places |
AvailableBalance | number(double) | false | none | Available balance for the card account, rounded to 2 decimal places |
ProfileAddress | AddressContact | false | none | none |
Phone | string | false | none | Phone number |
ShippingAddress | AddressContact | false | none | none |
ShippingPhone | string | false | none | Shipping Phone number |
DateOfBirth | string(date-time) | false | none | Cardholder date of birth |
string | false | none | Cardholder email address | |
IsVirtual | boolean | false | none | Identifies virtual cardholder |
CardList | [CardDetail] | false | none | List of details about cards associated with the account |
SpendingRulesetId | integer(int32) | false | none | SpendingRulesetId for the cardholder account |
SpendRules | AdvancedSpendRulesResponse | false | none | Advanced Spend Rules Response |
ScheduledFunding | ScheduledFunding | false | none | Details about scheduled funding |
CustomId | string | false | none | User defined Id which can be assigned to Card holder profile (alphanumeric up to 50 characters) |
CardholderGroup
{
"Id": 0,
"GroupName": ""
}
CardholderGroup
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
Id | integer(int32) | true | none | Unique id of the cardholder group |
GroupName | string | true | none | Name of the cardholder group |
CardDetail
{
"CardId": 0,
"IssuedDate": "",
"ExpirationDate": "",
"Last4CardNumber": "",
"CardStatus": ""
}
CardDetail
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
CardId | integer(int32) | true | none | Unique id for the card |
IssuedDate | string(date-time) | true | none | Date card was issued |
ExpirationDate | string(date-time) | true | none | Expiration date for the card |
Last4CardNumber | string | true | none | Last four digits of card number |
CardStatus | string | true | none | Card status Possible string values for CardStatus parameter of card detail are:
|
AccountRemainingLimitsResponse
{
"AccountId": 0,
"GlobalLimits": [
{
"Type": "",
"EnforcedLimit": 0,
"RemainingSpend": 0
}
],
"MerchantCategoryLimits": [
{
"MerchantCategoryId": 0,
"Category": "",
"Type": "",
"EnforcedLimit": 0,
"RemainingSpend": 0
}
]
}
AccountRemainingLimitsResponse
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
AccountId | integer(int32) | false | none | Account Id |
GlobalLimits | [GlobalLimit] | false | none | Global limits |
MerchantCategoryLimits | [MerchantCategoryLimit] | false | none | Merchant category limits |
GlobalLimit
{
"Type": "",
"EnforcedLimit": 0,
"RemainingSpend": 0
}
GlobalLimit
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
Type | string | false | none | Period type |
EnforcedLimit | number(double) | false | none | Enforced spend limit |
RemainingSpend | number(double) | false | none | Remaining spend |
Enumerated Values
Property | Value |
---|---|
Type | PerDay |
Type | PerWeek |
Type | PerMonth |
Type | PerYear |
Type | Lifetime |
MerchantCategoryLimit
{
"MerchantCategoryId": 0,
"Category": "",
"Type": "",
"EnforcedLimit": 0,
"RemainingSpend": 0
}
MerchantCategoryLimit
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
MerchantCategoryId | integer(int32) | false | none | Category Id |
Category | string | false | none | Name of category |
Type | string | false | none | Period type |
EnforcedLimit | number(double) | false | none | Enforced rule limit |
RemainingSpend | number(double) | false | none | Remaining spending |
Enumerated Values
Property | Value |
---|---|
Type | PerDay |
Type | PerWeek |
Type | PerMonth |
Type | PerYear |
Type | Lifetime |
DateRange
{
"StartDate": "",
"EndDate": ""
}
DateRange
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
StartDate | string(date-time) | true | none | YYYY-MM-DDThh:mm:ss |
EndDate | string(date-time) | true | none | YYYY-MM-DDThh:mm:ss |
NetworkTransactionDetailsResponse
{
"TransactionList": [
{
"NetworkTransactionId": 0,
"TransactionId": 0,
"AcctId": 0,
"TransactionTime": "",
"HoldTime": "",
"SettlementTime": "",
"MerchantLocalTime": "",
"AuthTransactionId": 0,
"TransactionAmount": 0,
"PaddingAmount": 0,
"AvailableBalance": 0,
"LedgerBalance": 0,
"TransactionType": "",
"Description": "",
"TransactionNotes": [
{
"NoteId": 0,
"UserName": "",
"NoteText": "",
"NoteDate": ""
}
],
"ReferencedTranId": 0,
"ReferencedTransactionTime": "",
"MerchantName": "",
"MerchantCity": "",
"MerchantState": "",
"MerchantZip": "",
"MerchantCountry": "",
"MCCCode": "",
"AuthIdentityResponseCode": "",
"MerchantId": "",
"TerminalId": "",
"NetworkType": "",
"NetworkStatus": "",
"IsCardPresent": false,
"Message": "",
"MessageCode": "",
"MerchantRequestedAmount": 0
}
]
}
NetworkTransactionDetailsResponse
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
TransactionList | [NetworkTransaction] | true | none | The list of netword transaction details |
NetworkTransaction
{
"NetworkTransactionId": 0,
"TransactionId": 0,
"AcctId": 0,
"TransactionTime": "",
"HoldTime": "",
"SettlementTime": "",
"MerchantLocalTime": "",
"AuthTransactionId": 0,
"TransactionAmount": 0,
"PaddingAmount": 0,
"AvailableBalance": 0,
"LedgerBalance": 0,
"TransactionType": "",
"Description": "",
"TransactionNotes": [
{
"NoteId": 0,
"UserName": "",
"NoteText": "",
"NoteDate": ""
}
],
"ReferencedTranId": 0,
"ReferencedTransactionTime": "",
"MerchantName": "",
"MerchantCity": "",
"MerchantState": "",
"MerchantZip": "",
"MerchantCountry": "",
"MCCCode": "",
"AuthIdentityResponseCode": "",
"MerchantId": "",
"TerminalId": "",
"NetworkType": "",
"NetworkStatus": "",
"IsCardPresent": false,
"Message": "",
"MessageCode": "",
"MerchantRequestedAmount": 0
}
NetworkTransaction
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
NetworkTransactionId | integer(int64) | false | none | ID of network transaction |
TransactionId | integer(int64) | false | none | ID of transaction |
AcctId | integer(int32) | false | none | Account ID |
TransactionTime | string(date-time) | false | none | Transaction time |
HoldTime | string(date-time) | false | none | Hold time |
SettlementTime | string(date-time) | false | none | Settlement time |
MerchantLocalTime | string(date-time) | false | none | Merchant local time |
AuthTransactionId | integer(int64) | false | none | ID of auth transaction |
TransactionAmount | number(double) | false | none | Transaction amount |
PaddingAmount | number(double) | false | none | Padding amount |
AvailableBalance | number(double) | false | none | Available balance |
LedgerBalance | number(double) | false | none | Ledger balance |
TransactionType | string | false | none | Transaction type |
Description | string | false | none | Description |
TransactionNotes | [TransactionNote] | false | none | List of transaction notes |
ReferencedTranId | integer(int64) | false | none | ID of referenced transaction |
ReferencedTransactionTime | string(date-time) | false | none | Referenced transaction time |
MerchantName | string | false | none | Merchant name |
MerchantCity | string | false | none | Merchant city |
MerchantState | string | false | none | Merchant state |
MerchantZip | string | false | none | Merchant zip |
MerchantCountry | string | false | none | Merchant country |
MCCCode | string | false | none | Merchant category code |
AuthIdentityResponseCode | string | false | none | Auth identityRresponse code |
MerchantId | string | false | none | ID of merchant |
TerminalId | string | false | none | ID of terminal |
NetworkType | string | false | none | Network type |
NetworkStatus | string | false | none | Network status |
IsCardPresent | boolean | false | none | Is card present flag |
Message | string | false | none | Message |
MessageCode | string | false | none | Message code |
MerchantRequestedAmount | number(double) | false | none | Merchant Requested Amount |
TransactionNote
{
"NoteId": 0,
"UserName": "",
"NoteText": "",
"NoteDate": ""
}
TransactionNote
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
NoteId | integer(int64) | true | none | Unique id for the note |
UserName | string | true | none | Admin username who wrote the note |
NoteText | string | true | none | Text of the note |
NoteDate | string(date-time) | true | none | Time the note was added |
BusinessDetailsResponse
{
"BusinessAccountId": 0,
"BusinessName": "",
"BusinessAccountStatus": "",
"BusinessAccountBalance": 0,
"PendingTransferAmount": 0,
"BankAccountList": [
{
"ExternalBankAcctId": 0,
"RoutingNumber": "",
"BankAccountNumber": "",
"BankName": "",
"BankAccountType": "",
"IsActive": false
}
],
"CHAccountList": [
{
"AccountId": 0,
"FirstName": "",
"LastName": "",
"LedgerBalance": 0,
"AvailableBalance": 0,
"AccountStatus": "",
"IsVirtual": false,
"CustomId": ""
}
],
"CardholderGroups": [
{
"Id": 0,
"Name": ""
}
]
}
BusinessDetailsResponse
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
BusinessAccountId | integer(int32) | true | none | Unique account id for the business |
BusinessName | string | true | none | Name of the business |
BusinessAccountStatus | string | true | none | Business account status (OPEN or CLOSED) |
BusinessAccountBalance | number(double) | true | none | Account balance for the business, rounded to 2 decimal places |
PendingTransferAmount | number(double) | true | none | Amount of pending transfers, rounded to 2 decimal places |
BankAccountList | [ExternalBankAccount] | true | none | List of external bank accounts associated with the business |
CHAccountList | [BusinessCHAccountDetail] | true | none | List of cardholder account details for the business |
CardholderGroups | [CardHolderGroup] | true | none | a list of groups that the Business can use |
ExternalBankAccount
{
"ExternalBankAcctId": 0,
"RoutingNumber": "",
"BankAccountNumber": "",
"BankName": "",
"BankAccountType": "",
"IsActive": false
}
ExternalBankAccount
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
ExternalBankAcctId | integer(int32) | true | none | Unique external bank account id |
RoutingNumber | string | true | none | Routing number |
BankAccountNumber | string | true | none | Last 4 digits of bank account number |
BankName | string | true | none | Bank name |
BankAccountType | string | true | none | Type of account (ACH or Wire) |
IsActive | boolean | true | none | Whether or not the bank account is active |
BusinessCHAccountDetail
{
"AccountId": 0,
"FirstName": "",
"LastName": "",
"LedgerBalance": 0,
"AvailableBalance": 0,
"AccountStatus": "",
"IsVirtual": false,
"CustomId": ""
}
BusinessCHAccountDetail
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
AccountId | integer(int32) | true | none | Unique id for the cardholder account |
FirstName | string | true | none | Cardholder first name |
LastName | string | true | none | Cardholder last name |
LedgerBalance | number(double) | true | none | Ledger balance for the cardholder account, rounded to 2 decimal places |
AvailableBalance | number(double) | true | none | Available balance for the cardholder account, rounded to 2 decimal places |
AccountStatus | string | true | none | Cardholder account status (OPEN or CLOSED) |
IsVirtual | boolean | false | none | Identifies virtual cardholder |
CustomId | string | false | none | User defined Id which can be assigned to Card holder profile (alphanumeric up to 50 characters) |
CardHolderGroup
{
"Id": 0,
"Name": ""
}
CardHolderGroup
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
Id | integer(int32) | false | none | group Id |
Name | string | false | none | group Name |
CardholderDetailsResponse
{
"AccountId": 0,
"Group": {
"Id": 0,
"GroupName": ""
},
"AccountStatus": "",
"LedgerBalance": 0,
"AvailableBalance": 0,
"ProfileAddress": {
"ContactName": "",
"AddressLine1": "",
"AddressLine2": "",
"City": "",
"State": "",
"PostalCode": "",
"Country": ""
},
"Phone": "",
"ShippingAddress": {
"ContactName": "",
"AddressLine1": "",
"AddressLine2": "",
"City": "",
"State": "",
"PostalCode": "",
"Country": ""
},
"ShippingPhone": "",
"DateOfBirth": "",
"Email": "",
"IsVirtual": false,
"CardList": [
{
"CardId": 0,
"IssuedDate": "",
"ExpirationDate": "",
"Last4CardNumber": "",
"CardStatus": ""
}
],
"SpendingRulesetId": 0,
"SpendRules": {
"UseMerchantCategory": false,
"MerchantCategories": {
"AssociationsAndOrganizations": false,
"AutomotiveDealers": false,
"EducationalServices": false,
"Entertainment": false,
"FuelAndConvenienceStores": false,
"GroceryStores": false,
"HealthcareAndChildcareServices": false,
"ProfessionalServices": false,
"Restaurants": false,
"RetailStores": false,
"TravelAndTransportation": false,
"FuelPumpOnly": false,
"HardwareStores": false
},
"InternationalSpendEnabled": false,
"IsDailySpendLimitEnabled": false,
"DailySpendLimit": 0,
"CardNotPresentUse": false,
"CardPresence": 0,
"UsePexAccountBalanceForAuths": false,
"UseCustomerAuthDecision": false
},
"ScheduledFunding": {
"Amount": 0,
"Frequency": ""
},
"CustomId": ""
}
CardholderDetailsResponse
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
AccountId | integer(int32) | true | none | Unique cardholder account id |
Group | CardholderGroup | false | none | Details about a cardholder group |
AccountStatus | string | true | none | Cardholder account status (OPEN or CLOSED) |
LedgerBalance | number(double) | true | none | Ledger balance for the card account, rounded to 2 decimal places |
AvailableBalance | number(double) | true | none | Available balance for the card account, rounded to 2 decimal places |
ProfileAddress | AddressContact | true | none | none |
Phone | string | false | none | Phone number |
ShippingAddress | AddressContact | true | none | none |
ShippingPhone | string | false | none | Shipping Phone number |
DateOfBirth | string(date-time) | true | none | Cardholder date of birth |
string | true | none | Cardholder email address | |
IsVirtual | boolean | false | none | Identifies virtual cardholder |
CardList | [CardDetail] | true | none | List of details about cards associated with the account |
SpendingRulesetId | integer(int32) | true | none | SpendingRulesetId for the cardholder account |
SpendRules | SpendRules | true | none | none |
ScheduledFunding | ScheduledFunding | false | none | Details about scheduled funding |
CustomId | string | false | none | User defined Id which can be assigned to Card holder profile (alphanumeric up to 50 characters) |
TransactionDetailsRequest
{
"IncludePendings": false,
"IncludeDeclines": false,
"StartDate": "",
"EndDate": ""
}
TransactionDetailsRequest
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
IncludePendings | boolean | false | none | 1 to include pending transactions and 0 to exclude |
IncludeDeclines | boolean | false | none | 1 to include decline transactions and 0 to exclude |
StartDate | string(date-time) | true | none | YYYY-MM-DDThh:mm:ss |
EndDate | string(date-time) | true | none | YYYY-MM-DDThh:mm:ss |
TransactionDetailsResponse
{
"TransactionList": [
{
"TransactionId": 0,
"AcctId": 0,
"TransactionTime": "",
"MerchantLocalTime": "",
"HoldTime": "",
"SettlementTime": "",
"AuthTransactionId": 0,
"TransactionAmount": 0,
"PaddingAmount": 0,
"TransactionType": "",
"Description": "",
"TransactionNotes": [
{
"NoteId": 0,
"UserName": "",
"NoteText": "",
"NoteDate": ""
}
],
"IsPending": false,
"IsDecline": false,
"MerchantName": "",
"MerchantCity": "",
"MerchantState": "",
"MerchantZip": "",
"MerchantCountry": "",
"MCCCode": "",
"TransferToOrFromAccountId": 0,
"AuthIdentityResponseCode": "",
"MerchantId": "",
"TerminalId": "",
"NetworkTransactionId": 0,
"SourceCurrencyCodeDescription": "",
"SourceCurrencyNumericCode": "",
"SourceAmount": 0,
"TransactionTags": {
"Tags": [
{
"FieldId": "",
"Value": {},
"Name": ""
}
],
"State": "",
"FieldsVersion": ""
},
"MetadataApprovalStatus": "",
"TransactionTypeCategory": ""
}
],
"Pages": {
"PageSize": 0,
"TotalRecords": 0,
"NumberOfPages": 0,
"LastTimeRetrieved": ""
}
}
TransactionDetailsResponse
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
TransactionList | [Transaction] | true | none | The list of transaction details |
Pages | PageInfo | true | none | Pagination information used for operations returning a large result set |
Transaction
{
"TransactionId": 0,
"AcctId": 0,
"TransactionTime": "",
"MerchantLocalTime": "",
"HoldTime": "",
"SettlementTime": "",
"AuthTransactionId": 0,
"TransactionAmount": 0,
"PaddingAmount": 0,
"TransactionType": "",
"Description": "",
"TransactionNotes": [
{
"NoteId": 0,
"UserName": "",
"NoteText": "",
"NoteDate": ""
}
],
"IsPending": false,
"IsDecline": false,
"MerchantName": "",
"MerchantCity": "",
"MerchantState": "",
"MerchantZip": "",
"MerchantCountry": "",
"MCCCode": "",
"TransferToOrFromAccountId": 0,
"AuthIdentityResponseCode": "",
"MerchantId": "",
"TerminalId": "",
"NetworkTransactionId": 0,
"SourceCurrencyCodeDescription": "",
"SourceCurrencyNumericCode": "",
"SourceAmount": 0,
"TransactionTags": {
"Tags": [
{
"FieldId": "",
"Value": {},
"Name": ""
}
],
"State": "",
"FieldsVersion": ""
},
"MetadataApprovalStatus": "",
"TransactionTypeCategory": ""
}
Transaction
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
TransactionId | integer(int64) | true | none | Unique Id for the transaction |
AcctId | integer(int32) | true | none | Unique cardholder account id |
TransactionTime | string(date-time) | true | none | Time the transaction entered the system |
MerchantLocalTime | string(date-time) | false | none | Merchant local time the transaction took place |
HoldTime | string(date-time) | false | none | Time the hold authorization entered the system |
SettlementTime | string(date-time) | false | none | Settlement time, if applicable |
AuthTransactionId | integer(int64) | true | none | The transaction Id of the authorization if the transaction is a settlement |
TransactionAmount | number(double) | true | none | Amount of the transaction, rounded to 2 decimal places |
PaddingAmount | number(double) | true | none | Padding amount, rounded to 2 decimal places |
TransactionType | string | true | none | Type of transaction |
Description | string | true | none | Transaction description |
TransactionNotes | [TransactionNote] | false | none | List of transaction notes |
IsPending | boolean | true | none | Whether or not the transaction is pending |
IsDecline | boolean | true | none | Whether or not the transaction is a decline |
MerchantName | string | true | none | Merchant name |
MerchantCity | string | true | none | Merchant city |
MerchantState | string | true | none | Merchant state |
MerchantZip | string | true | none | Merchant zip |
MerchantCountry | string | true | none | Merchant country |
MCCCode | string | true | none | MCC Code |
TransferToOrFromAccountId | integer(int32) | false | none | Id of the account the transaction is going to or coming from, if applicable |
AuthIdentityResponseCode | string | false | none | Authorization Identification Response code from Star data element 38 in Auth Response message |
MerchantId | string | false | none | The number a financial institution assigns to a merchant to identify your business |
TerminalId | string | false | none | TerminalId |
NetworkTransactionId | integer(int64) | false | none | The transaction Id of the network authorization if the transaction is a settlement |
SourceCurrencyCodeDescription | string | false | none | Source Currency Code Description |
SourceCurrencyNumericCode | string | false | none | The three-digit numeric code assigned to each currency as defined in ISO 4217 standard. |
SourceAmount | number(double) | false | none | Source Amount |
TransactionTags | TransactionTags | false | none | Transaction Tags Entity |
MetadataApprovalStatus | string | false | none | Metadata Approval Status |
TransactionTypeCategory | string | false | none | Transaction Type Category |
Enumerated Values
Property | Value |
---|---|
TransactionType | Transfer |
TransactionType | Network |
TransactionType | Load |
TransactionType | Invalid |
PageInfo
{
"PageSize": 0,
"TotalRecords": 0,
"NumberOfPages": 0,
"LastTimeRetrieved": ""
}
PageInfo
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
PageSize | integer(int32) | true | none | Number of records per page |
TotalRecords | integer(int32) | true | none | Total number of records returned by query |
NumberOfPages | integer(int32) | true | none | Number of pages returned by query |
LastTimeRetrieved | string(date-time) | true | none | Last transaction time received on the current page |
TransactionTags
{
"Tags": [
{
"FieldId": "",
"Value": {},
"Name": ""
}
],
"State": "",
"FieldsVersion": ""
}
TransactionTags
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
Tags | [TransactionTag] | false | none | Transaction Tags |
State | string | false | none | State |
FieldsVersion | string | false | none | Fields Version |
Enumerated Values
Property | Value |
---|---|
State | Initial |
State | Selected |
TransactionTag
{
"FieldId": "",
"Value": {},
"Name": ""
}
TransactionTag
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
FieldId | string | false | none | Field ID |
Value | object | false | none | Field Value |
Name | string | false | none | Field Name |
GetAttachments
{
"Attachments": [
{
"AttachmentId": "",
"Type": "",
"Size": 0,
"Link": {
"related": ""
},
"UploadStatus": "",
"CreatedDateUtc": "",
"CreatedBy": {
"AdminId": 0,
"UserId": 0
},
"UpdatedDateUtc": "",
"UpdatedBy": {
"AdminId": 0,
"UserId": 0
}
}
],
"ApprovalStatus": ""
}
GetAttachments
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
Attachments | [AttachmentWithRelatedLink] | false | none | Attachments |
ApprovalStatus | string | false | none | Approval status is on the transaction level and not only for attachment. If the transaction is approved, all related data i.e Attachments, Tags etc are approved. |
Enumerated Values
Property | Value |
---|---|
ApprovalStatus | NotReviewed |
ApprovalStatus | Ignored |
ApprovalStatus | Approved |
ApprovalStatus | Rejected |
ApprovalStatus | NoReceipt |
AttachmentWithRelatedLink
{
"AttachmentId": "",
"Type": "",
"Size": 0,
"Link": {
"related": ""
},
"UploadStatus": "",
"CreatedDateUtc": "",
"CreatedBy": {
"AdminId": 0,
"UserId": 0
},
"UpdatedDateUtc": "",
"UpdatedBy": {
"AdminId": 0,
"UserId": 0
}
}
AttachmentWithRelatedLink
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
AttachmentId | string | false | none | Unique identifier of the attachment. |
Type | string | false | none | Specifies the type of attachment Image/PDF |
Size | integer(int64) | false | none | Size of the attachment. |
Link | LinkRelated | false | none | Link |
UploadStatus | string | false | none | the system assigned status of the attachment valid values are: Not Loaded, Loaded, Deleted, HasMalware, LoadFailed. |
CreatedDateUtc | string(date-time) | false | none | Created date in UTC |
CreatedBy | MetadataUser | false | none | Metadata user |
UpdatedDateUtc | string(date-time) | false | none | Updated date in UTC |
UpdatedBy | MetadataUser | false | none | Metadata user |
Enumerated Values
Property | Value |
---|---|
Type | Image |
Type | |
UploadStatus | NotLoaded |
UploadStatus | Loaded |
UploadStatus | Deleted |
UploadStatus | HasMalware |
UploadStatus | LoadFailed |
LinkRelated
{
"related": ""
}
LinkRelated
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
related | string | false | none | The Link property provides a link to /AttachmentId resource which contains the encoded image details. |
MetadataUser
{
"AdminId": 0,
"UserId": 0
}
MetadataUser
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
AdminId | integer(int32) | false | none | Admin Id of the user who created, updated, or deleted the tag definition |
UserId | integer(int32) | false | none | User Id of the user who created, updated, or deleted the tag definition |
DeleteAttachment
{
"AttachmentId": "",
"Type": "",
"Size": 0,
"UploadStatus": "",
"CreatedDateUtc": "",
"CreatedBy": {
"AdminId": 0,
"UserId": 0
},
"UpdatedDateUtc": "",
"UpdatedBy": {
"AdminId": 0,
"UserId": 0
},
"DeletedDateUtc": "",
"DeletedBy": {
"AdminId": 0,
"UserId": 0
}
}
DeleteAttachment
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
AttachmentId | string | false | none | Unique identifier of the attachment. |
Type | string | false | none | Specifies the type of attachment Image/PDF |
Size | integer(int64) | false | none | Size of the attachment. |
UploadStatus | string | false | none | the system assigned status of the attachment valid values are: Not Loaded, Loaded, Deleted, HasMalware, LoadFailed. |
CreatedDateUtc | string(date-time) | false | none | Created date in UTC |
CreatedBy | MetadataUser | false | none | Metadata user |
UpdatedDateUtc | string(date-time) | false | none | Updated date in UTC |
UpdatedBy | MetadataUser | false | none | Metadata user |
DeletedDateUtc | string(date-time) | false | none | Deleted date in UTC |
DeletedBy | MetadataUser | false | none | Metadata user |
Enumerated Values
Property | Value |
---|---|
Type | Image |
Type | |
UploadStatus | NotLoaded |
UploadStatus | Loaded |
UploadStatus | Deleted |
UploadStatus | HasMalware |
UploadStatus | LoadFailed |
Attachment
{
"AttachmentId": "",
"Type": "",
"Size": 0,
"Content": "",
"UploadStatus": "",
"CreatedDateUtc": "",
"CreatedBy": {
"AdminId": 0,
"UserId": 0
},
"UpdatedDateUtc": "",
"UpdatedBy": {
"AdminId": 0,
"UserId": 0
},
"ApprovalStatus": ""
}
Attachment
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
AttachmentId | string | false | none | Unique identifier of the attachment. |
Type | string | false | none | Specifies the type of attachment Image/PDF |
Size | integer(int64) | false | none | Size of the attachment. |
Content | string | false | none | BASE64_ENCODED_DATA |
UploadStatus | string | false | none | the system assigned status of the attachment valid values are: Not Loaded, Loaded, Deleted, HasMalware, LoadFailed. |
CreatedDateUtc | string(date-time) | false | none | Created date in UTC |
CreatedBy | MetadataUser | false | none | Metadata user |
UpdatedDateUtc | string(date-time) | false | none | Updated date in UTC |
UpdatedBy | MetadataUser | false | none | Metadata user |
ApprovalStatus | string | false | none | Approval status is on the transaction level and not only for attachment. If the transaction is approved, all related data i.e Attachments, Tags etc are approved. |
Enumerated Values
Property | Value |
---|---|
Type | Image |
Type | |
UploadStatus | NotLoaded |
UploadStatus | Loaded |
UploadStatus | Deleted |
UploadStatus | HasMalware |
UploadStatus | LoadFailed |
ApprovalStatus | NotReviewed |
ApprovalStatus | Ignored |
ApprovalStatus | Approved |
ApprovalStatus | Rejected |
ApprovalStatus | NoReceipt |
CreateOrUpdateAttachmentRequest
{
"Content": "",
"Type": ""
}
CreateOrUpdateAttachmentRequest
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
Content | string | true | none | BASE64_ENCODED_DATA |
Type | string | false | none | Specifies the type of attachment Image/PDF |
Enumerated Values
Property | Value |
---|---|
Type | Image |
Type |
AttachmentWithSelfLink
{
"AttachmentId": "",
"Type": "",
"Size": 0,
"Link": {
"self": ""
},
"UploadStatus": "",
"CreatedDateUtc": "",
"CreatedBy": {
"AdminId": 0,
"UserId": 0
},
"UpdatedDateUtc": "",
"UpdatedBy": {
"AdminId": 0,
"UserId": 0
}
}
AttachmentWithSelfLink
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
AttachmentId | string | false | none | Unique identifier of the attachment. |
Type | string | false | none | Specifies the type of attachment Image/PDF |
Size | integer(int64) | false | none | Size of the attachment. |
Link | LinkSelf | false | none | Self Link |
UploadStatus | string | false | none | the system assigned status of the attachment valid values are: Not Loaded, Loaded, Deleted, HasMalware, LoadFailed. |
CreatedDateUtc | string(date-time) | false | none | Created date in UTC |
CreatedBy | MetadataUser | false | none | Metadata user |
UpdatedDateUtc | string(date-time) | false | none | Updated date in UTC |
UpdatedBy | MetadataUser | false | none | Metadata user |
Enumerated Values
Property | Value |
---|---|
Type | Image |
Type | |
UploadStatus | NotLoaded |
UploadStatus | Loaded |
UploadStatus | Deleted |
UploadStatus | HasMalware |
UploadStatus | LoadFailed |
LinkSelf
{
"self": ""
}
LinkSelf
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
self | string | false | none | The Link property provides a link to /AttachmentId resource which contains the encoded image details. |
Tags
{
"Id": "",
"ConcurrencyKey": "",
"State": "",
"Values": {},
"CreatedDateUtc": "",
"CreatedBy": {
"AdminId": 0,
"UserId": 0
},
"UpdatedDateUtc": "",
"UpdatedBy": {
"AdminId": 0,
"UserId": 0
}
}
Tags
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
Id | string | false | none | Unique identifier for tag values |
ConcurrencyKey | string | false | none | Prevent conflicts when multiple users update tag values at the same time |
State | string | false | none | Tag review state |
Values | object | false | none | Values |
CreatedDateUtc | string(date-time) | false | none | Created date in UTC |
CreatedBy | MetadataUser | false | none | Metadata user |
UpdatedDateUtc | string(date-time) | false | none | Updated date in UTC |
UpdatedBy | MetadataUser | false | none | Metadata user |
Enumerated Values
Property | Value |
---|---|
State | NotReviewed |
State | Ignored |
State | Alphabetic |
State | Alphanumeric |
CreateTagValuesRequest
{
"ConcurrencyKey": "",
"Values": [
{
"TagId": "",
"Value": {}
}
]
}
CreateTagValuesRequest
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
ConcurrencyKey | string | false | none | Concurrent editing token |
Values | [TagValueItem] | false | none | Tag values |
TagValueItem
{
"TagId": "",
"Value": {}
}
TagValueItem
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
TagId | string | false | none | Tag definition Id |
Value | object | false | none | Value |
UpdateTagValuesRequest
{
"ConcurrencyKey": "",
"Values": [
{
"TagId": "",
"Value": {}
}
]
}
UpdateTagValuesRequest
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
ConcurrencyKey | string | false | none | Concurrent editing token |
Values | [TagValueItem] | false | none | Tag values |
CreateAllocationTagValuesRequest
{
"ConcurrencyKey": "",
"Values": [
{
"TagId": "",
"Allocation": [
{
"TagId": "",
"Value": {}
}
],
"Amount": 0
}
]
}
CreateAllocationTagValuesRequest
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
ConcurrencyKey | string | false | none | Concurrent editing token |
Values | [AllocationTagValue] | false | none | Allocation tag values |
AllocationTagValue
{
"TagId": "",
"Allocation": [
{
"TagId": "",
"Value": {}
}
],
"Amount": 0
}
AllocationTagValue
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
TagId | string | false | none | Tag definition Id |
Allocation | [TagValueItem] | false | none | Value |
Amount | number(double) | false | none | Amount |
UpdateAllocationTagValuesRequest
{
"ConcurrencyKey": "",
"Values": [
{
"TagId": "",
"Allocation": [
{
"TagId": "",
"Value": {}
}
],
"Amount": 0
}
]
}
UpdateAllocationTagValuesRequest
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
ConcurrencyKey | string | false | none | Concurrent editing token |
Values | [AllocationTagValue] | false | none | Allocation tag values |
VirtualCardsOrderRequest
{
"VirtualCards": [
{
"FirstName": "",
"LastName": "",
"DateOfBirth": "",
"Phone": "",
"Email": "",
"ProfileAddress": {
"AddressLine1": "",
"AddressLine2": "",
"City": "",
"State": "",
"PostalCode": "",
"Country": ""
},
"GroupId": 0,
"RulesetId": 0,
"AutoActivation": false,
"FundCardAmount": 0,
"CardDataWebhookURL": ""
}
]
}
VirtualCardsOrderRequest
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
VirtualCards | [VirtualCardCreationRequest] | true | none | Virtual Cards requests |
VirtualCardCreationRequest
{
"FirstName": "",
"LastName": "",
"DateOfBirth": "",
"Phone": "",
"Email": "",
"ProfileAddress": {
"AddressLine1": "",
"AddressLine2": "",
"City": "",
"State": "",
"PostalCode": "",
"Country": ""
},
"GroupId": 0,
"RulesetId": 0,
"AutoActivation": false,
"FundCardAmount": 0,
"CardDataWebhookURL": ""
}
VirtualCardCreationRequest
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
FirstName | string | true | none | First Name |
LastName | string | true | none | Last Name |
DateOfBirth | string(date-time) | true | none | Cardholder date of birth |
Phone | string | true | none | Phone number |
string | true | none | Cardholder email address | |
ProfileAddress | Address | false | none | none |
GroupId | integer(int32) | false | none | Cardholder group id |
RulesetId | integer(int32) | false | none | Cardhodler ruleset id |
AutoActivation | boolean | false | none | Auto Activation true/false |
FundCardAmount | number(double) | false | none | Fund Card Amount |
CardDataWebhookURL | string | true | none | Card Data Webhook URL |
VirtualCardsOrderResponse
{
"VirtualCardOrderId": 0,
"NumberOfCardsRequested": 0
}
VirtualCardsOrderResponse
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
VirtualCardOrderId | integer(int32) | false | none | Virtual Card Order Id |
NumberOfCardsRequested | integer(int32) | false | none | Number Of Cards Requested |
VirtualCardsGetOrderResponse
{
"CardOrderId": 0,
"OrderDateTime": "",
"UserName": "",
"Cards": [
{
"RequestId": 0,
"AcctId": 0,
"AccountNumber": "",
"FirstName": "",
"LastName": "",
"DateOfBirth": "",
"Phone": "",
"Email": "",
"HomeAddress": {
"AddressLine1": "",
"AddressLine2": "",
"City": "",
"State": "",
"PostalCode": "",
"Country": ""
},
"GroupId": 0,
"SpendingRulesetsId": 0,
"AutoActivation": false,
"FundCardAmount": 0,
"CardDataWebhookURL": "",
"Status": "",
"Errors": [
"string"
],
"ErrorMessage": ""
}
]
}
VirtualCardsGetOrderResponse
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
CardOrderId | integer(int32) | false | none | VC Order Id |
OrderDateTime | string(date-time) | false | none | Order DateTime |
UserName | string | false | none | User Name |
Cards | [VirtualCardGetOrderResponse] | false | none | Virtual Cards |
VirtualCardGetOrderResponse
{
"RequestId": 0,
"AcctId": 0,
"AccountNumber": "",
"FirstName": "",
"LastName": "",
"DateOfBirth": "",
"Phone": "",
"Email": "",
"HomeAddress": {
"AddressLine1": "",
"AddressLine2": "",
"City": "",
"State": "",
"PostalCode": "",
"Country": ""
},
"GroupId": 0,
"SpendingRulesetsId": 0,
"AutoActivation": false,
"FundCardAmount": 0,
"CardDataWebhookURL": "",
"Status": "",
"Errors": [
"string"
],
"ErrorMessage": ""
}
VirtualCardGetOrderResponse
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
RequestId | integer(int32) | false | none | Request Id |
AcctId | integer(int32) | false | none | Account Id |
AccountNumber | string | false | none | Account Number |
FirstName | string | false | none | First Name |
LastName | string | false | none | Last Name |
DateOfBirth | string(date-time) | false | none | Date Of Birth |
Phone | string | false | none | Phone |
string | false | none | ||
HomeAddress | Address | false | none | none |
GroupId | integer(int32) | false | none | Group Id |
SpendingRulesetsId | integer(int32) | false | none | Spending Rulesets Id |
AutoActivation | boolean | false | none | Auto Activation |
FundCardAmount | number(double) | false | none | Fund Card Amount |
CardDataWebhookURL | string | false | none | Card Data Webhook URL |
Status | string | false | none | Status |
Errors | [string] | false | none | Errors |
ErrorMessage | string | false | none | Error Message |
VirtualCardDataRequest
{
"AcctId": 0,
"CardDataWebhookURL": ""
}
VirtualCardDataRequest
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
AcctId | integer(int32) | false | none | Cardholder Account Id |
CardDataWebhookURL | string | true | none | Card Data Webhook URL |
Tag
{
"Id": "",
"Type": "",
"Name": "",
"Description": "",
"IsEnabled": false,
"IsDeleted": false,
"IsRequired": false,
"Order": 0,
"ConcurrencyKey": "",
"CreatedDateUtc": "",
"CreatedBy": {
"AdminId": 0,
"UserId": 0
},
"UpdatedDateUtc": "",
"UpdatedBy": {
"AdminId": 0,
"UserId": 0
},
"DeletedDateUtc": "",
"DeletedBy": {
"AdminId": 0,
"UserId": 0
}
}
Tag
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
Id | string | false | none | Unique Identifier of the tag definition |
Type | string | false | none | Type of the tag definition {Dropdown, Text, Decimal, Yes/No} |
Name | string | false | none | Name of the tag definition |
Description | string | false | none | Descriptive information about the tag definition |
IsEnabled | boolean | false | none | This flag determines if the tag definition is visible to the card holder |
IsDeleted | boolean | false | none | If set to true, the tag is deleted |
IsRequired | boolean | false | none | If set to true, tag is not required |
Order | integer(int32) | false | none | Determines the position where tag appears. It is a 0 based index |
ConcurrencyKey | string | false | none | Concurrent editing token |
CreatedDateUtc | string(date-time) | false | none | Date when the tag definition was created |
CreatedBy | MetadataUser | false | none | Metadata user |
UpdatedDateUtc | string(date-time) | false | none | Date when the tag definition was last updated |
UpdatedBy | MetadataUser | false | none | Metadata user |
DeletedDateUtc | string(date-time) | false | none | Date when the tag definition was deleted |
DeletedBy | MetadataUser | false | none | Metadata user |
Enumerated Values
Property | Value |
---|---|
Type | Text |
Type | YesNo |
Type | Dropdown |
Type | Decimal |
Type | Allocation |
UpdateDropdownTagRequest
{
"Options": [
{
"Name": "",
"Value": "",
"Order": 0,
"IsEnabled": false
}
],
"Name": "",
"Description": "",
"Order": 0,
"IsRequired": false,
"IsEnabled": false
}
UpdateDropdownTagRequest
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
Options | [TagOptionRequest] | true | none | Options |
Name | string | true | none | Name of the tag definition |
Description | string | false | none | Descriptive information about the tag definition |
Order | integer(int32) | true | none | Determines the position where tag appears. It is a 0 based index |
IsRequired | boolean | true | none | If set to true, tag is not required |
IsEnabled | boolean | true | none | This flag determines if the tag definition is visible to the card holder |
TagOptionRequest
{
"Name": "",
"Value": "",
"Order": 0,
"IsEnabled": false
}
TagOptionRequest
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
Name | string | true | none | Name of the option ("Display as" on PEX Admin site) for Type = Dropdown |
Value | string | true | none | Value of an option ("Option Value" on PEX Admin site) for Type = Dropdown |
Order | integer(int32) | false | none | Determines the position where tag option appears. It is a 0 based index |
IsEnabled | boolean | false | none | This flag determines if the tag option is visible to the card holder for selection |
DropdownTag
{
"Id": "",
"Type": "",
"Name": "",
"Description": "",
"IsEnabled": false,
"IsDeleted": false,
"IsRequired": false,
"Order": 0,
"ConcurrencyKey": "",
"CreatedDateUtc": "",
"CreatedBy": {
"AdminId": 0,
"UserId": 0
},
"UpdatedDateUtc": "",
"UpdatedBy": {
"AdminId": 0,
"UserId": 0
},
"DeletedDateUtc": "",
"DeletedBy": {
"AdminId": 0,
"UserId": 0
},
"Options": [
{
"Name": "",
"Value": "",
"Order": 0,
"IsEnabled": false
}
]
}
DropdownTag
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
Id | string | false | none | Unique Identifier of the tag definition |
Type | string | false | none | Type of the tag definition {Dropdown, Text, Decimal, Yes/No} |
Name | string | false | none | Name of the tag definition |
Description | string | false | none | Descriptive information about the tag definition |
IsEnabled | boolean | false | none | This flag determines if the tag definition is visible to the card holder |
IsDeleted | boolean | false | none | If set to true, the tag is deleted |
IsRequired | boolean | false | none | If set to true, tag is not required |
Order | integer(int32) | false | none | Determines the position where tag appears. It is a 0 based index |
ConcurrencyKey | string | false | none | Concurrent editing token |
CreatedDateUtc | string(date-time) | false | none | Date when the tag definition was created |
CreatedBy | MetadataUser | false | none | Metadata user |
UpdatedDateUtc | string(date-time) | false | none | Date when the tag definition was last updated |
UpdatedBy | MetadataUser | false | none | Metadata user |
DeletedDateUtc | string(date-time) | false | none | Date when the tag definition was deleted |
DeletedBy | MetadataUser | false | none | Metadata user |
Options | [ITagOption] | false | none | Dropdown tag options |
Enumerated Values
Property | Value |
---|---|
Type | Text |
Type | YesNo |
Type | Dropdown |
Type | Decimal |
Type | Allocation |
ITagOption
{
"Name": "",
"Value": "",
"Order": 0,
"IsEnabled": false
}
ITagOption
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
Name | string | false | none | Name of the option ("Display as" on PEX Admin site) for Type = Dropdown |
Value | string | false | none | Value of an option ("Option Value" on PEX Admin site) for Type = Dropdown |
Order | integer(int32) | false | none | Determines the position where tag option appears. It is a 0 based index |
IsEnabled | boolean | false | none | This flag determines if the tag option is visible to the card holder for selection |
CreateDropdownTagRequest
{
"Name": "",
"Description": "",
"Order": 0,
"IsRequired": false,
"IsEnabled": false,
"Options": [
{
"Name": "",
"Value": "",
"Order": 0,
"IsEnabled": false
}
]
}
CreateDropdownTagRequest
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
Name | string | true | none | Name of the tag definition |
Description | string | false | none | Descriptive information about the tag definition |
Order | integer(int32) | true | none | Determines the position where tag appears. It is a 0 based index |
IsRequired | boolean | true | none | If set to true, tag is not required |
IsEnabled | boolean | true | none | This flag determines if the tag definition is visible to the card holder |
Options | [CreateTagOptionRequest] | true | none | Dropdown tag options |
CreateTagOptionRequest
{
"Name": "",
"Value": "",
"Order": 0,
"IsEnabled": false
}
CreateTagOptionRequest
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
Name | string | true | none | Name of the option ("Display as" on PEX Admin site) for Type = Dropdown |
Value | string | true | none | Value of an option ("Option Value" on PEX Admin site) for Type = Dropdown |
Order | integer(int32) | false | none | Determines the position where tag option appears. It is a 0 based index |
IsEnabled | boolean | false | none | This flag determines if the tag option is visible to the card holder for selection |
TagOptionsRequest
{
"Options": [
{
"Name": "",
"Value": "",
"Order": 0,
"IsEnabled": false
}
]
}
TagOptionsRequest
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
Options | [TagOptionRequest] | true | none | Options |
CreateTextTagRequest
{
"Length": 0,
"ValidationType": "",
"Name": "",
"Description": "",
"Order": 0,
"IsRequired": false,
"IsEnabled": false
}
CreateTextTagRequest
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
Length | integer(int32) | true | none | Length |
ValidationType | string | false | none | Validation type |
Name | string | true | none | Name of the tag definition |
Description | string | false | none | Descriptive information about the tag definition |
Order | integer(int32) | true | none | Determines the position where tag appears. It is a 0 based index |
IsRequired | boolean | true | none | If set to true, tag is not required |
IsEnabled | boolean | true | none | This flag determines if the tag definition is visible to the card holder |
Enumerated Values
Property | Value |
---|---|
ValidationType | None |
ValidationType | Numeric |
ValidationType | Alphabetic |
ValidationType | Alphanumeric |
TextTag
{
"Length": 0,
"ValidationType": "",
"Id": "",
"Type": "",
"Name": "",
"Description": "",
"IsEnabled": false,
"IsDeleted": false,
"IsRequired": false,
"Order": 0,
"ConcurrencyKey": "",
"CreatedDateUtc": "",
"CreatedBy": {
"AdminId": 0,
"UserId": 0
},
"UpdatedDateUtc": "",
"UpdatedBy": {
"AdminId": 0,
"UserId": 0
},
"DeletedDateUtc": "",
"DeletedBy": {
"AdminId": 0,
"UserId": 0
}
}
TextTag
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
Length | integer(int32) | false | none | Defines the number of characters allowed for this tag. Length takes numeric values E.g. 5 means the tag can have up to 5 characters. By default 200 char is max length |
ValidationType | string | false | none | Determines the kind of values this tag definition is allowed to have. Valid values are None, Numeric, Alphabetic, and Alphanumeric |
Id | string | false | none | Unique Identifier of the tag definition |
Type | string | false | none | Type of the tag definition {Dropdown, Text, Decimal, Yes/No} |
Name | string | false | none | Name of the tag definition |
Description | string | false | none | Descriptive information about the tag definition |
IsEnabled | boolean | false | none | This flag determines if the tag definition is visible to the card holder |
IsDeleted | boolean | false | none | If set to true, the tag is deleted |
IsRequired | boolean | false | none | If set to true, tag is not required |
Order | integer(int32) | false | none | Determines the position where tag appears. It is a 0 based index |
ConcurrencyKey | string | false | none | Concurrent editing token |
CreatedDateUtc | string(date-time) | false | none | Date when the tag definition was created |
CreatedBy | MetadataUser | false | none | Metadata user |
UpdatedDateUtc | string(date-time) | false | none | Date when the tag definition was last updated |
UpdatedBy | MetadataUser | false | none | Metadata user |
DeletedDateUtc | string(date-time) | false | none | Date when the tag definition was deleted |
DeletedBy | MetadataUser | false | none | Metadata user |
Enumerated Values
Property | Value |
---|---|
ValidationType | None |
ValidationType | Numeric |
ValidationType | Alphabetic |
ValidationType | Alphanumeric |
Type | Text |
Type | YesNo |
Type | Dropdown |
Type | Decimal |
Type | Allocation |
UpdateTextTagRequest
{
"Length": 0,
"ValidationType": "",
"Name": "",
"Description": "",
"Order": 0,
"IsRequired": false,
"IsEnabled": false
}
UpdateTextTagRequest
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
Length | integer(int32) | true | none | Length |
ValidationType | string | false | none | Validation type |
Name | string | true | none | Name of the tag definition |
Description | string | false | none | Descriptive information about the tag definition |
Order | integer(int32) | true | none | Determines the position where tag appears. It is a 0 based index |
IsRequired | boolean | true | none | If set to true, tag is not required |
IsEnabled | boolean | true | none | This flag determines if the tag definition is visible to the card holder |
Enumerated Values
Property | Value |
---|---|
ValidationType | None |
ValidationType | Numeric |
ValidationType | Alphabetic |
ValidationType | Alphanumeric |
CreateTagRequest
{
"Name": "",
"Description": "",
"Order": 0,
"IsRequired": false,
"IsEnabled": false
}
CreateTagRequest
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
Name | string | true | none | Name of the tag definition |
Description | string | false | none | Descriptive information about the tag definition |
Order | integer(int32) | true | none | Determines the position where tag appears. It is a 0 based index |
IsRequired | boolean | true | none | If set to true, tag is not required |
IsEnabled | boolean | true | none | This flag determines if the tag definition is visible to the card holder |
UpdateTagRequest
{
"Name": "",
"Description": "",
"Order": 0,
"IsRequired": false,
"IsEnabled": false
}
UpdateTagRequest
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
Name | string | true | none | Name of the tag definition |
Description | string | false | none | Descriptive information about the tag definition |
Order | integer(int32) | true | none | Determines the position where tag appears. It is a 0 based index |
IsRequired | boolean | true | none | If set to true, tag is not required |
IsEnabled | boolean | true | none | This flag determines if the tag definition is visible to the card holder |
AllocationTag
{
"Id": "",
"Type": "",
"Name": "",
"Description": "",
"IsEnabled": false,
"IsDeleted": false,
"IsRequired": false,
"Order": 0,
"ConcurrencyKey": "",
"CreatedDateUtc": "",
"CreatedBy": {
"AdminId": 0,
"UserId": 0
},
"UpdatedDateUtc": "",
"UpdatedBy": {
"AdminId": 0,
"UserId": 0
},
"DeletedDateUtc": "",
"DeletedBy": {
"AdminId": 0,
"UserId": 0
},
"Tags": [
{
"TagId": "",
"Order": ""
}
]
}
AllocationTag
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
Id | string | false | none | Unique Identifier of the tag definition |
Type | string | false | none | Type of the tag definition {Dropdown, Text, Decimal, Yes/No} |
Name | string | false | none | Name of the tag definition |
Description | string | false | none | Descriptive information about the tag definition |
IsEnabled | boolean | false | none | This flag determines if the tag definition is visible to the card holder |
IsDeleted | boolean | false | none | If set to true, the tag is deleted |
IsRequired | boolean | false | none | If set to true, tag is not required |
Order | integer(int32) | false | none | Determines the position where tag appears. It is a 0 based index |
ConcurrencyKey | string | false | none | Concurrent editing token |
CreatedDateUtc | string(date-time) | false | none | Date when the tag definition was created |
CreatedBy | MetadataUser | false | none | Metadata user |
UpdatedDateUtc | string(date-time) | false | none | Date when the tag definition was last updated |
UpdatedBy | MetadataUser | false | none | Metadata user |
DeletedDateUtc | string(date-time) | false | none | Date when the tag definition was deleted |
DeletedBy | MetadataUser | false | none | Metadata user |
Tags | [IAllocationTagItem] | false | none | Tag definitions collection |
Enumerated Values
Property | Value |
---|---|
Type | Text |
Type | YesNo |
Type | Dropdown |
Type | Decimal |
Type | Allocation |
IAllocationTagItem
{
"TagId": "",
"Order": ""
}
IAllocationTagItem
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
TagId | string | false | none | Allocation item tag id |
Order | string | false | none | Allocation item tag order |
UpdateTagOptionRequest
{
"Name": "",
"Value": "",
"Order": 0,
"IsEnabled": false
}
UpdateTagOptionRequest
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
Name | string | true | none | Name of the option ("Display as" on PEX Admin site) for Type = Dropdown |
Value | string | true | none | Value of an option ("Option Value" on PEX Admin site) for Type = Dropdown |
Order | integer(int32) | false | none | Determines the position where tag option appears. It is a 0 based index |
IsEnabled | boolean | false | none | This flag determines if the tag option is visible to the card holder for selection |
TagOption
{
"Name": "",
"Value": "",
"Order": 0,
"IsEnabled": false
}
TagOption
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
Name | string | false | none | Name of the option ("Display as" on PEX Admin site) for Type = Dropdown |
Value | string | false | none | Value of an option ("Option Value" on PEX Admin site) for Type = Dropdown |
Order | integer(int32) | false | none | Determines the position where tag option appears. It is a 0 based index |
IsEnabled | boolean | false | none | This flag determines if the tag option is visible to the card holder for selection |
GetOneTimeTransferResponse
{
"OneTimeTransferDetails": [
{
"TransferRequestId": 0,
"BankInformation": {
"ExternalBankAcctId": 0,
"RoutingNumber": "",
"BankAccountNumber": "",
"BankName": "",
"BankAccountType": "",
"IsActive": false
},
"Amount": 0,
"Status": "",
"RequestedDate": "",
"FundAvailableDate": ""
}
]
}
GetOneTimeTransferResponse
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
OneTimeTransferDetails | [OneTimeTransferDetail] | true | none | List of one time transfer details |
OneTimeTransferDetail
{
"TransferRequestId": 0,
"BankInformation": {
"ExternalBankAcctId": 0,
"RoutingNumber": "",
"BankAccountNumber": "",
"BankName": "",
"BankAccountType": "",
"IsActive": false
},
"Amount": 0,
"Status": "",
"RequestedDate": "",
"FundAvailableDate": ""
}
OneTimeTransferDetail
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
TransferRequestId | integer(int32) | true | none | Unique one time transfer request id |
BankInformation | ExternalBankAccount | true | none | External bank account details |
Amount | number(double) | true | none | Amount of the transfer, rounded to 2 decimal places (positive = DEBIT, negative = CREDIT. |
Status | string | true | none | Status of one time transfer request |
RequestedDate | string(date-time) | true | none | Date one time transfer request was made |
FundAvailableDate | string(date-time) | true | none | Date funds will be available |
UpdateBusinessProfileRequest
{
"ProfileAddress": {
"AddressLine1": "",
"AddressLine2": "",
"City": "",
"State": "",
"PostalCode": "",
"Country": ""
},
"Phone": "",
"PhoneExtension": "",
"NormalizeAddress": false
}
UpdateBusinessProfileRequest
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
ProfileAddress | Address | true | none | none |
Phone | string | false | none | Phone number |
PhoneExtension | string | false | none | Phone Extension |
NormalizeAddress | boolean | false | none | Normalize address flag |
GetBusinessProfileResponse
{
"BusinessAcctId": 0,
"FirstName": "",
"LastName": "",
"ProfileAddress": {
"ContactName": "",
"AddressLine1": "",
"AddressLine2": "",
"City": "",
"State": "",
"PostalCode": "",
"Country": ""
},
"Phone": "",
"PhoneExtension": "",
"DateOfBirth": "",
"Email": ""
}
GetBusinessProfileResponse
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
BusinessAcctId | integer(int32) | true | none | Business account id |
FirstName | string | true | none | Business contact first name |
LastName | string | true | none | Business contact last name |
ProfileAddress | AddressContact | true | none | none |
Phone | string | false | none | Phone number |
PhoneExtension | string | false | none | Phone Extension |
DateOfBirth | string(date-time) | true | none | Business contact date of birth |
string | true | none | Business contact email address |
EditAdminRequest
{
"FirstName": "",
"MiddleName": "",
"LastName": "",
"NormalizeAddress": false,
"ProfileAddress": {
"AddressLine1": "",
"AddressLine2": "",
"City": "",
"State": "",
"PostalCode": "",
"Country": ""
},
"Phone": "",
"AltPhone": "",
"DateOfBirth": "",
"Email": "",
"Permissions": {
"ViewAdministration": false,
"AddEditTerminateAdministrator": false,
"RequestDeleteACHTransfer": false,
"EditBusinessProfile": false,
"AddEditTerminateCard": false,
"RequestCardFunding": false,
"ViewCardNumberReport": false,
"ModifyTransactionNotes": false,
"AdministerInstantIssueCards": false
}
}
EditAdminRequest
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
FirstName | string | true | none | Admin first name |
MiddleName | string | false | none | Admin middle name |
LastName | string | true | none | Admin last name |
NormalizeAddress | boolean | false | none | Normalize address |
ProfileAddress | Address | true | none | none |
Phone | string | false | none | Phone number |
AltPhone | string | false | none | Alternative phone number |
DateOfBirth | string(date-time) | false | none | Admin date of birth |
string | true | none | Admin email address | |
Permissions | AdminPermissions | false | none | Details about the permissions for an admin |
AdminPermissions
{
"ViewAdministration": false,
"AddEditTerminateAdministrator": false,
"RequestDeleteACHTransfer": false,
"EditBusinessProfile": false,
"AddEditTerminateCard": false,
"RequestCardFunding": false,
"ViewCardNumberReport": false,
"ModifyTransactionNotes": false,
"AdministerInstantIssueCards": false
}
AdminPermissions
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
ViewAdministration | boolean | true | none | Whether or not admin can view an administrator |
AddEditTerminateAdministrator | boolean | true | none | Whether or not admin can create, edit, or delete an administrator |
RequestDeleteACHTransfer | boolean | true | none | Whether or not admin can create or delete ACH transfer requests |
EditBusinessProfile | boolean | true | none | Whether or not admin can edit the business profile |
AddEditTerminateCard | boolean | true | none | Whether or not admin can create, edit, or terminate a card |
RequestCardFunding | boolean | true | none | Whether or not admin can create a card funding request |
ViewCardNumberReport | boolean | true | none | Whether or not admin can view the card number report |
ModifyTransactionNotes | boolean | true | none | Whether or not admin can modify transaction notes |
AdministerInstantIssueCards | boolean | false | none | Whether or not admin can administer instant issue cards |
EditAdminResponse
{
"Admin": {
"BusinessAdminId": 0,
"FirstName": "",
"MiddleName": "",
"LastName": "",
"ProfileAddress": {
"ContactName": "",
"AddressLine1": "",
"AddressLine2": "",
"City": "",
"State": "",
"PostalCode": "",
"Country": ""
},
"Phone": "",
"AltPhone": "",
"DateOfBirth": "",
"Email": "",
"Permissions": {
"ViewAdministration": false,
"AddEditTerminateAdministrator": false,
"RequestDeleteACHTransfer": false,
"EditBusinessProfile": false,
"AddEditTerminateCard": false,
"RequestCardFunding": false,
"ViewCardNumberReport": false,
"ModifyTransactionNotes": false,
"AdministerInstantIssueCards": false
},
"Status": ""
}
}
EditAdminResponse
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
Admin | BusinessAdmin | true | none | Details about the business admin |
BusinessAdmin
{
"BusinessAdminId": 0,
"FirstName": "",
"MiddleName": "",
"LastName": "",
"ProfileAddress": {
"ContactName": "",
"AddressLine1": "",
"AddressLine2": "",
"City": "",
"State": "",
"PostalCode": "",
"Country": ""
},
"Phone": "",
"AltPhone": "",
"DateOfBirth": "",
"Email": "",
"Permissions": {
"ViewAdministration": false,
"AddEditTerminateAdministrator": false,
"RequestDeleteACHTransfer": false,
"EditBusinessProfile": false,
"AddEditTerminateCard": false,
"RequestCardFunding": false,
"ViewCardNumberReport": false,
"ModifyTransactionNotes": false,
"AdministerInstantIssueCards": false
},
"Status": ""
}
BusinessAdmin
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
BusinessAdminId | integer(int32) | true | none | Unique business admin id |
FirstName | string | true | none | First name |
MiddleName | string | false | none | Middle name |
LastName | string | true | none | Last name |
ProfileAddress | AddressContact | true | none | none |
Phone | string | false | none | Phone number |
AltPhone | string | false | none | Alternative phone number |
DateOfBirth | string(date-time) | true | none | Admin date of birth |
string | true | none | Admin email address | |
Permissions | AdminPermissions | true | none | Details about the permissions for an admin |
Status | string | true | none | Status of the business admin |
GetAdminResponse
{
"Admin": {
"BusinessAdminId": 0,
"FirstName": "",
"MiddleName": "",
"LastName": "",
"ProfileAddress": {
"ContactName": "",
"AddressLine1": "",
"AddressLine2": "",
"City": "",
"State": "",
"PostalCode": "",
"Country": ""
},
"Phone": "",
"AltPhone": "",
"DateOfBirth": "",
"Email": "",
"Permissions": {
"ViewAdministration": false,
"AddEditTerminateAdministrator": false,
"RequestDeleteACHTransfer": false,
"EditBusinessProfile": false,
"AddEditTerminateCard": false,
"RequestCardFunding": false,
"ViewCardNumberReport": false,
"ModifyTransactionNotes": false,
"AdministerInstantIssueCards": false
},
"Status": ""
}
}
GetAdminResponse
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
Admin | BusinessAdmin | true | none | Details about the business admin |
GetAdminListResponse
{
"BusinessAdmins": [
{
"BusinessAdminId": 0,
"FirstName": "",
"MiddleName": "",
"LastName": "",
"ProfileAddress": {
"ContactName": "",
"AddressLine1": "",
"AddressLine2": "",
"City": "",
"State": "",
"PostalCode": "",
"Country": ""
},
"Phone": "",
"AltPhone": "",
"DateOfBirth": "",
"Email": "",
"Permissions": {
"ViewAdministration": false,
"AddEditTerminateAdministrator": false,
"RequestDeleteACHTransfer": false,
"EditBusinessProfile": false,
"AddEditTerminateCard": false,
"RequestCardFunding": false,
"ViewCardNumberReport": false,
"ModifyTransactionNotes": false,
"AdministerInstantIssueCards": false
},
"Status": ""
}
]
}
GetAdminListResponse
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
BusinessAdmins | [BusinessAdmin] | true | none | List of details about business admins |
GetBusinessBalanceResponse
{
"BusinessAccountId": 0,
"BusinessAccountBalance": 0
}
GetBusinessBalanceResponse
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
BusinessAccountId | integer(int32) | false | none | Business account id |
BusinessAccountBalance | number(double) | false | none | Business account balance |
AdvancedCardholderDetailsResponse
{
"AccountId": 0,
"Group": {
"Id": 0,
"GroupName": ""
},
"AccountStatus": "",
"LedgerBalance": 0,
"AvailableBalance": 0,
"ProfileAddress": {
"ContactName": "",
"AddressLine1": "",
"AddressLine2": "",
"City": "",
"State": "",
"PostalCode": "",
"Country": ""
},
"Phone": "",
"ShippingAddress": {
"ContactName": "",
"AddressLine1": "",
"AddressLine2": "",
"City": "",
"State": "",
"PostalCode": "",
"Country": ""
},
"ShippingPhone": "",
"DateOfBirth": "",
"Email": "",
"CardList": [
{
"CardId": 0,
"IssuedDate": "",
"ExpirationDate": "",
"Last4CardNumber": "",
"CardStatus": ""
}
],
"SpendingRulesetId": 0,
"SpendRules": {
"MerchantCategories": [
{
"Id": 0,
"Name": "",
"Description": "",
"TransactionLimit": 0,
"DailySpendLimit": 0,
"WeeklySpendLimit": 0,
"MonthlySpendLimit": 0,
"YearlySpendLimit": 0,
"LifetimeSpendLimit": 0
}
],
"InternationalSpendEnabled": false,
"IsDailySpendLimitEnabled": false,
"DailySpendLimit": 0,
"WeeklySpendLimit": 0,
"MonthlySpendLimit": 0,
"YearlySpendLimit": 0,
"LifetimeSpendLimit": 0,
"CardNotPresentUse": false,
"CardPresence": 0,
"UsePexAccountBalanceForAuths": false,
"UseCustomerAuthDecision": false,
"DaysOfWeekRestrictions": [
"string"
],
"UsStateRestrictions": [
"string"
]
},
"ScheduledFunding": {
"Amount": 0,
"Frequency": ""
},
"CustomId": "",
"IsVirtual": false
}
AdvancedCardholderDetailsResponse
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
AccountId | integer(int32) | false | none | Unique cardholder account id |
Group | CardholderGroup | false | none | Details about a cardholder group |
AccountStatus | string | false | none | Cardholder account status (OPEN or CLOSED) |
LedgerBalance | number(double) | false | none | Ledger balance for the card account, rounded to 2 decimal places |
AvailableBalance | number(double) | false | none | Available balance for the card account, rounded to 2 decimal places |
ProfileAddress | AddressContact | false | none | none |
Phone | string | false | none | Phone number |
ShippingAddress | AddressContact | false | none | none |
ShippingPhone | string | false | none | Shipping Phone number |
DateOfBirth | string(date-time) | false | none | Cardholder date of birth |
string | false | none | Cardholder email address | |
CardList | [CardDetail] | false | none | List of details about cards associated with the account |
SpendingRulesetId | integer(int32) | false | none | SpendingRulesetId for the cardholder account |
SpendRules | AdvancedSpendRulesResponse | false | none | Advanced Spend Rules Response |
ScheduledFunding | ScheduledFunding | false | none | Details about scheduled funding |
CustomId | string | false | none | User defined Id which can be assigned to Card holder profile (alphanumeric up to 50 characters) |
IsVirtual | boolean | false | none | Identifies virtual cardholder |
AdvancedSpendingRulesetItemResponse
{
"Id": 0,
"Name": "",
"CardCount": 0,
"DailySpendLimit": 0,
"WeeklySpendLimit": 0,
"MonthlySpendLimit": 0,
"YearlySpendLimit": 0,
"LifetimeSpendLimit": 0,
"InternationalAllowed": false,
"CardNotPresentAllowed": false,
"CardPresence": 0,
"UsePexAccountBalanceForAuths": false,
"UseCustomerAuthDecision": false,
"DaysOfWeekRestrictions": [
"string"
],
"UsStateRestrictions": [
"string"
],
"MccRestrictions": false,
"MerchantCategories": [
{
"Id": 0,
"Name": "",
"Description": "",
"TransactionLimit": 0,
"DailySpendLimit": 0,
"WeeklySpendLimit": 0,
"MonthlySpendLimit": 0,
"YearlySpendLimit": 0,
"LifetimeSpendLimit": 0
}
]
}
AdvancedSpendingRulesetItemResponse
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
Id | integer(int32) | false | none | Id |
Name | string | false | none | Name |
CardCount | integer(int32) | false | none | Card Count |
DailySpendLimit | number(double) | false | none | Daily Spend Limit |
WeeklySpendLimit | number(double) | false | none | Weekly Spend Limit |
MonthlySpendLimit | number(double) | false | none | Monthly Spend Limit |
YearlySpendLimit | number(double) | false | none | Yearly Spend Limit |
LifetimeSpendLimit | number(double) | false | none | Lifetime Spend Limit |
InternationalAllowed | boolean | false | none | International Allowed |
CardNotPresentAllowed | boolean | false | none | Card Not Present Allowed |
CardPresence | integer(int32) | false | none | CardPresence: Control how PEX Card can be used for purchases, either physically present at the point-of-sale or used virtually over the Internet or phone. 0 - Card present (in person) transaction only. If the cardholder only makes purchase in person, choose this option for better fraud protection. 1 - No restrictions. A cardholder can make purchases both in-person and online/over the internet. 2 - Card not present (online) transactions only. If the cardholder only makes purchases over the internet/online, choose this option for better fraud protection. |
UsePexAccountBalanceForAuths | boolean | false | none | Use Pex Account Balance For Auths |
UseCustomerAuthDecision | boolean | false | none | Use Customer Auth Decision |
DaysOfWeekRestrictions | [string] | false | none | Whether or not limit days of the week for spend |
UsStateRestrictions | [string] | false | none | Whether or not limit US States for spend |
MccRestrictions | boolean | false | none | MCC Restrictions |
MerchantCategories | [AdvancedSpendingRulesetMerchantCategoryItemResponse] | false | none | Merchant Categories |
AdvancedSpendingRulesetMerchantCategoryItemResponse
{
"Id": 0,
"Name": "",
"Description": "",
"TransactionLimit": 0,
"DailySpendLimit": 0,
"WeeklySpendLimit": 0,
"MonthlySpendLimit": 0,
"YearlySpendLimit": 0,
"LifetimeSpendLimit": 0
}
AdvancedSpendingRulesetMerchantCategoryItemResponse
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
Id | integer(int32) | false | none | Id |
Name | string | false | none | Name |
Description | string | false | none | Description |
TransactionLimit | number(double) | false | none | Transaction Limit |
DailySpendLimit | number(double) | false | none | Daily Spend Limit |
WeeklySpendLimit | number(double) | false | none | Weekly Spend Limit |
MonthlySpendLimit | number(double) | false | none | Monthly Spend Limit |
YearlySpendLimit | number(double) | false | none | Yearly Spend Limit |
LifetimeSpendLimit | number(double) | false | none | Lifetime Spend Limit |
CreateAdvancedSpendingRulesetRequest
{
"Name": "",
"DailySpendLimit": 0,
"WeeklySpendLimit": 0,
"MonthlySpendLimit": 0,
"YearlySpendLimit": 0,
"LifetimeSpendLimit": 0,
"MerchantCategories": [
{
"Id": 0,
"Name": "",
"TransactionLimit": 0,
"DailySpendLimit": 0,
"WeeklySpendLimit": 0,
"MonthlySpendLimit": 0,
"YearlySpendLimit": 0,
"LifetimeSpendLimit": 0
}
],
"InternationalAllowed": false,
"CardNotPresentAllowed": false,
"CardPresence": 0,
"UsePexAccountBalanceForAuths": false,
"UseCustomerAuthDecision": false,
"DaysOfWeekRestrictions": [
"string"
],
"UsStateRestrictions": [
"string"
]
}
CreateAdvancedSpendingRulesetRequest
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
Name | string | true | none | Advance Spending Ruleset name |
DailySpendLimit | number(double) | false | none | Advance Spending Ruleset daily spending limit |
WeeklySpendLimit | number(double) | false | none | Advance Spending Ruleset weekly spending limit |
MonthlySpendLimit | number(double) | false | none | Advance Spending Ruleset monthly spending limit |
YearlySpendLimit | number(double) | false | none | Advance Spending Ruleset yearly spending limit |
LifetimeSpendLimit | number(double) | false | none | Advance Spending Ruleset lifetime spending limit |
MerchantCategories | [AdvancedSpendingRulesetMerchantCategory] | false | none | Merchant categories |
InternationalAllowed | boolean | false | none | Advance Spending Ruleset international purchases allowed |
CardNotPresentAllowed | boolean | false | none | Advance Spending Ruleset card not present allowed on purchases |
CardPresence | integer(int32) | false | none | Advance Spending Ruleset card not present allowed or not allowed on purchases |
UsePexAccountBalanceForAuths | boolean | false | none | Advance Spending Ruleset use PEX account balance instead of card balance allowed |
UseCustomerAuthDecision | boolean | false | none | Advance Spending Ruleset use customer authorization decision allowed |
DaysOfWeekRestrictions | [string] | false | none | Whether or not limit days of the week for spend |
UsStateRestrictions | [string] | false | none | Whether or not limit US States for spend |
AdvancedSpendingRulesetMerchantCategory
{
"Id": 0,
"Name": "",
"TransactionLimit": 0,
"DailySpendLimit": 0,
"WeeklySpendLimit": 0,
"MonthlySpendLimit": 0,
"YearlySpendLimit": 0,
"LifetimeSpendLimit": 0
}
AdvancedSpendingRulesetMerchantCategory
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
Id | integer(int32) | false | none | Merchant Category Id |
Name | string | false | none | Merchant Category Name |
TransactionLimit | number(double) | false | none | Transaction Limit |
DailySpendLimit | number(double) | false | none | Daily limit |
WeeklySpendLimit | number(double) | false | none | Weekly limit |
MonthlySpendLimit | number(double) | false | none | Monthly limit |
YearlySpendLimit | number(double) | false | none | Yearly limit |
LifetimeSpendLimit | number(double) | false | none | Lifetime limit |
CreateAdvancedSpendingRulesetResponse
{
"RulesetId": 0
}
CreateAdvancedSpendingRulesetResponse
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
RulesetId | integer(int32) | false | none | Advance Spending Ruleset ID |
UpdateAdvancedSpendingRulesetRequest
{
"Id": 0,
"Name": "",
"DailySpendLimit": 0,
"WeeklySpendLimit": 0,
"MonthlySpendLimit": 0,
"YearlySpendLimit": 0,
"LifetimeSpendLimit": 0,
"MerchantCategories": [
{
"Id": 0,
"Name": "",
"TransactionLimit": 0,
"DailySpendLimit": 0,
"WeeklySpendLimit": 0,
"MonthlySpendLimit": 0,
"YearlySpendLimit": 0,
"LifetimeSpendLimit": 0
}
],
"InternationalAllowed": false,
"CardNotPresentAllowed": false,
"CardPresence": 0,
"UsePexAccountBalanceForAuths": false,
"UseCustomerAuthDecision": false,
"DaysOfWeekRestrictions": [
"string"
],
"UsStateRestrictions": [
"string"
]
}
UpdateAdvancedSpendingRulesetRequest
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
Id | integer(int32) | true | none | Advance Spending Ruleset Id |
Name | string | true | none | Advance Spending Ruleset name |
DailySpendLimit | number(double) | false | none | Advance Spending Ruleset daily spending limit |
WeeklySpendLimit | number(double) | false | none | Advance Spending Ruleset weekly spending limit |
MonthlySpendLimit | number(double) | false | none | Advance Spending Ruleset monthly spending limit |
YearlySpendLimit | number(double) | false | none | Advance Spending Ruleset yearly spending limit |
LifetimeSpendLimit | number(double) | false | none | Advance Spending Ruleset lifetime spending limit |
MerchantCategories | [AdvancedSpendingRulesetMerchantCategory] | false | none | Merchant categories |
InternationalAllowed | boolean | false | none | Advance Spending Ruleset international purchases allowed |
CardNotPresentAllowed | boolean | false | none | Advance Spending Ruleset card not present allowed on purchases |
CardPresence | integer(int32) | false | none | Advance Spending Ruleset card not present allowed or not allowed on purchases |
UsePexAccountBalanceForAuths | boolean | false | none | Advance Spending Ruleset use PEX account balance instead of card balance allowed |
UseCustomerAuthDecision | boolean | false | none | Advance Spending Ruleset use customer authorization decision allowed |
DaysOfWeekRestrictions | [string] | false | none | Whether or not limit days of the week for spend |
UsStateRestrictions | [string] | false | none | Whether or not limit US States for spend |
DeleteAdvancedSpendingRulesetRequest
{
"Id": 0
}
DeleteAdvancedSpendingRulesetRequest
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
Id | integer(int32) | true | none | Advance Spending Ruleset Id |
GetSpendingRulesetsResponse
{
"SpendingRulesets": [
{
"RulesetId": 0,
"SpendingRulesetCategories": {
"CategoryId": 0,
"AssociationsOrganizationsAllowed": false,
"AutomotiveDealersAllowed": false,
"EducationalServicesAllowed": false,
"EntertainmentAllowed": false,
"FuelPumpsAllowed": false,
"GasStationsConvenienceStoresAllowed": false,
"GroceryStoresAllowed": false,
"HealthcareChildcareServicesAllowed": false,
"ProfessionalServicesAllowed": false,
"RestaurantsAllowed": false,
"RetailStoresAllowed": false,
"TravelTransportationAllowed": false,
"HardwareStoresAllowed": false
},
"MccRestrictions": false,
"BacctId": 0,
"Name": "",
"CountCardsPresent": 0,
"DailySpendLimit": 0,
"WeeklySpendLimit": 0,
"MonthlySpendLimit": 0,
"YearlySpendLimit": 0,
"LifetimeSpendLimit": 0,
"InternationalAllowed": false,
"CardNotPresentAllowed": false,
"CardPresence": 0,
"UsePexAccountBalanceForAuths": false,
"UseCustomerAuthDecision": false
}
]
}
GetSpendingRulesetsResponse
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
SpendingRulesets | [SpendingRuleset] | false | none | none |
SpendingRuleset
{
"RulesetId": 0,
"SpendingRulesetCategories": {
"CategoryId": 0,
"AssociationsOrganizationsAllowed": false,
"AutomotiveDealersAllowed": false,
"EducationalServicesAllowed": false,
"EntertainmentAllowed": false,
"FuelPumpsAllowed": false,
"GasStationsConvenienceStoresAllowed": false,
"GroceryStoresAllowed": false,
"HealthcareChildcareServicesAllowed": false,
"ProfessionalServicesAllowed": false,
"RestaurantsAllowed": false,
"RetailStoresAllowed": false,
"TravelTransportationAllowed": false,
"HardwareStoresAllowed": false
},
"MccRestrictions": false,
"BacctId": 0,
"Name": "",
"CountCardsPresent": 0,
"DailySpendLimit": 0,
"WeeklySpendLimit": 0,
"MonthlySpendLimit": 0,
"YearlySpendLimit": 0,
"LifetimeSpendLimit": 0,
"InternationalAllowed": false,
"CardNotPresentAllowed": false,
"CardPresence": 0,
"UsePexAccountBalanceForAuths": false,
"UseCustomerAuthDecision": false
}
SpendingRuleset
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
RulesetId | integer(int32) | false | none | none |
SpendingRulesetCategories | SpendingRulesetCategories | false | none | none |
MccRestrictions | boolean | false | read-only | none |
BacctId | integer(int32) | false | none | none |
Name | string | true | none | none |
CountCardsPresent | integer(int32) | false | none | none |
DailySpendLimit | number(double) | false | none | none |
WeeklySpendLimit | number(double) | false | none | none |
MonthlySpendLimit | number(double) | false | none | none |
YearlySpendLimit | number(double) | false | none | none |
LifetimeSpendLimit | number(double) | false | none | none |
InternationalAllowed | boolean | false | none | none |
CardNotPresentAllowed | boolean | false | none | none |
CardPresence | integer(int32) | false | none | none |
UsePexAccountBalanceForAuths | boolean | false | none | none |
UseCustomerAuthDecision | boolean | false | none | none |
SpendingRulesetCategories
{
"CategoryId": 0,
"AssociationsOrganizationsAllowed": false,
"AutomotiveDealersAllowed": false,
"EducationalServicesAllowed": false,
"EntertainmentAllowed": false,
"FuelPumpsAllowed": false,
"GasStationsConvenienceStoresAllowed": false,
"GroceryStoresAllowed": false,
"HealthcareChildcareServicesAllowed": false,
"ProfessionalServicesAllowed": false,
"RestaurantsAllowed": false,
"RetailStoresAllowed": false,
"TravelTransportationAllowed": false,
"HardwareStoresAllowed": false
}
SpendingRulesetCategories
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
CategoryId | integer(int32) | false | none | none |
AssociationsOrganizationsAllowed | boolean | false | none | none |
AutomotiveDealersAllowed | boolean | false | none | none |
EducationalServicesAllowed | boolean | false | none | none |
EntertainmentAllowed | boolean | false | none | none |
FuelPumpsAllowed | boolean | false | none | none |
GasStationsConvenienceStoresAllowed | boolean | false | none | none |
GroceryStoresAllowed | boolean | false | none | none |
HealthcareChildcareServicesAllowed | boolean | false | none | none |
ProfessionalServicesAllowed | boolean | false | none | none |
RestaurantsAllowed | boolean | false | none | none |
RetailStoresAllowed | boolean | false | none | none |
TravelTransportationAllowed | boolean | false | none | none |
HardwareStoresAllowed | boolean | false | none | none |
CreateSpendingRulesetRequest
{
"Name": "",
"DailySpendLimit": 0,
"SpendingRulesetCategories": {
"CategoryId": 0,
"AssociationsOrganizationsAllowed": false,
"AutomotiveDealersAllowed": false,
"EducationalServicesAllowed": false,
"EntertainmentAllowed": false,
"FuelPumpsAllowed": false,
"GasStationsConvenienceStoresAllowed": false,
"GroceryStoresAllowed": false,
"HealthcareChildcareServicesAllowed": false,
"ProfessionalServicesAllowed": false,
"RestaurantsAllowed": false,
"RetailStoresAllowed": false,
"TravelTransportationAllowed": false,
"HardwareStoresAllowed": false
},
"InternationalAllowed": false,
"CardNotPresentAllowed": false,
"CardPresence": 0,
"UsePexAccountBalanceForAuths": false,
"UseCustomerAuthDecision": false
}
CreateSpendingRulesetRequest
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
Name | string | true | none | Spending Ruleset name |
DailySpendLimit | number(double) | false | none | Spending Ruleset daily spending limit |
SpendingRulesetCategories | SpendingRulesetCategories | false | none | none |
InternationalAllowed | boolean | false | none | Spending Ruleset MCC restrictions |
CardNotPresentAllowed | boolean | false | none | Spending Ruleset card not present allowed on purchases |
CardPresence | integer(int32) | false | none | Used to evaluate spend policy based on physical or virtual use of card |
UsePexAccountBalanceForAuths | boolean | false | none | Spending Ruleset use PEX account balance instead of card balance allowed |
UseCustomerAuthDecision | boolean | false | none | Spending Ruleset use customer authorization decision allowed |
CreateSpendingRulesetResponse
{
"RulesetId": 0
}
CreateSpendingRulesetResponse
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
RulesetId | integer(int32) | false | none | none |
UpdateSpendingRulesetRequest
{
"RulesetId": 0,
"Name": "",
"CountCardsPresent": 0,
"DailySpendLimit": 0,
"SpendingRulesetCategories": {
"CategoryId": 0,
"AssociationsOrganizationsAllowed": false,
"AutomotiveDealersAllowed": false,
"EducationalServicesAllowed": false,
"EntertainmentAllowed": false,
"FuelPumpsAllowed": false,
"GasStationsConvenienceStoresAllowed": false,
"GroceryStoresAllowed": false,
"HealthcareChildcareServicesAllowed": false,
"ProfessionalServicesAllowed": false,
"RestaurantsAllowed": false,
"RetailStoresAllowed": false,
"TravelTransportationAllowed": false,
"HardwareStoresAllowed": false
},
"MccRestrictions": false,
"InternationalAllowed": false,
"CardNotPresentAllowed": false,
"CardPresence": 0,
"UsePexAccountBalanceForAuths": false,
"UseCustomerAuthDecision": false
}
UpdateSpendingRulesetRequest
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
RulesetId | integer(int32) | true | none | Spending Ruleset Id |
Name | string | true | none | Spending Ruleset name |
CountCardsPresent | integer(int32) | false | none | Spending Ruleset count cards present |
DailySpendLimit | number(double) | false | none | Spending Ruleset daily spending limit |
SpendingRulesetCategories | SpendingRulesetCategories | false | none | none |
MccRestrictions | boolean | false | read-only | Spending Ruleset MCC restrictions |
InternationalAllowed | boolean | false | none | Spending Ruleset international purchases allowed |
CardNotPresentAllowed | boolean | false | none | Spending Ruleset card not present allowed on purchases |
CardPresence | integer(int32) | false | none | Used to evaluate spend policy based on physical or virtual use of card |
UsePexAccountBalanceForAuths | boolean | false | none | Spending Ruleset use PEX account balance instead of card balance allowed |
UseCustomerAuthDecision | boolean | false | none | Spending Ruleset use customer authorization decision allowed |
SpendingRulesetResponse
{
"RulesetId": 0
}
SpendingRulesetResponse
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
RulesetId | integer(int32) | false | none | Spending Ruleset Id |
DeleteSpendingRulesetRequest
{
"RulesetId": 0
}
DeleteSpendingRulesetRequest
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
RulesetId | integer(int32) | true | none | Spending Ruleset Id |
GetSpendingRulesetResponse
{
"SpendingRuleset": {
"RulesetId": 0,
"Name": "",
"DailySpendLimit": 0,
"SpendingRulesetCategories": {
"CategoryId": 0,
"AssociationsOrganizationsAllowed": false,
"AutomotiveDealersAllowed": false,
"EducationalServicesAllowed": false,
"EntertainmentAllowed": false,
"FuelPumpsAllowed": false,
"GasStationsConvenienceStoresAllowed": false,
"GroceryStoresAllowed": false,
"HealthcareChildcareServicesAllowed": false,
"ProfessionalServicesAllowed": false,
"RestaurantsAllowed": false,
"RetailStoresAllowed": false,
"TravelTransportationAllowed": false,
"HardwareStoresAllowed": false
},
"MccRestrictions": false,
"InternationalAllowed": false,
"CardNotPresentAllowed": false,
"CardPresence": 0,
"UsePexAccountBalanceForAuths": false,
"UseCustomerAuthDecision": false
}
}
GetSpendingRulesetResponse
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
SpendingRuleset | SpendingRulesetGet | false | none | Spending Ruleset Get |
SpendingRulesetGet
{
"RulesetId": 0,
"Name": "",
"DailySpendLimit": 0,
"SpendingRulesetCategories": {
"CategoryId": 0,
"AssociationsOrganizationsAllowed": false,
"AutomotiveDealersAllowed": false,
"EducationalServicesAllowed": false,
"EntertainmentAllowed": false,
"FuelPumpsAllowed": false,
"GasStationsConvenienceStoresAllowed": false,
"GroceryStoresAllowed": false,
"HealthcareChildcareServicesAllowed": false,
"ProfessionalServicesAllowed": false,
"RestaurantsAllowed": false,
"RetailStoresAllowed": false,
"TravelTransportationAllowed": false,
"HardwareStoresAllowed": false
},
"MccRestrictions": false,
"InternationalAllowed": false,
"CardNotPresentAllowed": false,
"CardPresence": 0,
"UsePexAccountBalanceForAuths": false,
"UseCustomerAuthDecision": false
}
SpendingRulesetGet
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
RulesetId | integer(int32) | false | none | Ruleset Id |
Name | string | true | none | Name |
DailySpendLimit | number(double) | false | none | Daily Spend Limit |
SpendingRulesetCategories | SpendingRulesetCategories | false | none | none |
MccRestrictions | boolean | false | read-only | Mcc Restrictions |
InternationalAllowed | boolean | false | none | International Allowed |
CardNotPresentAllowed | boolean | false | none | Card Not Present Allowed |
CardPresence | integer(int32) | false | none | Used to evaluate spend policy based on physical or virtual use of card |
UsePexAccountBalanceForAuths | boolean | false | none | Use Pex Account Balance For Auths |
UseCustomerAuthDecision | boolean | false | none | Use Customer Auth Decision |
RemoteAuthorizationResponse
{
"StatusCode": "",
"Ticks": 0
}
RemoteAuthorizationResponse
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
StatusCode | string | false | none | Status Code |
Ticks | integer(int64) | false | none | Ticks |
Enumerated Values
Property | Value |
---|---|
StatusCode | Continue |
StatusCode | SwitchingProtocols |
StatusCode | OK |
StatusCode | Created |
StatusCode | Accepted |
StatusCode | NonAuthoritativeInformation |
StatusCode | NoContent |
StatusCode | ResetContent |
StatusCode | PartialContent |
StatusCode | MultipleChoices |
StatusCode | Ambiguous |
StatusCode | MovedPermanently |
StatusCode | Moved |
StatusCode | Found |
StatusCode | Redirect |
StatusCode | SeeOther |
StatusCode | RedirectMethod |
StatusCode | NotModified |
StatusCode | UseProxy |
StatusCode | Unused |
StatusCode | TemporaryRedirect |
StatusCode | RedirectKeepVerb |
StatusCode | BadRequest |
StatusCode | Unauthorized |
StatusCode | PaymentRequired |
StatusCode | Forbidden |
StatusCode | NotFound |
StatusCode | MethodNotAllowed |
StatusCode | NotAcceptable |
StatusCode | ProxyAuthenticationRequired |
StatusCode | RequestTimeout |
StatusCode | Conflict |
StatusCode | Gone |
StatusCode | LengthRequired |
StatusCode | PreconditionFailed |
StatusCode | RequestEntityTooLarge |
StatusCode | RequestUriTooLong |
StatusCode | UnsupportedMediaType |
StatusCode | RequestedRangeNotSatisfiable |
StatusCode | ExpectationFailed |
StatusCode | UpgradeRequired |
StatusCode | InternalServerError |
StatusCode | NotImplemented |
StatusCode | BadGateway |
StatusCode | ServiceUnavailable |
StatusCode | GatewayTimeout |
StatusCode | HttpVersionNotSupported |
CreateNoteByNetworkTransactionIdRequest
{
"NoteText": "",
"NetworkTransactionId": 0
}
CreateNoteByNetworkTransactionIdRequest
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
NoteText | string | true | none | Transaction note text |
NetworkTransactionId | integer(int64) | true | none | Transaction id |
NoteResponse
{
"Id": 0
}
NoteResponse
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
Id | integer(int64) | false | none | Transaction note id |
CreateNoteRequest
{
"TransactionId": 0,
"NoteText": "",
"Pending": false
}
CreateNoteRequest
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
TransactionId | integer(int64) | true | none | Transaction id |
NoteText | string | true | none | Transaction note text |
Pending | boolean | false | none | Is pending transaction |
NoteRequest
{
"NoteText": "",
"Pending": false
}
NoteRequest
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
NoteText | string | true | none | Transaction note text |
Pending | boolean | false | none | Is pending transaction |
DeleteNoteRequest
{
"Pending": false
}
DeleteNoteRequest
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
Pending | boolean | false | none | Is pending transaction |
GetGroupsResponse
{
"Groups": [
{
"Id": 0,
"Name": ""
}
]
}
GetGroupsResponse
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
Groups | [Group] | true | none | The list of groups |
Group
{
"Id": 0,
"Name": ""
}
Group
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
Id | integer(int32) | true | none | Unique Id of the Group |
Name | string | true | none | Group Name |
CreateGroupRequest
{
"Name": ""
}
CreateGroupRequest
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
Name | string | true | none | Group name |
CreateGroupResponse
{
"Group": {
"Id": 0,
"Name": ""
}
}
CreateGroupResponse
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
Group | Group | true | none | Details about a cardholder group |
UpdateGroupRequest
{
"Name": ""
}
UpdateGroupRequest
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
Name | string | true | none | Group name |
UpdateGroupResponse
{
"Group": {
"Id": 0,
"Name": ""
}
}
UpdateGroupResponse
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
Group | Group | true | none | Details about a cardholder group |
RemoveGroupResponse
{
"GroupId": 0
}
RemoveGroupResponse
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
GroupId | integer(int32) | true | none | The group ID that was removed |
CardHolderDetailsResponse
{
"FirstName": "",
"MiddleName": "",
"LastName": "",
"AccountId": 0,
"AccountNumber": "",
"AvailableBalance": 0,
"LedgerBalance": 0,
"SpendRules": false,
"AccountCreationTime": "",
"ManualStatus": "",
"SystemStatus": "",
"PinSet": false,
"BSAcctId": 0,
"IsVirtual": false,
"Group": {
"Id": 0,
"GroupName": ""
},
"SpendingRulesetModel": {
"RulesetId": 0,
"Name": ""
},
"EmbossingDetails": [
{
"AccountId": 0,
"CardNumber": "",
"ManualStatus": "",
"SystemStatus": "",
"CreatedDate": "",
"PlasticDetails": [
{
"PlasticSequence": "",
"ManualStatus": "",
"IssuedDate": "",
"ExpirationDate": ""
}
]
}
],
"CustomId": ""
}
CardHolderDetailsResponse
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
FirstName | string | false | none | Firs tName |
MiddleName | string | false | none | Middle Name |
LastName | string | false | none | Last Name |
AccountId | integer(int32) | false | none | Account Id |
AccountNumber | string | false | none | Account Number |
AvailableBalance | number(double) | false | none | Available Balance |
LedgerBalance | number(double) | false | none | Ledger Balance |
SpendRules | boolean | false | none | Spend Rules |
AccountCreationTime | string(date-time) | false | none | Account Creation Time |
ManualStatus | string | false | none | Manual Status |
SystemStatus | string | false | none | System Status |
PinSet | boolean | false | none | Pin Set |
BSAcctId | integer(int32) | false | none | Business Account Id |
IsVirtual | boolean | false | none | Identifies virtual cardholder |
Group | CardholderGroup | false | none | Details about a cardholder group |
SpendingRulesetModel | SpendingRulesetModel | false | none | Spending Ruleset Model |
EmbossingDetails | [EmbossingDetails] | false | none | Embossing Details |
CustomId | string | false | none | User defined Id which can be assigned to Card holder profile (alphanumeric up to 50 characters) |
SpendingRulesetModel
{
"RulesetId": 0,
"Name": ""
}
SpendingRulesetModel
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
RulesetId | integer(int32) | false | none | RulesetId |
Name | string | false | none | Name |
EmbossingDetails
{
"AccountId": 0,
"CardNumber": "",
"ManualStatus": "",
"SystemStatus": "",
"CreatedDate": "",
"PlasticDetails": [
{
"PlasticSequence": "",
"ManualStatus": "",
"IssuedDate": "",
"ExpirationDate": ""
}
]
}
EmbossingDetails
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
AccountId | integer(int32) | false | none | Account Id |
CardNumber | string | false | none | Card Number |
ManualStatus | string | false | none | Manual Status |
SystemStatus | string | false | none | System Status |
CreatedDate | string(date-time) | false | none | Created Date |
PlasticDetails | [PlasticDetials] | false | none | Plastic Details |
PlasticDetials
{
"PlasticSequence": "",
"ManualStatus": "",
"IssuedDate": "",
"ExpirationDate": ""
}
PlasticDetials
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
PlasticSequence | string | false | none | Plastic Sequence |
ManualStatus | string | false | none | Manual Status |
IssuedDate | string(date-time) | false | none | Issued Date |
ExpirationDate | string(date-time) | false | none | Expiration Date |
BulkResponse
{
"TotalNumberOfCards": 0
}
BulkResponse
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
TotalNumberOfCards | integer(int32) | false | none | Total number of cards |
FundingRequest
{
"Amount": 0
}
FundingRequest
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
Amount | number(double) | false | none | Funding amount |
FundMultipleCardsRequest
{
"Cards": [
{
"AccountId": 0,
"Amount": 0
}
],
"TransferType": ""
}
FundMultipleCardsRequest
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
Cards | [FundCardItem] | true | none | Cards |
TransferType | string | true | none | B2C or C2B fund or defund transfer type codes (ErrorMessage = "Required") [EnumDataType(TransferTypeEnum)] |
FundCardItem
{
"AccountId": 0,
"Amount": 0
}
FundCardItem
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
AccountId | integer(int32) | true | none | Account id |
Amount | number(double) | true | none | Funding amount |
FundMultipleCardsResponse
{
"Success": false,
"Results": [
{
"BusinessTransactionId": 0,
"BusinessCurrentBalance": 0,
"AccountId": 0,
"TransactionId": 0,
"CurrentBalance": 0,
"ResponseCode": 0,
"Message": ""
}
],
"Errors": [
{
"AccountId": 0,
"ResponseCode": 0,
"Message": ""
}
]
}
FundMultipleCardsResponse
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
Success | boolean | false | none | Success |
Results | [FundCardItemResponse] | false | none | Succesful funding |
Errors | [FundCardItemErrorResponse] | false | none | Unsuccesful fundings with errors |
FundCardItemResponse
{
"BusinessTransactionId": 0,
"BusinessCurrentBalance": 0,
"AccountId": 0,
"TransactionId": 0,
"CurrentBalance": 0,
"ResponseCode": 0,
"Message": ""
}
FundCardItemResponse
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
BusinessTransactionId | integer(int64) | false | none | Business transaction id |
BusinessCurrentBalance | number(double) | false | none | Business current balance |
AccountId | integer(int32) | false | none | Cardholder account id |
TransactionId | integer(int64) | false | none | Cardholder transaction id |
CurrentBalance | number(double) | false | none | Cardholder current balance |
ResponseCode | integer(int32) | false | none | Response code |
Message | string | false | none | Response message |
FundCardItemErrorResponse
{
"AccountId": 0,
"ResponseCode": 0,
"Message": ""
}
FundCardItemErrorResponse
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
AccountId | integer(int32) | false | none | Cardholder account id |
ResponseCode | integer(int32) | false | none | Response code |
Message | string | false | none | Response message |
ScheduledFundingRequest
{
"Frequency": "",
"Amount": 0
}
ScheduledFundingRequest
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
Frequency | string | false | none | Funding frequency <br/> Possible interger values for Frequency parameter of scheduled funding are: <br/> 0 - every Day <br/> 1 - every Monday <br/> 2 - every Tuesday <br/> 3 - every Wednesday <br/> 4 - every Thursday <br/> 5 - every Friday <br/> 6 - every Saturday <br/> 7 - every Sunday <br/> 8 - every 1st of the Month |
Amount | number(double) | false | none | Funding amount |
Enumerated Values
Property | Value |
---|---|
Frequency | DAY |
Frequency | MONDAY |
Frequency | TUESDAY |
Frequency | WEDNESDAY |
Frequency | THURSDAY |
Frequency | FRIDAY |
Frequency | SATURDAY |
Frequency | SUNDAY |
Frequency | FIRSTOFMONTH |
SpendingRulesetRequest
{
"RulesetId": 0
}
SpendingRulesetRequest
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
RulesetId | integer(int32) | false | none | Id of ruleset or null |
GetBusinessTokenProvisioningModeResponse
{
"TokenProvisioningMode": ""
}
GetBusinessTokenProvisioningModeResponse
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
TokenProvisioningMode | string | false | none | Business Token Provisioning Mode |
Enumerated Values
Property | Value |
---|---|
TokenProvisioningMode | DoNotTokenize |
TokenProvisioningMode | TokenizeStepUpIfNeeded |
TokenProvisioningMode | TokenizeStepUpAll |
GetCardholderTokenProvisioningModeResponse
{
"TokenProvisioningMode": ""
}
GetCardholderTokenProvisioningModeResponse
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
TokenProvisioningMode | string | false | none | Cardholder Token Provisioning Mode |
Enumerated Values
Property | Value |
---|---|
TokenProvisioningMode | DoNotTokenize |
TokenProvisioningMode | TokenizeStepUpIfNeeded |
TokenProvisioningMode | TokenizeStepUpAll |
ChangeCardholderTokenProvisioningModeRequest
{
"TokenProvisioningMode": ""
}
ChangeCardholderTokenProvisioningModeRequest
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
TokenProvisioningMode | string | false | none | Cardholder Token Provisioning Mode |
Enumerated Values
Property | Value |
---|---|
TokenProvisioningMode | DoNotTokenize |
TokenProvisioningMode | TokenizeStepUpIfNeeded |
TokenProvisioningMode | TokenizeStepUpAll |
GetIssuedTokensResponse
{
"TokenList": [
{
"ReferenceId": "",
"AccountId": 0,
"CardId": 0,
"Last4CardNumber": "",
"Last4TokenNumber": "",
"ExpirationDate": "",
"DeviceName": "",
"WalletName": "",
"Status": ""
}
]
}
GetIssuedTokensResponse
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
TokenList | [TokenDetail] | false | none | List of details about token with the account |
TokenDetail
{
"ReferenceId": "",
"AccountId": 0,
"CardId": 0,
"Last4CardNumber": "",
"Last4TokenNumber": "",
"ExpirationDate": "",
"DeviceName": "",
"WalletName": "",
"Status": ""
}
TokenDetail
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
ReferenceId | string | false | none | Unique id for the token |
AccountId | integer(int32) | false | none | Unique cardholder account id |
CardId | integer(int32) | false | none | Unique id for the card |
Last4CardNumber | string | false | none | Last four digits of card number |
Last4TokenNumber | string | false | none | Last four digits of toke |
ExpirationDate | string | false | none | Expiration date for the token |
DeviceName | string | false | none | Name of the device |
WalletName | string | false | none | Name of the wallet |
Status | string | false | none | Token status |