Creates an eligibility in the PSI Atlas system. Many parameters are optional but the more the better.

Important Note - This endpoint also allows mapping of discount codes (Vouchers) while creating the eligibility record.

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

POST https:///accounts/{account_code}/candidates

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

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
200 OK

When a candidate was added successfully.

Eligibility Response Model
400 Bad Request


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

scenario : Invalid test code in the payload.
error_description : No mapping found for the given test code.

scenario : Eligibility Already exists.
error_description : Candidate can not be registered as an open registration record already exists for this candidate.

scenario : Invalid eligibility end date.
error_description : There was an internal error while registering the candidate.

scenario : Invalid schedule start date.
error_description : Scheduled start date should be less than eligibility end date.

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

scenario : New eligibility not permitted as previous eligibility is not in a completed status.
error_description : New eligibility not permitted as previous eligibility is not in a completed status.

scenario : No Reasonable Accommodation details found for the given accountCode.
error_description : No Reasonable Accommodation details found for the given accountCode.

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

scenario : Invalid test code in the payload
error_description : Unable to get test details.

scenario : Cannot request more than one time extension Reasonable Accommodation.
error_description : Cannot request more than one time extension Reasonable Accommodation.

scenario : Invalid RA code sent or RA provided is not associated with this account.
error_description : Invalid RA code sent or RA provided is not associated with this account.

scenario : Candidate Registration failed due to an internal error.
error_description : Candidate Registration failed due to an internal error.

scenario : Unable to process request, please try later
error_description : Unable to process request, please try later.

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

Error Model
401 Unauthorized

You are not authorized to access this resource.

Error Model
403 Forbidden

Invalid Credentials

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.

Payload

A new eligibility record.

Request Content-Type
Response Content-Type

Choose an authorisation method:

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