Entitlements

Entitlements are permissions required for accessing book transfers. Administrators assign these entitlements to users. For book transfers, the entitlements include:

• None: No access to book transfers.
• View: Can view book transfers, but cannot perform transactions.
• Initiate: Can start book transfers, but requires secondary approval for dual-control accounts.
• Approve: Can approve or decline initiated book transfers for dual-control accounts.
• Full: Can view, initiate, and approve book transfers.

These permissions ensure secure and appropriate access to book transfer functions.


API Status

To perform book transfers via API, a client must have API access enabled. Users can verify the status of book transfer APIs by initiating a GET request directed to the following endpoint:

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

Developers can use this endpoint to:
• Confirm that API access is enabled before proceeding with additional transfer-related API calls.
• Verity the API status to diagnose issues related to API connectivity.

Example Request:

GET /transfers/v1/accountentitlements HTTP/1.1
Host: cubi-sandbox-api.customersbank.com
Authorization: Bearer ••••••

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

Response Data Element Details:

NameTypeDescription
accountIdstringunique identifier of an account
entitlementstringset of permissions granted to users. Can be one of the following: None; View; Initiate; Approve; Full

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

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


Get Entitlements

Each user that has access to book transfer APIs is set up with an appropriate entitlement. To view the entitlements assigned to a specific person, a user can initiate a GET request to the following endpoint:

https://cubi-sandbox-api.customersbank.com/transfers/v1/AccountEntitlements/{userId}

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

Path Parameter Data Element Details:

NameTypeDescription
userIdstringid related to a specific user

Example Request:

GET /transfers/v1/AccountEntitlements/111111-b26d-46d2-bdd7-629f956dd966 HTTP/1.1
Host: cubi-sandbox-api.customersbank.com
Authorization: Bearer •••••• 

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

Example Response:

Response Data Element Details:

NameTypeDescription
accountIdstringunique identifier of an account
entitlementstringset of permissions granted to users. Can be one of the following: None; View; Initiate; Approve; Full

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

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


Update Entitlements

Administrators have the ability to modify user entitlements. This functionality is restricted solely to administrators. To update user entitlements, the administrator initiates a PUT request directed to the following endpoint:

https://cubi-sandbox-api.customersbank.com/transfers/v1/AccountEntitlements/{userId}

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

Path Parameter Data Element Details:

NameTypeDescription
userIdstringid related to a specific user

Body Parameter Data Element Details:

NameTypeDescription
entitlementsarray of objects | nullentitlements model
> accountIdstringunique identifier of an account
> entitlementstringset of permissions granted to users. Can be one of the following: None; View; Initiate; Approve; Full

Example Request:

PUT /transfers/v1/AccountEntitlements/111111-b26d-46d2-bdd7-629f956dd966 HTTP/1.1
Host: cubi-sandbox-api.customersbank.com
Authorization: Bearer •••••• 
{ 
        "entitlements": [PUT  
        { 
            "accountId": "[ACCOUNT ID]", 
            "entitlement": "View" 
        }, 
        { 
            "accountId": "[ACCOUNT ID]", 
            "entitlement": "Initiate" 
        }, 
        { 
            "accountId": "[ACCOUNT ID]", 
            "entitlement": "Approve" 
        }, 
        { 
            "accountId": "[ACCOUNT ID]", 
            "entitlement": "Full" 
        } 
    ] 
}     

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

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

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