MENU
JSON Request

Account Management Service API

The Account Management Service allows easy management of Accounts, Contacts, and PaymentMethods.

Authentication and authorization for the AccountManagement will be done with a Base64 encoded username:password, passed in through the BASIC HTTP Authorization Header OR by JWT in the HTTP Authorization Header. This JWT can be obtained by passing a valid username and password to the AuthenticationService.

General Service Notes

POST Create a new entity.
GET Retrieve a single entity.
PUT Update and overwrite an existing entity.
PATCH Update portions of an existing entity. In general, if supplied value is null, the field will not be changed.
DELETE Delete an existing entity.
RESPONSE In general, fields will only be returned if their value is not null or empty.

Account

Endpoint URL: https://accountmanagement.pdc4u.com/api/v1_0/accounts
POST to create an Account

Endpoint URL: https://accountmanagement.pdc4u.com/api/v1_0/accounts/{{accountId}}
GET to retrieve a previous Account
PUT to update a previous Account
PATCH to partially update a previous Account
DELETE to remove a previous Account

{
  "status": "ACTIVE",
  "accountNumber": "12345",
  "name": "My Account Name",
  "description": "My Account Description",
  "customFieldMap": {
    "myField1": "myValue1",
    "myField2": "myValue2"
  },
  "user": "My User",
  "locationId": 123,
  "defaultContactId": "123",
  "contactIdList": [
    "222"
  ],
  "paymentMethodIdList": [
    "333"
  ]
}
Attribute Description
id
AlphaNumeric40
Readonly
The internal ID for the Account. Always present.
locationId
Numeric10
The id for the Location.
bulkId
AlphaNumeric40
Readonly
The id of the Bulk processing request if the Account was added using the BULK Account endpoint.
status
Alpha
Required
The status of the Account.
Valid value(s):
  • ACTIVE - The Account is Active.
  • INACTIVE - The Account is Inactive.
When an Account goes from ACTIVE to INACTIVE any linked (and now unused) PaymentMethods will be removed.
accountNumber
AlphaNumeric45
Required
The Account or reference number.
name
AlphaNumeric45
The Name of the Account.
description
AlphaNumeric100
The Description of the Account.
defaultContactId
AlphaNumeric40
The default contactId in the contactIdList.
contactIdList
List - AlphaNumeric
A list of related Contact IDs.
Max number of linked Contacts is 25. Each ID can be up to 40 characters.
contactList
List - Contact
Readonly
A list of related Contact objects from the provided contactIdList
This is only returned on a single GET.
paymentMethodIdList
List - AlphaNumeric
A list of related PaymentMethod IDs.
Max number of linked PaymentMethods is 5. Each ID can be up to 40 characters.
paymentMethodList
List - PaymentMethod
Readonly
A list of related PaymentMethod objects from the provided paymentMethodIdList
This is only returned on a single GET.
customFieldMap
Object10
An object with a custom set of key/value pairs to save and return with the Account.
Both the Key and Value are required and must be 75 characters or fewer.
historyList
List - History
Readonly
A list of history objects to track changes to the Account.
This is only returned on a single GET.
user
AlphaNumeric75
User that is performing the Account creation or update. This field is not returned, but will be used as the userCreated and/or userUpdated.
userCreated
AlphaNumeric75
Readonly
User that created the Account.
userUpdated
AlphaNumeric75
Readonly
User that updated the Account.
dateCreated
Date19
Readonly
Date the Account was created.
Format: ISO-8601 (YYYY-MM-DD HH:mm:ss)
dateUpdated
Date19
Readonly
Date the Account was updated.
Format: ISO-8601 (YYYY-MM-DD HH:mm:ss)

Endpoint URL: https://accountmanagement.pdc4u.com/api/v1_0/accounts/search
POST to search for a list of Account objects

{
  "selectNameList": [
    "id",
    "status",
    "accountNumber"
  ],
  "orderByList": [
    "dateUpdated DESC",
    "status"
  ],
  "idList": [
    "111"
  ],
  "startDateCreated": "YYYY-MM-DD HH:mm:ss",
  "endDateCreated": "YYYY-MM-DD HH:mm:ss",
  "startDateUpdated": "YYYY-MM-DD HH:mm:ss",
  "endDateUpdated": "YYYY-MM-DD HH:mm:ss",
  "locationIdList": [
    "0",
    "123"
  ],
  "bulkIdList": [
    "0",
    "456"
  ],
  "statusList": [
    "ACTIVE",
    "INACTIVE"
  ],
  "accountNumberList": [
    "12345"
  ],
  "nameList": [
    "My Account Name"
  ],
  "descriptionList": [
    "My Account Description"
  ],
  "customFieldMapSearch": [
    {
      "myField1": [
        "myValue1"
      ]
    }
  ],
  "contactIdList": [
    "222"
  ],
  "paymentMethodIdList": [
    "333"
  ],
  "recordStart": 0,
  "recordCount": 1000
}
Attribute Description
selectNameList
List - AlphaNumeric
Optional list of field names to return on each Account. If this is not provided, all possible fields will be returned.
Use the SelectNameList endpoint to see all available fields.
orderByList
List - AlphaNumeric
Optional list of field names to sort/order the data by. Also, optionally provide a space and direction (either ASC or DESC) after the field name. The default is ASC if not specified. Example: dateUpdated DESC
Use the SelectNameList endpoint to see all available fields.
idList
List - AlphaNumeric
List of Account IDs to search for.
Using this search option will ignore other search options.
startDateCreated
Date19
Start Date search for when the Account was created.
Format: ISO-8601 (YYYY-MM-DD HH:mm:ss)
endDateCreated
Date19
End Date search for when the Account was created.
Format: ISO-8601 (YYYY-MM-DD HH:mm:ss)
startDateUpdated
Date19
Start Date search for when the Account was updated.
Format: ISO-8601 (YYYY-MM-DD HH:mm:ss)
endDateUpdated
Date19
End Date search for when the Account was updated.
Format: ISO-8601 (YYYY-MM-DD HH:mm:ss)
userCreatedList
List - AlphaNumeric75
List of Account userCreated to search for.
userUpdatedList
List - AlphaNumeric75
List of Account userUpdated to search for.
locationIdList
List - Numeric
List of Account locationId to search for.
Searching for a value of 0 (zero) will also find records without a locationId.
bulkIdList
List - AlphaNumeric
List of Account bulkId to search for.
Searching for a value of 0 (zero) will also find records without a bulkId.
contactIdList
List - AlphaNumeric
List of Account contactIds to search for.
Searching for a value of 0 (zero) will also find records without a contactId.
paymentMethodIdList
List - AlphaNumeric
List of Account paymentMethodIds to search for.
Searching for a value of 0 (zero) will also find records without a paymentMethodId.
statusList
Alpha
List of Account statuses to search for.
Valid value(s):
  • ACTIVE
  • INACTIVE
