Identity
After entering the vehicle keeper details, a user must enter their driving licence information.
API
Confirmation Screen
The user is notified that their driving licence is required to continue.
Personal Details Step 1
Gender (Update)
The list of genders available can be retrieved using the gender metadata.
To update a users gender a PATCH request should be sent with the selected key and value from the metadata list
as gender_id, gender_name respectively.
Request
keys:
first_name,last_name,gender_id,gender_name,date_of_birth
curl -X 'PATCH' \
'https://st.igate-test.co.uk/api/v1/user/profile/cb7d3f93-ccce-48d4-bf82-4c3dcb54d6ee/' \
-H 'Authorization: Bearer abc123xyz...' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"first_name": "Raheem",
"last_name": "Shaquille",
"date_of_birth": "1996-10-06",
"gender_id": "male",
"gender_name": "Male"
}'
Response
Type: 200 OK
{
"url": "https://st.igate-test.co.uk/api/v1/user/profile/cb7d3f93-ccce-48d4-bf82-4c3dcb54d6ee/",
"uuid": "cb7d3f93-ccce-48d4-bf82-4c3dcb54d6ee",
"created_at": "2024-11-29T09:49:24.049001Z",
"updated_at": "2024-11-29T09:49:24.049093Z",
"first_name": "Raheem",
"last_name": "Shaquille",
"preferred_name": null,
"phone_number": null,
"gender_id": "male",
"gender_name": "Male"
"marital_status_id": null,
"marital_status_name": null,
"date_of_birth": "1996-10-06",
"driving_licence_number": null,
"licence_type_id": null,
"licence_type_name": null,
"date_licence_obtained": null
"home_owner": false,
"uk_resident_since_birth": null,
"uk_resident_years": null,
"receive_notifications": null,
"email_subscriptions": null,
"sms_alerts": null
}
Personal Details Step 2
A user must input their phone number, residency and marital status.
The information may be updated by performing a PATCH request to the user profile.
Marital status (Update)
A list of marital statuses may be found on the marital status metadata endpoint.
To update licence type both marital_status_id and marital_status_name should be updated with the corresponding key, value from the selected metadata.
Request
Keys:
phone_number,uk_resident_since_birth,uk_resident_years,marital_status_id,marital_status_name
curl -X 'PATCH' \
'https://st.igate-test.co.uk/api/v1/user/profile/cb7d3f93-ccce-48d4-bf82-4c3dcb54d6ee/' \
-H 'Authorization: Bearer abc123xyz...' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"phone_number": "+44111177778888"
"uk_resident_since_birth": false,
"uk_resident_years": 2,
"marital_status_id": "single",
"marital_status_name": "Single"
}'
Response
Type: 200 OK
{
"url": "https://st.igate-test.co.uk/api/v1/user/profile/cb7d3f93-ccce-48d4-bf82-4c3dcb54d6ee/",
"uuid": "cb7d3f93-ccce-48d4-bf82-4c3dcb54d6ee",
"created_at": "2024-11-29T09:49:24.049001Z",
"updated_at": "2024-11-29T09:49:24.049093Z",
"first_name": "Raheem",
"last_name": "Shaquille",
"preferred_name": null,
"phone_number": "+44111177778888",
"gender_id": "male",
"gender_name": "Male"
"marital_status_id": "single",
"marital_status_name": "Single"
"date_of_birth": "1996-10-06",
"driving_licence_number": null,
"licence_type_id": null,
"licence_type_name": null,
"date_licence_obtained": null
"home_owner": false,
"uk_resident_since_birth": false,
"uk_resident_years": 2,
"receive_notifications": null,
"email_subscriptions": null,
"sms_alerts": null
}
Personal Details Step 3
A user must enter their driving licence information.
The information may be updated by performing a PATCH request to the user profile.
Request
Keys:
licence_type_id,licence_type_name,date_licence_obtained,driving_licence_number.
curl -X 'PATCH' \
'https://st.igate-test.co.uk/api/v1/user/profile/cb7d3f93-ccce-48d4-bf82-4c3dcb54d6ee/' \
-H 'Authorization: Bearer abc123xyz...' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"licence_type_id": "fulluk",
"licence_type_name": "Full (UK)",
"date_licence_obtained": "2011-01-08",
"driving_licence_number": "ABC"
}'
Response
Type: 200 OK
{
"url": "https://st.igate-test.co.uk/api/v1/user/profile/cb7d3f93-ccce-48d4-bf82-4c3dcb54d6ee/",
"uuid": "cb7d3f93-ccce-48d4-bf82-4c3dcb54d6ee",
"created_at": "2024-11-29T09:49:24.049001Z",
"updated_at": "2024-11-29T09:49:24.049093Z",
"first_name": "Raheem",
"last_name": "Shaquille",
"preferred_name": null,
"phone_number": "+44111177778888",
"gender_id": "male",
"gender_name": "Male"
"marital_status_id": "single",
"marital_status_name": "Single"
"date_of_birth": "1996-10-06",
"driving_licence_number": "8921",
"licence_type_id": "fulluk",
"licence_type_name": "Full (UK)",
"date_licence_obtained": "2011-01-08"
"home_owner": false,
"uk_resident_since_birth": false,
"uk_resident_years": 2,
"receive_notifications": null,
"email_subscriptions": null,
"sms_alerts": null
}
Address Confirmation
A user must confirm their address. When an address has been previously entered they will see a pane to confirm:
Address Lookup
When a user has not set an address for their account or their address is incorrect they may enter a new address.
When this is the case the address lookup endpoints can be used to aid the user during the address entry process.
The address lookup would populates the dropdown ‘Please select the address from the dropdown list below*:’:
Or enter their details manually:
To update the address use the address update endpoint.
User Confirmation
When a user confirms their address the app confirms what stage they are and the next step is to add their employment.
Occupations (List)
A user can see a list of occupations associated with their account.
Request
curl -X 'GET' \
'https://st.igate-test.co.uk/api/v1/user/occupations/' \
-H 'Authorization: Bearer abc123xyz...' \
-H 'accept: application/json'
Response
Type: 200 OK
{
"count": 1,
"next": null,
"previous": null,
"results": [
{
"url": "https://st.igate-test.co.uk/api/v1/user/occupations/70df4cea-42fe-42cf-a5fa-071af4cdab78/",
"uuid": "70df4cea-42fe-42cf-a5fa-071af4cdab78",
"created_at": "2025-01-23T16:22:44.550734Z",
"updated_at": "2025-01-23T16:22:44.550778Z",
"employers_business_id": "sports-professional",
"employers_business_name": "Sports - Professional",
"employment_status_id": "employed",
"employment_status_name": "Employed",
"occupation_id": "footballer",
"occupation_name": "Footballer",
"part_time": true,
"primary_occupation": true
}
]
}
Occupation (Create)
An occupation is created by performing a POST request to the occupations endpoint.
- To set employment status both
employment_status_idandemployment_status_nameshould be set with the corresponding key,valuefrom the selected metadata.
- To set employment status both
- To set occupation both
occupation_idandoccupation_nameshould be set with the corresponding key,valuefrom the selected metadata.
- To set occupation both
- To set industry both
employers_business_idandemployers_business_nameshould be set with the corresponding key,valuefrom the selected metadata.
- To set industry both
Then have the newly created occupation in the list:
Request
curl -X 'POST' \
'https://st.igate-test.co.uk/api/v1/occupations/' \
-H 'Authorization: Bearer abc123xyz...' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"employers_business_id": "sports-professional",
"employers_business_name": "Sports - Professional",
"employment_status_id": "employed",
"employment_status_name": "Employed",
"occupation_id": "coach",
"occupation_name": "Coach",
"part_time": true,
"primary_occupation": false
}'
Response
Type: 201 Created
{
"url": "https://st.igate-test.co.uk/api/v1/user/occupations/1873dbb4-ccd6-4d74-b64b-cbb0fc687b35/",
"uuid": "1873dbb4-ccd6-4d74-b64b-cbb0fc687b35",
"created_at": "2025-01-24T11:24:56.127090Z",
"updated_at": "2025-01-24T11:24:56.127177Z",
"employers_business_id": "sports-professional",
"employers_business_name": "Sports - Professional",
"employment_status_id": "employed",
"employment_status_name": "Employed",
"occupation_id": "coach",
"occupation_name": "Coach",
"part_time": true,
"primary_occupation": false
}
Occupation (Update)
The user can select edit to bring up the edit confirmation pane.
When the user selects ‘edit’ the details are prefilled from the current occupation to edit:
To update employment status both
employment_status_idandemployment_status_nameshould be updated with the correspondingkey,valuefrom the selected metadata.To update occupation both
occupation_idandoccupation_nameshould be updated with the correspondingkey,valuefrom the selected metadata.To update industry both
employers_business_idandemployers_business_nameshould be updated with the correspondingkey,valuefrom the selected metadata.
Request
Keys:
employers_business_id,employers_business_id,employers_business_name,employment_status_id,employment_status_name,occupation_id,occupation_name,part_time,primary_occupation
curl -X 'PATCH' \
'https://st.igate-test.co.uk/api/v1/user/occupations/70df4cea-42fe-42cf-a5fa-071af4cdab78/' \
-H 'Authorization: Bearer abc123xyz...' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"employers_business_id": "sports-professional",
"employers_business_name": "Sports - Professional",
"employment_status_id": "employed",
"employment_status_name": "Employed",
"occupation_id": "footballer",
"occupation_name": "Footballer",
"part_time": true,
"primary_occupation": true
}'
Response
Type: 200 OK
{
"url": "https://st.igate-test.co.uk/api/v1/user/occupations/1873dbb4-ccd6-4d74-b64b-cbb0fc687b35/",
"uuid": "1873dbb4-ccd6-4d74-b64b-cbb0fc687b35",
"created_at": "2025-01-24T11:24:56.127090Z",
"updated_at": "2025-01-24T11:24:56.127177Z",
"employers_business_id": "sports-professional",
"employers_business_name": "Sports - Professional",
"employment_status_id": "employed",
"employment_status_name": "Employed",
"occupation_id": "footballer",
"occupation_name": "Footballer",
"part_time": true,
"primary_occupation": true
}
Occupation (Delete)
An occupation is deleted by performing a DELETE request to the endpoint.
Request
curl -X 'DELETE' \
'https://st.igate-test.co.uk/api/v1/user/occupations/70df4cea-42fe-42cf-a5fa-071af4cdab78/' \
-H 'Authorization: Bearer abc123xyz...' \
-H 'accept: application/json'
Response
Type: 204 No Content