Update an existing candidate's eligibility details. Information such as candidate demographic data and eligibility, expiration and scheduled start date may be changed. Please note that following actions are not allowed using Update calls:

  1. You cannot change the associated test via this call
  2. You cannot add/remove/modify the associated accommodation requests via this call
  3. You cannot update or modify the candidate ID OR client eligibility ID for an existing eligibility.
To achieve these outcomes you must cancel the existing eligibility(by making DELETE call) and then create a fresh one with changed test_code and/or accommodation codes.

API Authentication

HTTPS requests to PSI REST APIs are protected with oAuth2 based authentication. To learn more about how PSI handles authentication, please refer to our authentication section

Request

PUT https:///accounts/{account_code}/candidates/{candidate_id}/tests/{test_code}

Path parameters

Parameter name Value Description Additional
account_code string

Provided client specific account code. This is the unique, randomly generated alphanumeric identifier for the client Account.

Required
candidate_id string

The unique candidate id to update.

Required
test_code string

The client specific test code for the eligibility to be updated against.

Required

Request body

The request body takes a complete Eligibility Model resource, containing the following writable properties:

{
    "candidate": {
        "additional_attributes": [
            {
                "key": "string",
                "value": "string"
            }
        ],
        "address1": "string",
        "address2": "string",
        "candidate_id": "string",
        "city": "string",
        "country": "string",
        "email": "string",
        "first_name": "string",
        "home_phone": "string",
        "last_name": "string",
        "middle_name": "string",
        "office_phone": "string",
        "postal_code": "string",
        "province_state": "string",
        "school_code": "string",
        "special_accommodations": [
            "string"
        ],
        "suffix": "string"
    },
    "client_eligibility_id": "string",
    "eligibility_end_date": "string",
    "portion_codes": [
        "string"
    ],
    "registration_mode": "string",
    "schedule_start_date": "string",
    "test_code": "string",
    "voucher_codes": [
        "string"
    ]
}

Properties

Name Type Description Additional
candidate object Candidate Model
candidate.additional_attributes[] array Optional
candidate.additional_attributes[].key string

The key agreed upon by PSI and the client in advanced to store a custom candidate attribute.

Optional
candidate.additional_attributes[].value string

The vlaue of the additional attribute.

Optional
candidate.address1 string Optional
candidate.address2 string Optional
candidate.candidate_id string

The supplied candidates unique id.

candidate.city string Optional
candidate.country string

2 digit country code per ISO 3166-1 alpha-2 standards.

Optional
candidate.email string Optional
candidate.first_name string
candidate.home_phone string Optional
candidate.last_name string
candidate.middle_name string Optional
candidate.office_phone string Optional
candidate.postal_code string

Candidates zip code, postal code or equivilent.

Optional
candidate.province_state string

The canidates province, state or equivilent. Must be 2 digit state abbrevation for USA

Optional
candidate.school_code string

If supplied, the list of school codes must be added to PSI's system in advance of the import.

Optional
candidate.special_accommodations[] array of string

If supplied, the list of special accommodation codes must be added to PSI's system in advance of the import.

Optional
candidate.suffix string Optional
client_eligibility_id string

A unique identifier for this eligibility in the client system, when provided with eligibility data. PSI system currently accepts 20 characters of alphanumerics, hyphen, dot, and underscore for this field.

Optional
eligibility_end_date string

The last date possible for the candidate to schedule on. Must be a DateTime value in UTC specified as YYYY-MM-DDThh:mm:ssZ (ISO-8601 format).
e.g. Apr 1, 20202 10 pm in UTC will be represented as 2020-04-01T22:00:00Z.

Optional
portion_codes[] array of string

A test contains one or more portions. A portion code is the code provided by the client for the portion. No portion code needs to be specified for single portion test. One or more portions must be specified for mult-portion tests.

Optional
registration_mode string

Mode of registration like Online, Phone, Walkin, Import, Mail, Email, Fax, IVR, ExpressMail, VoiceResponse and Application.

Optional
schedule_start_date string

The first date possible for the candidate to schedule on. Must be a DateTime value in UTC specified as YYYY-MM-DDThh:mm:ssZ (ISO-8601 format).
e.g. Apr 1, 20202 10 pm in UTC will be represented as 2020-04-01T22:00:00Z.

Optional
test_code string

The client specific test code for the eligibility to be created against. Allows string values (numeric, alphabets. hyphen and ) upto 50 characters

voucher_codes[] array of string

A comma separated list of voucher code strings. Voucher Codes are pre-agreed discount codes between PSI and the customer.

Optional

Authorisation

This request requires the use of one of following authorisation methods: OAuth2.

Response

The following HTTP status codes may be returned, optionally with a response resource.

Status code Description Resource
204 No Content

When a candidate is updated successfully.

400 Bad Request


Below is the list of possible error descriptions in case of bad request or error.

scenario : Invalid account code.
error_description : Unable to get the account details for the given accountCode."

scenario : Invalid candidate id.
error_description : Candidate details not found for the given candidate id.

scenario : Invalid test code.
error_description : Please provide the valid test/portion code.

scenario : Invalid portion code in payload.
error_description : Please provide valid portion code.

scenario : Invalid delivery mode.
error_description : Provided delivery mode is not allowed for this exam. Please provide valid delivery mode.

scenario : Cannot update delivery mode
error_description : Cannot update delivery mode once the session is created.

Error Model
401 Unauthorized

You are not authorized to access this resource.

Error Model
403 Forbidden

Forbidden operation.

Error Model
404 Not Found

The specified candidate eligibility code was not found.

Error Model
500 Internal Server Error Error Model

Explore this API

account_code

Provided client specific account code. This is the unique, randomly generated alphanumeric identifier for the client Account.

candidate_id

The unique candidate id to update.

test_code

The client specific test code for the eligibility to be updated against.

Payload

The candidate's updated eligibity record.

Request Content-Type
Response Content-Type

Choose an authorisation method:

Access Token Access token to be used for request
Try it out!