accountNumberList
List - AlphaNumeric
List of Account accountNumbers to search for.
This will perform a "starts with" wildcard search
nameList
List - AlphaNumeric
List of Account names to search for.
This will perform a "starts with" wildcard search
descriptionList
List - AlphaNumeric
List of Account descriptions to search for.
This will perform a "starts with" wildcard search
customFieldMapSearch
List
Filters the Account by a list of customFieldMapSearch objects. Those key/value pairs combined as a single object will perform an AND search matching all those of the single object. A separate object of key/value pairs will perform an OR search matching any pairs between the separate objects in the list.
recordStart
Numeric
The record count to start on.
Default: 0
recordCount
Numeric
How many records to return.
Default: 2000
Maximum: 5000

Contact

Endpoint URL: https://accountmanagement.pdc4u.com/api/v1_0/contacts
POST to create a Contact

Endpoint URL: https://accountmanagement.pdc4u.com/api/v1_0/contacts/{{contactId}}
GET to retrieve a previous Contact
PUT to update a previous Contact
PATCH to partially update a previous Contact
DELETE to remove a previous Contact. Append the url with ?user={{user}} for tracking related history

{
  "status": "ACTIVE",
  "firstName": "First",
  "lastName": "Last",
  "phoneNumber": "8015551234",
  "emailAddress": "someone@example.com",
  "customFieldMap": {
    "myField1": "myValue1",
    "myField2": "myValue2"
  },
  "user": "My User",
  "locationId": 123,
  "accountIdList": [
    "111"
  ],
  "paymentMethodIdList": [
    "333"
  ]
}
Attribute Description
id
AlphaNumeric40
Readonly
The internal ID for the Contact. Always present.
locationId
Numeric10
The id for the Location.
bulkId
AlphaNumeric40
Readonly
The id of the Bulk processing request if the Contact was added using the BULK Contact endpoint.
status
Alpha
Required
The status of the Contact.
Valid value(s):
  • ACTIVE - The Contact is Active.
  • INACTIVE - The Contact is Inactive.
When a Contact goes from ACTIVE to INACTIVE any linked (and now unused) PaymentMethods will be removed.
firstName
AlphaNumeric45
Required
The first name for the Contact.
lastName
AlphaNumeric45
Required
The last name for the Contact.
phoneNumber
Numeric10
Required
The phone number for the Contact.
emailAddress
AlphaNumeric75
Required
The email address for the Contact.
accountIdList
List - AlphaNumeric
A list of related Account IDs.
Max number of linked Accounts is 25. Each ID can be up to 40 characters.
accountList
List - Account
Readonly
A list of related Account objects from the provided accountIdList
This is only returned on a single GET.
paymentMethodIdList
List - AlphaNumeric
A list of related PaymentMethod IDs.
Max number of linked PaymentMethods is 5. Each ID can be up to 40 characters.
paymentMethodList
List - PaymentMethod
Readonly
A list of related PaymentMethod objects from the provided paymentMethodIdList
This is only returned on a single GET.
customFieldMap
Object10
An object with a custom set of key/value pairs to save and return with the Contact.
Both the Key and Value are required and must be 75 characters or fewer.
historyList
List - History
Readonly
A list of history objects to track changes to the Contact.
This is only returned on a single GET.
user
AlphaNumeric75
User that is performing the Contact creation or update. This field is not returned, but will be used as the userCreated and/or userUpdated.
userCreated
AlphaNumeric75
Readonly
User that created the Contact.
userUpdated
AlphaNumeric75
Readonly
User that updated the Contact.
dateCreated
Date19
Readonly
Date the Contact was created.
Format: ISO-8601 (YYYY-MM-DD HH:mm:ss)
dateUpdated
Date19
Readonly
Date the Contact was updated.
Format: ISO-8601 (YYYY-MM-DD HH:mm:ss)

Endpoint URL: https://accountmanagement.pdc4u.com/api/v1_0/contacts/search
POST to search for a list of Contact objects

