API Reference v2023.12.22.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 |
401 | Unauthorized | Token expired or does not exist | None |
403 | Forbidden | Cannot renew token | None |
Return all tokens for the app or user
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 app or user, including the expiration date/time.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | basic {Base64Encoded appId:appSecret} / token {USERTOKEN} |
Example responses
202 Response
{
"Tokens": [
{
"Token": "",
"SecondsUntilExpire": 0,
"ExpirationTime": ""
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
202 | Accepted | Accepted | GetAllTokensResponse |
400 | Bad Request | Invalid token format | None |
401 | Unauthorized | Token expired or does not exist | None |
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 | Success | GetTokenResponse |
400 | Bad Request | Invalid token format | None |
401 | Unauthorized | Token expired or does not exist | None |
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 |
400 | Bad Request | The request is invalid | None |
401 | Unauthorized | - Invalid authorization parameter (appId:appSecret as base64) | |
- Invalid username or password | None |
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 |
---|---|---|---|
204 | No Content | No Content | 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.
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.
NOTE: If the card is a replacement for an existing, damaged or expiring card, you should use the endpoint /Card/Activate/{id}/{cardid} and 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 |
400 | Bad Request | Either Card is still request to be Embossed or No Card for activation | None |
401 | Unauthorized | Token expired or does not exist | None |
403 | Forbidden | - Invalid card account ID |
- Cannot change status
- Admin does not have permission|None|
Response Schema
Status Code 200
IHttpActionResult
Name | Type | Required | Restrictions | Description |
---|
Activate a card for a specified Card ID
Code samples
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'string'
}
result = RestClient.post 'https://coreapi.pexcard.com/v4/Card/Activate/{id}/{cardId}',
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}/{cardId}', headers = headers)
print(r.json())
const headers = {
'Accept':'application/json',
'Authorization':'string'
};
fetch('https://coreapi.pexcard.com/v4/Card/Activate/{id}/{cardId}',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST /Card/Activate/{id}/{cardId}
Activate a card using the card accountID and Card ID.
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 |
cardId | path | integer(int32) | true | Card ID |
Authorization | header | string | true | token {USERTOKEN} |
Example responses
200 Response
{}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | Inline |
401 | Unauthorized | Token expired or does not exist | None |
403 | Forbidden | - Invalid card account ID |
- Invalid card ID
- Cannot change status
- Admin does not have permission|None|
Response Schema
Status Code 200
IHttpActionResult
Name | Type | Required | Restrictions | Description |
---|
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.1,
"DailySpendLimit": 0.1,
"WeeklySpendLimit": 0.1,
"MonthlySpendLimit": 0.1,
"YearlySpendLimit": 0.1,
"LifetimeSpendLimit": 0.1
}
],
"InternationalSpendEnabled": false,
"IsDailySpendLimitEnabled": false,
"DailySpendLimit": 0.1,
"WeeklySpendLimit": 0.1,
"MonthlySpendLimit": 0.1,
"YearlySpendLimit": 0.1,
"LifetimeSpendLimit": 0.1,
"CardNotPresentUse": false,
"CardPresence": 0,
"UsePexAccountBalanceForAuths": false,
"UseCustomerAuthDecision": false,
"DaysOfWeekRestrictions": [
"string"
],
"UsStateRestrictions": [
"string"
]
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | GetAdvancedSpendRulesResponse |
401 | Unauthorized | Token expired or does not exist | None |
403 | Forbidden | - Invalid card account ID |
- Must be card account ID
- Account closed|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.1,
"DailySpendLimit": 0.1,
"WeeklySpendLimit": 0.1,
"MonthlySpendLimit": 0.1,
"YearlySpendLimit": 0.1,
"LifetimeSpendLimit": 0.1
}
],
"InternationalSpendEnabled": false,
"DailySpendLimit": 0.1,
"WeeklySpendLimit": 0.1,
"MonthlySpendLimit": 0.1,
"YearlySpendLimit": 0.1,
"LifetimeSpendLimit": 0.1,
"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.1,
"DailySpendLimit": 0.1,
"WeeklySpendLimit": 0.1,
"MonthlySpendLimit": 0.1,
"YearlySpendLimit": 0.1,
"LifetimeSpendLimit": 0.1
}
],
"InternationalSpendEnabled": false,
"DailySpendLimit": 0.1,
"WeeklySpendLimit": 0.1,
"MonthlySpendLimit": 0.1,
"YearlySpendLimit": 0.1,
"LifetimeSpendLimit": 0.1,
"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 |
401 | Unauthorized | Token expired or does not exist | None |
403 | Forbidden |
|
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 |
400 | Bad Request | - Invalid PIN: All digits of the PIN are same | |
- Pin must be all numbers | None | ||
401 | Unauthorized | Token expired or does not exist | None |
403 | Forbidden | - Invalid card account ID | |
- Must be card account ID | None |
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 |
401 | Unauthorized | Token expired or does not exist | None |
403 | Forbidden | - Invalid card account ID | |
- Invalid group ID | None |
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.1,
"LedgerBalance": 0.1,
"TransactionId": 0
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | FundResponse |
401 | Unauthorized | Token expired or does not exist | None |
403 | Forbidden | - Card Account ID does not exist |
- Must be card account ID
- Insufficient funds on business
- Invalid amount
- Admin does not have permission
- Card available balance will exceed lifetime limit|None|
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": "",
"IsVirtual": false
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | CardOrderResponse |
401 | Unauthorized | Token expired or does not exist | None |
404 | Not Found | Invalid card order ID | 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 | Success | GetCardOrderResponse |
400 | Bad Request | - The value is not valid for StartDate | |
- The value is not valid for EndDate | None | ||
401 | Unauthorized | Token expired or does not exist | None |
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,
"CardholderType": "TeamMember",
"CustomId": ""
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | GetProfileResponse |
401 | Unauthorized | Token expired or does not exist | None |
403 | Forbidden | - Invalid card account ID | |
- Must be 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 CreateCardholder = true or ManageCardholder = 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.
A virtual or vendor card cannot be assigned to a spend policy that allows card present purchases.
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 |
400 | Bad Request | - Invalid date of birth |
- Invalid email address
- Invalid profile address
- Invalid shipping address|None| |401|Unauthorized|Token expired or does not exist|None| |403|Forbidden|- Invalid card account ID
- Must be card account ID
- Card group not found|None|
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.1,
"NoteText": ""
}';
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.1,
"NoteText": ""
}
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.1,
"LedgerBalance": 0.1,
"TransactionId": 0
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | FundResponse |
400 | Bad Request | The request is invalid | None |
401 | Unauthorized | Token expired or does not exist | None |
403 | Forbidden | - Invalid card account ID |
- Must be card account ID
- Insufficient funds on business
- Insufficient funds on card account
- Card available balance will exceed card limit
- Use Business Balance is enabled for card account
- Invalid amount
- Admin does not have permission|None|
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": "Invalid",
"DateOfBirth": "",
"Email": "",
"GroupId": 0,
"RulesetId": 0,
"VirtualCard": false,
"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.
Virtual Card - True to make the card virtual, False to emboss and ship a physical card.
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": "Invalid",
"DateOfBirth": "",
"Email": "",
"GroupId": 0,
"RulesetId": 0,
"VirtualCard": false,
"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 |
401 | Unauthorized | Token expired or does not exist | None |
403 | Forbidden | Admin does not have permission | None |
Emboss and ship physical cards for the business
Code samples
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Authorization' => 'string'
}
result = RestClient.post 'https://coreapi.pexcard.com/v4/Card/PhysicalEmbossingJob',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Authorization': 'string'
}
r = requests.post('https://coreapi.pexcard.com/v4/Card/PhysicalEmbossingJob', headers = headers)
print(r.json())
const inputBody = '{
"ShippingPhone": "",
"ShippingMethod": "Invalid",
"ShippingAddress": {
"ContactName": "",
"AddressLine1": "",
"AddressLine2": "",
"City": "",
"State": "",
"PostalCode": ""
},
"Accounts": [
0
]
}';
const headers = {
'Content-Type':'application/json',
'Authorization':'string'
};
fetch('https://coreapi.pexcard.com/v4/Card/PhysicalEmbossingJob',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST /Card/PhysicalEmbossingJob
Emboss and ship physical cards for previously created virtual cards within Expense and Disburse programs. Cannot be used on dedicated virtual card programs.
Action can only be provided once and is not substitute for replacing a compromised or damaged card.
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
Body parameter
{
"ShippingPhone": "",
"ShippingMethod": "Invalid",
"ShippingAddress": {
"ContactName": "",
"AddressLine1": "",
"AddressLine2": "",
"City": "",
"State": "",
"PostalCode": ""
},
"Accounts": [
0
]
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | token {USERTOKEN} |
body | body | PhysicalEmbossingJobRequest | true | Shipping data |
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
204 | No Content | Created | None |
400 | Bad Request | Invalid shipping method | None |
403 | Forbidden | Admin does not have permission | None |
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 |
401 | Unauthorized | Token expired or does not exist | None |
403 | Forbidden | - Invalid card account ID |
- Must be card account ID
- Cannot change status
- Admin does not have permission|None|
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": "Invalid"
}';
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": "Invalid"
}
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 |
400 | Bad Request | Invalid card status | None |
401 | Unauthorized | Token expired or does not exist | None |
403 | Forbidden | - Invalid card account ID |
- Cannot change status
- Admin does not have permission|None|
Response Schema
Status Code 200
IHttpActionResult
Name | Type | Required | Restrictions | Description |
---|
Return remaining limits allowed by the Lifetime Card Funding Limit determined in Business Settings.
Code samples
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'string'
}
result = RestClient.get 'https://coreapi.pexcard.com/v4/Card/LoadLimitRemaining/{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/LoadLimitRemaining/{id}', headers = headers)
print(r.json())
const headers = {
'Accept':'application/json',
'Authorization':'string'
};
fetch('https://coreapi.pexcard.com/v4/Card/LoadLimitRemaining/{id}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /Card/LoadLimitRemaining/{id}
Return remaining limits allowed by the Lifetime Card Funding Limit determined in Business Settings.
Definition of the returned fields and how the PEX system uses them:
LifetimeLimit: This value is the maximum amount of dollars that can be loaded onto a Cardholder's Account. Note: a value of zero indicates that there is no limit set for the account.
RemainingLimit: The amount of funds that can still be added to an account before exceeding the Lifetime Card Funding Limit (i.e. LifetimeLimit less the total funds added to the account to date). Note: a value of null is returned if the lifetime limit does not exist for the account.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
id | path | integer(int32) | true | Cardholder Account Id |
Authorization | header | string | true | token {USERTOKEN} |
Example responses
200 Response
{
"AccountId": 0,
"LifetimeLimit": 0.1,
"RemainingLimit": 0.1
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | CardLoadLimitResponse |
401 | Unauthorized | Token expired or does not exist | None |
403 | Forbidden | Invalid card account ID | None |
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.1,
"CardNotPresentUse": false,
"CardPresence": 0,
"UsePexAccountBalanceForAuths": false,
"UseCustomerAuthDecision": false
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | GetSpendRulesResponse |
401 | Unauthorized | Token expired or does not exist | None |
403 | Forbidden | - Invalid card account ID | |
- Must be card account ID | None |
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.1,
"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.1,
"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 |
401 | Unauthorized | Token expired or does not exist | None |
403 | Forbidden | - Invalid card account ID |
- Must be card account ID
- Account closed|None|
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.1,
"Frequency": "DAY"
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | GetScheduledFundingRulesResponse |
401 | Unauthorized | Token expired or does not exist | None |
403 | Forbidden | - Invalid card account ID | |
- Must be card account ID | None |
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.1,
"Frequency": "DAY"
}';
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.1,
"Frequency": "DAY"
}
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 |
400 | Bad Request | The request is invalid | None |
401 | Unauthorized | Token expired or does not exist | None |
403 | Forbidden | - Invalid card account ID |
- Must be card account ID
- Invalid amount|None|
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 |
---|---|---|---|
204 | No Content | No Content | None |
401 | Unauthorized | Token expired or does not exist | None |
403 | Forbidden | - Invalid card account ID | |
- Must be card account ID | None |
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 |
401 | Unauthorized | Token expired or does not exist | None |
403 | Forbidden | - Invalid card account ID |
- Invalid ruleset ID
- Account closed|None|
Generate a card view token that can be used to view full card details
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/CreateCardViewToken',
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/CreateCardViewToken', headers = headers)
print(r.json())
const inputBody = '{
"AcctId": 0
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'string'
};
fetch('https://coreapi.pexcard.com/v4/Card/CreateCardViewToken',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST /Card/CreateCardViewToken
Generate a card view token that can be used to view full card details
If the request is valid, you will receive a card view token which can be used on POST /Card/UseCardViewToken.
Body parameter
{
"AcctId": 0
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | token {USERTOKEN} |
body | body | CardViewTokenCreateRequest | true | none |
Example responses
200 Response
{
"CardViewToken": ""
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | CardViewTokenCreateResponse |
400 | Bad Request | - AccountId is not found | None |
403 | Forbidden | - Cardholder does not belong to this business |
- Admin is missing required permissions
- This business does not support the View Card Feature
- Cardholder does not have permission
- MFA required|None|
Consume a card view token in exchange for full card details
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/UseCardViewToken',
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/UseCardViewToken', headers = headers)
print(r.json())
const inputBody = '{
"CardViewToken": ""
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'string'
};
fetch('https://coreapi.pexcard.com/v4/Card/UseCardViewToken',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST /Card/UseCardViewToken
Consume a card view token in exchange for full card details
If the token has not been used and hasn't expired you will receive the card number, expiration date, and CVV2 in the response.
Body parameter
{
"CardViewToken": ""
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | token {USERTOKEN} |
body | body | CardViewTokenUseRequest | true | none |
Example responses
200 Response
{
"CardNumber": "",
"ExpirationDate": "",
"CVV2": ""
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | CardViewTokenUseResponse |
400 | Bad Request | - CardViewToken is missing | None |
403 | Forbidden | - Invalid card view token | None |
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.head 'https://coreapi.pexcard.com/v4/Details/Ping',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.head('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: 'HEAD',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
HEAD /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.1,
"AvailableBalance": 0.1,
"ProfileAddress": {
"ContactName": "",
"AddressLine1": "",
"AddressLine2": "",
"City": "",
"State": "",
"PostalCode": "",
"Country": ""
},
"Phone": "",
"ShippingAddress": {
"ContactName": "",
"AddressLine1": "",
"AddressLine2": "",
"City": "",
"State": "",
"PostalCode": "",
"Country": ""
},
"ShippingPhone": "",
"DateOfBirth": "",
"Email": "",
"IsVirtual": false,
"CardholderType": "TeamMember",
"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.1,
"CardNotPresentUse": false,
"CardPresence": 0,
"UsePexAccountBalanceForAuths": false,
"UseCustomerAuthDecision": false
},
"ScheduledFunding": {
"Amount": 0.1,
"Frequency": "DAY"
},
"CustomId": ""
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | CardholderDetailsResponse |
401 | Unauthorized | Token expired or does not exist | None |
403 | Forbidden | - Invalid card account ID | |
- Must be card account ID | None |
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": "PerDay",
"EnforcedLimit": 0.1,
"RemainingSpend": 0.1
}
],
"MerchantCategoryLimits": [
{
"MerchantCategoryId": 0,
"Category": "",
"Type": "PerDay",
"EnforcedLimit": 0.1,
"RemainingSpend": 0.1
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | AccountRemainingLimitsResponse |
401 | Unauthorized | Token expired or does not exist | None |
403 | Forbidden | - Invalid card account ID | |
- Must be card account ID | None |
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.1,
"PaddingAmount": 0.1,
"AvailableBalance": 0.1,
"LedgerBalance": 0.1,
"TransactionType": "",
"Description": "",
"TransactionNotes": [
{
"NoteId": 0,
"UserName": "",
"NoteText": "",
"NoteDate": ""
}
],
"HasReceipt": false,
"ReferencedTranId": 0,
"ReferencedTransactionTime": "",
"MerchantName": "",
"MerchantNameNormalized": "",
"MerchantUrl": "",
"MerchantLogoUrl": "",
"MerchantIconUrl": "",
"MerchantCity": "",
"MerchantState": "",
"MerchantZip": "",
"MerchantCountry": "",
"MCCCode": "",
"AuthIdentityResponseCode": "",
"MerchantId": "",
"TerminalId": "",
"SourceCurrencyCodeDescription": "",
"SourceCurrencyNumericCode": "",
"SourceAmount": 0.1,
"NetworkType": "",
"NetworkStatus": "",
"IsCardPresent": false,
"Message": "",
"MessageCode": "",
"MerchantRequestedAmount": 0.1
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | NetworkTransactionDetailsResponse |
400 | Bad Request | The request is invalid | None |
401 | Unauthorized | Token expired or does not exist | None |
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,
"BusinessAccountNumber": "",
"BusinessName": "",
"BusinessAccountStatus": "",
"BusinessAccountBalance": 0.1,
"PendingTransferAmount": 0.1,
"BankAccountList": [
{
"ExternalBankAcctId": 0,
"RoutingNumber": "",
"BankAccountNumber": "",
"BankName": "",
"BankAccountType": "",
"IsActive": false
}
],
"CHAccountList": [
{
"AccountId": 0,
"FirstName": "",
"LastName": "",
"Email": "",
"LedgerBalance": 0.1,
"AvailableBalance": 0.1,
"AccountStatus": "",
"IsVirtual": false,
"CardholderType": "",
"CustomId": "",
"GroupId": 0,
"GroupName": "",
"CardStatus": "",
"CardNumber4Digits": "",
"CardIssueDate": "",
"CardExpiryDate": ""
}
],
"CardholderGroups": [
{
"Id": 0,
"Name": ""
}
],
"OpenCardholdersCount": 0,
"OpenVendorCardsCount": 0
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | BusinessDetailsResponse |
401 | Unauthorized | Token expired or does not exist | None |
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.1,
"PaddingAmount": 0.1,
"TransactionType": "Transfer",
"Description": "",
"TransactionNotes": [
{
"NoteId": 0,
"UserName": "",
"NoteText": "",
"NoteDate": ""
}
],
"IsPending": false,
"IsDecline": false,
"HasReceipt": false,
"MerchantName": "",
"MerchantNameNormalized": "",
"MerchantUrl": "",
"MerchantLogoUrl": "",
"MerchantIconUrl": "",
"MerchantCity": "",
"MerchantState": "",
"MerchantZip": "",
"MerchantCountry": "",
"MCCCode": "",
"TransferToOrFromAccountId": 0,
"AuthIdentityResponseCode": "",
"MerchantId": "",
"TerminalId": "",
"NetworkTransactionId": 0,
"SourceCurrencyCodeDescription": "",
"SourceCurrencyNumericCode": "",
"SourceAmount": 0.1,
"TransactionTags": {
"Tags": [
{
"FieldId": "",
"Value": {},
"Name": ""
}
],
"State": "Initial",
"FieldsVersion": ""
},
"MetadataApprovalStatus": "",
"TransactionTypeCategory": ""
}
],
"Pages": {
"PageSize": 0,
"TotalRecords": 0,
"NumberOfPages": 0,
"LastTimeRetrieved": ""
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | TransactionDetailsResponse |
400 | Bad Request | The request is invalid | None |
401 | Unauthorized | Token expired or does not exist | None |
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.1,
"PaddingAmount": 0.1,
"TransactionType": "Transfer",
"Description": "",
"TransactionNotes": [
{
"NoteId": 0,
"UserName": "",
"NoteText": "",
"NoteDate": ""
}
],
"IsPending": false,
"IsDecline": false,
"HasReceipt": false,
"MerchantName": "",
"MerchantNameNormalized": "",
"MerchantUrl": "",
"MerchantLogoUrl": "",
"MerchantIconUrl": "",
"MerchantCity": "",
"MerchantState": "",
"MerchantZip": "",
"MerchantCountry": "",
"MCCCode": "",
"TransferToOrFromAccountId": 0,
"AuthIdentityResponseCode": "",
"MerchantId": "",
"TerminalId": "",
"NetworkTransactionId": 0,
"SourceCurrencyCodeDescription": "",
"SourceCurrencyNumericCode": "",
"SourceAmount": 0.1,
"TransactionTags": {
"Tags": [
{
"FieldId": "",
"Value": {},
"Name": ""
}
],
"State": "Initial",
"FieldsVersion": ""
},
"MetadataApprovalStatus": "",
"TransactionTypeCategory": ""
}
],
"Pages": {
"PageSize": 0,
"TotalRecords": 0,
"NumberOfPages": 0,
"LastTimeRetrieved": ""
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | TransactionDetailsResponse |
400 | Bad Request | The request is invalid | None |
401 | Unauthorized | Token expired or does not exist | None |
403 | Forbidden | - StartDate can not be bigger than EndDate | |
- Transaction history is available for twelve months | None |
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.1,
"PaddingAmount": 0.1,
"AvailableBalance": 0.1,
"LedgerBalance": 0.1,
"TransactionType": "",
"Description": "",
"TransactionNotes": [
{
"NoteId": 0,
"UserName": "",
"NoteText": "",
"NoteDate": ""
}
],
"HasReceipt": false,
"ReferencedTranId": 0,
"ReferencedTransactionTime": "",
"MerchantName": "",
"MerchantNameNormalized": "",
"MerchantUrl": "",
"MerchantLogoUrl": "",
"MerchantIconUrl": "",
"MerchantCity": "",
"MerchantState": "",
"MerchantZip": "",
"MerchantCountry": "",
"MCCCode": "",
"AuthIdentityResponseCode": "",
"MerchantId": "",
"TerminalId": "",
"SourceCurrencyCodeDescription": "",
"SourceCurrencyNumericCode": "",
"SourceAmount": 0.1,
"NetworkType": "",
"NetworkStatus": "",
"IsCardPresent": false,
"Message": "",
"MessageCode": "",
"MerchantRequestedAmount": 0.1
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | NetworkTransactionDetailsResponse |
400 | Bad Request | The request is invalid | None |
401 | Unauthorized | Token expired or does not exist | None |
403 | Forbidden | - StartDate can not be bigger than EndDate | |
- Transaction history is available for twelve months. | None |
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.1,
"PaddingAmount": 0.1,
"TransactionType": "Transfer",
"Description": "",
"TransactionNotes": [
{
"NoteId": 0,
"UserName": "",
"NoteText": "",
"NoteDate": ""
}
],
"IsPending": false,
"IsDecline": false,
"HasReceipt": false,
"MerchantName": "",
"MerchantNameNormalized": "",
"MerchantUrl": "",
"MerchantLogoUrl": "",
"MerchantIconUrl": "",
"MerchantCity": "",
"MerchantState": "",
"MerchantZip": "",
"MerchantCountry": "",
"MCCCode": "",
"TransferToOrFromAccountId": 0,
"AuthIdentityResponseCode": "",
"MerchantId": "",
"TerminalId": "",
"NetworkTransactionId": 0,
"SourceCurrencyCodeDescription": "",
"SourceCurrencyNumericCode": "",
"SourceAmount": 0.1,
"TransactionTags": {
"Tags": [
{
"FieldId": "",
"Value": {},
"Name": ""
}
],
"State": "Initial",
"FieldsVersion": ""
},
"MetadataApprovalStatus": "",
"TransactionTypeCategory": ""
}
],
"Pages": {
"PageSize": 0,
"TotalRecords": 0,
"NumberOfPages": 0,
"LastTimeRetrieved": ""
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | TransactionDetailsResponse |
400 | Bad Request | The request is invalid | None |
401 | Unauthorized | Token expired or does not exist | None |
403 | Forbidden | - StartDate can not be bigger than EndDate | |
- Transaction history is available for twelve months. | None |
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": "Image",
"Size": 0,
"Link": {
"related": ""
},
"UploadStatus": "NotLoaded",
"CreatedDateUtc": "",
"CreatedBy": {
"AdminId": 0,
"UserId": 0,
"PexUserId": 0
},
"UpdatedDateUtc": "",
"UpdatedBy": {
"AdminId": 0,
"UserId": 0,
"PexUserId": 0
}
}
],
"ApprovalStatus": "NotReviewed"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | GetAttachments |
401 | Unauthorized | Token expired or does not exist | None |
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": "Image",
"Size": 0,
"UploadStatus": "NotLoaded",
"CreatedDateUtc": "",
"CreatedBy": {
"AdminId": 0,
"UserId": 0,
"PexUserId": 0
},
"UpdatedDateUtc": "",
"UpdatedBy": {
"AdminId": 0,
"UserId": 0,
"PexUserId": 0
},
"DeletedDateUtc": "",
"DeletedBy": {
"AdminId": 0,
"UserId": 0,
"PexUserId": 0
}
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | Inline |
401 | Unauthorized | Token expired or does not exist | None |
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 |
»»» PexUserId | integer(int64) | false | none | Security 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": "Image",
"Size": 0,
"Content": "",
"UploadStatus": "NotLoaded",
"CreatedDateUtc": "",
"CreatedBy": {
"AdminId": 0,
"UserId": 0,
"PexUserId": 0
},
"UpdatedDateUtc": "",
"UpdatedBy": {
"AdminId": 0,
"UserId": 0,
"PexUserId": 0
},
"ApprovalStatus": "NotReviewed"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | Attachment |
401 | Unauthorized | Token expired or does not exist | None |
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": "Image"
}';
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": "Image"
}
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": "Image",
"Size": 0,
"Link": {
"self": ""
},
"UploadStatus": "NotLoaded",
"CreatedDateUtc": "",
"CreatedBy": {
"AdminId": 0,
"UserId": 0,
"PexUserId": 0
},
"UpdatedDateUtc": "",
"UpdatedBy": {
"AdminId": 0,
"UserId": 0,
"PexUserId": 0
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | AttachmentWithSelfLink |
400 | Bad Request | BadRequest | None |
401 | Unauthorized | Token expired or does not exist | 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": "Image",
"Size": 0,
"UploadStatus": "NotLoaded",
"CreatedDateUtc": "",
"CreatedBy": {
"AdminId": 0,
"UserId": 0,
"PexUserId": 0
},
"UpdatedDateUtc": "",
"UpdatedBy": {
"AdminId": 0,
"UserId": 0,
"PexUserId": 0
},
"DeletedDateUtc": "",
"DeletedBy": {
"AdminId": 0,
"UserId": 0,
"PexUserId": 0
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | DeleteAttachment |
401 | Unauthorized | Token expired or does not exist | None |
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": "Image"
}';
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": "Image"
}
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
201 Response
{
"AttachmentId": "",
"Type": "Image",
"Size": 0,
"Link": {
"self": ""
},
"UploadStatus": "NotLoaded",
"CreatedDateUtc": "",
"CreatedBy": {
"AdminId": 0,
"UserId": 0,
"PexUserId": 0
},
"UpdatedDateUtc": "",
"UpdatedBy": {
"AdminId": 0,
"UserId": 0,
"PexUserId": 0
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
201 | Created | Tag created | AttachmentWithSelfLink |
400 | Bad Request | BadRequest | None |
401 | Unauthorized | Token expired or does not exist | None |
404 | Not Found | NotFound | None |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
201 | Location | string | URL to the newly created resource. |
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": "NotReviewed",
"Values": {},
"CreatedDateUtc": "",
"CreatedBy": {
"AdminId": 0,
"UserId": 0,
"PexUserId": 0
},
"UpdatedDateUtc": "",
"UpdatedBy": {
"AdminId": 0,
"UserId": 0,
"PexUserId": 0
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | Tags |
401 | Unauthorized | Token expired or does not exist | None |
404 | Not Found | NotFound | 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 |
force | query | boolean | false | Whether to force updating tags, ignoring isRequired validation. Default: false. |
Authorization | header | string | true | token {USERTOKEN} |
body | body | CreateTagValuesRequest | true | CreateTagValuesRequest object |
Example responses
201 Response
{
"Id": "",
"ConcurrencyKey": "",
"State": "NotReviewed",
"Values": {},
"CreatedDateUtc": "",
"CreatedBy": {
"AdminId": 0,
"UserId": 0,
"PexUserId": 0
},
"UpdatedDateUtc": "",
"UpdatedBy": {
"AdminId": 0,
"UserId": 0,
"PexUserId": 0
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
201 | Created | Created | Tags |
400 | Bad Request | The request is invalid. | None |
401 | Unauthorized | Token expired or does not exist | None |
404 | Not Found | Not found | 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": "NotReviewed",
"Values": {},
"CreatedDateUtc": "",
"CreatedBy": {
"AdminId": 0,
"UserId": 0,
"PexUserId": 0
},
"UpdatedDateUtc": "",
"UpdatedBy": {
"AdminId": 0,
"UserId": 0,
"PexUserId": 0
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | Tags |
401 | Unauthorized | Token expired or does not exist | None |
404 | Not Found | Not found | 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.1
}
]
}';
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.1
}
]
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Id | path | integer(int64) | true | Transaction Id |
force | query | boolean | false | Whether to force updating tags, ignoring isRequired validation. Default: false. |
Authorization | header | string | true | token {USERTOKEN} |
body | body | UpdateAllocationTagValuesRequest | true | UpdateAllocationTagValuesRequest object |
Example responses
200 Response
{
"Id": "",
"ConcurrencyKey": "",
"State": "NotReviewed",
"Values": {},
"CreatedDateUtc": "",
"CreatedBy": {
"AdminId": 0,
"UserId": 0,
"PexUserId": 0
},
"UpdatedDateUtc": "",
"UpdatedBy": {
"AdminId": 0,
"UserId": 0,
"PexUserId": 0
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | Tags |
400 | Bad Request | The request is invalid. | None |
401 | Unauthorized | Token expired or does not exist | None |
404 | Not Found | Not found | 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.1
}
]
}';
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.1
}
]
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Id | path | integer(int64) | true | Transaction Id |
force | query | boolean | false | Whether to force updating tags, ignoring isRequired validation. Default: false. |
Authorization | header | string | true | token {USERTOKEN} |
body | body | CreateAllocationTagValuesRequest | true | Create allocation tag value request |
Example responses
201 Response
{
"Id": "",
"ConcurrencyKey": "",
"State": "NotReviewed",
"Values": {},
"CreatedDateUtc": "",
"CreatedBy": {
"AdminId": 0,
"UserId": 0,
"PexUserId": 0
},
"UpdatedDateUtc": "",
"UpdatedBy": {
"AdminId": 0,
"UserId": 0,
"PexUserId": 0
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
201 | Created | Created | Tags |
400 | Bad Request | The request is invalid. | None |
401 | Unauthorized | Token expired or does not exist | None |
404 | Not Found | Not found | 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": "NotReviewed",
"Values": {},
"CreatedDateUtc": "",
"CreatedBy": {
"AdminId": 0,
"UserId": 0,
"PexUserId": 0
},
"UpdatedDateUtc": "",
"UpdatedBy": {
"AdminId": 0,
"UserId": 0,
"PexUserId": 0
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | Tags |
400 | Bad Request | The request is invalid. | None |
401 | Unauthorized | Token expired or does not exist | None |
404 | Not Found | Not found | 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 | Transaction Id. |
force | query | boolean | false | Whether to force updating tags, ignoring isRequired validation. Default: false. |
Authorization | header | string | true | token {USERTOKEN} |
body | body | UpdateTagValuesRequest | true | UpdateTagValuesRequest object. |
Example responses
200 Response
{
"Id": "",
"ConcurrencyKey": "",
"State": "NotReviewed",
"Values": {},
"CreatedDateUtc": "",
"CreatedBy": {
"AdminId": 0,
"UserId": 0,
"PexUserId": 0
},
"UpdatedDateUtc": "",
"UpdatedBy": {
"AdminId": 0,
"UserId": 0,
"PexUserId": 0
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | Tags |
400 | Bad Request | The request is invalid. | None |
401 | Unauthorized | Token expired or does not exist | None |
404 | Not Found | Not found | None |
409 | Conflict | Please update your outdated ConcurrencyKey value. | None |
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": "Text",
"Name": "",
"Description": "",
"IsEnabled": false,
"IsDeleted": false,
"IsRequired": false,
"Order": 0,
"ConcurrencyKey": "",
"CreatedDateUtc": "",
"CreatedBy": {
"AdminId": 0,
"UserId": 0,
"PexUserId": 0
},
"UpdatedDateUtc": "",
"UpdatedBy": {
"AdminId": 0,
"UserId": 0,
"PexUserId": 0
},
"DeletedDateUtc": "",
"DeletedBy": {
"AdminId": 0,
"UserId": 0,
"PexUserId": 0
}
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | Inline |
401 | Unauthorized | Token expired or does not exist | None |
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 |
»»» PexUserId | integer(int64) | false | none | Security 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": "Text",
"Name": "",
"Description": "",
"IsEnabled": false,
"IsDeleted": false,
"IsRequired": false,
"Order": 0,
"ConcurrencyKey": "",
"CreatedDateUtc": "",
"CreatedBy": {
"AdminId": 0,
"UserId": 0,
"PexUserId": 0
},
"UpdatedDateUtc": "",
"UpdatedBy": {
"AdminId": 0,
"UserId": 0,
"PexUserId": 0
},
"DeletedDateUtc": "",
"DeletedBy": {
"AdminId": 0,
"UserId": 0,
"PexUserId": 0
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | Tag |
401 | Unauthorized | Token expired or does not exist | None |
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": 2147483647,
"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": 2147483647,
"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": "Text",
"Name": "",
"Description": "",
"IsEnabled": false,
"IsDeleted": false,
"IsRequired": false,
"Order": 0,
"ConcurrencyKey": "",
"CreatedDateUtc": "",
"CreatedBy": {
"AdminId": 0,
"UserId": 0,
"PexUserId": 0
},
"UpdatedDateUtc": "",
"UpdatedBy": {
"AdminId": 0,
"UserId": 0,
"PexUserId": 0
},
"DeletedDateUtc": "",
"DeletedBy": {
"AdminId": 0,
"UserId": 0,
"PexUserId": 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 |
401 | Unauthorized | Token expired or does not exist | 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": "Text",
"Name": "",
"Description": "",
"IsEnabled": false,
"IsDeleted": false,
"IsRequired": false,
"Order": 0,
"ConcurrencyKey": "",
"CreatedDateUtc": "",
"CreatedBy": {
"AdminId": 0,
"UserId": 0,
"PexUserId": 0
},
"UpdatedDateUtc": "",
"UpdatedBy": {
"AdminId": 0,
"UserId": 0,
"PexUserId": 0
},
"DeletedDateUtc": "",
"DeletedBy": {
"AdminId": 0,
"UserId": 0,
"PexUserId": 0
},
"Options": [
{
"Name": "",
"Value": "",
"Order": 0,
"IsEnabled": false
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | DropdownTag |
400 | Bad Request | Bad Request. | None |
401 | Unauthorized | Token expired or does not exist | 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": 2147483647,
"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": 2147483647,
"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": "Text",
"Name": "",
"Description": "",
"IsEnabled": false,
"IsDeleted": false,
"IsRequired": false,
"Order": 0,
"ConcurrencyKey": "",
"CreatedDateUtc": "",
"CreatedBy": {
"AdminId": 0,
"UserId": 0,
"PexUserId": 0
},
"UpdatedDateUtc": "",
"UpdatedBy": {
"AdminId": 0,
"UserId": 0,
"PexUserId": 0
},
"DeletedDateUtc": "",
"DeletedBy": {
"AdminId": 0,
"UserId": 0,
"PexUserId": 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 |
401 | Unauthorized | Token expired or does not exist | 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": "Text",
"Name": "",
"Description": "",
"IsEnabled": false,
"IsDeleted": false,
"IsRequired": false,
"Order": 0,
"ConcurrencyKey": "",
"CreatedDateUtc": "",
"CreatedBy": {
"AdminId": 0,
"UserId": 0,
"PexUserId": 0
},
"UpdatedDateUtc": "",
"UpdatedBy": {
"AdminId": 0,
"UserId": 0,
"PexUserId": 0
},
"DeletedDateUtc": "",
"DeletedBy": {
"AdminId": 0,
"UserId": 0,
"PexUserId": 0
},
"Options": [
{
"Name": "",
"Value": "",
"Order": 0,
"IsEnabled": false
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | DropdownTag |
201 | Created | Created | DropdownTag |
400 | Bad Request | Tag is not dropdown type. | None |
401 | Unauthorized | Token expired or does not exist | 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": 200,
"ValidationType": "None",
"Name": "",
"Description": "",
"Order": 2147483647,
"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": 200,
"ValidationType": "None",
"Name": "",
"Description": "",
"Order": 2147483647,
"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": "None",
"Id": "",
"Type": "Text",
"Name": "",
"Description": "",
"IsEnabled": false,
"IsDeleted": false,
"IsRequired": false,
"Order": 0,
"ConcurrencyKey": "",
"CreatedDateUtc": "",
"CreatedBy": {
"AdminId": 0,
"UserId": 0,
"PexUserId": 0
},
"UpdatedDateUtc": "",
"UpdatedBy": {
"AdminId": 0,
"UserId": 0,
"PexUserId": 0
},
"DeletedDateUtc": "",
"DeletedBy": {
"AdminId": 0,
"UserId": 0,
"PexUserId": 0
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
201 | Created | Created | TextTag |
400 | Bad Request | The request is invalid. | None |
401 | Unauthorized | Token expired or does not exist | 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": 200,
"ValidationType": "None",
"Name": "",
"Description": "",
"Order": 2147483647,
"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": 200,
"ValidationType": "None",
"Name": "",
"Description": "",
"Order": 2147483647,
"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": "None",
"Id": "",
"Type": "Text",
"Name": "",
"Description": "",
"IsEnabled": false,
"IsDeleted": false,
"IsRequired": false,
"Order": 0,
"ConcurrencyKey": "",
"CreatedDateUtc": "",
"CreatedBy": {
"AdminId": 0,
"UserId": 0,
"PexUserId": 0
},
"UpdatedDateUtc": "",
"UpdatedBy": {
"AdminId": 0,
"UserId": 0,
"PexUserId": 0
},
"DeletedDateUtc": "",
"DeletedBy": {
"AdminId": 0,
"UserId": 0,
"PexUserId": 0
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | TextTag |
400 | Bad Request | Bad Request. | None |
401 | Unauthorized | Token expired or does not exist | None |
404 | Not Found | Not found | 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": "None",
"Id": "",
"Type": "Text",
"Name": "",
"Description": "",
"IsEnabled": false,
"IsDeleted": false,
"IsRequired": false,
"Order": 0,
"ConcurrencyKey": "",
"CreatedDateUtc": "",
"CreatedBy": {
"AdminId": 0,
"UserId": 0,
"PexUserId": 0
},
"UpdatedDateUtc": "",
"UpdatedBy": {
"AdminId": 0,
"UserId": 0,
"PexUserId": 0
},
"DeletedDateUtc": "",
"DeletedBy": {
"AdminId": 0,
"UserId": 0,
"PexUserId": 0
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | TextTag |
400 | Bad Request | Bad Request. | None |
404 | Not Found | Not found | 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": 2147483647,
"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": 2147483647,
"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": "Text",
"Name": "",
"Description": "",
"IsEnabled": false,
"IsDeleted": false,
"IsRequired": false,
"Order": 0,
"ConcurrencyKey": "",
"CreatedDateUtc": "",
"CreatedBy": {
"AdminId": 0,
"UserId": 0,
"PexUserId": 0
},
"UpdatedDateUtc": "",
"UpdatedBy": {
"AdminId": 0,
"UserId": 0,
"PexUserId": 0
},
"DeletedDateUtc": "",
"DeletedBy": {
"AdminId": 0,
"UserId": 0,
"PexUserId": 0
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
201 | Created | Created | Tag |
400 | Bad Request | The request is invalid. | None |
401 | Unauthorized | Token expired or does not exist | 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": 2147483647,
"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": 2147483647,
"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": "None",
"Id": "",
"Type": "Text",
"Name": "",
"Description": "",
"IsEnabled": false,
"IsDeleted": false,
"IsRequired": false,
"Order": 0,
"ConcurrencyKey": "",
"CreatedDateUtc": "",
"CreatedBy": {
"AdminId": 0,
"UserId": 0,
"PexUserId": 0
},
"UpdatedDateUtc": "",
"UpdatedBy": {
"AdminId": 0,
"UserId": 0,
"PexUserId": 0
},
"DeletedDateUtc": "",
"DeletedBy": {
"AdminId": 0,
"UserId": 0,
"PexUserId": 0
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | TextTag |
400 | Bad Request | The request is invalid | None |
401 | Unauthorized | Token expired or does not exist | None |
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": "Text",
"Name": "",
"Description": "",
"IsEnabled": false,
"IsDeleted": false,
"IsRequired": false,
"Order": 0,
"ConcurrencyKey": "",
"CreatedDateUtc": "",
"CreatedBy": {
"AdminId": 0,
"UserId": 0,
"PexUserId": 0
},
"UpdatedDateUtc": "",
"UpdatedBy": {
"AdminId": 0,
"UserId": 0,
"PexUserId": 0
},
"DeletedDateUtc": "",
"DeletedBy": {
"AdminId": 0,
"UserId": 0,
"PexUserId": 0
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | Tag |
400 | Bad Request | Bad Request. | None |
401 | Unauthorized | Token expired or does not exist | 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": 2147483647,
"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": 2147483647,
"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": "Text",
"Name": "",
"Description": "",
"IsEnabled": false,
"IsDeleted": false,
"IsRequired": false,
"Order": 0,
"ConcurrencyKey": "",
"CreatedDateUtc": "",
"CreatedBy": {
"AdminId": 0,
"UserId": 0,
"PexUserId": 0
},
"UpdatedDateUtc": "",
"UpdatedBy": {
"AdminId": 0,
"UserId": 0,
"PexUserId": 0
},
"DeletedDateUtc": "",
"DeletedBy": {
"AdminId": 0,
"UserId": 0,
"PexUserId": 0
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
201 | Created | Created | Tag |
400 | Bad Request | The request is invalid. | None |
401 | Unauthorized | Token expired or does not exist | 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": 2147483647,
"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": 2147483647,
"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": "Text",
"Name": "",
"Description": "",
"IsEnabled": false,
"IsDeleted": false,
"IsRequired": false,
"Order": 0,
"ConcurrencyKey": "",
"CreatedDateUtc": "",
"CreatedBy": {
"AdminId": 0,
"UserId": 0,
"PexUserId": 0
},
"UpdatedDateUtc": "",
"UpdatedBy": {
"AdminId": 0,
"UserId": 0,
"PexUserId": 0
},
"DeletedDateUtc": "",
"DeletedBy": {
"AdminId": 0,
"UserId": 0,
"PexUserId": 0
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | Tag |
400 | Bad Request | The request is invalid | None |
401 | Unauthorized | Token expired or does not exist | None |
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": "Text",
"Name": "",
"Description": "",
"IsEnabled": false,
"IsDeleted": false,
"IsRequired": false,
"Order": 0,
"ConcurrencyKey": "",
"CreatedDateUtc": "",
"CreatedBy": {
"AdminId": 0,
"UserId": 0,
"PexUserId": 0
},
"UpdatedDateUtc": "",
"UpdatedBy": {
"AdminId": 0,
"UserId": 0,
"PexUserId": 0
},
"DeletedDateUtc": "",
"DeletedBy": {
"AdminId": 0,
"UserId": 0,
"PexUserId": 0
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | Tag |
400 | Bad Request | Bad Request. | None |
401 | Unauthorized | Token expired or does not exist | None |
404 | Not Found | Not found | 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": "Text",
"Name": "",
"Description": "",
"IsEnabled": false,
"IsDeleted": false,
"IsRequired": false,
"Order": 0,
"ConcurrencyKey": "",
"CreatedDateUtc": "",
"CreatedBy": {
"AdminId": 0,
"UserId": 0,
"PexUserId": 0
},
"UpdatedDateUtc": "",
"UpdatedBy": {
"AdminId": 0,
"UserId": 0,
"PexUserId": 0
},
"DeletedDateUtc": "",
"DeletedBy": {
"AdminId": 0,
"UserId": 0,
"PexUserId": 0
},
"Tags": [
{
"TagId": "",
"Order": ""
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | AllocationTag |
401 | Unauthorized | Token expired or does not exist | None |
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": "Text",
"Name": "",
"Description": "",
"IsEnabled": false,
"IsDeleted": false,
"IsRequired": false,
"Order": 0,
"ConcurrencyKey": "",
"CreatedDateUtc": "",
"CreatedBy": {
"AdminId": 0,
"UserId": 0,
"PexUserId": 0
},
"UpdatedDateUtc": "",
"UpdatedBy": {
"AdminId": 0,
"UserId": 0,
"PexUserId": 0
},
"DeletedDateUtc": "",
"DeletedBy": {
"AdminId": 0,
"UserId": 0,
"PexUserId": 0
},
"Tags": [
{
"TagId": "",
"Order": ""
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
201 | Created | Created | AllocationTag |
400 | Bad Request | The request is invalid. | None |
401 | Unauthorized | Token expired or does not exist | 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": "Text",
"Name": "",
"Description": "",
"IsEnabled": false,
"IsDeleted": false,
"IsRequired": false,
"Order": 0,
"ConcurrencyKey": "",
"CreatedDateUtc": "",
"CreatedBy": {
"AdminId": 0,
"UserId": 0,
"PexUserId": 0
},
"UpdatedDateUtc": "",
"UpdatedBy": {
"AdminId": 0,
"UserId": 0,
"PexUserId": 0
},
"DeletedDateUtc": "",
"DeletedBy": {
"AdminId": 0,
"UserId": 0,
"PexUserId": 0
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | Tag |
401 | Unauthorized | Token expired or does not exist | None |
404 | Not Found | Not found | 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 |
400 | Bad Request | The request is invalid | None |
401 | Unauthorized | Token expired or does not exist | None |
404 | Not Found | NotFound | None |
Get's the linked businesses 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/Business/Linked',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'string'
}
r = requests.get('https://coreapi.pexcard.com/v4/Business/Linked', headers = headers)
print(r.json())
const headers = {
'Accept':'application/json',
'Authorization':'string'
};
fetch('https://coreapi.pexcard.com/v4/Business/Linked',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /Business/Linked
Get's the linked businesses for the authenticated user.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | token {USERTOKEN} |
Example responses
200 Response
[
{
"InstitutionId": 0,
"BusinessAcctId": 0,
"BusinessName": "",
"MinBusinessBalance": 0.1,
"CurrentBalance": 0.1
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | Inline |
401 | Unauthorized | Token expired or does not exist | None |
403 | Forbidden | Business is not open | None |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | [LinkedBusinessResponse] | false | none | none |
» LinkedBusinessResponse | LinkedBusinessResponse | false | none | none |
»» InstitutionId | integer(int32) | false | none | The institution id. |
»» BusinessAcctId | integer(int32) | false | none | The business account id. |
»» BusinessName | string | false | none | The business account name. |
»» MinBusinessBalance | number(double) | false | none | The minimum business balance. |
»» CurrentBalance | number(double) | false | none | The current balance. |
Get's the bank accounts for the authenticated user's business.
Code samples
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'string'
}
result = RestClient.get 'https://coreapi.pexcard.com/v4/Business/BankAccount',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'string'
}
r = requests.get('https://coreapi.pexcard.com/v4/Business/BankAccount', headers = headers)
print(r.json())
const headers = {
'Accept':'application/json',
'Authorization':'string'
};
fetch('https://coreapi.pexcard.com/v4/Business/BankAccount',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /Business/BankAccount
Get's the bank accounts for the authenticated user's business.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | token {USERTOKEN} |
Example responses
200 Response
[
{
"BusinessAcctId": 0,
"RecipientId": 0,
"AccountNumberMask": "",
"Name": "",
"Owner": "",
"Description": "",
"IsActive": false
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | Inline |
401 | Unauthorized | Token expired or does not exist | None |
403 | Forbidden | - Business is not open | |
- Admin does not have permission | None |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | [ExternalBankResponse] | false | none | [An external bank account.] |
» ExternalBankResponse | ExternalBankResponse | false | none | An external bank account. |
»» BusinessAcctId | integer(int32) | false | none | The business id the bank account is for. |
»» RecipientId | integer(int32) | false | none | The bank transfer recipient id. |
»» AccountNumberMask | string | false | none | The account number masked. |
»» Name | string | false | none | The bank account name. |
»» Owner | string | false | none | The bank account owner. |
»» Description | string | false | none | The bank account description. |
»» IsActive | boolean | false | none | Whether the bank account is active. |
Initiate transfers between PEX business accounts and/or external bank accounts.
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/Transfer',
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/Transfer', headers = headers)
print(r.json())
const inputBody = '{
"Type": "ACH",
"AccountFrom": {
"AccountType": "Business",
"AccountId": 0
},
"AccountTo": {
"AccountType": "Business",
"AccountId": 0
},
"Amount": 0.1
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'string'
};
fetch('https://coreapi.pexcard.com/v4/Business/Transfer',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST /Business/Transfer
Initiate transfers between PEX business accounts and/or external bank accounts.
Body parameter
{
"Type": "ACH",
"AccountFrom": {
"AccountType": "Business",
"AccountId": 0
},
"AccountTo": {
"AccountType": "Business",
"AccountId": 0
},
"Amount": 0.1
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | token {USERTOKEN} |
body | body | TransferDto | true | none |
Example responses
200 Response
{
"Type": "BusinessToBusiness",
"TransferType": "ACH",
"ProcessingDateTime": ""
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | TransferResponse |
400 | Bad Request | Bad request | None |
401 | Unauthorized | Token expired or does not exist | None |
403 | Forbidden | - Business is not open | |
- Admin does not have permission | 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.1,
"Status": "",
"RequestedDate": "",
"FundAvailableDate": ""
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | GetOneTimeTransferResponse |
401 | Unauthorized | Token expired or does not exist | None |
403 | Forbidden | - Business is not open | |
- Admin does not have permission | None |
Return the PEX business profile information
Code samples
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'string'
}
result = RestClient.get 'https://coreapi.pexcard.com/v4/Business/Profile',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'string'
}
r = requests.get('https://coreapi.pexcard.com/v4/Business/Profile', headers = headers)
print(r.json())
const headers = {
'Accept':'application/json',
'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} |
Example responses
200 Response
{
"BusinessAcctId": 0,
"FirstName": "",
"LastName": "",
"ProfileAddress": {
"ContactName": "",
"AddressLine1": "",
"AddressLine2": "",
"City": "",
"State": "",
"PostalCode": "",
"Country": ""
},
"Phone": "",
"PhoneExtension": "",
"DateOfBirth": "",
"Email": ""
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | GetBusinessProfileResponse |
401 | Unauthorized | Token expired or does not exist | None |
403 | Forbidden | Business is not open | 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 |
---|---|---|---|
204 | No Content | No Content | None |
400 | Bad Request | Invalid data | None |
401 | Unauthorized | Token expired or does not exist | None |
403 | Forbidden | - Business is not open | |
- Admin does not have permission | 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": "",
"UserName": "",
"ProfileAddress": {
"ContactName": "",
"AddressLine1": "",
"AddressLine2": "",
"City": "",
"State": "",
"PostalCode": "",
"Country": ""
},
"Phone": "",
"AltPhone": "",
"DateOfBirth": "",
"Email": "",
"Permissions": {
"ViewAdministration": false,
"AddEditTerminateAdministrator": false,
"RequestDeleteACHTransfer": false,
"EditBusinessProfile": false,
"AddEditTerminateCard": false,
"CreateCardholder": false,
"ManageCardholder": false,
"ViewCardUsage": false,
"RequestCardFunding": false,
"ModifyTransactionNotes": false
},
"Status": ""
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | GetAdminListResponse |
401 | Unauthorized | Token expired or does not exist | None |
403 | Forbidden | - Business is not open | |
- Admin does not have permission | None |
Create a business administrator
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/Admin',
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/Admin', headers = headers)
print(r.json())
const inputBody = '{
"UserName": "",
"Password": "",
"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,
"CreateCardholder": false,
"ManageCardholder": false,
"ViewCardUsage": false,
"RequestCardFunding": false,
"ModifyTransactionNotes": false
},
"PasswordQuestion": "",
"PasswordAnswer": ""
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'string'
};
fetch('https://coreapi.pexcard.com/v4/Business/Admin',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST /Business/Admin
Create a PEX administrator
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
{
"UserName": "",
"Password": "",
"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,
"CreateCardholder": false,
"ManageCardholder": false,
"ViewCardUsage": false,
"RequestCardFunding": false,
"ModifyTransactionNotes": false
},
"PasswordQuestion": "",
"PasswordAnswer": ""
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | token {USERTOKEN} |
body | body | CreateAdminRequest | true | Profile and permission data |
Example responses
200 Response
{
"Admin": {
"BusinessAdminId": 0,
"FirstName": "",
"MiddleName": "",
"LastName": "",
"UserName": "",
"ProfileAddress": {
"ContactName": "",
"AddressLine1": "",
"AddressLine2": "",
"City": "",
"State": "",
"PostalCode": "",
"Country": ""
},
"Phone": "",
"AltPhone": "",
"DateOfBirth": "",
"Email": "",
"Permissions": {
"ViewAdministration": false,
"AddEditTerminateAdministrator": false,
"RequestDeleteACHTransfer": false,
"EditBusinessProfile": false,
"AddEditTerminateCard": false,
"CreateCardholder": false,
"ManageCardholder": false,
"ViewCardUsage": false,
"RequestCardFunding": false,
"ModifyTransactionNotes": false
},
"Status": ""
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | UpsertAdminResponse |
400 | Bad Request | Invalid data | None |
401 | Unauthorized | Token expired or does not exist | None |
403 | Forbidden | - Invalid business admin ID |
- Business is not open
- Admin does not have permission|None|
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/MyProfile',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'string'
}
r = requests.get('https://coreapi.pexcard.com/v4/Business/MyProfile', headers = headers)
print(r.json())
const headers = {
'Accept':'application/json',
'Authorization':'string'
};
fetch('https://coreapi.pexcard.com/v4/Business/MyProfile',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /Business/MyProfile
Return the profile and permissions for a current administrator.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | token {USERTOKEN} |
Example responses
200 Response
{
"Admin": {
"BusinessAdminId": 0,
"FirstName": "",
"MiddleName": "",
"LastName": "",
"UserName": "",
"ProfileAddress": {
"ContactName": "",
"AddressLine1": "",
"AddressLine2": "",
"City": "",
"State": "",
"PostalCode": "",
"Country": ""
},
"Phone": "",
"AltPhone": "",
"DateOfBirth": "",
"Email": "",
"Permissions": {
"ViewAdministration": false,
"AddEditTerminateAdministrator": false,
"RequestDeleteACHTransfer": false,
"EditBusinessProfile": false,
"AddEditTerminateCard": false,
"CreateCardholder": false,
"ManageCardholder": false,
"ViewCardUsage": false,
"RequestCardFunding": false,
"ModifyTransactionNotes": false
},
"Status": ""
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | GetAdminResponse |
401 | Unauthorized | Token expired or does not exist | None |
403 | Forbidden | Must be admin user | None |
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,
"CreateCardholder": false,
"ManageCardholder": false,
"ViewCardUsage": false,
"RequestCardFunding": false,
"ModifyTransactionNotes": false
},
"PasswordQuestion": "",
"PasswordAnswer": ""
}';
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,
"CreateCardholder": false,
"ManageCardholder": false,
"ViewCardUsage": false,
"RequestCardFunding": false,
"ModifyTransactionNotes": false
},
"PasswordQuestion": "",
"PasswordAnswer": ""
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Id | path | integer(int64) | true | The business admin id to edit |
Authorization | header | string | true | token {USERTOKEN} |
body | body | UpsertAdminRequest | true | Profile and permission data |
Example responses
200 Response
{
"Admin": {
"BusinessAdminId": 0,
"FirstName": "",
"MiddleName": "",
"LastName": "",
"UserName": "",
"ProfileAddress": {
"ContactName": "",
"AddressLine1": "",
"AddressLine2": "",
"City": "",
"State": "",
"PostalCode": "",
"Country": ""
},
"Phone": "",
"AltPhone": "",
"DateOfBirth": "",
"Email": "",
"Permissions": {
"ViewAdministration": false,
"AddEditTerminateAdministrator": false,
"RequestDeleteACHTransfer": false,
"EditBusinessProfile": false,
"AddEditTerminateCard": false,
"CreateCardholder": false,
"ManageCardholder": false,
"ViewCardUsage": false,
"RequestCardFunding": false,
"ModifyTransactionNotes": false
},
"Status": ""
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | UpsertAdminResponse |
400 | Bad Request | Invalid data | None |
401 | Unauthorized | Token expired or does not exist | None |
403 | Forbidden | - Invalid business admin ID |
- Business is not open
- Admin does not have permission
- Can not edit this admin|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(int64) | true | Business admin ID |
Authorization | header | string | true | token {USERTOKEN} |
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
204 | No Content | No Content | None |
401 | Unauthorized | Token expired or does not exist | None |
403 | Forbidden | - Invalid business admin ID |
- Business Admin Is Deleted
- Can not delete this admin|None| |404|Not Found|User id is not found|None|
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.1
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | GetBusinessBalanceResponse |
401 | Unauthorized | Token expired or does not exist | None |
Return billing information
Code samples
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'string'
}
result = RestClient.get 'https://coreapi.pexcard.com/v4/Business/Billing',
params: {
'Request.month' => 'integer(int32)',
'Request.year' => 'integer(int32)'
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'string'
}
r = requests.get('https://coreapi.pexcard.com/v4/Business/Billing', params={
'Request.month': '1', 'Request.year': '0'
}, headers = headers)
print(r.json())
const headers = {
'Accept':'application/json',
'Authorization':'string'
};
fetch('https://coreapi.pexcard.com/v4/Business/Billing?Request%2Emonth=1&Request%2Eyear=0',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /Business/Billing
For the current month, values for fees and card counts are estimates are based on current plan and usage. Finalized monthly fees and card counts as per your statement will be available at the end of this billing cycle.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Request.month | query | integer(int32) | true | Month |
Request.year | query | integer(int32) | true | Year |
Authorization | header | string | true | token {USERTOKEN} |
Example responses
200 Response
{
"OpenCardAccounts": 0,
"MonthlyFee": 0.1,
"EnrollmentFee": 0.1
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | BillingResponse |
400 | Bad Request | Month and Year must be in the range '1/2007'- | None |
401 | Unauthorized | Token expired or does not exist | None |
403 | Forbidden |
|
None |
404 | Not Found | 'Monthly Fee Invoice Does Not Exist' : This response will be returned if the invoice is not present in the database. It will be returned if a business is currently open but the input date is prior to when the business was opened. | None |
Return business settings
Code samples
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'string'
}
result = RestClient.get 'https://coreapi.pexcard.com/v4/Business/Settings',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'string'
}
r = requests.get('https://coreapi.pexcard.com/v4/Business/Settings', headers = headers)
print(r.json())
const headers = {
'Accept':'application/json',
'Authorization':'string'
};
fetch('https://coreapi.pexcard.com/v4/Business/Settings',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /Business/Settings
SupportedCardType values are: - Plastic - Emv (Chip Card) - Virtual - Digital
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | token {USERTOKEN} |
Example responses
200 Response
{
"SupportedCardType": [
"Undefined"
],
"UseBusinessBalance": false,
"UseRemoteDecision": false,
"BlockCardDefunding": false,
"UseCardholderGroup": false,
"TagsEnabled": false,
"AllocationTagsEnabled": false,
"FundingSource": "Prepaid",
"CardLimit": 0,
"VendorLimit": 0,
"DefaultDailyLimit": 0.1
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | SettingsResponse |
401 | Unauthorized | Token expired or does not exist | None |
403 | Forbidden |
|
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.1,
"AvailableBalance": 0.1,
"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.1,
"DailySpendLimit": 0.1,
"WeeklySpendLimit": 0.1,
"MonthlySpendLimit": 0.1,
"YearlySpendLimit": 0.1,
"LifetimeSpendLimit": 0.1
}
],
"InternationalSpendEnabled": false,
"IsDailySpendLimitEnabled": false,
"DailySpendLimit": 0.1,
"WeeklySpendLimit": 0.1,
"MonthlySpendLimit": 0.1,
"YearlySpendLimit": 0.1,
"LifetimeSpendLimit": 0.1,
"CardNotPresentUse": false,
"CardPresence": 0,
"UsePexAccountBalanceForAuths": false,
"UseCustomerAuthDecision": false,
"DaysOfWeekRestrictions": [
"string"
],
"UsStateRestrictions": [
"string"
]
},
"ScheduledFunding": {
"Amount": 0.1,
"Frequency": "DAY"
},
"CustomId": "",
"IsVirtual": false
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | No cards found | Inline |
400 | Bad Request | Invalid ruleset ID | None |
401 | Unauthorized | Token expired or does not exist | 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.1,
"WeeklySpendLimit": 0.1,
"MonthlySpendLimit": 0.1,
"YearlySpendLimit": 0.1,
"LifetimeSpendLimit": 0.1,
"InternationalAllowed": false,
"CardNotPresentAllowed": false,
"CardPresence": 0,
"UsePexAccountBalanceForAuths": false,
"UseCustomerAuthDecision": false,
"DaysOfWeekRestrictions": [
"string"
],
"UsStateRestrictions": [
"string"
],
"MccRestrictions": false,
"MerchantCategories": [
{
"Id": 0,
"Name": "",
"Description": "",
"TransactionLimit": 0.1,
"DailySpendLimit": 0.1,
"WeeklySpendLimit": 0.1,
"MonthlySpendLimit": 0.1,
"YearlySpendLimit": 0.1,
"LifetimeSpendLimit": 0.1
}
]
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | Inline |
400 | Bad Request | Invalid ruleset ID | None |
401 | Unauthorized | Token expired or does not exist | 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.1,
"WeeklySpendLimit": 0.1,
"MonthlySpendLimit": 0.1,
"YearlySpendLimit": 0.1,
"LifetimeSpendLimit": 0.1,
"MerchantCategories": [
{
"Id": 0,
"Name": "",
"TransactionLimit": 0.1,
"DailySpendLimit": 0.1,
"WeeklySpendLimit": 0.1,
"MonthlySpendLimit": 0.1,
"YearlySpendLimit": 0.1,
"LifetimeSpendLimit": 0.1
}
],
"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.1,
"WeeklySpendLimit": 0.1,
"MonthlySpendLimit": 0.1,
"YearlySpendLimit": 0.1,
"LifetimeSpendLimit": 0.1,
"MerchantCategories": [
{
"Id": 0,
"Name": "",
"TransactionLimit": 0.1,
"DailySpendLimit": 0.1,
"WeeklySpendLimit": 0.1,
"MonthlySpendLimit": 0.1,
"YearlySpendLimit": 0.1,
"LifetimeSpendLimit": 0.1
}
],
"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.1,
"WeeklySpendLimit": 0.1,
"MonthlySpendLimit": 0.1,
"YearlySpendLimit": 0.1,
"LifetimeSpendLimit": 0.1,
"InternationalAllowed": false,
"CardNotPresentAllowed": false,
"CardPresence": 0,
"UsePexAccountBalanceForAuths": false,
"UseCustomerAuthDecision": false,
"DaysOfWeekRestrictions": [
"string"
],
"UsStateRestrictions": [
"string"
],
"MccRestrictions": false,
"MerchantCategories": [
{
"Id": 0,
"Name": "",
"Description": "",
"TransactionLimit": 0.1,
"DailySpendLimit": 0.1,
"WeeklySpendLimit": 0.1,
"MonthlySpendLimit": 0.1,
"YearlySpendLimit": 0.1,
"LifetimeSpendLimit": 0.1
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | AdvancedSpendingRulesetItemResponse |
400 | Bad Request |
|
None |
401 | Unauthorized | Token expired or does not exist | None |
403 | Forbidden |
|
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.1,
"WeeklySpendLimit": 0.1,
"MonthlySpendLimit": 0.1,
"YearlySpendLimit": 0.1,
"LifetimeSpendLimit": 0.1,
"MerchantCategories": [
{
"Id": 0,
"Name": "",
"TransactionLimit": 0.1,
"DailySpendLimit": 0.1,
"WeeklySpendLimit": 0.1,
"MonthlySpendLimit": 0.1,
"YearlySpendLimit": 0.1,
"LifetimeSpendLimit": 0.1
}
],
"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.1,
"WeeklySpendLimit": 0.1,
"MonthlySpendLimit": 0.1,
"YearlySpendLimit": 0.1,
"LifetimeSpendLimit": 0.1,
"MerchantCategories": [
{
"Id": 0,
"Name": "",
"TransactionLimit": 0.1,
"DailySpendLimit": 0.1,
"WeeklySpendLimit": 0.1,
"MonthlySpendLimit": 0.1,
"YearlySpendLimit": 0.1,
"LifetimeSpendLimit": 0.1
}
],
"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 |
201 | Created | Created | CreateAdvancedSpendingRulesetResponse |
400 | Bad Request | - The request is invalid |
- This ruleset is configured to use your business balance instead of the card balance. The daily spend limit must be less than or equal to $5,000.00. To allow the cardholder to spend over $5,000.00 per day, please disable the use of the business balance
- The Name field is required
- The field Name must be a string with a maximum length of 50
- Invalid merchant category
- Merchant spend limit exceeds overall spend limit
- Merchant categories duplicated
- Invalid value. Please enter amount greater than 0.00|None| |401|Unauthorized|Token expired or does not exist|None| |403|Forbidden|- This business does not support the Customer Authorization Decision
- Name already exists|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 |
401 | Unauthorized | Token expired or does not exist | None |
403 | Forbidden | This spending ruleset is currently assigned to one or more cards. | 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.1,
"WeeklySpendLimit": 0.1,
"MonthlySpendLimit": 0.1,
"YearlySpendLimit": 0.1,
"LifetimeSpendLimit": 0.1,
"InternationalAllowed": false,
"CardNotPresentAllowed": false,
"CardPresence": 0,
"UsePexAccountBalanceForAuths": false,
"UseCustomerAuthDecision": false,
"DaysOfWeekRestrictions": [
"string"
],
"UsStateRestrictions": [
"string"
],
"MccRestrictions": false,
"MerchantCategories": [
{
"Id": 0,
"Name": "",
"Description": "",
"TransactionLimit": 0.1,
"DailySpendLimit": 0.1,
"WeeklySpendLimit": 0.1,
"MonthlySpendLimit": 0.1,
"YearlySpendLimit": 0.1,
"LifetimeSpendLimit": 0.1
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | AdvancedSpendingRulesetItemResponse |
400 | Bad Request | Invalid ruleset ID | None |
401 | Unauthorized | Token expired or does not exist | 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.1,
"AvailableBalance": 0.1,
"ProfileAddress": {
"ContactName": "",
"AddressLine1": "",
"AddressLine2": "",
"City": "",
"State": "",
"PostalCode": "",
"Country": ""
},
"Phone": "",
"ShippingAddress": {
"ContactName": "",
"AddressLine1": "",
"AddressLine2": "",
"City": "",
"State": "",
"PostalCode": "",
"Country": ""
},
"ShippingPhone": "",
"DateOfBirth": "",
"Email": "",
"IsVirtual": false,
"CardholderType": "TeamMember",
"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.1,
"CardNotPresentUse": false,
"CardPresence": 0,
"UsePexAccountBalanceForAuths": false,
"UseCustomerAuthDecision": false
},
"ScheduledFunding": {
"Amount": 0.1,
"Frequency": "DAY"
},
"CustomId": ""
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | No cards found | Inline |
400 | Bad Request | SpendingRuleset is not in business | None |
401 | Unauthorized | Token expired or does not exist | None |
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 |
»» CardholderType | string | false | none | Identifies whether cardholder type is TeamMember or Vendor |
»» 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 |
---|---|
CardholderType | TeamMember |
CardholderType | Vendor |
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.1,
"WeeklySpendLimit": 0.1,
"MonthlySpendLimit": 0.1,
"YearlySpendLimit": 0.1,
"LifetimeSpendLimit": 0.1,
"InternationalAllowed": false,
"CardNotPresentAllowed": false,
"CardPresence": 0,
"UsePexAccountBalanceForAuths": false,
"UseCustomerAuthDecision": false
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | GetSpendingRulesetsResponse |
401 | Unauthorized | Token expired or does not exist | None |
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.1,
"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.1,
"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 |
400 | Bad Request | - This ruleset is configured to use your business balance instead of the card balance. The daily spend limit must be less than or equal to $5,000.00. To allow the cardholder to spend over $5,000.00 per day, please disable the use of the business balance |
- The Name field is required
- The field Name must be a string with a maximum length of 50|None| |401|Unauthorized|Token expired or does not exist|None| |403|Forbidden|Spending ruleset does not exist in business|None| |406|Not Acceptable|Daily Spend Limit is not valid|None|
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.1,
"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.1,
"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
201 Response
{
"RulesetId": 0
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
201 | Created | Created | CreateSpendingRulesetResponse |
400 | Bad Request | - This ruleset is configured to use your business balance instead of the card balance. The daily spend limit must be less than or equal to $5,000.00. To allow the cardholder to spend over $5,000.00 per day, please disable the use of the business balance |
- The field CardPresence is invalid
- The Name field is required
- The field Name must be a string with a maximum length of 50|None| |401|Unauthorized|Token expired or does not exist|None| |403|Forbidden|Name already exists|None| |406|Not Acceptable|Daily Spend Limit is not valid|None|
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 |
401 | Unauthorized | Spending ruleset does not exist in business | None |
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.1,
"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 | Success | GetSpendingRulesetResponse |
400 | Bad Request | The RulesetId field is invalid | None |
401 | Unauthorized | Token expired or does not exist | None |
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": "Continue",
"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 | Success | NoteResponse |
400 | Bad Request | - The field NoteText must be a string with a maximum length of 200 |
- The NetworkTransactionId field is required
- The NoteText field is required
- Please do not include card numbers in your transaction notes|None| |401|Unauthorized|Token expired or does not exist|None| |404|Not Found|Transaction not found|None|
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 |
400 | Bad Request | - Please do not include card numbers in your transaction notes | |
- Note not found | None | ||
401 | Unauthorized | Token expired or does not exist | None |
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 |
400 | Bad Request | Note not found | None |
401 | Unauthorized | Token expired or does not exist | 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 | Success | NoteResponse |
400 | Bad Request | - The TransactionId field is required |
- The NoteText field is required
- The field NoteText must be a string with a maximum length of 200
- Please do not include card numbers in your transaction notes|None| |401|Unauthorized|Token expired or does not exist|None| |404|Not Found|Transaction not found|None|
Group : Manage groups and assign cards.
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.1,
"LedgerBalance": 0.1,
"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 | Success | Inline |
401 | Unauthorized | Token expired or does not exist | None |
403 | Forbidden | GroupId is not in business | None |
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) |
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 |
400 | Bad Request | The field Name must be a string with a maximum length of 50 | None |
401 | Unauthorized | Token expired or does not exist | None |
403 | Forbidden | - Group has already been added | |
- Group ID is invalid | 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 |
401 | Unauthorized | Token expired or does not exist | None |
403 | Forbidden | Group ID is Invalid | None |
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 | Success | GetGroupsResponse |
401 | Unauthorized | Token expired or does not exist | None |
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 |
400 | Bad Request | The field Name must be a string with a maximum length of 50 | None |
401 | Unauthorized | Token expired or does not exist | None |
403 | Forbidden | Group has already been added | None |
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 |
401 | Unauthorized | Token expired or does not exist | None |
403 | Forbidden | Admin does not have permission | 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.1
}
],
"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.1
}
],
"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.1,
"AccountId": 0,
"TransactionId": 0,
"CurrentBalance": 0.1,
"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 |
401 | Unauthorized | Token expired or does not exist | None |
403 | Forbidden | Admin does not have permission | 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": "DoNotTokenize"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | GetBusinessTokenProvisioningModeResponse |
401 | Unauthorized | Token expired or does not exist | None |
403 | Forbidden | Must be admin user | 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": "DoNotTokenize"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | GetCardholderTokenProvisioningModeResponse |
401 | Unauthorized | Token expired or does not exist | None |
403 | Forbidden | - Invalid card account ID |
- Must be card account ID
- This business does not support the Token Provisioning Feature|None|
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": "DoNotTokenize"
}';
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": "DoNotTokenize"
}
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 |
400 | Bad Request | The request is invalid. | None |
401 | Unauthorized | Token expired or does not exist | None |
403 | Forbidden | - Invalid card account ID |
- Must be card account ID
- This business does not support the Token Provisioning Feature
- Changes to token provisioning mode are disabled for vendor cardholder|None|
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": "",
"TokenExpirationDate": "",
"DeviceName": "",
"WalletName": "",
"Status": ""
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | GetIssuedTokensResponse |
401 | Unauthorized | Token expired or does not exist | None |
403 | Forbidden | - Invalid card account ID |
- Must be card account ID
- This business does not support the Token Provisioning Feature|None|
Activation token
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}/Activation',
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}/Activation', headers = headers)
print(r.json())
const inputBody = '{
"ReferenceId": "",
"ActivationNote": ""
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'string'
};
fetch('https://coreapi.pexcard.com/v4/TokenProvisioning/{id}/Activation',
{
method: 'PUT',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
PUT /TokenProvisioning/{id}/Activation
Activation token
Body parameter
{
"ReferenceId": "",
"ActivationNote": ""
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
id | path | integer(int32) | true | none |
Authorization | header | string | true | token {USERTOKEN} |
body | body | ActivationRequest | true | none |
Example responses
200 Response
{}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | Inline |
400 | Bad Request | Token activated or was already requested | None |
401 | Unauthorized | Token expired or does not exist | None |
403 | Forbidden | - Invalid card account ID |
- Must be card account ID
- This business does not support the Token Provisioning Feature|None| |404|Not Found|ReferenceId does not exist|None|
Response Schema
Status Code 200
IHttpActionResult
Name | Type | Required | Restrictions | Description |
---|
Partner : Manage partner.
Return a data associated with a partner
Code samples
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'string'
}
result = RestClient.get 'https://coreapi.pexcard.com/v4/Partner',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'string'
}
r = requests.get('https://coreapi.pexcard.com/v4/Partner', headers = headers)
print(r.json())
const headers = {
'Accept':'application/json',
'Authorization':'string'
};
fetch('https://coreapi.pexcard.com/v4/Partner',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /Partner
This endpoint is used for Partners to retrieve their unique Business ID. This Partner Business ID can then be used as a 1 to 1 relationship between a Partners Business ID and the PEX's Business Account ID. To find the PEX Business Account ID use the GET /Business/Profile endpoint.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | token {USERTOKEN} |
Example responses
200 Response
{
"PartnerName": "",
"PartnerBusinessId": ""
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | GetPartnerResponse |
401 | Unauthorized | Token expired or does not exist | None |
403 | Forbidden | Must be admin user | None |
CallbackSubscription : Manages callback subscriptions.
Returns all the callbacks subscriptions associated with the business.
Code samples
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'string'
}
result = RestClient.get 'https://coreapi.pexcard.com/v4/callback-subscription',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'string'
}
r = requests.get('https://coreapi.pexcard.com/v4/callback-subscription', headers = headers)
print(r.json())
const headers = {
'Accept':'application/json',
'Authorization':'string'
};
fetch('https://coreapi.pexcard.com/v4/callback-subscription',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /callback-subscription
Returns all the callbacks subscriptions associated with the business, whether they are active or not.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | token {USERTOKEN} |
Example responses
200 Response
[
{
"Id": 0,
"BusinessAccountId": 0,
"CallbackType": "Card",
"Status": "Active",
"Url": "",
"Username": "",
"CreatedDate": ""
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | Inline |
401 | Unauthorized | Token expired or does not exist | None |
403 | Forbidden | - Must be admin user | |
- Admin does not have permission | None |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | [CallbackSubscriptionResponse] | false | none | [Callback Subscription Response] |
» CallbackSubscriptionResponse | CallbackSubscriptionResponse | false | none | Callback Subscription Response |
»» Id | integer(int32) | false | none | Id |
»» BusinessAccountId | integer(int32) | false | none | Business Account Id |
»» CallbackType | string | false | none | Callback Type |
»» Status | string | false | none | Status |
»» Url | string | false | none | Url |
»» Username | string | false | none | Username |
»» CreatedDate | string(date-time) | false | none | Created Date |
Enumerated Values
Property | Value |
---|---|
CallbackType | Card |
CallbackType | Cardorder |
CallbackType | CardOrderVirtual |
CallbackType | CardTokenCreated |
CallbackType | AuthRealtime |
CallbackType | PinRealtime |
CallbackType | DeclineRealtime |
CallbackType | ReversalRealtime |
CallbackType | SettlementPostedRealtime |
Status | Active |
Status | Inactive |
Creates a new callback subscription.
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/callback-subscription',
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/callback-subscription', headers = headers)
print(r.json())
const inputBody = '{
"CallbackType": "Card",
"Status": "Active",
"Url": ""
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'string'
};
fetch('https://coreapi.pexcard.com/v4/callback-subscription',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST /callback-subscription
Creates a new callback subscription on the business account. Whenever the process associated with the type
runs, it will send a request to the url
, if the callback subscription is active.
Body parameter
{
"CallbackType": "Card",
"Status": "Active",
"Url": ""
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | token {USERTOKEN} |
body | body | CallbackSubscriptionInsertRequest | true | none |
Example responses
200 Response
{
"Id": 0,
"BusinessAccountId": 0,
"CallbackType": "Card",
"Status": "Active",
"Url": "",
"Username": "",
"CreatedDate": ""
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | CallbackSubscriptionResponse |
400 | Bad Request | The request body was not valid | None |
401 | Unauthorized | Token expired or does not exist | None |
403 | Forbidden | Admin does not have permission | None |
409 | Conflict | The callback subscription conflicts with another one. | None |
Returns the callback subscription.
Code samples
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'string'
}
result = RestClient.get 'https://coreapi.pexcard.com/v4/callback-subscription/{id}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'string'
}
r = requests.get('https://coreapi.pexcard.com/v4/callback-subscription/{id}', headers = headers)
print(r.json())
const headers = {
'Accept':'application/json',
'Authorization':'string'
};
fetch('https://coreapi.pexcard.com/v4/callback-subscription/{id}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /callback-subscription/{id}
Returns the callback subscription.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
id | path | integer(int32) | true | none |
Authorization | header | string | true | token {USERTOKEN} |
Example responses
200 Response
{
"Id": 0,
"BusinessAccountId": 0,
"CallbackType": "Card",
"Status": "Active",
"Url": "",
"Username": "",
"CreatedDate": ""
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | CallbackSubscriptionResponse |
401 | Unauthorized | Token expired or does not exist | None |
403 | Forbidden | - Must be admin user | |
- Admin does not have permission | None | ||
404 | Not Found | The callback subscription does not exist. | None |
Updates the callback subscription.
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/callback-subscription/{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/callback-subscription/{id}', headers = headers)
print(r.json())
const inputBody = '{
"CallbackType": "Card",
"Status": "Active",
"Url": ""
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'string'
};
fetch('https://coreapi.pexcard.com/v4/callback-subscription/{id}',
{
method: 'PUT',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
PUT /callback-subscription/{id}
Updates the callback subscription. Disabled callbacks can be reactivated by updating the status on the callback.
Body parameter
{
"CallbackType": "Card",
"Status": "Active",
"Url": ""
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
id | path | integer(int32) | true | none |
Authorization | header | string | true | token {USERTOKEN} |
body | body | CallbackSubscriptionUpdateRequest | true | none |
Example responses
200 Response
{
"Id": 0,
"BusinessAccountId": 0,
"CallbackType": "Card",
"Status": "Active",
"Url": "",
"Username": "",
"CreatedDate": ""
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | CallbackSubscriptionResponse |
400 | Bad Request | The request body was not recognized. | None |
401 | Unauthorized | Token expired or does not exist | None |
403 | Forbidden | - Must be admin user | |
- Admin does not have permission | None | ||
404 | Not Found | The callback subscription does not exist. | None |
409 | Conflict | The callback subscription conflicts with another one. | None |
Credit : Credit business endpoints
Get business invoices
Code samples
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'string'
}
result = RestClient.get 'https://coreapi.pexcard.com/v4/Invoices',
params: {
'StartDate' => '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/Invoices', params={
'StartDate': '2019-08-24T14:15:22Z'
}, headers = headers)
print(r.json())
const headers = {
'Accept':'application/json',
'Authorization':'string'
};
fetch('https://coreapi.pexcard.com/v4/Invoices?StartDate=2019-08-24T14%3A15%3A22Z',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /Invoices
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
StartDate | query | string(date-time) | true | Start Date |
Authorization | header | string | true | token {USERTOKEN} |
Example responses
200 Response
[
{
"InvoiceId": 0,
"InvoiceAmount": 0.1,
"Status": "Open",
"DueDate": ""
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | Inline |
400 | Bad Request | The request is invalid | None |
401 | Unauthorized | Token expired or does not exist | None |
403 | Forbidden | Must be admin user | None |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | [Invoice] | false | none | none |
» Invoice | Invoice | false | none | none |
»» InvoiceId | integer(int32) | true | none | none |
»» InvoiceAmount | number(double) | true | none | none |
»» Status | string | true | none | none |
»» DueDate | string(date-time) | true | none | none |
Enumerated Values
Property | Value |
---|---|
Status | Open |
Status | Closed |
Status | Cancelled |
Status | Draft |
Get invoice allocations
Code samples
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'string'
}
result = RestClient.get 'https://coreapi.pexcard.com/v4/Invoice/{id}/Allocations',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'string'
}
r = requests.get('https://coreapi.pexcard.com/v4/Invoice/{id}/Allocations', headers = headers)
print(r.json())
const headers = {
'Accept':'application/json',
'Authorization':'string'
};
fetch('https://coreapi.pexcard.com/v4/Invoice/{id}/Allocations',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /Invoice/{id}/Allocations
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
id | path | integer(int32) | true | Invoice ID |
Authorization | header | string | true | token {USERTOKEN} |
Example responses
200 Response
[
{
"InvoiceId": 0,
"TagName": "",
"TagValue": "",
"TotalAmount": 0.1
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | Inline |
401 | Unauthorized | Token expired or does not exist | None |
403 | Forbidden | Must be admin user | None |
404 | Not Found | Invoice is not found | None |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | [InvoiceAllocation] | false | none | none |
» InvoiceAllocation | InvoiceAllocation | false | none | none |
»» InvoiceId | integer(int64) | false | none | none |
»» TagName | string | false | none | none |
»» TagValue | string | false | none | none |
»» TotalAmount | number(double) | false | none | none |
Get invoice payments
Code samples
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'string'
}
result = RestClient.get 'https://coreapi.pexcard.com/v4/Invoice/{id}/Payments',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'string'
}
r = requests.get('https://coreapi.pexcard.com/v4/Invoice/{id}/Payments', headers = headers)
print(r.json())
const headers = {
'Accept':'application/json',
'Authorization':'string'
};
fetch('https://coreapi.pexcard.com/v4/Invoice/{id}/Payments',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /Invoice/{id}/Payments
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
id | path | integer(int32) | true | Invoice ID |
Authorization | header | string | true | token {USERTOKEN} |
Example responses
200 Response
[
{
"PaymentId": 0,
"Type": "PEXTransfer",
"Amount": 0.1
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | Inline |
401 | Unauthorized | Token expired or does not exist | None |
403 | Forbidden | Must be admin user | None |
404 | Not Found | Invoice is not found | None |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | [InvoicePayment] | false | none | none |
» InvoicePayment | InvoicePayment | false | none | none |
»» PaymentId | integer(int32) | false | none | none |
»» Type | string | false | none | none |
»» Amount | number(double) | false | none | none |
Enumerated Values
Property | Value |
---|---|
Type | PEXTransfer |
Type | SalesCredit |
Type | WriteOff |
Type | Reversal |
Type | RebateCredit |
Type | RebateCreditReversal |
Type | SameDayACH |
Type | CarryOverCredit |
VendorCard : Create and review vendor card orders.
Return details for all vendor cards included in a vendor 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/VendorCard/Order/{orderId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'string'
}
r = requests.get('https://coreapi.pexcard.com/v4/VendorCard/Order/{orderId}', headers = headers)
print(r.json())
const headers = {
'Accept':'application/json',
'Authorization':'string'
};
fetch('https://coreapi.pexcard.com/v4/VendorCard/Order/{orderId}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET /VendorCard/Order/{orderId}
After using POST /VendorCard/Order to create one or more cards, you can use this call to retrieve the card order information, including the vendor card Account Id ("AcctId"). Note the response will not include any sensitive card data.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
OrderId | path | integer(int32) | true | Vendor Card Order Id |
Authorization | header | string | true | token {USERTOKEN} |
Example responses
200 Response
{
"CardOrderId": 0,
"OrderDateTime": "",
"UserName": "",
"Cards": [
{
"RequestId": 0,
"AcctId": 0,
"AccountNumber": "",
"VendorName": "",
"DateOfBirth": "",
"Phone": "",
"Email": "",
"HomeAddress": {
"AddressLine1": "",
"AddressLine2": "",
"City": "",
"State": "",
"PostalCode": "",
"Country": ""
},
"GroupId": 0,
"SpendingRulesetsId": 0,
"AutoActivation": false,
"FundCardAmount": 0.1,
"CardDataWebhookURL": "",
"Status": "",
"Errors": [
"string"
],
"ErrorMessage": ""
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | VendorCardsGetOrderResponse |
401 | Unauthorized | Token expired or does not exist | None |
403 | Forbidden | Vendor Card order is not available (may belong to another business) | None |
404 | Not Found | Vendor Card order does not exist | None |
Create vendor 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/VendorCard/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/VendorCard/Order', headers = headers)
print(r.json())
const inputBody = '{
"VendorCards": [
{
"VendorName": "",
"Phone": "",
"Email": "",
"GroupId": 0,
"RulesetId": 0,
"AutoActivation": false,
"FundingType": "InitialFunding",
"FundCardAmount": 0.1,
"CardDataWebhookURL": ""
}
]
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'string'
};
fetch('https://coreapi.pexcard.com/v4/VendorCard/Order',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST /VendorCard/Order
Create vendor cards for the business. The response to this call is a VendorCardOrderId and NumberOfCardsRequested.
To retrieve card order details (without sensitive data), including the card AcctId, use GET /VendorCard/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.
Vendor name and phone number are required.
non-ASCII characters. Ex: "ñ" not allowed
Vendor name may only include letters, numbers and the following punctuation symbols: , . - & ', and have a maximum length of 15 characters
Email format: name@domain.com
Phone format: 2125551212 or 212-555-1212, 10 digits can not begin with 1
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}.
FundingType:
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".
At card creation, the spend rule defaults are:
Body parameter
{
"VendorCards": [
{
"VendorName": "",
"Phone": "",
"Email": "",
"GroupId": 0,
"RulesetId": 0,
"AutoActivation": false,
"FundingType": "InitialFunding",
"FundCardAmount": 0.1,
"CardDataWebhookURL": ""
}
]
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | token {USERTOKEN} |
body | body | VendorCardsOrderRequest | true | none |
Example responses
200 Response
{
"VendorCardOrderId": 0,
"NumberOfCardsRequested": 0
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | VendorCardsOrderResponse |
400 | Bad Request | - The GroupId does not exist |
- The RulesetId does not exist
- Funding Card Amount you entered (X) is greater than the Maximum Card Balance (Y)
- Webhook host request is different than one registered with PEX|None| |401|Unauthorized|Token expired or does not exist|None| |403|Forbidden|- The business does not support Vendor Card feature
- Administrator lacking proper permissions to 'Add/Edit/Terminate Card'
- Administrator lacking proper permissions for 'Funding' of Card
- Card limit exceeded
- Balance on cards greater than business balance
- Webhook is not properly registered with PEX
- Card for Vendor Name cannot be added to the specified spend policy because it conflicts with the Card Presence setting
- Card requests with Auto Card Funding cannot include a RulesetId|None| |405|Method Not Allowed|- Business funding is required. Please contact adminsupport@pexcard.com|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/VendorCard/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/VendorCard/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/VendorCard/Data',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST /VendorCard/Data
Request to resend webhook/callback with sensitive card data for a single AcctId.
This should only be used if the webhook from POST/VendorCard/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 /VendorCard/Order/{Id}.
Body parameter
{
"AcctId": 0,
"CardDataWebhookUrl": ""
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Authorization | header | string | true | token {USERTOKEN} |
body | body | VendorCardDataRequest | true | Account ID and webhook URL |
Example responses
200 Response
{}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Success | Inline |
400 | Bad Request | - AccountId is not found or is not associated with a Vendor Card Order | |
- Webhook host request is different than one registered with PEX | None | ||
401 | Unauthorized | Token expired or does not exist | None |
403 | Forbidden | - Cardholder does not belong to this business | |
- Webhook is not properly registered with PEX | None |
Response Schema
Status Code 200
IHttpActionResult
Name | Type | Required | Restrictions | Description |
---|
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.1,
"DailySpendLimit": 0.1,
"WeeklySpendLimit": 0.1,
"MonthlySpendLimit": 0.1,
"YearlySpendLimit": 0.1,
"LifetimeSpendLimit": 0.1
}
],
"InternationalSpendEnabled": false,
"IsDailySpendLimitEnabled": false,
"DailySpendLimit": 0.1,
"WeeklySpendLimit": 0.1,
"MonthlySpendLimit": 0.1,
"YearlySpendLimit": 0.1,
"LifetimeSpendLimit": 0.1,
"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.1,
"DailySpendLimit": 0.1,
"WeeklySpendLimit": 0.1,
"MonthlySpendLimit": 0.1,
"YearlySpendLimit": 0.1,
"LifetimeSpendLimit": 0.1
}
],
"InternationalSpendEnabled": false,
"IsDailySpendLimitEnabled": false,
"DailySpendLimit": 0.1,
"WeeklySpendLimit": 0.1,
"MonthlySpendLimit": 0.1,
"YearlySpendLimit": 0.1,
"LifetimeSpendLimit": 0.1,
"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.1,
"DailySpendLimit": 0.1,
"WeeklySpendLimit": 0.1,
"MonthlySpendLimit": 0.1,
"YearlySpendLimit": 0.1,
"LifetimeSpendLimit": 0.1
}
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.1,
"DailySpendLimit": 0.1,
"WeeklySpendLimit": 0.1,
"MonthlySpendLimit": 0.1,
"YearlySpendLimit": 0.1,
"LifetimeSpendLimit": 0.1
}
],
"InternationalSpendEnabled": false,
"DailySpendLimit": 0.1,
"WeeklySpendLimit": 0.1,
"MonthlySpendLimit": 0.1,
"YearlySpendLimit": 0.1,
"LifetimeSpendLimit": 0.1,
"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.1,
"DailySpendLimit": 0.1,
"WeeklySpendLimit": 0.1,
"MonthlySpendLimit": 0.1,
"YearlySpendLimit": 0.1,
"LifetimeSpendLimit": 0.1
}
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.1,
"LedgerBalance": 0.1,
"TransactionId": 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 |
TransactionId | integer(int64) | true | none | Id of funded transaction |
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": "",
"IsVirtual": false
}
]
}
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": "",
"IsVirtual": false
}
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) |
IsVirtual | boolean | false | none | Is virtual |
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 | true | none | Phone number |
ShippingPhone | string | false | none | Shipping Phone number |
DateOfBirth | string(date-time) | true | 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,
"CardholderType": "TeamMember",
"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 |
CardholderType | string | false | none | Identifies whether cardholder type is TeamMember or Vendor |
CustomId | string | false | none | User defined Id which can be assigned to Card holder profile (alphanumeric up to 50 characters) |
Enumerated Values
Property | Value |
---|---|
CardholderType | TeamMember |
CardholderType | Vendor |
FundRequest
{
"Amount": 0.1,
"NoteText": ""
}
FundRequest
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
Amount | number(double) | true | none | The amount to fund the card account, rounded to 2 decimal places |
NoteText | string | false | none | Text of note which will be attached to transaction |
CreateCardAsyncRequest
{
"Cards": [
{
"Phone": "",
"ShippingPhone": "",
"ShippingMethod": "Invalid",
"DateOfBirth": "",
"Email": "",
"GroupId": 0,
"RulesetId": 0,
"VirtualCard": false,
"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": "Invalid",
"DateOfBirth": "",
"Email": "",
"GroupId": 0,
"RulesetId": 0,
"VirtualCard": false,
"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 | false | none | Shipping Phone number |
ShippingMethod | string | false | 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 |
VirtualCard | boolean | false | none | Virtual card |
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 |
ShippingMethod | PriorityMail |
CreateCardAsyncResponse
{
"CardOrderId": 0
}
CreateCardAsyncResponse
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
CardOrderId | integer(int32) | false | none | Card Order ID |
PhysicalEmbossingJobRequest
{
"ShippingPhone": "",
"ShippingMethod": "Invalid",
"ShippingAddress": {
"ContactName": "",
"AddressLine1": "",
"AddressLine2": "",
"City": "",
"State": "",
"PostalCode": "",
"Country": ""
},
"Accounts": [
0
]
}
PhysicalEmbossingJobRequest
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
ShippingPhone | string | true | none | Shipping Phone number |
ShippingMethod | string | true | none | Method for shipping the card |
ShippingAddress | AddressContact | true | none | none |
Accounts | [integer] | true | none | Accounts |
Enumerated Values
Property | Value |
---|---|
ShippingMethod | Invalid |
ShippingMethod | FirstClassMail |
ShippingMethod | Expedited |
ShippingMethod | Rush |
ShippingMethod | PriorityMail |
UpdateCardStatusRequest
{
"Status": "Invalid"
}
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 |
CardLoadLimitResponse
{
"AccountId": 0,
"LifetimeLimit": 0.1,
"RemainingLimit": 0.1
}
CardLoadLimitResponse
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
AccountId | integer(int32) | false | none | The cardholder account id |
LifetimeLimit | number(double) | false | none | This value is the maximum amount of dollars that can be loaded onto a Cardholder's Account. Note: a value of zero indicates that there is no limit set for the account. |
RemainingLimit | number(double) | false | none | The amount of funds that can still be added to an account before exceeding the Lifetime Card Funding Limit(i.e.LifetimeLimit less the total funds added to the account to date). A value of null is returned if the lifetime limit does not exist for the account. |
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.1,
"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.1,
"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.1,
"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.1,
"Frequency": "DAY"
}
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.1,
"Frequency": "DAY"
}
}
GetScheduledFundingRulesResponse
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
ScheduledFunding | ScheduledFunding | false | none | Details about scheduled funding |
ScheduledFunding
{
"Amount": 0.1,
"Frequency": "DAY"
}
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 |
CardViewTokenCreateRequest
{
"AcctId": 0
}
CardViewTokenCreateRequest
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
AcctId | integer(int32) | true | none | Account ID |
CancellationToken
{
"IsCancellationRequested": false,
"CanBeCanceled": false,
"WaitHandle": {
"Handle": {},
"SafeWaitHandle": {
"IsInvalid": false,
"IsClosed": false
}
}
}
CancellationToken
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
IsCancellationRequested | boolean | false | read-only | none |
CanBeCanceled | boolean | false | read-only | none |
WaitHandle | WaitHandle | false | none | none |
WaitHandle
{
"Handle": {},
"SafeWaitHandle": {
"IsInvalid": false,
"IsClosed": false
}
}
WaitHandle
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
Handle | object | false | none | none |
SafeWaitHandle | SafeWaitHandle | false | none | none |
SafeWaitHandle
{
"IsInvalid": false,
"IsClosed": false
}
SafeWaitHandle
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
IsInvalid | boolean | false | read-only | none |
IsClosed | boolean | false | read-only | none |
CardViewTokenCreateResponse
{
"CardViewToken": ""
}
CardViewTokenCreateResponse
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
CardViewToken | string | false | none | none |
CardViewTokenUseRequest
{
"CardViewToken": ""
}
CardViewTokenUseRequest
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
CardViewToken | string | true | none | none |
CardViewTokenUseResponse
{
"CardNumber": "",
"ExpirationDate": "",
"CVV2": ""
}
CardViewTokenUseResponse
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
CardNumber | string | false | none | none |
ExpirationDate | string(date-time) | false | none | none |
CVV2 | string | false | none | none |
GetAdvancedAccountDetailsResponse
{
"AccountId": 0,
"Group": {
"Id": 0,
"GroupName": ""
},
"AccountStatus": "",
"LedgerBalance": 0.1,
"AvailableBalance": 0.1,
"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.1,
"DailySpendLimit": 0.1,
"WeeklySpendLimit": 0.1,
"MonthlySpendLimit": 0.1,
"YearlySpendLimit": 0.1,
"LifetimeSpendLimit": 0.1
}
],
"InternationalSpendEnabled": false,
"IsDailySpendLimitEnabled": false,
"DailySpendLimit": 0.1,
"WeeklySpendLimit": 0.1,
"MonthlySpendLimit": 0.1,
"YearlySpendLimit": 0.1,
"LifetimeSpendLimit": 0.1,
"CardNotPresentUse": false,
"CardPresence": 0,
"UsePexAccountBalanceForAuths": false,
"UseCustomerAuthDecision": false,
"DaysOfWeekRestrictions": [
"string"
],
"UsStateRestrictions": [
"string"
]
},
"ScheduledFunding": {
"Amount": 0.1,
"Frequency": "DAY"
},
"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": "PerDay",
"EnforcedLimit": 0.1,
"RemainingSpend": 0.1
}
],
"MerchantCategoryLimits": [
{
"MerchantCategoryId": 0,
"Category": "",
"Type": "PerDay",
"EnforcedLimit": 0.1,
"RemainingSpend": 0.1
}
]
}
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": "PerDay",
"EnforcedLimit": 0.1,
"RemainingSpend": 0.1
}
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": "PerDay",
"EnforcedLimit": 0.1,
"RemainingSpend": 0.1
}
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.1,
"PaddingAmount": 0.1,
"AvailableBalance": 0.1,
"LedgerBalance": 0.1,
"TransactionType": "",
"Description": "",
"TransactionNotes": [
{
"NoteId": 0,
"UserName": "",
"NoteText": "",
"NoteDate": ""
}
],
"HasReceipt": false,
"ReferencedTranId": 0,
"ReferencedTransactionTime": "",
"MerchantName": "",
"MerchantNameNormalized": "",
"MerchantUrl": "",
"MerchantLogoUrl": "",
"MerchantIconUrl": "",
"MerchantCity": "",
"MerchantState": "",
"MerchantZip": "",
"MerchantCountry": "",
"MCCCode": "",
"AuthIdentityResponseCode": "",
"MerchantId": "",
"TerminalId": "",
"SourceCurrencyCodeDescription": "",
"SourceCurrencyNumericCode": "",
"SourceAmount": 0.1,
"NetworkType": "",
"NetworkStatus": "",
"IsCardPresent": false,
"Message": "",
"MessageCode": "",
"MerchantRequestedAmount": 0.1
}
]
}
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.1,
"PaddingAmount": 0.1,
"AvailableBalance": 0.1,
"LedgerBalance": 0.1,
"TransactionType": "",
"Description": "",
"TransactionNotes": [
{
"NoteId": 0,
"UserName": "",
"NoteText": "",
"NoteDate": ""
}
],
"HasReceipt": false,
"ReferencedTranId": 0,
"ReferencedTransactionTime": "",
"MerchantName": "",
"MerchantNameNormalized": "",
"MerchantUrl": "",
"MerchantLogoUrl": "",
"MerchantIconUrl": "",
"MerchantCity": "",
"MerchantState": "",
"MerchantZip": "",
"MerchantCountry": "",
"MCCCode": "",
"AuthIdentityResponseCode": "",
"MerchantId": "",
"TerminalId": "",
"SourceCurrencyCodeDescription": "",
"SourceCurrencyNumericCode": "",
"SourceAmount": 0.1,
"NetworkType": "",
"NetworkStatus": "",
"IsCardPresent": false,
"Message": "",
"MessageCode": "",
"MerchantRequestedAmount": 0.1
}
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 |
HasReceipt | boolean | false | none | Whether or not the transaction has receipt attached |
ReferencedTranId | integer(int64) | false | none | ID of referenced transaction |
ReferencedTransactionTime | string(date-time) | false | none | Referenced transaction time |
MerchantName | string | false | none | Merchant name |
MerchantNameNormalized | string | false | none | Merchant name normalized |
MerchantUrl | string | false | none | Merchant website url |
MerchantLogoUrl | string | false | none | Merchant logo url |
MerchantIconUrl | string | false | none | Merchant icon url |
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 |
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 |
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,
"BusinessAccountNumber": "",
"BusinessName": "",
"BusinessAccountStatus": "",
"BusinessAccountBalance": 0.1,
"PendingTransferAmount": 0.1,
"BankAccountList": [
{
"ExternalBankAcctId": 0,
"RoutingNumber": "",
"BankAccountNumber": "",
"BankName": "",
"BankAccountType": "",
"IsActive": false
}
],
"CHAccountList": [
{
"AccountId": 0,
"FirstName": "",
"LastName": "",
"Email": "",
"LedgerBalance": 0.1,
"AvailableBalance": 0.1,
"AccountStatus": "",
"IsVirtual": false,
"CardholderType": "",
"CustomId": "",
"GroupId": 0,
"GroupName": "",
"CardStatus": "",
"CardNumber4Digits": "",
"CardIssueDate": "",
"CardExpiryDate": ""
}
],
"CardholderGroups": [
{
"Id": 0,
"Name": ""
}
],
"OpenCardholdersCount": 0,
"OpenVendorCardsCount": 0
}
BusinessDetailsResponse
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
BusinessAccountId | integer(int32) | true | none | Unique account id for the business |
BusinessAccountNumber | string | true | none | Unique account number 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 |
OpenCardholdersCount | integer(int32) | false | none | The number of open team cards this business has. |
OpenVendorCardsCount | integer(int32) | false | none | The number of open vendor cards this business has. |
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": "",
"Email": "",
"LedgerBalance": 0.1,
"AvailableBalance": 0.1,
"AccountStatus": "",
"IsVirtual": false,
"CardholderType": "",
"CustomId": "",
"GroupId": 0,
"GroupName": "",
"CardStatus": "",
"CardNumber4Digits": "",
"CardIssueDate": "",
"CardExpiryDate": ""
}
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 |
string | true | none | Cardholder email | |
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 |
CardholderType | string | false | none | Identifies whether cardholder type is TeamMember or Vendor |
CustomId | string | false | none | User defined Id which can be assigned to Card holder profile (alphanumeric up to 50 characters) |
GroupId | integer(int32) | false | none | Cardholder's group id. |
GroupName | string | false | none | Cardholder's group name. |
CardStatus | string | false | none | Cardholder's active card status (NULL, Active, Inactive, Closed, Blocked). |
CardNumber4Digits | string | false | none | Cardholder's active card's last 4 digits. |
CardIssueDate | string(date-time) | false | none | Cardholder's active card's issue date. |
CardExpiryDate | string(date-time) | false | none | Cardholder's active card's expiry date. |
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.1,
"AvailableBalance": 0.1,
"ProfileAddress": {
"ContactName": "",
"AddressLine1": "",
"AddressLine2": "",
"City": "",
"State": "",
"PostalCode": "",
"Country": ""
},
"Phone": "",
"ShippingAddress": {
"ContactName": "",
"AddressLine1": "",
"AddressLine2": "",
"City": "",
"State": "",
"PostalCode": "",
"Country": ""
},
"ShippingPhone": "",
"DateOfBirth": "",
"Email": "",
"IsVirtual": false,
"CardholderType": "TeamMember",
"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.1,
"CardNotPresentUse": false,
"CardPresence": 0,
"UsePexAccountBalanceForAuths": false,
"UseCustomerAuthDecision": false
},
"ScheduledFunding": {
"Amount": 0.1,
"Frequency": "DAY"
},
"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 |
CardholderType | string | false | none | Identifies whether cardholder type is TeamMember or Vendor |
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) |
Enumerated Values
Property | Value |
---|---|
CardholderType | TeamMember |
CardholderType | Vendor |
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.1,
"PaddingAmount": 0.1,
"TransactionType": "Transfer",
"Description": "",
"TransactionNotes": [
{
"NoteId": 0,
"UserName": "",
"NoteText": "",
"NoteDate": ""
}
],
"IsPending": false,
"IsDecline": false,
"HasReceipt": false,
"MerchantName": "",
"MerchantNameNormalized": "",
"MerchantUrl": "",
"MerchantLogoUrl": "",
"MerchantIconUrl": "",
"MerchantCity": "",
"MerchantState": "",
"MerchantZip": "",
"MerchantCountry": "",
"MCCCode": "",
"TransferToOrFromAccountId": 0,
"AuthIdentityResponseCode": "",
"MerchantId": "",
"TerminalId": "",
"NetworkTransactionId": 0,
"SourceCurrencyCodeDescription": "",
"SourceCurrencyNumericCode": "",
"SourceAmount": 0.1,
"TransactionTags": {
"Tags": [
{
"FieldId": "",
"Value": {},
"Name": ""
}
],
"State": "Initial",
"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.1,
"PaddingAmount": 0.1,
"TransactionType": "Transfer",
"Description": "",
"TransactionNotes": [
{
"NoteId": 0,
"UserName": "",
"NoteText": "",
"NoteDate": ""
}
],
"IsPending": false,
"IsDecline": false,
"HasReceipt": false,
"MerchantName": "",
"MerchantNameNormalized": "",
"MerchantUrl": "",
"MerchantLogoUrl": "",
"MerchantIconUrl": "",
"MerchantCity": "",
"MerchantState": "",
"MerchantZip": "",
"MerchantCountry": "",
"MCCCode": "",
"TransferToOrFromAccountId": 0,
"AuthIdentityResponseCode": "",
"MerchantId": "",
"TerminalId": "",
"NetworkTransactionId": 0,
"SourceCurrencyCodeDescription": "",
"SourceCurrencyNumericCode": "",
"SourceAmount": 0.1,
"TransactionTags": {
"Tags": [
{
"FieldId": "",
"Value": {},
"Name": ""
}
],
"State": "Initial",
"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 |
HasReceipt | boolean | false | none | Whether or not the transaction has receipt attached |
MerchantName | string | true | none | Merchant name |
MerchantNameNormalized | string | false | none | Merchant name normalized |
MerchantUrl | string | false | none | Merchant website url |
MerchantLogoUrl | string | false | none | Merchant logo url |
MerchantIconUrl | string | false | none | Merchant icon url |
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": "Initial",
"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": "Image",
"Size": 0,
"Link": {
"related": ""
},
"UploadStatus": "NotLoaded",
"CreatedDateUtc": "",
"CreatedBy": {
"AdminId": 0,
"UserId": 0,
"PexUserId": 0
},
"UpdatedDateUtc": "",
"UpdatedBy": {
"AdminId": 0,
"UserId": 0,
"PexUserId": 0
}
}
],
"ApprovalStatus": "NotReviewed"
}
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": "Image",
"Size": 0,
"Link": {
"related": ""
},
"UploadStatus": "NotLoaded",
"CreatedDateUtc": "",
"CreatedBy": {
"AdminId": 0,
"UserId": 0,
"PexUserId": 0
},
"UpdatedDateUtc": "",
"UpdatedBy": {
"AdminId": 0,
"UserId": 0,
"PexUserId": 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,
"PexUserId": 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 |
PexUserId | integer(int64) | false | none | Security User Id of the user who created, updated, or deleted the tag definition |
DeleteAttachment
{
"AttachmentId": "",
"Type": "Image",
"Size": 0,
"UploadStatus": "NotLoaded",
"CreatedDateUtc": "",
"CreatedBy": {
"AdminId": 0,
"UserId": 0,
"PexUserId": 0
},
"UpdatedDateUtc": "",
"UpdatedBy": {
"AdminId": 0,
"UserId": 0,
"PexUserId": 0
},
"DeletedDateUtc": "",
"DeletedBy": {
"AdminId": 0,
"UserId": 0,
"PexUserId": 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": "Image",
"Size": 0,
"Content": "",
"UploadStatus": "NotLoaded",
"CreatedDateUtc": "",
"CreatedBy": {
"AdminId": 0,
"UserId": 0,
"PexUserId": 0
},
"UpdatedDateUtc": "",
"UpdatedBy": {
"AdminId": 0,
"UserId": 0,
"PexUserId": 0
},
"ApprovalStatus": "NotReviewed"
}
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": "Image"
}
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": "Image",
"Size": 0,
"Link": {
"self": ""
},
"UploadStatus": "NotLoaded",
"CreatedDateUtc": "",
"CreatedBy": {
"AdminId": 0,
"UserId": 0,
"PexUserId": 0
},
"UpdatedDateUtc": "",
"UpdatedBy": {
"AdminId": 0,
"UserId": 0,
"PexUserId": 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": "NotReviewed",
"Values": {},
"CreatedDateUtc": "",
"CreatedBy": {
"AdminId": 0,
"UserId": 0,
"PexUserId": 0
},
"UpdatedDateUtc": "",
"UpdatedBy": {
"AdminId": 0,
"UserId": 0,
"PexUserId": 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 |
CreateAllocationTagValuesRequest
{
"ConcurrencyKey": "",
"Values": [
{
"TagId": "",
"Allocation": [
{
"TagId": "",
"Value": {}
}
],
"Amount": 0.1
}
]
}
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.1
}
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.1
}
]
}
UpdateAllocationTagValuesRequest
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
ConcurrencyKey | string | false | none | Concurrent editing token |
Values | [AllocationTagValue] | false | none | Allocation tag values |
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 |
Tag
{
"Id": "",
"Type": "Text",
"Name": "",
"Description": "",
"IsEnabled": false,
"IsDeleted": false,
"IsRequired": false,
"Order": 0,
"ConcurrencyKey": "",
"CreatedDateUtc": "",
"CreatedBy": {
"AdminId": 0,
"UserId": 0,
"PexUserId": 0
},
"UpdatedDateUtc": "",
"UpdatedBy": {
"AdminId": 0,
"UserId": 0,
"PexUserId": 0
},
"DeletedDateUtc": "",
"DeletedBy": {
"AdminId": 0,
"UserId": 0,
"PexUserId": 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": 2147483647,
"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": "Text",
"Name": "",
"Description": "",
"IsEnabled": false,
"IsDeleted": false,
"IsRequired": false,
"Order": 0,
"ConcurrencyKey": "",
"CreatedDateUtc": "",
"CreatedBy": {
"AdminId": 0,
"UserId": 0,
"PexUserId": 0
},
"UpdatedDateUtc": "",
"UpdatedBy": {
"AdminId": 0,
"UserId": 0,
"PexUserId": 0
},
"DeletedDateUtc": "",
"DeletedBy": {
"AdminId": 0,
"UserId": 0,
"PexUserId": 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": 2147483647,
"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": 200,
"ValidationType": "None",
"Name": "",
"Description": "",
"Order": 2147483647,
"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": "None",
"Id": "",
"Type": "Text",
"Name": "",
"Description": "",
"IsEnabled": false,
"IsDeleted": false,
"IsRequired": false,
"Order": 0,
"ConcurrencyKey": "",
"CreatedDateUtc": "",
"CreatedBy": {
"AdminId": 0,
"UserId": 0,
"PexUserId": 0
},
"UpdatedDateUtc": "",
"UpdatedBy": {
"AdminId": 0,
"UserId": 0,
"PexUserId": 0
},
"DeletedDateUtc": "",
"DeletedBy": {
"AdminId": 0,
"UserId": 0,
"PexUserId": 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": 200,
"ValidationType": "None",
"Name": "",
"Description": "",
"Order": 2147483647,
"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": 2147483647,
"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": 2147483647,
"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": "Text",
"Name": "",
"Description": "",
"IsEnabled": false,
"IsDeleted": false,
"IsRequired": false,
"Order": 0,
"ConcurrencyKey": "",
"CreatedDateUtc": "",
"CreatedBy": {
"AdminId": 0,
"UserId": 0,
"PexUserId": 0
},
"UpdatedDateUtc": "",
"UpdatedBy": {
"AdminId": 0,
"UserId": 0,
"PexUserId": 0
},
"DeletedDateUtc": "",
"DeletedBy": {
"AdminId": 0,
"UserId": 0,
"PexUserId": 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 |
LinkedBusinessResponse
{
"InstitutionId": 0,
"BusinessAcctId": 0,
"BusinessName": "",
"MinBusinessBalance": 0.1,
"CurrentBalance": 0.1
}
LinkedBusinessResponse
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
InstitutionId | integer(int32) | false | none | The institution id. |
BusinessAcctId | integer(int32) | false | none | The business account id. |
BusinessName | string | false | none | The business account name. |
MinBusinessBalance | number(double) | false | none | The minimum business balance. |
CurrentBalance | number(double) | false | none | The current balance. |
ExternalBankResponse
{
"BusinessAcctId": 0,
"RecipientId": 0,
"AccountNumberMask": "",
"Name": "",
"Owner": "",
"Description": "",
"IsActive": false
}
ExternalBankResponse
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
BusinessAcctId | integer(int32) | false | none | The business id the bank account is for. |
RecipientId | integer(int32) | false | none | The bank transfer recipient id. |
AccountNumberMask | string | false | none | The account number masked. |
Name | string | false | none | The bank account name. |
Owner | string | false | none | The bank account owner. |
Description | string | false | none | The bank account description. |
IsActive | boolean | false | none | Whether the bank account is active. |
TransferDto
{
"Type": "ACH",
"AccountFrom": {
"AccountType": "Business",
"AccountId": 0
},
"AccountTo": {
"AccountType": "Business",
"AccountId": 0
},
"Amount": 0.1
}
TransferDto
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
Type | string | false | none | For tranfers with banks only: ACH, SameDayACH. |
AccountFrom | TransferAccountDto | true | none | none |
AccountTo | TransferAccountDto | false | none | none |
Amount | number(double) | true | none | The transfer amount (positive). |
Enumerated Values
Property | Value |
---|---|
Type | ACH |
Type | SameDayACH |
TransferAccountDto
{
"AccountType": "Business",
"AccountId": 0
}
TransferAccountDto
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
AccountType | string | true | none | Business, Bank. |
AccountId | integer(int32) | true | none | The Bank account's RecipientId or the business's BusinessAcctId; |
Enumerated Values
Property | Value |
---|---|
AccountType | Business |
AccountType | Bank |
TransferResponse
{
"Type": "BusinessToBusiness",
"TransferType": "ACH",
"ProcessingDateTime": ""
}
TransferResponse
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
Type | string | false | none | The type of transfer processed: BusinessToBusiness, BankToBusiness, BusinessToBank. |
TransferType | string | false | none | The bank transfer type: ACH, SameDayACH. |
ProcessingDateTime | string(date-time) | false | none | The time the funds will be available. |
Enumerated Values
Property | Value |
---|---|
Type | BusinessToBusiness |
Type | BankToBusiness |
Type | BusinessToBank |
TransferType | ACH |
TransferType | SameDayACH |
GetOneTimeTransferResponse
{
"OneTimeTransferDetails": [
{
"TransferRequestId": 0,
"BankInformation": {
"ExternalBankAcctId": 0,
"RoutingNumber": "",
"BankAccountNumber": "",
"BankName": "",
"BankAccountType": "",
"IsActive": false
},
"Amount": 0.1,
"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.1,
"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 |
CreateAdminRequest
{
"UserName": "",
"Password": "",
"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,
"CreateCardholder": false,
"ManageCardholder": false,
"ViewCardUsage": false,
"RequestCardFunding": false,
"ModifyTransactionNotes": false
},
"PasswordQuestion": "",
"PasswordAnswer": ""
}
CreateAdminRequest
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
UserName | string | false | none | Admin username |
Password | string | false | none | none |
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 |
PasswordQuestion | string | false | none | none |
PasswordAnswer | string | false | none | none |
AdminPermissions
{
"ViewAdministration": false,
"AddEditTerminateAdministrator": false,
"RequestDeleteACHTransfer": false,
"EditBusinessProfile": false,
"AddEditTerminateCard": false,
"CreateCardholder": false,
"ManageCardholder": false,
"ViewCardUsage": false,
"RequestCardFunding": false,
"ModifyTransactionNotes": 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 |
CreateCardholder | boolean | false | none | Whether or not admin can create a card |
ManageCardholder | boolean | false | none | Whether or not admin can edit, or terminate a card |
ViewCardUsage | boolean | false | none | Whether or not view card usage |
RequestCardFunding | boolean | true | none | Whether or not admin can create a card funding request |
ModifyTransactionNotes | boolean | true | none | Whether or not admin can modify transaction notes |
UpsertAdminResponse
{
"Admin": {
"BusinessAdminId": 0,
"FirstName": "",
"MiddleName": "",
"LastName": "",
"UserName": "",
"ProfileAddress": {
"ContactName": "",
"AddressLine1": "",
"AddressLine2": "",
"City": "",
"State": "",
"PostalCode": "",
"Country": ""
},
"Phone": "",
"AltPhone": "",
"DateOfBirth": "",
"Email": "",
"Permissions": {
"ViewAdministration": false,
"AddEditTerminateAdministrator": false,
"RequestDeleteACHTransfer": false,
"EditBusinessProfile": false,
"AddEditTerminateCard": false,
"CreateCardholder": false,
"ManageCardholder": false,
"ViewCardUsage": false,
"RequestCardFunding": false,
"ModifyTransactionNotes": false
},
"Status": ""
}
}
UpsertAdminResponse
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
Admin | BusinessAdmin | true | none | Details about the business admin |
BusinessAdmin
{
"BusinessAdminId": 0,
"FirstName": "",
"MiddleName": "",
"LastName": "",
"UserName": "",
"ProfileAddress": {
"ContactName": "",
"AddressLine1": "",
"AddressLine2": "",
"City": "",
"State": "",
"PostalCode": "",
"Country": ""
},
"Phone": "",
"AltPhone": "",
"DateOfBirth": "",
"Email": "",
"Permissions": {
"ViewAdministration": false,
"AddEditTerminateAdministrator": false,
"RequestDeleteACHTransfer": false,
"EditBusinessProfile": false,
"AddEditTerminateCard": false,
"CreateCardholder": false,
"ManageCardholder": false,
"ViewCardUsage": false,
"RequestCardFunding": false,
"ModifyTransactionNotes": false
},
"Status": ""
}
BusinessAdmin
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
BusinessAdminId | integer(int64) | true | none | Unique business admin id |
FirstName | string | true | none | First name |
MiddleName | string | false | none | Middle name |
LastName | string | true | none | Last name |
UserName | string | false | none | Admin username |
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 |
GetAdminListResponse
{
"BusinessAdmins": [
{
"BusinessAdminId": 0,
"FirstName": "",
"MiddleName": "",
"LastName": "",
"UserName": "",
"ProfileAddress": {
"ContactName": "",
"AddressLine1": "",
"AddressLine2": "",
"City": "",
"State": "",
"PostalCode": "",
"Country": ""
},
"Phone": "",
"AltPhone": "",
"DateOfBirth": "",
"Email": "",
"Permissions": {
"ViewAdministration": false,
"AddEditTerminateAdministrator": false,
"RequestDeleteACHTransfer": false,
"EditBusinessProfile": false,
"AddEditTerminateCard": false,
"CreateCardholder": false,
"ManageCardholder": false,
"ViewCardUsage": false,
"RequestCardFunding": false,
"ModifyTransactionNotes": false
},
"Status": ""
}
]
}
GetAdminListResponse
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
BusinessAdmins | [BusinessAdmin] | true | none | List of details about business admins |
UpsertAdminRequest
{
"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,
"CreateCardholder": false,
"ManageCardholder": false,
"ViewCardUsage": false,
"RequestCardFunding": false,
"ModifyTransactionNotes": false
},
"PasswordQuestion": "",
"PasswordAnswer": ""
}
UpsertAdminRequest
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 |
PasswordQuestion | string | false | none | none |
PasswordAnswer | string | false | none | none |
GetAdminResponse
{
"Admin": {
"BusinessAdminId": 0,
"FirstName": "",
"MiddleName": "",
"LastName": "",
"UserName": "",
"ProfileAddress": {
"ContactName": "",
"AddressLine1": "",
"AddressLine2": "",
"City": "",
"State": "",
"PostalCode": "",
"Country": ""
},
"Phone": "",
"AltPhone": "",
"DateOfBirth": "",
"Email": "",
"Permissions": {
"ViewAdministration": false,
"AddEditTerminateAdministrator": false,
"RequestDeleteACHTransfer": false,
"EditBusinessProfile": false,
"AddEditTerminateCard": false,
"CreateCardholder": false,
"ManageCardholder": false,
"ViewCardUsage": false,
"RequestCardFunding": false,
"ModifyTransactionNotes": false
},
"Status": ""
}
}
GetAdminResponse
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
Admin | BusinessAdmin | true | none | Details about the business admin |
GetBusinessBalanceResponse
{
"BusinessAccountId": 0,
"BusinessAccountBalance": 0.1
}
GetBusinessBalanceResponse
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
BusinessAccountId | integer(int32) | false | none | Business account id |
BusinessAccountBalance | number(double) | false | none | Business account balance |
BillingRequest
{
"Month": 1,
"Year": 0
}
BillingRequest
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
Month | integer(int32) | true | none | Month |
Year | integer(int32) | true | none | Year |
BillingResponse
{
"OpenCardAccounts": 0,
"MonthlyFee": 0.1,
"EnrollmentFee": 0.1
}
BillingResponse
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
OpenCardAccounts | integer(int32) | false | none | Open card accounts |
MonthlyFee | number(double) | false | none | Monthly Fee |
EnrollmentFee | number(double) | false | none | Enrollement Fee |
SettingsResponse
{
"SupportedCardType": [
"Undefined"
],
"UseBusinessBalance": false,
"UseRemoteDecision": false,
"BlockCardDefunding": false,
"UseCardholderGroup": false,
"TagsEnabled": false,
"AllocationTagsEnabled": false,
"FundingSource": "Prepaid",
"CardLimit": 0,
"VendorLimit": 0,
"DefaultDailyLimit": 0.1
}
SettingsResponse
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
SupportedCardType | [string] | false | none | Supported Card Types |
UseBusinessBalance | boolean | false | none | Use Business Balance |
UseRemoteDecision | boolean | false | none | Use Remote Decision |
BlockCardDefunding | boolean | false | none | Block Card Defunding |
UseCardholderGroup | boolean | false | none | Use cardholder groups. |
TagsEnabled | boolean | false | none | Use Tags. |
AllocationTagsEnabled | boolean | false | read-only | Allocation Tags Enabled. |
FundingSource | string | false | none | Source of funds (prepaid or credit) |
CardLimit | integer(int32) | false | none | The (optional) maximum number of team cards this business can have. |
VendorLimit | integer(int32) | false | none | The (optional) maximum number of vendor cards this business can have. |
DefaultDailyLimit | number(double) | false | read-only | The (optional) default daily funding limit of auto funding. |
Enumerated Values
Property | Value |
---|---|
FundingSource | Prepaid |
FundingSource | Credit |
AdvancedCardholderDetailsResponse
{
"AccountId": 0,
"Group": {
"Id": 0,
"GroupName": ""
},
"AccountStatus": "",
"LedgerBalance": 0.1,
"AvailableBalance": 0.1,
"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.1,
"DailySpendLimit": 0.1,
"WeeklySpendLimit": 0.1,
"MonthlySpendLimit": 0.1,
"YearlySpendLimit": 0.1,
"LifetimeSpendLimit": 0.1
}
],
"InternationalSpendEnabled": false,
"IsDailySpendLimitEnabled": false,
"DailySpendLimit": 0.1,
"WeeklySpendLimit": 0.1,
"MonthlySpendLimit": 0.1,
"YearlySpendLimit": 0.1,
"LifetimeSpendLimit": 0.1,
"CardNotPresentUse": false,
"CardPresence": 0,
"UsePexAccountBalanceForAuths": false,
"UseCustomerAuthDecision": false,
"DaysOfWeekRestrictions": [
"string"
],
"UsStateRestrictions": [
"string"
]
},
"ScheduledFunding": {
"Amount": 0.1,
"Frequency": "DAY"
},
"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.1,
"WeeklySpendLimit": 0.1,
"MonthlySpendLimit": 0.1,
"YearlySpendLimit": 0.1,
"LifetimeSpendLimit": 0.1,
"InternationalAllowed": false,
"CardNotPresentAllowed": false,
"CardPresence": 0,
"UsePexAccountBalanceForAuths": false,
"UseCustomerAuthDecision": false,
"DaysOfWeekRestrictions": [
"string"
],
"UsStateRestrictions": [
"string"
],
"MccRestrictions": false,
"MerchantCategories": [
{
"Id": 0,
"Name": "",
"Description": "",
"TransactionLimit": 0.1,
"DailySpendLimit": 0.1,
"WeeklySpendLimit": 0.1,
"MonthlySpendLimit": 0.1,
"YearlySpendLimit": 0.1,
"LifetimeSpendLimit": 0.1
}
]
}
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.1,
"DailySpendLimit": 0.1,
"WeeklySpendLimit": 0.1,
"MonthlySpendLimit": 0.1,
"YearlySpendLimit": 0.1,
"LifetimeSpendLimit": 0.1
}
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.1,
"WeeklySpendLimit": 0.1,
"MonthlySpendLimit": 0.1,
"YearlySpendLimit": 0.1,
"LifetimeSpendLimit": 0.1,
"MerchantCategories": [
{
"Id": 0,
"Name": "",
"TransactionLimit": 0.1,
"DailySpendLimit": 0.1,
"WeeklySpendLimit": 0.1,
"MonthlySpendLimit": 0.1,
"YearlySpendLimit": 0.1,
"LifetimeSpendLimit": 0.1
}
],
"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.1,
"DailySpendLimit": 0.1,
"WeeklySpendLimit": 0.1,
"MonthlySpendLimit": 0.1,
"YearlySpendLimit": 0.1,
"LifetimeSpendLimit": 0.1
}
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.1,
"WeeklySpendLimit": 0.1,
"MonthlySpendLimit": 0.1,
"YearlySpendLimit": 0.1,
"LifetimeSpendLimit": 0.1,
"MerchantCategories": [
{
"Id": 0,
"Name": "",
"TransactionLimit": 0.1,
"DailySpendLimit": 0.1,
"WeeklySpendLimit": 0.1,
"MonthlySpendLimit": 0.1,
"YearlySpendLimit": 0.1,
"LifetimeSpendLimit": 0.1
}
],
"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.1,
"WeeklySpendLimit": 0.1,
"MonthlySpendLimit": 0.1,
"YearlySpendLimit": 0.1,
"LifetimeSpendLimit": 0.1,
"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.1,
"WeeklySpendLimit": 0.1,
"MonthlySpendLimit": 0.1,
"YearlySpendLimit": 0.1,
"LifetimeSpendLimit": 0.1,
"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.1,
"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.1,
"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.1,
"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.1,
"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": "Continue",
"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 |
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 |
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 |
CardHolderDetailsResponse
{
"FirstName": "",
"MiddleName": "",
"LastName": "",
"AccountId": 0,
"AccountNumber": "",
"AvailableBalance": 0.1,
"LedgerBalance": 0.1,
"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 |
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 |
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 |
RemoveGroupResponse
{
"GroupId": 0
}
RemoveGroupResponse
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
GroupId | integer(int32) | true | none | The group ID that was removed |
GetGroupsResponse
{
"Groups": [
{
"Id": 0,
"Name": ""
}
]
}
GetGroupsResponse
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
Groups | [Group] | true | none | The list of groups |
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 |
BulkResponse
{
"TotalNumberOfCards": 0
}
BulkResponse
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
TotalNumberOfCards | integer(int32) | false | none | Total number of cards |
FundMultipleCardsRequest
{
"Cards": [
{
"AccountId": 0,
"Amount": 0.1
}
],
"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.1
}
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.1,
"AccountId": 0,
"TransactionId": 0,
"CurrentBalance": 0.1,
"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.1,
"AccountId": 0,
"TransactionId": 0,
"CurrentBalance": 0.1,
"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 |
GetBusinessTokenProvisioningModeResponse
{
"TokenProvisioningMode": "DoNotTokenize"
}
GetBusinessTokenProvisioningModeResponse
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
TokenProvisioningMode | string | false | none | Business Token Provisioning Mode |
Enumerated Values
Property | Value |
---|---|
TokenProvisioningMode | DoNotTokenize |
TokenProvisioningMode | TokenizeStepUpIfNeeded |
GetCardholderTokenProvisioningModeResponse
{
"TokenProvisioningMode": "DoNotTokenize"
}
GetCardholderTokenProvisioningModeResponse
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
TokenProvisioningMode | string | false | none | Cardholder Token Provisioning Mode |
Enumerated Values
Property | Value |
---|---|
TokenProvisioningMode | DoNotTokenize |
TokenProvisioningMode | TokenizeStepUpIfNeeded |
ChangeCardholderTokenProvisioningModeRequest
{
"TokenProvisioningMode": "DoNotTokenize"
}
ChangeCardholderTokenProvisioningModeRequest
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
TokenProvisioningMode | string | false | none | Cardholder Token Provisioning Mode |
Enumerated Values
Property | Value |
---|---|
TokenProvisioningMode | DoNotTokenize |
TokenProvisioningMode | TokenizeStepUpIfNeeded |
GetIssuedTokensResponse
{
"TokenList": [
{
"ReferenceId": "",
"AccountId": 0,
"CardId": 0,
"Last4CardNumber": "",
"Last4TokenNumber": "",
"TokenExpirationDate": "",
"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": "",
"TokenExpirationDate": "",
"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 |
TokenExpirationDate | string(date-time) | 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 |
ActivationRequest
{
"ReferenceId": "",
"ActivationNote": ""
}
ActivationRequest
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
ReferenceId | string | true | none | Unique id for the token |
ActivationNote | string | false | none | Activation note |
GetPartnerResponse
{
"PartnerName": "",
"PartnerBusinessId": ""
}
GetPartnerResponse
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
PartnerName | string | false | none | Partner name |
PartnerBusinessId | string | false | none | Unique partner business id |
CallbackSubscriptionInsertRequest
{
"CallbackType": "Card",
"Status": "Active",
"Url": ""
}
CallbackSubscriptionInsertRequest
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
CallbackType | string | false | none | Callback Type |
Status | string | false | none | Status |
Url | string | true | none | Url |
Enumerated Values
Property | Value |
---|---|
CallbackType | Card |
CallbackType | Cardorder |
CallbackType | CardOrderVirtual |
CallbackType | CardTokenCreated |
CallbackType | AuthRealtime |
CallbackType | PinRealtime |
CallbackType | DeclineRealtime |
CallbackType | ReversalRealtime |
CallbackType | SettlementPostedRealtime |
Status | Active |
Status | Inactive |
CallbackSubscriptionResponse
{
"Id": 0,
"BusinessAccountId": 0,
"CallbackType": "Card",
"Status": "Active",
"Url": "",
"Username": "",
"CreatedDate": ""
}
CallbackSubscriptionResponse
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
Id | integer(int32) | false | none | Id |
BusinessAccountId | integer(int32) | false | none | Business Account Id |
CallbackType | string | false | none | Callback Type |
Status | string | false | none | Status |
Url | string | false | none | Url |
Username | string | false | none | Username |
CreatedDate | string(date-time) | false | none | Created Date |
Enumerated Values
Property | Value |
---|---|
CallbackType | Card |
CallbackType | Cardorder |
CallbackType | CardOrderVirtual |
CallbackType | CardTokenCreated |
CallbackType | AuthRealtime |
CallbackType | PinRealtime |
CallbackType | DeclineRealtime |
CallbackType | ReversalRealtime |
CallbackType | SettlementPostedRealtime |
Status | Active |
Status | Inactive |
CallbackSubscriptionUpdateRequest
{
"CallbackType": "Card",
"Status": "Active",
"Url": ""
}
CallbackSubscriptionUpdateRequest
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
CallbackType | string | false | none | Callback Type |
Status | string | false | none | Status |
Url | string | false | none | Url |
Enumerated Values
Property | Value |
---|---|
CallbackType | Card |
CallbackType | Cardorder |
CallbackType | CardOrderVirtual |
CallbackType | CardTokenCreated |
CallbackType | AuthRealtime |
CallbackType | PinRealtime |
CallbackType | DeclineRealtime |
CallbackType | ReversalRealtime |
CallbackType | SettlementPostedRealtime |
Status | Active |
Status | Inactive |
Invoice
{
"InvoiceId": 0,
"InvoiceAmount": 0.1,
"Status": "Open",
"DueDate": ""
}
Invoice
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
InvoiceId | integer(int32) | true | none | none |
InvoiceAmount | number(double) | true | none | none |
Status | string | true | none | none |
DueDate | string(date-time) | true | none | none |
Enumerated Values
Property | Value |
---|---|
Status | Open |
Status | Closed |
Status | Cancelled |
Status | Draft |
InvoiceAllocation
{
"InvoiceId": 0,
"TagName": "",
"TagValue": "",
"TotalAmount": 0.1
}
InvoiceAllocation
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
InvoiceId | integer(int64) | false | none | none |
TagName | string | false | none | none |
TagValue | string | false | none | none |
TotalAmount | number(double) | false | none | none |
InvoicePayment
{
"PaymentId": 0,
"Type": "PEXTransfer",
"Amount": 0.1
}
InvoicePayment
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
PaymentId | integer(int32) | false | none | none |
Type | string | false | none | none |
Amount | number(double) | false | none | none |
Enumerated Values
Property | Value |
---|---|
Type | PEXTransfer |
Type | SalesCredit |
Type | WriteOff |
Type | Reversal |
Type | RebateCredit |
Type | RebateCreditReversal |
Type | SameDayACH |
Type | CarryOverCredit |
VendorCardsGetOrderResponse
{
"CardOrderId": 0,
"OrderDateTime": "",
"UserName": "",
"Cards": [
{
"RequestId": 0,
"AcctId": 0,
"AccountNumber": "",
"VendorName": "",
"DateOfBirth": "",
"Phone": "",
"Email": "",
"HomeAddress": {
"AddressLine1": "",
"AddressLine2": "",
"City": "",
"State": "",
"PostalCode": "",
"Country": ""
},
"GroupId": 0,
"SpendingRulesetsId": 0,
"AutoActivation": false,
"FundCardAmount": 0.1,
"CardDataWebhookURL": "",
"Status": "",
"Errors": [
"string"
],
"ErrorMessage": ""
}
]
}
VendorCardsGetOrderResponse
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 | [VendorCardGetOrderResponse] | false | none | Virtual Cards |
VendorCardGetOrderResponse
{
"RequestId": 0,
"AcctId": 0,
"AccountNumber": "",
"VendorName": "",
"DateOfBirth": "",
"Phone": "",
"Email": "",
"HomeAddress": {
"AddressLine1": "",
"AddressLine2": "",
"City": "",
"State": "",
"PostalCode": "",
"Country": ""
},
"GroupId": 0,
"SpendingRulesetsId": 0,
"AutoActivation": false,
"FundCardAmount": 0.1,
"CardDataWebhookURL": "",
"Status": "",
"Errors": [
"string"
],
"ErrorMessage": ""
}
VendorCardGetOrderResponse
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 |
VendorName | 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 |
VendorCardsOrderRequest
{
"VendorCards": [
{
"VendorName": "",
"Phone": "",
"Email": "",
"GroupId": 0,
"RulesetId": 0,
"AutoActivation": false,
"FundingType": "InitialFunding",
"FundCardAmount": 0.1,
"CardDataWebhookURL": ""
}
]
}
VendorCardsOrderRequest
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
VendorCards | [VendorCardOrderItem] | true | none | Vendor Cards requests |
VendorCardOrderItem
{
"VendorName": "",
"Phone": "",
"Email": "",
"GroupId": 0,
"RulesetId": 0,
"AutoActivation": false,
"FundingType": "InitialFunding",
"FundCardAmount": 0.1,
"CardDataWebhookURL": ""
}
VendorCardOrderItem
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
VendorName | string | true | none | Vendor Name |
Phone | string | true | none | Phone number |
string | false | none | Cardholder email address | |
GroupId | integer(int32) | false | none | Cardholder group id |
RulesetId | integer(int32) | false | none | Cardholder ruleset id |
AutoActivation | boolean | false | none | Auto Activation true/false |
FundingType | string | false | none | Funding Type |
FundCardAmount | number(double) | false | none | Fund Card Amount |
CardDataWebhookURL | string | false | none | Card Data Webhook URL |
Enumerated Values
Property | Value |
---|---|
FundingType | InitialFunding |
FundingType | AutoCardFunding |
VendorCardsOrderResponse
{
"VendorCardOrderId": 0,
"NumberOfCardsRequested": 0
}
VendorCardsOrderResponse
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
VendorCardOrderId | integer(int32) | false | none | Vendor Card Order Id |
NumberOfCardsRequested | integer(int32) | false | none | Number Of Cards Requested |
VendorCardDataRequest
{
"AcctId": 0,
"CardDataWebhookUrl": ""
}
VendorCardDataRequest
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
AcctId | integer(int32) | false | none | Cardholder Account Id |
CardDataWebhookUrl | string | true | none | Card Data Webhook URL |