Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
New APIs
RSC now supports the following two new versioned REST APIs.
| Summary | Resource | Methods | Documentation |
|---|---|---|---|
| Sync resumes as attachments for applications | attachments |
batch_update, batch_delete | Upload and sync attachments |
| Retrieve application evaluations generated by LinkedIn Hiring Assistant (LiHA) | exportedApplicationEvaluations |
finder | Exported application evaluation |
APIs migrated from v2 to REST
The following endpoints have been migrated from the unversioned v2 API to the versioned rest API. The table lists the unversioned and versioned endpoint paths, supported methods, field-level changes required for migration, and references to learn more.
| Summary | Unversioned endpoint | Versioned endpoint | Methods | Changes | Documentation |
|---|---|---|---|---|---|
| Sync and manage ATS candidates | v2/atsCandidates |
rest/candidates |
batch_update, batch_get, batch_delete | • atsCandidateId → externalCandidateId• atsCreatedAt → externalCreatedAt• atsLastModifiedAt → externalLastModifiedAt• dataProvider removed |
Sync candidates |
| Manage ATS integration instances | v2/atsIntegrations |
rest/integrations |
batch_partial_update, batch_get, finder | • dataProvider removed from entity keys |
Integration types |
| Manage integration configuration settings | v2/atsIntegrationConfigurations |
rest/integrationConfigurations |
batch_update, batch_get | • dataProvider removed from entity keys |
Customer configuration |
| Retrieve recruiter seat and contract information | v2/seatsV2 |
rest/seatsV2 |
finder | • id → seatId• created.time → createdAt.actor + createdAt.time |
Recruiter seatholders |
| Sync notes for ATS candidates | v2/atsCandidates/{id}/notes |
rest/candidateNotes |
batch_update, batch_delete | • atsCandidateId → externalCandidateId• ids → externalNoteId• atsCreatedAt → externalCreatedAt• externalLastModifiedAt added• dataProvider removed |
Sync candidate notes |
| Sync notes for ATS applications | v2/atsApplications/{id}/notes |
rest/applicationNotes |
batch_update, batch_delete | • atsJobApplicationId → externalJobApplicationId• ids → externalNoteId• dataProvider removed |
Sync application notes |
| Manage entity access control lists | v2/atsEntityAcls |
rest/entityAcls |
batch_update, batch_delete, finder | • atsEntityAclId → entityAclId• atsEntityId → entityId• atsEntityType → entityType |
Sync ACLs |
| Manage entity ACL assignees | v2/atsEntityAclAssignees |
rest/entityAclAssignees |
batch_update, batch_delete, finder | • atsEntityAclId → entityAclId• atsEntityId → entityId• atsEntityType → entityType |
Sync ACLs |
| Retrieve InMail stub profiles | v2/mailStubs |
rest/mailStubs |
finder | • location type changed from string to profileLocation object (locationName, countryCode) |
InMail stub profiles |
| Sync application interview feedback | v2/atsApplications/{id}/interviewFeedback |
rest/applicationInterviewFeedbacks |
batch_update, batch_delete | • atsJobApplicationId → jobApplicationId• interviewFeedbackId added as key param• dataProvider removed |
Sync application interview feedback |
| Sync application stages | v2/atsApplications/{id}/stages |
rest/applicationStage |
batch_update, batch_delete | • atsJobApplicationId → jobApplicationId• atsCreatedAt → externalCreatedAt• externalLastModifiedAt added• dataProvider removed |
Sync application stages |
| Retrieve exported candidates | v2/exportedCandidates |
rest/exportedCandidates |
finder | • externalJobPostingId removed• referenceEntityType added• referenceEntityId added• source added |
Retrieve exported candidates |
Changelog
The following sections document all RSC API changes by version and other documentation updates.
RSC 1.0 and RSC+ overview updates
- RSC overview updates:
- Added RSC 1.0 vs RSC+ feature comparison table and Connected Projects section
- Added note that existing RSC partners need an amended API agreement to enable RSC+ features See RSC Overview
RSC data quality thresholds
- RSC data quality requirements: Added new page documenting data quality thresholds that partners must meet before RSC certification and GA. Covers applicant evaluation, sourcing and intake, and ACL completeness metrics.
See RSC data quality requirements
Removed Recommended Matches and Unified Search from API docs
- Recommended Matches and Unified Search removed: All references to Recommended Matches and Unified Search are removed from Recruiter System Connect documentation. The dedicated pages, TOC entries, integration types table rows, and widget URL migration guide entries for these features are no longer available.
Version 202603 (latest)
Note
Use LinkedIn-Version: 202603 in your API requests to access the most recent features. See RSC Migration Guide for migration details from previous versions.
New fields
vanityIdentifieradded tojobRequisitions(LinkedIn-Version: 202603):- New optional field that provides a human-readable, customer-facing identifier for a job requisition (for example, Req ID). This is distinct from the canonical
externalJobRequisitionIdused internally.
Field Type Required Description vanityIdentifierString Optional Customer-facing display identifier for the job requisition (for example, Req ID). - New optional field that provides a human-readable, customer-facing identifier for a job requisition (for example, Req ID). This is distinct from the canonical
Version summary
| Version Header | Base Path | Changes |
|---|---|---|
202603 |
https://api.linkedin.com/rest/ |
None |
Version 202602
candidatesrenamed:dataProviderremoved- Supported methods:
batch_update,batch_get,batch_delete - Resource renamed from
atsCandidatestocandidates; three fields renamed:
Change Before After Path v2/atsCandidatesrest/candidatesKey param atsCandidateIdexternalCandidateIdBody field atsCreatedAtexternalCreatedAtBody field atsLastModifiedAtexternalLastModifiedAtKey param dataProviderRemoved integrationsandintegrationConfigurationsrenamed:- No field changes
integrationssupported methods:batch_partial_update,batch_get,finderintegrationConfigurationssupported methods:batch_update,batch_get- Resource names updated:
Before After v2/atsIntegrationsrest/integrationsv2/atsIntegrationConfigurationsrest/integrationConfigurationsData Deletion:
- Added
DELETE /rest/candidates, replacingDELETE /v2/atsCandidates - Renamed parameter
atsCandidateIdtoexternalCandidateId
See Data Deletion
- Added
Version 202512
seatsV2externalized:- Path updated from
v2/seatsV2torest/seatsV2 - Supported methods:
finder - Two response fields changed:
Field Before After Seat ID idseatIdCreation audit created.timecreatedAt.actor+createdAt.time- Path updated from
candidateNotesandapplicationNotesrenamed:- Resource path changed from
v2/atsCandidates/{id}/notestorest/candidateNotes - Resource path changed from
v2/atsApplications/{id}/notestorest/applicationNotes dataProviderremoved- Supported methods:
batch_update,batch_delete - Fields renamed:
Field candidateNotesBefore → AfterapplicationNotesBefore → AfterPath v2/atsCandidates/{id}.../notes→rest/candidateNotesv2/atsApplications/{id}.../notes→rest/applicationNotesCandidate param atsCandidateId→externalCandidateIdatsJobApplicationId→externalJobApplicationIdNote param ids→externalNoteIdids→externalNoteIdTimestamp atsCreatedAt→externalCreatedAt— Added externalLastModifiedAt— Removed dataProviderdataProvider- Resource path changed from
Data Deletion:
- Added
DELETE /rest/candidateNotesandDELETE /rest/applicationNotes
See Data Deletion
- Added
Version 202511
entityAclsandentityAclAssigneesrenamed:- Resources renamed from
atsEntityAclsandatsEntityAclAssignees, respectively - Supported methods:
batch_update,batch_delete,finder - Three key params renamed:
Field Before After Path v2/atsEntityAcls/v2/atsEntityAclAssigneesrest/entityAcls/rest/entityAclAssigneesKey param atsEntityAclIdentityAclIdKey param atsEntityIdentityIdKey param atsEntityTypeentityTypeSee Sync ACLs
- Resources renamed from
Version 202510
mailStubsexternalized:- Supported methods:
finder - Path updated from
v2/mailStubstorest/mailStubs locationresponse field type changed:
Field Before After Path v2/mailStubsrest/mailStubslocationtypestringprofileLocationobject (locationName,countryCode)- Supported methods:
Data Deletion:
- Added
DELETE /rest/attachments - Supports deleting synced resume attachments
See Data Deletion
- Added
Version 202508.02
applicationInterviewFeedbacksrenamed:dataProviderremoved from key params- Supported methods:
batch_update,batch_delete - Resource path changed from
v2/atsApplications/{id}/interviewFeedbacktorest/applicationInterviewFeedbacks:
Change Before After Path v2/atsApplications/{id}.../interviewFeedback?ids={id}rest/applicationInterviewFeedbacksKey params atsJobApplicationId,dataProvider,integrationContextjobApplicationId,interviewFeedbackId,integrationContext
Version 202508
attachmentsnew endpoint:- New
rest/attachmentsendpoint for syncing resumes as attachments; supportsbatch_update,batch_delete
- New
Version 202507
simpleJobPostingsREST migration:- Private RSC job postings removed from
simpleJobPostings simpleJobPostings,simpleJobPostingStatus, andsimpleJobPostingTasksmoved torest/base path:
Endpoint Before After simpleJobPostingsv2/simpleJobPostings; supports private (RSC) and public jobsrest/simpleJobPostings; private RSC job postings no longer supported; RSC partners must usejobRequisitionssimpleJobPostingStatusv2/simpleJobPostingStatusrest/simpleJobPostingStatus; no field changessimpleJobPostingTasksv2/simpleJobPostingTasksrest/simpleJobPostingTasks; no field changesSee Sync Job Postings and RSC Migration Guide
- Private RSC job postings removed from
applicationStagerenamed:dataProviderremoved- Supported methods:
batch_update,batch_delete - Resource path changed from
v2/atsApplications/{id}/stagestorest/applicationStage - Timestamp fields renamed:
Change Before After Path v2/atsApplications/{id}.../stages?ids={stageId}rest/applicationStageKey params atsJobApplicationId,dataProvider,integrationContextjobApplicationId,jobApplicationStageId,integrationContextTimestamp fields atsCreatedAtexternalCreatedAt,externalLastModifiedAt(added)exportedApplicationEvaluationsnew endpoint:- New
GET https://api.linkedin.com/rest/exportedApplicationEvaluations - Retrieves evaluation data generated by LinkedIn Hiring Assistant (LiHA)
- Supported methods:
finder
- New
exportedCandidatesupdated:- Path updated to
GET https://api.linkedin.com/rest/exportedCandidates - Supported methods:
finder - Field changes:
Change Before After Removed field externalJobPostingId— Added fields — referenceEntityType,referenceEntityId,source- Path updated to
atsPurgedExportedCandidatesversioned:- Path updated from
v2/atsPurgedExportedCandidatestorest/atsPurgedExportedCandidates - No field changes
- Path updated from
atsApplicationsupdated:dataProviderremoved from key params- Path updated to
rest/atsApplications - Two body fields added:
Change Before After Path v2/atsApplicationsrest/atsApplicationsKey params atsJobApplicationId,dataProvider,integrationContextatsJobApplicationId,integrationContextAdded body fields — atsJobRequisitionId,accessRestrictedData Deletion:
- Added DELETE endpoints:
DELETE /rest/atsApplications,DELETE /rest/applicationInterviewFeedbacks,DELETE /rest/applicationStage,DELETE /rest/jobRequisitions,DELETE /rest/jobRequisitionStages
See Data Deletion
- Added DELETE endpoints:
Version 202504
jobRequisitionsandjobRequisitionStagesnew endpoints:- New
rest/jobRequisitionsendpoint syncs requisition data to LinkedIn; link to job postings viapartnerRequisitionIdinsimpleJobPostings; supportsbatch_update,batch_delete - New
rest/jobRequisitionStagesendpoint manages requisition lifecycle stages; supportsbatch_update,batch_delete
- New
December 2025
- One-Click Export context:
- Added description of Enhanced 1CE fields (email addresses, years of experience, skills, work positions, education history). See StubProfile
November 2025
Application Evaluation enhancements:
- Added
evaluationProfileURLfield - link to candidate's Recruiter profile page for the evaluation - Updated
criteriaClassificationenum value fromMeettoMeetsSee Export Application Evaluation
- Added
RSC Migration Guide updates:
- Added
hiredCountfield to/jobRequisitionsAPI - Added
compensationfield (new in Job Requisitions, not available in old API) - Clarified
accessRestrictedfield mapping from extension schema - Updated field mapping for
requisitionTypeandownersfields - Clarified job requisition stage purpose for application progression See RSC Migration Guide
- Added
October 2025
New Child Application Secret Management APIs:
- Added support for rotating and deleting secrets for parent, child, and standalone applications
- Partners can now maintain up to two active secrets per application, enabling zero-downtime credential updates See Application Secret Management
Application Evaluation documentation updates:
- Added
evaluationClassificationfield to indicate candidate fit (TOP_FIT,MIGHT_BE_FIT,MIGHT_NOT_BE_FIT,UNKNOWN) - Updated
criteriaClassificationenum values fromMATCHtoMEET/DOES_NOT_MEETSee Application Evaluation Overview
- Added
September 2025
Application Evaluation push notifications:
- New webhook-based push notifications for application evaluations
- Partners can now receive real-time updates when recruiters evaluate candidates See Receive Push Notifications
Export Application Evaluation API:
- New endpoint for retrieving detailed evaluation data
- Includes recruiter feedback, ratings, and decision timestamps See Export Application Evaluation
March 2024 -- updates to atsCandidates
- Updated Sync Candidates to indicate that the
firstNamefield is required Updated Sync Candidates to adddoNotContactfield Updated Sync Candidates updated phone number and address fields to indicate they are required but can be empty - Changed Stubprofile
emailAddressfield lists array of email to type string.
October 2023 -- One-Click Export limits
- Limits for One Click Export updated to 300 requests per month per seat.
July 2023 minor updates
- Updated Retrieving Closed Candidate Profiles documentation to describe expected partner behavior:
Our ATS partners must query this endpoint periodically (at least once in 30 days) and notify end customers that they may need to delete the data that appear within this endpoint from their records if they do not have a legal basis to continue processing it.
June 2023
- Sync Candidates - Updated description for
externalProfileUrland addedlinkedInProfileUrlin Request Body Fields.
May 2023
- Added new technical questions in RSC FAQ
November 2021
- Sync Candidates - New field validations added to request body fields
- Sync Applications - New field validations added to request body fields
- Sync Application Stages - New field validations added to request body fields
A consolidated summary of the new validation changes is below.
Sync Candidates
| Endpoint | Field | Type | New validation(s) |
|---|---|---|---|
| /atsCandidates | atsCreatedAt | Integer | Value must be greater than 0 |
| /atsCandidates | atsLastModifiedAt | Integer | Value must be greater than 0 Value must be greater than or equal to atsCreatedAt |
| /atsCandidates | emailAddresses | String[] | Emails must follow X@X.X pattern |
Sync Applications
| Endpoint | Field | Type | New validation(s) |
|---|---|---|---|
| /atsApplications | atsCreatedAt | Integer | Value must be greater than 0 |
| /atsApplications | atsLastModifiedAt | Integer | Value must be greater than 0 Value must be greater than or equal to atsCreatedAt |
| /atsApplications | atsJobPostingId | String | Min. length: 1 |
| /atsApplications | atsJobPostingName | String | Min. length: 1 |
| /atsApplications | candidateEmail | String | Email must follow X@X.X pattern |
| /atsApplications | firstName | String | Min. length: 1 |
| /atsApplications | lastName | String | Min. length: 1 |
| /atsApplications | source | String | Min. length: 1 |
Sync Application Stages
| Endpoint | Field | Type | New validation(s) |
|---|---|---|---|
| /atsApplications/{atsJobApplicationId}/stages | atsCreatedAt | Integer | Value must be greater than 0 |
| /atsApplications/{atsJobApplicationId}/stages | stage | String | Min. length: 1 Value cannot be "Not Available" |
June 2021
- Retrieve Recruiter Contract Seatholders - Updated query parameter
statetostates.
May 2021
- Closed Candidate Profiles - Time for purging a closed candidate profile updated.
April 2021
- Retrieve Recruiter Contract Seatholders - Added SeatV2 API details. Partners must migrate to new API by April 1, 2022.
- Recommended Matches - Added details of customer enablement.
- Unified Search - Added details of customer enablement.
- Integration Types - Added new
integrationTypesfor Recommended Matches and Unified Search. - Sync Applications - Added note that API is currently in development.
June 2020
- Recommended Matches - Introducing new Recommended Matches integration for RSC.
- Unified Search - Introducing new Unified Search integration for RSC.
- Development APIs now grouped into 5 Modules
- RSC FAQ - Newly introduced FAQ Wiki
- RSC Development Tools - Newly introduced Development Tools Wiki
- RSC Certification - Newly introduced Certification Section
- RSC Support Resources - Newly introduced customer support resources for Partners
- RSC Release Notes - New wiki containing RSC documentation's release notes.
- Retrieve Exported Candidates - Updated Call Volume Limit for One-Click Export
- Sync Jobs - The default value for Job Sync for Partners to be PRIVATE
April 2020
- Added Required Fields table for all Recruiter System Connect APIs.
- Prospect Notes - Added push event type of
DELETE_PROSPECT_NOTEto process customer deleted Recruiter notes. - Sync Jobs - Added note on how to update job posting from
PUBLICtoPRIVATE_TO_ATS_INTEGRATION.
May 2019
- Client Credential Flow (2-legged OAuth) - Updated HTTP method to POST.
- Records Per Minute Throttle - Updated per minute throttle for batch calls to 10,000.
- InMail Stub Profiles - Updated response body fields to include
headlineandprofileUrl. - Sync Candidates - Updated sample response with character encoding.
- Bind Customer Users - Updated reference to OAuth 2 Authorization Code flow
- Profile Plugin - Added note on member profile matching.
- Sync Applications - Added optional note requirement for resume upload.
January 2019
Sync Candidates - Updated Retrieve Candidate Matches with field projection: matchedMembers, manualMatchedMember.
September 2018
- Push Events - Added note that we are unable to share our IP range to validate incoming push events.
- Sync Jobs - Updated sample request job description to meet minimum character limit of 100
- Bind Customer Users - Added note that Person URN should be used to match the ATS user to Recruiter seatholders.
- Recruiter Seatholders - Added note that Person URN should be used to match the ATS user to Recruiter seatholders.
- Integration Types - Updated descriptions for Integration Configuration Keys
- InMail History - Added note that the
idreturned is a unique identifier for each InMail event. - Prospect Notes - Added note regarding timestamps and status
- Profile Plugin - Updated references from "https://www.linkedin.com/uas/in.js" to "https://platform.linkedin.com/xdoor/scripts/in.js". Example of the change below:
<script type="text/javascript" src="https://platform.linkedin.com/xdoor/scripts/in.js">
api_key: <enter api key here>
extensions: HcmWidget@https://www.linkedin.com/recruiter/widget/hcm
</script>
Customer Configuration Plugin - Updated references from "https://www.linkedin.com/uas/in.js" to "https://platform.linkedin.com/xdoor/scripts/in.js". Example of the change below:
<script type="text/javascript" src="https://platform.linkedin.com/xdoor/scripts/in.js">
api_key: { Enter the customer app API key (client_id) received in the Provisioning API response. }
extensions: ATSIntegrationWidget@https://platform.linkedin.com/rsc/extensions/onboarding-widget
</script>
August 2018
- InMail History - Removed note that InMail content is only visible to the sender/receiver of the particular InMail.
June 2018
- Recruiter System Connect - Updated sample responses for endpoints which support pagination.
April 2018
- ATS Integration Configuration Plugin - Added note on widget reload for single page JS applications
March 2018
- Referrals - Updated communication that we are no longer accepting new LinkedIn Referrals integrations
- InMail History - Added note that InMail content is only visible to the sender/receiver of the particular InMail.
- Profile Plugin - Added callback function for linking and unlinking profiles. See example below:
<script type="text/javascript" src="https://www.linkedin.com/uas/in.js">
api_key: <enter api key here>
extensions: HcmWidget@https://www.linkedin.com/recruiter/widget/hcm
</script>
<script type="IN/HcmWidget"
data-widget-type="ATS"
data-ats-candidate-id="{your unique candidate id}"
data-integration-context="{customer's integration context URN}"
data-show-unlink-url="{true|false}"
data-confirm-unlink="{true|false}"
data-onlink="link"
data-onunlink="unlink"
data-width="{Width}">
</script>
<script>
function link(profile) {
console.log("Link callback", memberToken);
}
function unlink(profile) {
console.log("Unlink callback", memberToken);
}
</script>
- Records Per Minute Throttle - In addition to our daily call limits we have a per minute throttle applied to batch calls. See example below:
| Throttle Limits | Requests Per Day (UTC) | Records Per Minute |
|---|---|---|
| Application maximum | 100,000 | 2,000 |