{
  "selectNameList": [
    "id",
    "status",
    "emailAddress"
  ],
  "orderByList": [
    "dateUpdated DESC",
    "status"
  ],
  "idList": [
    "222"
  ],
  "startDateCreated": "YYYY-MM-DD HH:mm:ss",
  "endDateCreated": "YYYY-MM-DD HH:mm:ss",
  "startDateUpdated": "YYYY-MM-DD HH:mm:ss",
  "endDateUpdated": "YYYY-MM-DD HH:mm:ss",
  "locationIdList": [
    "0",
    "123"
  ],
  "bulkIdList": [
    "0",
    "456"
  ],
  "statusList": [
    "ACTIVE",
    "INACTIVE"
  ],
  "firstNameList": [
    "First"
  ],
  "lastNameList": [
    "Last"
  ],
  "phoneNumberList": [
    "8015551234"
  ],
  "emailAddressList": [
    "someone@example.com"
  ],
  "customFieldMapSearch": [
    {
      "myField1": [
        "myValue1"
      ]
    }
  ],
  "accountIdList": [
    "111"
  ],
  "paymentMethodIdList": [
    "333"
  ],
  "recordStart": 0,
  "recordCount": 1000
}
Attribute Description
selectNameList
List - AlphaNumeric
Optional list of field names to return on each Contact. If this is not provided, all possible fields will be returned.
Use the SelectNameList endpoint to see all available fields.
orderByList
List - AlphaNumeric
Optional list of field names to sort/order the data by. Also, optionally provide a space and direction (either ASC or DESC) after the field name. The default is ASC if not specified. Example: dateUpdated DESC
Use the SelectNameList endpoint to see all available fields.
idList
List - AlphaNumeric
List of Contact IDs to search for.
Using this search option will ignore other search options.
startDateCreated
Date19
Start Date search for when the Contact was created.
Format: ISO-8601 (YYYY-MM-DD HH:mm:ss)
endDateCreated
Date19
End Date search for when the Contact was created.
Format: ISO-8601 (YYYY-MM-DD HH:mm:ss)
startDateUpdated
Date19
Start Date search for when the Contact was updated.
Format: ISO-8601 (YYYY-MM-DD HH:mm:ss)
endDateUpdated
Date19
End Date search for when the Contact was updated.
Format: ISO-8601 (YYYY-MM-DD HH:mm:ss)
userCreatedList
List - AlphaNumeric75
List of Contact userCreated to search for.
userUpdatedList
List - AlphaNumeric75
List of Contact userUpdated to search for.
locationIdList
List - Numeric
List of Contact locationId to search for.
Searching for a value of 0 (zero) will also find records without a locationId.
bulkIdList
List - AlphaNumeric
List of Contact bulkId to search for.
Searching for a value of 0 (zero) will also find records without a bulkId.
accountIdList
List - AlphaNumeric
List of Contact accountIds to search for.
Searching for a value of 0 (zero) will also find records without a accountId.
paymentMethodIdList
List - AlphaNumeric
List of Contact paymentMethodIds to search for.
Searching for a value of 0 (zero) will also find records without a paymentMethodId.
statusList
Alpha
List of Contact statuses to search for.
Valid value(s):
  • ACTIVE
  • INACTIVE
firstNameList
List - AlphaNumeric
List of Contact first names to search for.
This will perform a "starts with" wildcard search
lastNameList
List - AlphaNumeric
List of Contact last names to search for.
This will perform a "starts with" wildcard search
phoneNumberList
List - Numeric
List of Contact phone numbers to search for.
This will perform a "starts with" wildcard search
emailAddressList
List - AlphaNumeric
List of Contact email addresses to search for.
This will perform a "starts with" wildcard search
customFieldMapSearch
List
Filters the Contact by a list of customFieldMapSearch objects. Those key/value pairs combined as a single object will perform an AND search matching all those of the single object. A separate object of key/value pairs will perform an OR search matching any pairs between the separate objects in the list.
recordStart
Numeric
The record count to start on.
Default: 0
recordCount
Numeric
How many records to return.
Default: 2000
Maximum: 5000

PaymentMethod

Endpoint URL: https://accountmanagement.pdc4u.com/api/v1_0/paymentmethods
POST to create a PaymentMethod

Endpoint URL: https://accountmanagement.pdc4u.com/api/v1_0/paymentmethods/{{paymentMethodId}}
GET to retrieve a previous PaymentMethod
PUT to update a previous PaymentMethod
PATCH to partially update a previous PaymentMethod
DELETE to remove a previous PaymentMethod. Append the url with ?user={{user}} for tracking related history

