Section 1: Use Cases
The user in this case is the FI Admin.
Creates a group where participants will be added
-
Create a group POST /groups/v3/groups
-
Request
-
Headers
- Authorization: The access token from the Authentication API
- TransactionId: A UUID string used as unique identifier for this token request
- Content-Type: application/json
-
Body (JSON-formatted)
- groupName: Name of the group (max size: 30)
- groupDescription: Description of the group (max size: 120)
-
Update a group PUT /groups/v3/groups/{groupId}
-
Request
-
Path Parameters
- groupId: The groupId for update
-
Headers
- Authorization: The access token from the Authentication API
- TransactionId: A UUID string used as unique identifier for this token request
- Content-Type: application/json
-
Body (JSON-formatted)
- groupName: Name of the updated group (max size: 30)
- groupDescription: Updated description (will be empty if not included) (max size: 120)
-
Delete a group DELETE /groups/v3/groups/{groupId}
-
Request
-
Path Parameters
- groupId: The groupId for delete
-
Headers
- Authorization: The access token from the Authentication API
- TransactionId: A UUID string used as unique identifier for this token request
-
Upload participants PUT /groups/v3/groups/{groupId}/participants
-
Request
-
Path Parameters
- groupId: The groupId for participant modification
-
Headers
- Authorization: The access token from the Authentication API
- TransactionId: A UUID string used as unique identifier for this token request
- Content-Type: multipart/form-data
-
Body (form data)
- type: one of {ADD, REMOVE, REPLACE}
- fileName (binary): path to file. Example: fileName=@"/Documents/participant_list.csv"’
-
Get Jobs GET /groups/v3/jobs
-
Request
-
Query Parameters (none are required)
- groupId: groupId for jobs
- page: page of the pageable list (default: 0)
- size: size of the page (default: 20)
- sort: sort on the insertDateTime (Either: sort=insertDateTime,desc or insertDateTime,asc)
-
Headers
- Authorization: The access token from the Authentication API
- TransactionId: A UUID string used as unique identifier for this token request
-
Get latest job GET /groups/v3/jobs?page=0&size=1&sort=insertDateTime,desc
-
Request
-
Query Parameters
- groupId: groupId for job (not required. If not used, will get the latest job for FI. If used, will get latest job for that particular groupId
- page: page set to 0
- size: size set to 1
- sort: sort set to insertDateTime,desc (gets the most recent job based on insertDateTime)
-
Headers
- Authorization: The access token from the Authentication API
- TransactionId: A UUID string used as unique identifier for this token request
-
Get job by id GET /groups/v3/jobs/{jobId}
-
Request
-
Path Parameters
-
Headers
- Authorization: The access token from the Authentication API
- TransactionId: A UUID string used as unique identifier for this token request
-
Get job errors GET /groups/v3/jobs/{jobId}/errors
-
Request
-
Path Parameters
-
Headers
- Authorization: The access token from the Authentication API
- TransactionId: A UUID string used as unique identifier for this token request
Section 2: Example Responses
Create a group
Sample Response:
{
"groupId": "482cf7f8-3e59-4ccf-a996-97c79fd50cb1",
"groupName": "My new group",
"groupDescription": "My group description",
"groupType": "EXPERIENCE_GROUP",
"groupPlatform": "RETAIL_BANKING",
"groupLastUpdatedDateTime": "2022-10-19T20:31:29.076Z",
"groupParticipantCount": 0,
"groupStatus": "ACTIVE"
}
Update a group
Sample Response:
{
"groupId": "482cf7f8-3e59-4ccf-a996-97c79fd50cb1",
"groupName": "My updated group",
"groupDescription": "My updated description",
"groupType": "EXPERIENCE_GROUP",
"groupPlatform": "RETAIL_BANKING",
"groupLastUpdatedDateTime": "2022-10-19T21:31:29.076Z",
"groupParticipantCount": 0,
"groupStatus": "ACTIVE"
}
Delete a group
Sample Response:
{
"code": "1000",
"message": "groupId f6a0ab94-04d5-460b-978b-f2e401783bf9 was successfully deleted"
}
Upload participants
Sample Response:
{
"code": "1000",
"message": "File upload for file: participant_list.csv and group: 5e5c9d42-8c93-4ede-b69d-be8599b5a930 was successful with jobId: 9ed8f6b1-8243-454c-9588-9a5f61643739",
"jobId": "9ed8f6b1-8243-454c-9588-9a5f61643739",
"jobStatus": "CREATED"
}
Get Jobs
Sample Response:
{
"links": [
{
"rel": "first",
"href": "https://api.candescent.com/digitalbanking/groups/v3/jobs?page=0&size=20"
},
{
"rel": "self",
"href": "https://api.candescent.com/digitalbanking/groups/v3/jobs?page=0&size=20"
},
{
"rel": "next",
"href": "https://api.candescent.com/digitalbanking/groups/v3/jobs?page=0&size=20"
},
{
"rel": "last",
"href": "https://api.candescent.com/digitalbanking/groups/v3/jobs?page=0&size=20"
}
],
"content": [
{
"jobId": "3436a842-4905-4e21-aea7-9a22cbacbd8d",
"groupId": "caea9453-063b-4ae1-8c82-4553aa67dc30",
"groupName": "Grp%20edge",
"groupType": "EXPERIENCE_GROUP",
"inputFileName": "BusinessUser.csv",
"workingFileName": "00516/uploads/00516-caea9-1557243230095-BusinessUser.csv",
"type": "ADD",
"totalRecordsCount": 1,
"successRecordsCount": 1,
"failedRecordsCount": 0,
"jobDetails": null,
"jobStatus": "SUCCESSFUL",
"jobCreatedBy": "fi_user",
"createdDateTime": "2023-01-07T08:33:50.651Z",
"lastUpdatedDateTime": "2023-01-07T08:33:50.651Z",
"links": [
{
"rel": "self",
"href": "https://api.candescent.com/digitalbanking/groups/v3/jobs/3436a842-4905-4e21-aea7-9a22cbacbd8d"
}
]
},
{
"jobId": "e9c6eacf-5f78-45c1-bcfa-49dae27600af",
"groupId": "caea9453-063b-4ae1-8c82-4553aa67dc30",
"groupName": "Grp%20edge",
"groupType": "EXPERIENCE_GROUP",
"inputFileName": "biz_users.csv",
"workingFileName": "00516/uploads/00516-caea9-1557250648382-biz_users.csv",
"type": "ADD",
"totalRecordsCount": 34,
"successRecordsCount": 34,
"failedRecordsCount": 0,
"jobDetails": null,
"jobStatus": "SUCCESSFUL",
"jobCreatedBy": "fi_user",
"createdDateTime": "2023-01-07T10:37:28.789Z",
"lastUpdatedDateTime": "2023-01-07T10:37:28.789Z",
"links": [
{
"rel": "self",
"href": "https://api.candescent.com/digitalbanking/groups/v3/jobs/e9c6eacf-5f78-45c1-bcfa-49dae27600af"
}
]
}
],
"page": {
"size": 20,
"totalElements": 2,
"totalPages": 1,
"number": 0
}
}
Get latest job
Sample Response:
{
"links": [
{
"rel": "first",
"href": "https://api.candescent.com/digitalbanking/groups/v3/jobs?page=0&size=1&sort=insertDateTime,desc"
},
{
"rel": "self",
"href": "https://api.candescent.com/digitalbanking/groups/v3/jobs?page=0&size=1&sort=insertDateTime,desc"
},
{
"rel": "next",
"href": "https://api.candescent.com/digitalbanking/groups/v3/jobs?page=1&size=1&sort=insertDateTime,desc"
},
{
"rel": "last",
"href": "https://api.candescent.com/digitalbanking/groups/v3/jobs?page=1340&size=1&sort=insertDateTime,desc"
}
],
"content": [
{
"jobId": "9ed8f6b1-8243-454c-9588-9a5f61643739",
"groupId": "5e5c9d42-8c93-4ede-b69d-be8599b5a930",
"groupName": "MyBankingGroup",
"groupType": "EXPERIENCE_GROUP",
"inputFileName": "participant_list.csv",
"workingFileName": "00516/uploads/00516-1675210968248-participant_list.csv",
"type": "REPLACE",
"totalRecordsCount": 2,
"successRecordsCount": 2,
"failedRecordsCount": 0,
"jobDetails": null,
"jobStatus": "SUCCESSFUL",
"jobCreatedBy": "Apigee",
"createdDateTime": "2023-02-01T00:22:48.925Z",
"lastUpdatedDateTime": "2023-02-01T00:23:01Z",
"links": [
{
"rel": "self",
"href": "https://api.candescent.com/digitalbanking/groups/v3/jobs/9ed8f6b1-8243-454c-9588-9a5f61643739"
}
]
}
],
"page": {
"size": 1,
"totalElements": 32,
"totalPages": 32,
"number": 0
}
}
Get job by ID
Sample Response:
{
"jobId": "f728531b-9e26-45fd-9c43-0350c7abae67",
"groupId": "b2e44852-f2cf-4c92-97ae-85aad79ffc7e",
"groupName": "Default group",
"groupType": "EXPERIENCE_GROUP",
"inputFileName": "SAMPLE_USER_LIST.csv",
"workingFileName": "00516/uploads/00516-1666937214699-SAMPLE_USER_LIST.csv",
"type": "ADD",
"totalRecordsCount": 10,
"successRecordsCount": 10,
"failedRecordsCount": 0,
"jobStatus": "SUCCESSFUL",
"jobCreatedBy": "APIGEE",
"createdDateTime": "2022-10-28T06:06:55.389Z",
"lastUpdatedDateTime": "2022-10-28T06:07:06.672Z"
}
Get job errors
Sample Response:
{
"links": [
{
"rel": "self",
"href": "https://api.candescent.com/digitalbanking/groups/v3/jobs/cbeb7ed0-fd23-406b-b1e1-cc636d10c75c/errors?page=0&size=20"
}
],
"content": [
{
"lineNbr": 4,
"errorMsg": "ParticipantId cannot be larger than 32 characters",
"links": []
}
],
"page": {
"size": 20,
"totalElements": 1,
"totalPages": 1,
"number": 0
}
}