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.

identity_01.png

Identity Confirmation

Personal Details Step 1

personal details step 1

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.

personal details step 2

Personal Details Step 2

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.

personal details step 3

Personal Details Step 3

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 confirmation

Address Confirmation

Address Lookup

When a user has not set an address for their account or their address is incorrect they may enter a new address.

address lookup

Address Lookup

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*:’:

address choice

Address choices

confirm address choice

Confirm Address choices

Or enter their details manually:

manual address entry

Manual Address Entry

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.

stage confirmation

Stage Confirmation

Occupations (List)

A user can see a list of occupations associated with their account.

occupations list

Occupations List

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.

create an occupation

Create an Occupation

  • To set employment status both employment_status_id and employment_status_name should be set with the corresponding

    key, value from the selected metadata.

  • To set occupation both occupation_id and occupation_name should be set with the corresponding

    key, value from the selected metadata.

  • To set industry both employers_business_id and employers_business_name should be set with the corresponding

    key, value from the selected metadata.

confirm create an occupation

Confirm Create an occupation

Then have the newly created occupation in the list:

new occupation

New Occupation

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.

update an occupation

Update an occupation

When the user selects ‘edit’ the details are prefilled from the current occupation to edit:

update an occupation

Update an occupation

  • To update employment status both employment_status_id and employment_status_name should be updated with the corresponding key, value from the selected metadata.

  • To update occupation both occupation_id and occupation_name should be updated with the corresponding key, value from the selected metadata.

  • To update industry both employers_business_id and employers_business_name should be updated with the corresponding key, value from 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.

delete an occupation

Delete an Occupation

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