{
  "firstName": "First",
  "lastName": "Last",
  "address": {
    "streetOne": "123 Street",
    "streetTwo": "Apt 123",
    "city": "City",
    "state": "ST",
    "zip": "12345",
    "zipPlusFour": "1234",
    "country": "US"
  },
  "tokenData": {
    "type": "CARD",
    "token": "ThisIsAToken22224",
    "cardDetails": {
      "expirationMonth": "12",
      "expirationYear": "2030"
    }
  },
  "/tokenData": {
    "type": "ACH",
    "token": "ThisIsAToken22224",
    "achDetails": {
      "accountType": "SAVINGS",
      "routingNumber": "123456789"
    }
  },
  "customFieldMap": {
    "myField1": "myValue1",
    "myField2": "myValue2"
  },
  "user": "My User",
  "locationId": 123,
  "accountIdList": [
    "111"
  ],
  "contactIdList": [
    "222"
  ]
}
Attribute Description
id
AlphaNumeric40
Readonly
The internal ID for the PaymentMethod. Always present.
locationId
Numeric10
The id for the Location.
bulkId
AlphaNumeric40
Readonly
The id of the Bulk processing request if the PaymentMethod was added using the BULK PaymentMethod endpoint.
firstName
AlphaNumeric45
Required
The first name for the PaymentMethod.
lastName
AlphaNumeric45
Required
The last name for the PaymentMethod.
address
Address
The Address for the PaymentMethod
tokenData
TokenData
Required
The TokenData for the PaymentMethod
accountIdList
List - AlphaNumeric
A list of related Account IDs.
Max number of linked Accounts is 5. Each ID can be up to 40 characters.
accountList
List - Account
Readonly
A list of related Account objects from the provided accountIdList
This is only returned on a single GET.
contactIdList
List - AlphaNumeric
A list of related Contact IDs.
Max number of linked Contacts is 5. Each ID can be up to 40 characters.
contactList
List - Contact
Readonly
A list of related Contact objects from the provided contactIdList
This is only returned on a single GET.
customFieldMap
Object10
An object with a custom set of key/value pairs to save and return with the PaymentMethod.
Both the Key and Value are required and must be 75 characters or fewer.
historyList
List - History
Readonly
A list of history objects to track changes to the PaymentMethod.
This is only returned on a single GET.
user
AlphaNumeric75
User that is performing the PaymentMethod creation or update. This field is not returned, but will be used as the userCreated and/or userUpdated.
userCreated
AlphaNumeric75
Readonly
User that created the PaymentMethod.
userUpdated
AlphaNumeric75
Readonly
User that updated the PaymentMethod.
dateCreated
Date19
Readonly
Date the PaymentMethod was created.
Format: ISO-8601 (YYYY-MM-DD HH:mm:ss)
dateUpdated
Date19
Readonly
Date the PaymentMethod was updated.
Format: ISO-8601 (YYYY-MM-DD HH:mm:ss)

-Address

{
  "address": {
    "streetOne": "123 Street",
    "streetTwo": "Apt 123",
    "city": "City",
    "state": "ST",
    "zip": "12345",
    "zipPlusFour": "1234",
    "country": "US"
  }
}
Attribute Description
streetOne
AlphaNumeric60
The street one part of the address.
streetTwo
AlphaNumeric30
The street two part of the address.
city
AlphaNumeric45
The city part of the address.
state
Alpha2
The state abbreviation of the address.
zip
Numeric5
The zip code of the address.
zipPlusFour
Numeric4
The zip code extension of the address.
country
Alpha2
The country abbreviation of the address.

-TokenData

{
  "tokenData": {
    "type": "CARD",
    "token": "ThisIsAToken22224",
    "cardDetails": {
      "expirationMonth": "12",
      "expirationYear": "2030"
    }
  },
  "/tokenData": {
    "type": "ACH",
    "token": "ThisIsAToken22224",
    "achDetails": {
      "accountType": "SAVINGS",
      "routingNumber": "123456789"
    }
  }
}
Attribute Description
type
Alpha
Required
The type of token.
Valid value(s):
  • ACH
  • CARD
token
AlphaNumeric16
Required
The token which represents raw payment data. This must not be a raw credit card or bank account number.
To create a token, see Secure Overlay and/or TokenizationService.
achDetails
AchDetails
The AchDetails for a token type of ACH.
If this is not provided, the data will come from the token.
If this is provided, it will update the data on the token.
cardDetails
CardDetails
The CardDetails for a token type of CARD.
If this is not provided, the data will come from the token.
If this is provided, it will update the data on the token.

--AchDetails

{
  "achDetails": {
    "accountType": "SAVINGS",
    "routingNumber": "123456789"
  }
}
Attribute Description
lastFour
Numeric4
Readonly
The last four numbers of the bank account number.
accountType
Alpha
The type of bank account.
Valid value(s):
  • SAVINGS
  • CHECKING
routingNumber
Numeric9
The routing number of the bank account.

--CardDetails

{
  "cardDetails": {
    "expirationMonth": "12",
    "expirationYear": "2030"
  }
}
Attribute Description
lastFour
Numeric4
Readonly
The last four numbers of the card number.
cardType
Alpha
Readonly
The type of credit card.
Valid value(s):
  • AMERICAN_EXPRESS
  • DISCOVER
  • MASTERCARD
  • VISA
  • UNKNOWN
expirationMonth
Numeric2
The 2 digit credit card expiration month.
expirationYear
Numeric4
The 4 digit credit card expiration year.

Endpoint URL: https://accountmanagement.pdc4u.com/api/v1_0/paymentmethods/search
POST to search for a list of PaymentMethod objects

