Changelog
48.1.8
-
If a valid ResponseBlock cannot be found on a search request, then the default record ID field will be returned.
47
47.1.111
-
:warning: User fields Address and Fax have been removed from the request and response objects.
47.1.87
-
AnswerType has now been marked as deprecated.
-
Question / Answer records now return a QuestionType property, which contains more information about the type of the question being returned.
47.1.41
-
Additional Placement field PlacementStatusType added to the API.
47.1.40
-
Additional Candidate field ITSSystemLanguageID added to the API
47.1.38
-
Additional Application field StatusType added to the API.
47.1.37
-
Including a API Specification download button in the Swagger documentation.
47.1.33
-
Various improvements to Endpoint security
-
Fixed an issue with being unable to search by some Vacancy fields (Email, Address 1, Invoice Email, Invoice Address 1)
47.1.30
-
Additional Application fields WithdrawnReasonID, WithdrawnComments added to the API
-
Increasing bearer token lifetime from 10 minutes to 1 hour
-
Increasing maximum page size for searching to 1000 records
46
46.1.233
-
Saving answers for a question via the API will now update the main record’s ModificationDate.
46.1.98
-
Added new POST endpoint /paysalaries/search to allow a Pay Salary to be searched via the API
-
Added new POST endpoint /workflows/search to allow an Application Workflow to be searched via the API
46.1.48
-
Improvements to Swagger Documentation
46.1.37
-
Additional Contact fields DelegateStartDate , DelegateEndDate , ContactDelegateIDs added to the API.
46.1.17
-
Added new POST endpoint /vacancytemplates to allow a Vacancy Template to be created via the API
-
Added new PATCH endpoint /vacancytemplates/{vacancytemplateID} to allow a Vacancy Template to be updated via the API
-
Added new PATCH endpoint /vacancytemplates/{vacancytemplateID}/questions to allow a Answers to be set against a Vacancy Template via the API
-
Added new POST endpoint /vacancytemplates/{vacancytemplateID}/rates to allow a Rates to be added against a Vacancy Template via the API
-
Added new DELETE endpoint /vacancytemplates/{vacancytemplateID}/rates/{ratetypeID} to allow a Rate to be deleted from a Vacancy Template via the API
-
Added new POST endpoint /vacancytemplates/{vacancytemplateID}/upload/file to allow a File to be added against a Vacancy Template via the API
-
Added new GET endpoint /vacancytemplates//upload/file/types to get the supported Vacancy Template File Types via the API
45
45.1.179
-
Fixed an issue with Timesheets where some valid Timesheet Week Start Dates was being rejected.
45.1.166
-
Added a new POST endpoint /api/files/cv/search to allow searching for CVs
45.1.155
-
Fixed an issue with Vacancy PublicURLs when a vacancy title has not been provided.
45.1.152
-
Improvements to search response times on large systems
45.1.139
-
Fixed an issue when searching for mutliple ‘OneToMany’ as part of a single search filter being treated as an AND relationship, rather than an OR.
45.1.135
-
Additional Vacancy fields added to the API
-
AllowChangePaySalary
-
45.1.111
-
Fixed an issue where the core system could create Timesheets for a wider range of dates than the API.
45.1.106
-
Fixed an issue where Placements could not be created if the Salary program field is disabled on the system.
-
Fixed an issue where Candidate School History StartDate & EndDate fields would not return data.
45.1.32
-
Additional Action Fields added to API
-
RequiresContactConfirmation
-
ContactConfirmationStatusID
-
ContactConfirmationDate
-
RequiresCandidateConfirmation
-
CandidateConfirmationStatusID
-
CandidateConfirmationDate
-
45.1.29
-
Added new GET endpoint /notes/{noteID} to return basic information about a note.
-
Added new POST endpoint /notes/search to allow basic searching for notes.
-
Added new POST endpoint /notes to allow inserting new notes against records.
-
Added new PATCH endpoint /notes/{noteID} to allow updating an exsiting note record.
-
Extended other search endpoints to include note as a valid search route.
-
Added ExternalProviderURL to Actions Endpoints
45.1.28
-
ActionIDs can now be set to Exported via the /exports endpoint.
45.1.23
-
Added new POST endpoint /candidates/FromCV to allow for a new candidate to be extracted from an uploaded CV
45.1.7
-
Added new GET endpoint /roles/{roleID} to return basic information about a user's role.
-
Added new POST endpoint /roles/search to allow basic searching for user roles.
-
Added Role collection to /users responses returned by the API.
44
44.1.163
-
Fixed an issue where the Candidate/Preferences endpoint failed to respond.
-
Fixed an issue with Search mapping wherein sub-paths would not be returned correctly.
44.1.137
-
Fixed an issue where Candidate Employment History EmploymentStartDate & EmploymentEndDate fields would not return data.
44.1.133
-
Fixed an error where requesting a timesheet which had no rates set would return a 404.
44.1.131
-
Rates and Expenses can now be incldued as a ResponseBlock in /api/timesheets/search
44.1.65
-
Publicly accessible Vacancy URLs will now be returned in the Vacancies response as part of the collection WebsiteURLs
44.1.49
-
Added new POST endpoint /candidates/validatepasswordpolicy to allow for potential Candidate Passwords to be checked against the current Password Policy.
-
Added new POST endpoint /candidates/validatecredentials to validate a Candidate’s email and password combination against Eploy’s records.
-
Extended POST and PATCH of Candidates to allow for a password to be included – which will then be set on the Candidate providing the request passes the Password Policy.
-
"Password": "CandidatePassword",
-
44.1.39
-
Extended POST and PATCH of Applications to allow for a workflow object to be passed.
-
"Workflow": { "StageID":1, "StatusID":1 }
-
44.1.28
-
Preventing Internal Service Errors when passing a search filter with a NULL value.
-
Preventing Internal Service Errors when passing in an empty filter object.
-
Preventing Internal Service Errors when passing an unparsable request body.
44.1.27
-
Additional Placement Fields added to API
-
SupplierCharge
-
44.1.26
-
Increasing security measures when setting a user – the API user must now have the UserAdmin permission to be able to change a record’s user.
44.1.25
-
Increasing security measures for Candidate CV field when creating an application.
44.1.13
-
Additional Vacancy Fields added to API
-
InternalTitle
-
BusinessJustification
-
MaximumDistanceToTravel
-
ReasonForHireID
-
BudgetOptionID
-
ReplacedEmployeeName
-
44.1.3
-
Extended POST and PATCH of certain endpoints to allow updating questions within the same request to reduce the number of API calls required.
-
An array can be added to a request in the format: "QuestionFields": [ { "QuestionID": id, "Answer": value } ] where idis the QuestionID to be answered with value, where value is a type specific to the question being answered.
-
This is applicable to creating and updating Applications, Candidates, Companies, Contracts, Placements and Vacancies.
-
-
Extended search response for Applications, Candidates, Companies, Contacts, Placements and Vacancies to allow requesting a question answer as part of the ResponseBlocks. This will include a QuestionFields node in the response which is an array containing an answer object for each of the questions requested.
-
e.g. a candidate search, including their answer to question 123: {"Filters": [...], "ResponseBlocks":[ "CandidateID", "Candidate.Question.123" ]}
-
43
43.1.281
-
Fixed an issue where InfluenceToApply.Description would not be returned in some cases
43.1.274
-
Fixed an issue where POSTing question answers with the same value that is already set would cause a 500
43.1.217
-
Dropdown list options will now be translated
43.1.213
-
The users/search endpoint can now be searched using User.Active as a filter
43.1.186
-
Fixed an issue where encoded characters would be incorrectly flagged as HTML
43.1.1
-
Role based security improvements across whole system including the API User. Existing permissions and access levels will be automatically migrated.
-
Permissions are now based on the API Users Role. When selecting a User to link to the API credentials it must be a user with only one role assigned to them. This role will determine Permissions, Field Access and Data Access which is allowed for any tokens generated for the API. Enabled scopes must still be configured in addition to this in the API credential settings.
-
Similar to other areas of the system, Data Access will affect which records are returned from API endpoints. This means for example, a GET request for a record which is not accessible to the API User’s Role will return a 404 Not Found error; performing a search request will not include these records in results either.
-
Field Access allows certain fields within records to be hidden from users as though they are not active in the system. The API continues to remove inactive fields when returning responses and prevent them from being used in requests returning 403 Forbidden.
-
:warning: Response Blocks which the user does not have access to (or are disabled in the system) will now return an error as opposed to returning a null value :warning:
-
-
Added Options API to add or update drop down list options through the API
-
[POST] api/options/{optionTypeID}
-
[PATCH] api/options/dropdown/{optionTypeID}/{optionID}
-
-
Added new fields to response of [GET] api/vacancies/{vacancyID} and [POST] api/vacancies/search if active:
-
Advertising boolean, true if the vacancy is currently live (taking into account remaining positions available, advertising end date etc.); otherwise false
-
AdditionalLocations collection of extra Location options in additon to the existing primary vacancy Location
-
AdditionaPositions collection of extra Position options in addition to the existing primary vacancy Position
-
AdditionalIndustries collection of extra Industry options in addition to the existing primary vacancy Industry
-
AuthorisationWorkflow string, the title of the authorisation workflow the vacancy is associated with
-
-
Added new fields for [POST] api/vacancies/search
-
AdditionalLocationIDs, AdditionalIndustryIDs and AdditionalPositionIDs which allow filtering for values matching AdditionalLocations, AdditionalIndustries and AdditionalPositions respectively.
-
AllLocations, AllIndustries and AllPositions which allow filtering on vacancies which match either the “additional” or primary variant of each with one filter. e.g. either AdditionalLocationIDs or LocationID
-
-
Added new fields for [POST] api/vacancies and [PATCH] api/vacancies if active:
-
AdditionalLocationIDs, AdditionalIndustryIDs and AdditionalPositionIDs
-
-
Added Placement and Vacancy Authorisation Workflow endpoints
-
[PATCH] api/vacancies/{vacancyID}/authorisation/workflow or [PATCH] api/placements/{placementID}/authorisation/workflowto set the vacancy or placement authorisation workflow.
-
This automatically matches the record against an authorisation workflow based on the authorisation workflow filters.
-
If multiple workflows match, an error is returned.
-
Currently, the matched workflow must not require selection of authorisors and will return an error if this is the case.
-
-
[DELETE] api/vacancies/{vacancyID/authorisation/workflow or [DELETE] api/placements/{placementID}/authorisation/workflow to remove the vacancy or placement authorisation workflow.
-
-
Improved detection and prevention of XSS attempts when inserting or updating records
42
42.1.408
-
Fixed a rate limiting issue around changes to and from Daylight Savings
42.1.405
-
Fixed an issue where requests containing an empty sub-object such as Salary or Address would incorrectly report errors about fields they contain which are not active in the system
-
Fixed an issue where empty sub-objects would attempt to nullify all fields. This now only happens when null is sent explicitely, {} with no fields is now ignored
42.1.403
-
Standardised Import field across all endpoints when creating or updating records.
-
Deprecated use of ImportID field when creating or updating Actions, Candidates, Placements and Vacancies.
-
ImportID will continue to work until further notice and is a straight swap to Import, submitting both forms within a request will result in an error.
-
42.1.386
-
Fixed an issue where one to many fields would still be returned in response models when the fields were deactivated (with a null value)
42.1.378
-
Fixed default response for [POST] api/options/dropdown/search and [POST] api/export/search when no ResponseBlocks are requested
42.1.377
-
Fixed an issue introduced in 42.1.366 where some types were no longer being coersed from strings.
-
Improved error response when filtering on questions with an incorrect value type
42.1.368
-
Added Active field to [GET] api/users/{userID}, [POST] api/users and [PATCH] api/users. If this is set to false for a given user, they will not be able to log in to the system.
-
Fixed an issue where Reference would be stripped from all option data within a candidate response if Candidate.Reference is not active in the system.
42.1.366
-
When submitting null values in a PATCH request, this will no longer be ignored and will now “unset” the current value.
42.1.362
-
Fixed an encoding issue when submitting PDF files to the API.
42.1.318
-
Search filters using any of the ExportedRecords routes have been removed (this is in favour of HasBeenExportedBy filter)
-
Added POST api/export/search endpoint to replace ExportedRecords filter functionality for querying exports by date and/or success
42.1.316
-
Fixed an issue where some ID fields (e.g. PlacementID) were considered as purely numeric values and did not allow all filter operations
42.1.315
-
Added TimesheetIDs to [POST] api/exports request, this can be used to mark Timesheet records as exported
-
Added a new HasBeenExportedBy field to all exportable records for searching; this supercedes the ExportedRecords routes
-
Supports Equals / NotEquals where value is an ID or array of IDs of export packages available in the system (export types cannot be created through the API and are inserted by eploy on request)
-
Equals will filter on all records which have a successful export for any of the export package values
-
NotEquals will filter on all records wich do not have a succesful export for any of the export package values
-
-
Search filters using any of the ExportedRecords routes are now deprecated and will be removed in a future update
42.1.313
-
Unaccepted filter values now return 400 Bad Request rather than 403 Forbidden
-
Improved potentially harmful string detection to reduce the number of false positives
42.1.310
-
Fixed an issue where api/files/file/search would fail to populate parts of the response
-
Inclusion of File.RecordTypeID filter in a request when using File.RecordID filter with api/files/files/search is now enforced
42.1.302
-
Removed IsNull and IsNotNull search operations
-
Added IsEmpty and IsNotEmpty search operations which can be applied to string (null or whitespace) and date fields (null).
-
Fixed an issue where ParentCompanyID was returned incorrectly
-
Fixed an issue where filters with no value were silently ignored
42.1.287 (Rates)
-
Rate request / response models no longer include RateItemID ; RateTypeID is used as a unique identifer and is always required.
-
[PATCH] api/placements/{rateItemId} has been removed
-
[PATCH] api/vacancies/{rateItemId} has been removed
-
[DELETE] api/placements/rates/{rateItemId} has been replaced with [DELETE] api/placements/rates/{rateTypeId}
-
[DELETE] api/vacancies/rates/{rateItemId} has been replaced with [DELETE] api/vacancies/rates/{rateTypeId}
-
[POST] api/placements/rates and [POST] api/vacancies/rates no longer accept a “single” object, they now accept an array of objects - this will:
-
Insert rates of a RateTypeID in the request that does not currently exist in the system for placement or vacancy
-
Update rates with a RateTypeID that does exist for that placement or vacancy
-