Address Book

An address book is a tool that allows users to look up and connect to other Customers Bank clients to facilitate book transfers between accounts. Customers Bank provides API access for searching and managing these connections.

Connection Request

To initiate a book transfer to another client, both clients must be connected. To request a connection with an account, initiate a POST request directed to the following endpoint:

https://cubi-sandbox-api.customersbank.com/transfers/v1/AddressBook/entries

This request requires additional data to be included in the body of the request.

Body Parameter Data Element Details:

NameTypeDescription
requesterAccountIdstringaccount id associated with the client initiating a connection request
targetAccountIdstringaccount id associated with the client receiving a request to connect

Example Request:

A successful request will generate a response of 202 – Accepted.

Example Response:

Error Handling
Common errors will include:
400 – Bad Request
403 - Forbidden
422 - Unprocessable Content

For guidance on troubleshooting error codes please consult the Error Code Handling section of this guide.


Cancel Connection Request

In the event that a connection request was sent in error, a user may cancel the request as long as it is still in a pending status. To cancel a connection request, initiate a POST request directed to the following endpoint:

https://cubi-sandbox-api.customersbank.com/transfers/v1/AddressBook/entries/{id}/cancel

This request requires the additional data to be included in the path of the request.

Path Parameter Data Element Details:

NameTypeDescription
idstringaddress book id

Example Request:

A successful request will generate a response of 202 – Accepted.

Example Response:

Error Handling

Common errors will include:
400 – Bad Request
403 - Forbidden
422 - Unprocessable Content

For guidance on troubleshooting error codes please consult the Error Code Handling section of this guide.


View All Connections

A users has the ability to view all connections within their clients address book. This request will provide relevant details around each connection. To view all connections, initiate a GET request directed to the following endpoint:

https://cubi-sandbox-api.customersbank.com/transfers/v1/AddressBook/entries

This request requires additional query parameters to be included.

Query Parameter Data Element Details:

NameTypeDescription
partnerNamestringclient name
paginateResultsbooleanindicates whether the request should be paginated
pageint32indicates the page to return
perPageint32indicates how many items are on a page
sortOnstringindicates the attribute by which the data is sorted
sortAscendingbooleanindicates if the data is sorted ascending or descending

Example Request:

GET /transfers/v1/addressbook/entries HTTP/1.1
Host: cubi-sandbox-api.customersbank.com
Authorization: Bearer ******

A successful request will generate a response of 200 - Ok.

Example Response:

{
    "pageSize": 100,
    "pageOffset": 0,
    "totalPages": 1,
    "totalItemCount": 1,
    "items": [
        {
            "id": "e7d5746b-61a0-4cea-a656-b13a00f77209",
            "requesterPartnerId": "06d4503d-dc24-4267-be4b-25d6b4b6c274",
            "requesterPartnerName": "First UAT Bank",
            "requesterAccountId": "1aa81254-13ff-44a4-a132-e4270db6bc46",
            "requesterAccountName": "Operating",
            "requesterAccountNumberLast4Digits": "9863",
            "requestApprovedAt": "2024-03-26T14:02:10.5716374",
            "targetPartnerId": "039b5a1f-5c8f-4ece-97f6-218dfb33f77d",
            "targetPartnerName": "Second UAT Bank",
            "targetAccountId": "59b8d79c-6303-40e0-ab36-b131014d900a",
            "targetAccountName": "8461408",
            "targetAccountNumberLast4Digits": "1408",
            "accountLinkApprovedByUserName": "Jason Tester",
            "accountLinkApprovedByUserEmail": "[email protected]",
            "accountLinkApprovedAt": "2024-03-28T19:30:17.7125339",
            "status": "Linked",
            "lastModifiedAt": "2024-03-28T19:30:17.7126299"
        }
    ]
}

Response Data Element Details:

NameTypeDescription
pageSizeint32number of items displayed on a page
pageOffsetint32offset index indicating starting point for page items
totalPagesint32total number of pages
totalItemCountint32total count of items across all pages
itemsarray of objects | nullitems model
> idstringaddress book id
> requesterPartnerIdstring | nullpartner id associated with the client initiating a connection request
> requesterPartnerNamestringpartner name associated with the client initiating a connection request
> requesterAccountIdstring | nullaccount id associated with the client initiating a connection request
> requesterAccountNamestring | nullaccount name associated with the client initiating a connection request
> requesterAccountNumberstring | nullaccount number associated with the client initiating a connection request
> requestedByUserIdstring | nulluser id that initiated the connection request
> requestedByUserNamestring | nulluser name that initiated the connection request
> requestedByUserEmailstring | nulluser email that initiated the connection request
> requestedAtdate-time | nulldate and time the connection request was initiated
> requestApprovedByUserNamestring | nulluser name that approved connection request
> requestApprovedByUserEmailstring | nulluser email that approved connection request
> requestApprovedAtdate-time | nulldate and time the connection request was approved
> targetPartnerIdstringpartner id associated with the client receiving a request to connect
> targetPartnerNamestring | nullpartner name associated with the client receiving a request to connect
> targetAccountIdstringaccount id associated with the client receiving a request to connect
> targetAccountNamestring | nullaccount name associated with the client receiving a request to connect
> targetAccountNumberstring | nullaccount number associated with the client receiving a request to connect
> accountLinkApprovedByUserName /string | null
> accountLinkApprovedByUserEmailstring | null
> accountLinkApprovedAtdate-time | null
> statusstringone of the following: Initiated; ApprovalRequired; Declined; Requested; RequestDeclined; Linked; Deleted
> lastModifiedAtdate-timedate and time connection was last modified

Error Handling
Common errors will include:
400 – Bad Request
403 - Forbidden
422 - Unprocessable Content

For guidance on troubleshooting error codes please consult the Error Code Handling section of this guide.


View a Specific Connection

Similar to the prior request, a user can obtain the same level of information for a specific connection if they know the id of the address book entry to be retrieved. To get connection information for a specific connection, initiate a GET request directed to the following endpoint:

https://cubi-sandbox-api.customersbank.com/transfers/v1/AddressBook/entries/{id}

This request requires the additional data to be included in the path of the request.

Path Parameter Data Element Details:

NameTypeDescription
idstringaddress book id

Example Request:

A successful request will generate a response of 200 – Ok.

Example Response:

Response Data Element Details:

NameTypeDescription
pageSizeint32number of items displayed on a page
pageOffsetint32offset index indicating starting point for page items
totalPagesint32total number of pages
totalItemCountint32total count of items across all pages
itemsarray of objects | nullitems model
> idstringaddress book id
> requesterPartnerIdstring | nullpartner id associated with the client initiating a connection request
> requesterPartnerNamestringpartner name associated with the client initiating a connection request
> requesterAccountIdstring | nullaccount id associated with the client initiating a connection request
> requesterAccountNamestring | nullaccount name associated with the client initiating a connection request
> requesterAccountNumberstring | nullaccount number associated with the client initiating a connection request
> requestedByUserIdstring | nulluser id that initiated the connection request
> requestedByUserNamestring | nulluser name that initiated the connection request
> requestedByUserEmailstring | nulluser email that initiated the connection request
> requestedAtdate-time | nulldate and time the connection request was initiated
> requestApprovedByUserNamestring | nulluser name that approved connection request
> requestApprovedByUserEmailstring | nulluser email that approved connection request
> requestApprovedAtdate-time | nulldate and time the connection request was approved
> targetPartnerIdstringpartner id associated with the client receiving a request to connect
> targetPartnerNamestring | nullpartner name associated with the client receiving a request to connect
> targetAccountIdstringaccount id associated with the client receiving a request to connect
> targetAccountNamestring | nullaccount name associated with the client receiving a request to connect
> targetAccountNumberstring | nullaccount number associated with the client receiving a request to connect
> accountLinkApprovedByUserName /string | null
> accountLinkApprovedByUserEmailstring | null
> accountLinkApprovedAtdate-time | null
> statusstringone of the following: Initiated; ApprovalRequired; Declined; Requested; RequestDeclined; Linked; Deleted
> lastModifiedAtdate-timedate and time connection was last modified

Error Handling:
Common errors will include:
400 – Bad Request
403 – Forbidden
404 – Not Found
422 – Unprocessable Content

For guidance on troubleshooting error codes please consult the Error Code Handling section of this guide.


Delete Connection

When a connection is no longer needed, a user can delete it from their address book. Deleting a connection removes it from both clients' address books. To delete a connect, initiate a DELETE request directed to the following endpoint:

https://cubi-sandbox-api.customersbank.com/transfers/v1/AddressBook/entries/{id}

Path Parameter Data Element Details:

NameTypeDescription
idstringaddress book id

Example Request:

DELETE //transfers/v1/addressbook/entries/e7d5746b-61a0-4cea-a656-b13a00f77209 HTTP/1.1
Host: cubi-sandbox-api.customersbank.com
Authorization: ******

A successful request will generate a response of 204 – No Content.

Error Handling:
Common errors will include:
400 – Bad Request
403 – Forbidden
404 – Not Found
422 – Unprocessable Content

For guidance on troubleshooting error codes please consult the Error Code Handling section of this guide.


View Connection Requests

This endpoint allows users to view all requests to connect. Users will see the client that sent the request, the account they want to connect to, and the account the user is connecting with.

https://cubi-sandbox-api.customersbank.com/transfers/v1/AddressBook/entries/requests

This request requires additional query parameters to be included.

Query Parameter Data Element Details:

NameTypeDescription
paginateResultsbooleanindicates whether the request should be paginated
pageint32indicates the page to return
perPageint32indicates how many items are on a page
sortOnstringindicates the attribute by which the data is sorted
sortAscendingbooleanindicates if the data is sorted in ascending or descending order

Example Request:

A successful request will generate a response of 200 – Ok.

Example Response:

Response Data Element Details:

NameTypeDescription
pageSizeint32number of items displayed on a page
pageOffsetint32offset index indicating starting point for page items
totalPagesint32total number of pages
totalItemCountint32total count of items across all pages
itemsarray of objects | nullitems model
> idstringaddress book id
> requesterPartnerIdstring | nullpartner id associated with the client initiating a connection request
> requesterPartnerNamestringpartner name associated with the client initiating a connection request
> requesterAccountIdstring | nullaccount id associated with the client initiating a connection request
> requesterAccountNamestring | nullaccount name associated with the client initiating a connection request
> requesterAccountNumberstring | nullaccount number associated with the client initiating a connection request
> requestedByUserIdstring | nulluser id that initiated the connection request
> requestedByUserNamestring | nulluser name that initiated the connection request
> requestedByUserEmailstring | nulluser email that initiated the connection request
> requestedAtdate-time | nulldate and time the connection request was initiated
> requestApprovedByUserNamestring | nulluser name that approved connection request
> requestApprovedByUserEmailstring | nulluser email that approved connection request
> requestApprovedAtdate-time | nulldate and time the connection request was approved
> targetPartnerIdstringpartner id associated with the client receiving a request to connect
> targetPartnerNamestring | nullpartner name associated with the client receiving a request to connect
> targetAccountIdstringaccount id associated with the client receiving a request to connect
> targetAccountNamestring | nullaccount name associated with the client receiving a request to connect
> targetAccountNumberstring | nullaccount number associated with the client receiving a request to connect
> accountLinkApprovedByUserName /string | null
> accountLinkApprovedByUserEmailstring | null
> accountLinkApprovedAtdate-time | null
> statusstringone of the following: Initiated; ApprovalRequired; Declined; Requested; RequestDeclined; Linked; Deleted
> lastModifiedAtdate-timedate and time connection was last modified

Common errors will include:
403 – Forbidden

For guidance on troubleshooting error codes please consult the Error Code Handling section of this guide.


Search for Connections

To find another client's available accounts, users can search for by the partner's name. A minimum of three characters is required to be entered in the partner name for this request. Searching for connections allows users to discover new clients to connect with or retrieve details for existing or pending connection requests. To search for a connection, initiate a GET request directed at the following endpoint:

https://cubi-sandbox-api.customersbank.com/transfers/v1/AddressBook/availableAccounts

This request requires additional query parameters to be included.

Query Parameter Data Element Details:

NameTypeDescription
partnerNamestringclient name
paginateResultsbooleanindicates whether the request should be paginated
pageint32indicates the page to return
perPageint32indicates how many items are on a page
sortOnstringindicates the attribute by which the data is sorted
sortAscendingbooleanindicates if the data is sorted in ascending or descending order

Example Request:

A successful request will generate a response of 200 – Ok.

Example Response:

Response Data Element Details:

NameTypeDescription
pageSizeint32number of items displayed on a page
pageOffsetint32offset index indicating starting point for page items
totalPagesint32total number of pages
totalItemCountint32total count of items across all pages
itemsarray of objects | nullitems model
> idstringaddress book id
> requesterPartnerIdstring | nullpartner id associated with the client initiating a connection request
> requesterPartnerNamestringpartner name associated with the client initiating a connection request
> requesterAccountIdstring | nullaccount id associated with the client initiating a connection request
> requesterAccountNamestring | nullaccount name associated with the client initiating a connection request
> requesterAccountNumberstring | nullaccount number associated with the client initiating a connection request
> requestedByUserIdstring | nulluser id that initiated the connection request
> requestedByUserNamestring | nulluser name that initiated the connection request
> requestedByUserEmailstring | nulluser email that initiated the connection request
> requestedAtdate-time | nulldate and time the connection request was initiated
> requestApprovedByUserNamestring | nulluser name that approved connection request
> requestApprovedByUserEmailstring | nulluser email that approved connection request
> requestApprovedAtdate-time | nulldate and time the connection request was approved
> targetPartnerIdstringpartner id associated with the client receiving a request to connect
> targetPartnerNamestring | nullpartner name associated with the client receiving a request to connect
> targetAccountIdstringaccount id associated with the client receiving a request to connect
> targetAccountNamestring | nullaccount name associated with the client receiving a request to connect
> targetAccountNumberstring | nullaccount number associated with the client receiving a request to connect
> accountLinkApprovedByUserName /string | null
> accountLinkApprovedByUserEmailstring | null
> accountLinkApprovedAtdate-time | null
> statusstringone of the following: Initiated; ApprovalRequired; Declined; Requested; RequestDeclined; Linked; Deleted
> lastModifiedAtdate-timedate and time connection was last modified

Error Handling:
Common errors will include:
403 – Forbidden
404 – Not Found
422 – Unprocessable Content

For guidance on troubleshooting error codes please consult the Error Code Handling section of this guide.


View Incoming Requests to Connect

This endpoint allows users to view incoming requests to connect.

https://cubi-sandbox-api.customersbank.com/transfers/v1/AddressBook/requests

This request requires additional query parameters to be included.

Query Parameter Data Element Details:

NameTypeDescription
paginateResultsbooleanindicates whether the request should be paginated
pageint32indicates the page to return
perPageint32indicates how many items are on a page
sortOnstringindicates the attribute by which the data is sorted
sortAscendingbooleanindicates if the data is sorted in ascending or descending order

Example Request:

A successful request will generate a response of 200 – Ok.

Example Response:

Response Data Element Details:

NameTypeDescription
pageSizeint32number of items displayed on a page
pageOffsetint32offset index indicating starting point for page items
totalPagesint32total number of pages
totalItemCountint32total count of items across all pages
itemsarray of objects | nullitems model
> idstring
> requesterPartnerNamestring | nullpartner name associated with the client initiating a connection request
> requesterAccountNamestring | nullaccount name associated with the client initiating a connection request
> requesterAccountNumberstring | nullaccount number associated with the client initiating a connection request
> targetAccountNamestring | nullaccount name associated with the client receiving a request to connect
> targetAccountNumberstring | nullaccount number associated with the client receiving a request to connect
> requestedAtdate-timedate and time the connection request was initiated

Error Handling: Error Handling:
Common errors will include:
400 – Bad Request
403 – Forbidden

For guidance on troubleshooting error codes please consult the Error Code Handling section of this guide.


Approve Connection Request

Connection requests remain pending until the recipient either approves or declines them. To approve a connection request, initiate a POST request directed at the following endpoint:

https://cubi-sandbox-api.customersbank.com/transfers/v1/AddressBook/requests/{id}/approve

This request requires the additional data to be included in the path of the request.

Path Parameter Data Element Details:

NameTypeDescription
idstringaddress book id

Example Request:

A successful request will generate a response of 202 - Accepted.

Example Response:

Error Handling:
Common errors will include:
400 – Bad Request
403 - Forbidden
422 – Unprocessable Content

For guidance on troubleshooting error codes please consult the Error Code Handling section of this guide.


Decline Connection Request

Connection requests remain pending until the recipient either approves or declines them. To decline a connection request, initiate a POST request directed at the following endpoint:

https://cubi-sandbox-api.customersbank.com/transfers/v1/AddressBook/requests/{id}/decline

This request requires the additional data to be included in the path of the request.

Path Parameter Data Element Details:

NameTypeDescription
idstringaddress book id

Example Request:

A successful request will generate a response of 202 - Accepted.

Example Response:

Error Handling:
Common errors will include:
400 – Bad Request
403 - Forbidden
422 – Unprocessable Content

For guidance on troubleshooting error codes please consult the Error Code Handling section of this guide.