{
  "selectNameList": [
    "id",
    "firstName",
    "tokenData"
  ],
  "orderByList": [
    "dateUpdated DESC",
    "firstName"
  ],
  "idList": [
    "333"
  ],
  "startDateCreated": "YYYY-MM-DD HH:mm:ss",
  "endDateCreated": "YYYY-MM-DD HH:mm:ss",
  "startDateUpdated": "YYYY-MM-DD HH:mm:ss",
  "endDateUpdated": "YYYY-MM-DD HH:mm:ss",
  "locationIdList": [
    "0",
    "123"
  ],
  "bulkIdList": [
    "0",
    "456"
  ],
  "firstNameList": [
    "First"
  ],
  "lastNameList": [
    "Last"
  ],
  "tokenTypeList": [
    "CARD"
  ],
  "lastFourList": [
    "2224"
  ],
  "customFieldMapSearch": [
    {
      "myField1": [
        "myValue1"
      ]
    }
  ],
  "accountIdList": [
    "111"
  ],
  "contactIdList": [
    "222"
  ],
  "recordStart": 0,
  "recordCount": 1000
}
Attribute Description
selectNameList
List - AlphaNumeric
Optional list of field names to return on each PaymentMethod. If this is not provided, all possible fields will be returned.
Use the SelectNameList endpoint to see all available fields.
orderByList
List - AlphaNumeric
Optional list of field names to sort/order the data by. Also, optionally provide a space and direction (either ASC or DESC) after the field name. The default is ASC if not specified. Example: dateUpdated DESC
Use the SelectNameList endpoint to see all available fields.
idList
List - AlphaNumeric
List of PaymentMethod IDs to search for.
Using this search option will ignore other search options.
startDateCreated
Date19
Start Date search for when the PaymentMethod was created.
Format: ISO-8601 (YYYY-MM-DD HH:mm:ss)
endDateCreated
Date19
End Date search for when the PaymentMethod was created.
Format: ISO-8601 (YYYY-MM-DD HH:mm:ss)
startDateUpdated
Date19
Start Date search for when the PaymentMethod was updated.
Format: ISO-8601 (YYYY-MM-DD HH:mm:ss)
endDateUpdated
Date19
End Date search for when the PaymentMethod was updated.
Format: ISO-8601 (YYYY-MM-DD HH:mm:ss)
userCreatedList
List - AlphaNumeric75
List of PaymentMethod userCreated to search for.
userUpdatedList
List - AlphaNumeric75
List of PaymentMethod userUpdated to search for.
locationIdList
List - Numeric
List of PaymentMethod locationId to search for.
Searching for a value of 0 (zero) will also find records without a locationId.
bulkIdList
List - AlphaNumeric
List of PaymentMethod bulkId to search for.
Searching for a value of 0 (zero) will also find records without a locationId.
accountIdList
List - AlphaNumeric
List of PaymentMethod accountIds to search for.
Searching for a value of 0 (zero) will also find records without a accountId.
contactIdList
List - AlphaNumeric
List of PaymentMethod contactIds to search for.
Searching for a value of 0 (zero) will also find records without a contactId.
firstNameList
List - AlphaNumeric
List of PaymentMethod first names to search for.
This will perform a "starts with" wildcard search
lastNameList
List - AlphaNumeric
List of PaymentMethod last names to search for.
This will perform a "starts with" wildcard search
tokenTypeList
List - Alpha
List of PaymentMethod token types to search for.
Valid value(s):
  • ACH
  • CARD
lastFourList
List - Numeric
List of PaymentMethod last four of bank account or credit card number to search for.
customFieldMapSearch
List
Filters the PaymentMethod by a list of customFieldMapSearch objects. Those key/value pairs combined as a single object will perform an AND search matching all those of the single object. A separate object of key/value pairs will perform an OR search matching any pairs between the separate objects in the list.
recordStart
Numeric
The record count to start on.
Default: 0
recordCount
Numeric
How many records to return.
Default: 2000
Maximum: 5000

Bulk

Endpoint URL: https://accountmanagement.pdc4u.com/api/v1_0/bulk/{{bulkId}}
GET to retrieve a previous Bulk
Append the url with ?includeErrorList=true to include an errorList of the records that failed to create
Append the url with ?includeSuccessList=true to include an successList of the records that created successfully

-Bulk Accounts

Endpoint URL: https://accountmanagement.pdc4u.com/api/v1_0/bulk/accounts
POST to create a bulk list of Account objects

{
  "locationId": 123,
  "externalId": "MyExternalID",
  "username": "MyUsername",
  "description": "Bulk Accounts",
  "postBackUrl": "https://example.com",
  "postBackAuthHeader": "bearer token",
  "defaultAccount": {
    "locationId": 123,
    "status": "ACTIVE",
    "defaultContactId": "222",
    "contactIdList": [
      "222"
    ],
    "paymentMethodIdList": [
      "333"
    ]
  },
  "accountList": [
    {
      "accountNumber": "12345",
      "name": "My First Account Name",
      "description": "My First Account Description"
    },
    {
      "accountNumber": "98765",
      "name": "My Second Account Name",
      "description": "My Second Account Description"
    }
  ]
}
Attribute Description
id
AlphaNumeric
Readonly
The internal ID for the Bulk. Always present.
locationId
Numeric10
The id for the Location.
externalId
Numeric50
An optional id to link to your system
type
Alpha
Readonly
The type of bulk.
Valid value(s):
  • ACCOUNTS
  • CONTACTS
  • PAYMENT_METHODS
status
Alpha
Readonly
The type of the bulk.
Valid value(s):
  • PROCESSING
  • COMPLETED
  • ERROR
dateStart
Date19
Readonly
Date the bulk started.
Format: ISO-8601 (YYYY-MM-DD HH:mm:ss)
dateEnd
Date19
Readonly
Date the bulk ended.
Format: ISO-8601 (YYYY-MM-DD HH:mm:ss)
elapsedMs
Numeric
Readonly
Number of milliseconds the processing took to finish.
username
AlphaNumeric75
The user that is requesting the bulk.
description
AlphaNumeric100
Description for the bulk.
postBackUrl
URL500
A URL to POST when a bulk process is COMPLETED.
Constraint(s): Must be a secure HTTPS URL

POSTed body will be JSON with at least these fields from the AccountBulk object:
id, type, status, dateStart, dateEnd description, countRequest, countSuccess

To retrieve the Accounts use the bulkIdList parameter on the Account Search parameters.
postBackAuthHeader
AlphaNumeric500
An Authorization Header that will be provided when we POST to the provided postBackUrl.
defaultAccount
Account
The default Account object.
This Account definition will be used as the default definition for each entry in accountList
This is not returned. To retrieve the Accounts use the bulkIdList parameter on the Account Search parameters.
accountList
List - Account5000
Required
A list of Account objects to create.
Any element not provided, will be loaded from defaultAccount
This is not returned. To retrieve the Accounts use the bulkIdList parameter on the Account Search parameters.
countRequest
Numeric
Readonly
Number of Account records requested to create.
countSuccess
Numeric
Readonly
Number of Account records successfully created.
countError
Numeric
Readonly
Number of Account records which had errors attempting to create.
errorList
List - Account
Readonly
List of Accounts which had errors attempting to create.
This is only returned on a single GET if the url includes ?includeErrorList=true
successList
List - Account
Readonly
List of Accounts which were successfully created.
This is only returned on a single GET if the url includes ?includeSuccessList=true
requestErrorList
List - RequestError
Readonly
NOTE: Only returned if status is ERROR

-Bulk Contacts

Endpoint URL: https://accountmanagement.pdc4u.com/api/v1_0/bulk/contacts
POST to create a bulk list of Contact objects

{
  "locationId": 123,
  "externalId": "MyExternalID",
  "username": "MyUsername",
  "description": "Bulk Contacts",
  "postBackUrl": "https://example.com",
  "postBackAuthHeader": "bearer token",
  "defaultContact": {
    "locationId": 123,
    "status": "ACTIVE",
    "accountIdList": [
      "111"
    ],
    "paymentMethodIdList": [
      "333"
    ]
  },
  "contactList": [
    {
      "firstName": "First",
      "lastName": "Person",
      "phoneNumber": "8015551234",
      "emailAddress": "first@example.com"
    },
    {
      "firstName": "Second",
      "lastName": "Person",
      "phoneNumber": "8015554321",
      "emailAddress": "second@example.com"
    }
  ]
}
Attribute Description
id
AlphaNumeric
Readonly
The internal ID for the Bulk. Always present.
locationId
Numeric10
The id for the Location.
externalId
Numeric50
An optional id to link to your system
type
Alpha
Readonly
The type of bulk.
Valid value(s):
  • ACCOUNTS
  • CONTACTS
  • PAYMENT_METHODS
status
Alpha
Readonly
The type of the bulk.
Valid value(s):
  • PROCESSING
  • COMPLETED
  • ERROR
dateStart
Date19
Readonly
Date the bulk started.
Format: ISO-8601 (YYYY-MM-DD HH:mm:ss)
dateEnd
Date19
Readonly
Date the bulk ended.
Format: ISO-8601 (YYYY-MM-DD HH:mm:ss)
elapsedMs
Numeric
Readonly
Number of milliseconds the processing took to finish.
username
AlphaNumeric75
The user that is requesting the bulk.
description
AlphaNumeric100
Description for the bulk.
postBackUrl
URL500
A URL to POST when a bulk process is COMPLETED.
Constraint(s): Must be a secure HTTPS URL

POSTed body will be JSON with at least these fields from the ContactBulk object:
id, type, status, dateStart, dateEnd description, countRequest, countSuccess

To retrieve the Contacts use the bulkIdList parameter on the Contact Search parameters.
postBackAuthHeader
AlphaNumeric500
An Authorization Header that will be provided when we POST to the provided postBackUrl.
defaultContact
Contact
The default Contact object.
This Contact definition will be used as the default definition for each entry in contactList
This is not returned. To retrieve the Contacts use the bulkIdList parameter on the Contact Search parameters.
contactList
List - Contact5000
Required
A list of Contact objects to create.
Any element not provided, will be loaded from defaultContact
This list is not returned. To retrieve the Contacts use the bulkIdList parameter on the Contact Search parameters.
countRequest
Numeric
Readonly
Number of Contact records requested to create.
countSuccess
Numeric
Readonly
Number of Contact records successfully created.
countError
Numeric
Readonly
Number of Contact records which had errors attempting to create.
errorList
List - Contact
Readonly
List of Contacts which had errors attempting to create.
This is only returned on a single GET if the url includes ?includeErrorList=true
successList
List - Contact
Readonly
List of Contacts which were successfully created.
This is only returned on a single GET if the url includes ?includeSuccessList=true
requestErrorList
List - RequestError
Readonly
NOTE: Only returned if status is ERROR

-Bulk PaymentMethods

Endpoint URL: https://accountmanagement.pdc4u.com/api/v1_0/bulk/paymentmethods
POST to create a bulk list of PaymentMethod objects

{
  "locationId": 123,
  "externalId": "MyExternalID",
  "username": "MyUsername",
  "description": "Bulk PaymentMethods",
  "postBackUrl": "https://example.com",
  "postBackAuthHeader": "bearer token",
  "defaultPaymentMethod": {
    "locationId": 123,
    "address": {
      "streetOne": "123 Street",
      "streetTwo": "Apt 123",
      "city": "City",
      "state": "ST",
      "zip": "12345",
      "zipPlusFour": "1234",
      "country": "US"
    },
    "accountIdList": [
      "111"
    ],
    "contactIdList": [
      "222"
    ]
  },
  "paymentMethodList": [
    {
      "firstName": "First",
      "lastName": "Person",
      "tokenData": {
        "type": "CARD",
        "token": "ThisIsAToken22224",
        "cardDetails": {
          "expirationMonth": "12",
          "expirationYear": "2030"
        }
      }
    },
    {
      "firstName": "Second",
      "lastName": "Person",
      "tokenData": {
        "type": "ACH",
        "token": "ThisIsAToken22224",
        "achDetails": {
          "accountType": "SAVINGS",
          "routingNumber": "123456789"
        }
      }
    }
  ]
}
Attribute Description
id
AlphaNumeric
Readonly
The internal ID for the Bulk. Always present.
locationId
Numeric10
The id for the Location.
externalId
Numeric50
An optional id to link to your system
type
Alpha
Readonly
The type of bulk.
Valid value(s):
  • ACCOUNTS
  • CONTACTS
  • PAYMENT_METHODS
status
Alpha
Readonly
The type of the bulk.
Valid value(s):
  • PROCESSING
  • COMPLETED
  • ERROR
dateStart
Date19
Readonly
Date the bulk started.
Format: ISO-8601 (YYYY-MM-DD HH:mm:ss)
dateEnd
Date19
Readonly
Date the bulk ended.
Format: ISO-8601 (YYYY-MM-DD HH:mm:ss)
elapsedMs
Numeric
Readonly
Number of milliseconds the processing took to finish.
username
AlphaNumeric75
The user that is requesting the bulk.
description
AlphaNumeric100
Description for the bulk.
postBackUrl
URL500
A URL to POST when a bulk process is COMPLETED.
Constraint(s): Must be a secure HTTPS URL

POSTed body will be JSON with at least these fields from the PaymentMethodBulk object:
id, type, status, dateStart, dateEnd description, countRequest, countSuccess

To retrieve the PaymentMethod use the bulkIdList parameter on the PaymentMethod Search parameters.
postBackAuthHeader
AlphaNumeric500
An Authorization Header that will be provided when we POST to the provided postBackUrl.
defaultPaymentMethod
PaymentMethod
The default PaymentMethod object.
This PaymentMethod definition will be used as the default definition for each entry in paymentMethodList
This is not returned. To retrieve the PaymentMethods use the bulkIdList parameter on the PaymentMethod Search parameters.
paymentMethodList
List - PaymentMethod5000
Required
A list of PaymentMethod objects to create.
Any element not provided, will be loaded from defaultPaymentMethod
This is not returned. To retrieve the Accounts use the bulkIdList parameter on the PaymentMethod Search parameters.
countRequest
Numeric
Readonly
Number of PaymentMethod records requested to create.
countSuccess
Numeric
Readonly
Number of PaymentMethod records successfully created.
countError
Numeric
Readonly
Number of PaymentMethod records which had errors attempting to create.
errorList
List - PaymentMethod
Readonly
List of PaymentMethods which had errors attempting to create.
This is only returned on a single GET if the url includes ?includeErrorList=true
successList
List - PaymentMethod
Readonly
List of PaymentMethods which were successfully created.
This is only returned on a single GET if the url includes ?includeSuccessList=true
requestErrorList
List - RequestError
Readonly
NOTE: Only returned if status is ERROR

Endpoint URL: https://accountmanagement.pdc4u.com/api/v1_0/bulk/search
POST to search for a list of AccountBulk or ContactBulk or PaymentMethodBulk objects

{
  "selectNameList": [
    "bulkId",
    "type",
    "status"
  ],
  "orderByList": [
    "type DESC",
    "status"
  ],
  "bulkIdList": [
    "456"
  ],
  "startDate": "YYYY-MM-DD HH:mm:ss",
  "endDate": "YYYY-MM-DD HH:mm:ss",
  "locationIdList": [
    "0",
    "123"
  ],
  "externalIdList": [
    "0",
    "MyExternalID"
  ],
  "typeList": [
    "ACCOUNTS",
    "CONTACTS"
  ],
  "statusList": [
    "COMPLETED"
  ],
  "usernameList": [
    "MyUsername"
  ],
  "descriptionList": [
    "Bulk"
  ],
  "recordStart": 0,
  "recordCount": 1000
}
Attribute Description
selectNameList
List - AlphaNumeric
Optional list of field names to return on each Bulk. If this is not provided, all possible fields will be returned.
Use the SelectNameList endpoint to see all available fields.
orderByList
List - AlphaNumeric
Optional list of field names to sort/order the data by. Also, optionally provide a space and direction (either ASC or DESC) after the field name. The default is ASC if not specified. Example: dateEnd DESC
Use the SelectNameList endpoint to see all available fields.
idList
List - AlphaNumeric
List of Bulk IDs to search for.
Using this search option will ignore other search options.
startDate
Date19
Start Date search for when the Bulk was started.
Format: ISO-8601 (YYYY-MM-DD HH:mm:ss)
endDate
Date19
End Date search for when the Bulk was ended.
Format: ISO-8601 (YYYY-MM-DD HH:mm:ss)
locationIdList
List - Numeric
List of Bulk locationId to search for.
externalIdList
List - AlphaNumeric
List of Bulk externalId to search for.
typeList
List - Alpha
List of Bulk types to search for.
Valid value(s):
  • ACCOUNTS
  • CONTACTS
  • PAYMENT_METHODS
statusList
Alpha
List of Bulk statuses to search for.
Valid value(s):
  • PROCESSING
  • COMPLETED
  • ERROR
usernameList
List - AlphaNumeric
List of Bulk usernames to search for.
This will perform a "starts with" wildcard search
descriptionList
List - AlphaNumeric
List of Bulk descriptions to search for.
This will perform a "starts with" wildcard search
recordStart
Numeric
The record count to start on.
Default: 0
recordCount
Numeric
How many records to return.
Default: 2000
Maximum: 5000

Company Migrate

Endpoint URL: https://accountmanagement.pdc4u.com/api/v1_0/migrations/company
POST to start a company migration
GET to see the status of an existing migration

The migration will analyze Flows, Schedules & Transactions beginning with dateStart working backwards by day ending on dateTarget to:

{
  "dateTarget": "YYYY-MM-DD",
  "postBackUrl": "https://example.com",
  "postBackAuthHeader": "bearer token"
}
Attribute Description
companyId
Numeric
Readonly
The companyId. Always present.
dateStart
Date19
Readonly
The Date to start migrating from. This will default to the current date, or the date the previous Migration was completed.
Format: ISO-8601 (YYYY-MM-DD HH:mm:ss)
dateTarget
Date19
This is how far back the service should migrate historical data. If this is not provided, the date will be 1 year before the previous dateTarget (up to when the company was added to our system)
The maximum allowed is 1 year before the previous dateTarget
Format: ISO-8601 (YYYY-MM-DD)
dateProgress
Date19
Readonly
The date the migration is currently working on.
Format: ISO-8601 (YYYY-MM-DD)
dateComplete
Date19
Readonly
Date when the overall migration is complete.
Format: ISO-8601 (YYYY-MM-DD HH:mm:ss)
percentCompleteDays
Numeric
Readonly
Percentage of the dateProgress vs dateTarget.
postBackUrl
URL500
A URL to POST when a company migration is completed.
Constraint(s): Must be a secure HTTPS URL

POSTed body will be JSON with at least these fields from the CompanyMigrate object:
companyId, dateComplete
postBackAuthHeader
AlphaNumeric500
An Authorization Header that will be provided when we POST to the provided postBackUrl.
migrationSummary
Object
Readonly
Summary object that will show the number of createdAccounts, createdContacts, createdPaymentMethods, and createdHistory

History

Attribute Description
date
Date19
Readonly
Date when the history record was created.
Format: ISO-8601 (YYYY-MM-DD HH:mm:ss)
dateUpdated
Date19
Readonly
Date when a reference of FLOW, TRANSACTION, or SCHEDULE was updated.
Format: ISO-8601 (YYYY-MM-DD HH:mm:ss)
reference
Alpha
Readonly
The type of history or related service.
Valid value(s):
  • ACCOUNT - The history relates to an Account.
  • CONTACT - The history relates to a Contact.
  • PAYMENT_METHOD - The history relates to a PaymentMethod.
  • FLOW - The Contact history relates to a Flow. See the Flow Service API.
  • TRANSACTION - The Contact history relates to a Transaction. See the Transaction Service API.
  • SCHEDULE - The Contact history relates to a Schedule. See the Schedule Service API.
referenceId
AlphaNumeric40
Readonly
The id of the reference history entry. Can be used to link to the related history.
user
AlphaNumeric75
Readonly
User that caused the history entry.
description
AlphaNumeric500
Readonly
Short summary description of the history entry.

FieldNameList Endpoint

Endpoint URL: https://accountmanagement.pdc4u.com/api/v1_0/fieldnamelist
GET to get a list of field names

Attribute Description
accountFieldNameList
List - AlphaNumeric
Readonly
List of Account fields.
contactFieldNameList
List - AlphaNumeric
Readonly
List of Contact fields.
paymentMethodFieldNameList
List - AlphaNumeric
Readonly
List of PaymentMethod fields.
bulkFieldNameList
List - AlphaNumeric
Readonly
List of Bulk fields.

SelectNameList Endpoint

Endpoint URL: https://accountmanagement.pdc4u.com/api/v1_0/selectnamelist
GET to get a list of field names that can be used in the search selectNameList

Attribute Description
accountSelectNameList
List - AlphaNumeric
Readonly
List of available Account fields.
contactSelectNameList
List - AlphaNumeric
Readonly
List of available Contact fields.
paymentMethodSelectNameList
List - AlphaNumeric
Readonly
List of available PaymentMethod fields.
bulkSelectNameList
List - AlphaNumeric
Readonly
List of available Bulk fields.

CustomFieldMapSearch

{
  "customFieldMapSearch": [
    {
      "Key 1": [
        "Key 1 Value 1",
        "Key 1 Value 2"
      ],
      "Key 2": [
        "Key 2 Value 1",
        "-1"
      ],
      "Key 3": []
    },
    {
      "Key 4": [
        "Key 4 Value 1"
      ]
    }
  ]
}

Example WHERE:
(("Key 1" == "Key 1 Value 1" OR "Key 1" == "Key 1 Value 2") AND ("Key 2" == "Key 2 Value 1" OR "Key 2" does not exist))
OR ("Key 3" == "Key 3 Value1")

Attribute Description
YOUR_KEY_NAME
AlphaNumeric75
Required
The custom field name to filter by.
YOUR_VALUES
List - AlphaNumeric
Required
A list of values for the custom field name to filter by.
  • If the list is empty, the results will be filtered to include records that contain any value for the customFieldMap with the specified name
  • If the list contains a value of -1, the results will also be filtered to include records that do not contain a customFieldMap with the specified name
Constraint(s): Each value must not exceed 75 characters

REST Fault

RequestErrorList

Attribute Description
requestErrorList
List
A list of RequestError objects containing errors.
Constraint(s): Only returned when errors occur.

RequestError

Attribute Description
type
Alpha3
The type of validation error.
code
Numeric5
The code for the validation error.
description
AlphaNumeric
The description of the validation error.
apiFieldNameList
List
List of ApiFieldName with the specified RequestError

ApiFieldName

Attribute Description
apiFieldName
AlphaNumeric
The name of the Api Field.
apiFieldValue
AlphaNumeric
The value of the Api Field.