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.
Application interview feedback should be sent via the Middleware Platform whenever they are created or updated in your ATS. As LinkedIn partners, use both your application identifier and interview feedback identifier when syncing application interview feedback via API.
Note
The latest API version is 202603. Use this version in the LinkedIn-Version header for all API requests to access the most recent features and improvements.
Throttle Limits
| Endpoint | Requests Per Day (UTC) | Records Per Minute |
|---|---|---|
rest/applicationInterviewFeedbacks |
1,000,000 | N/A |
Note
Please submit batch calls grouped with no more than 100 records in sequential order.
Sync Application Interview Feedback
Use the following endpoint to create and update application interview feedback:
PUT https://api.linkedin.com/v2/atsApplications/atsJobApplicationId={id1}&dataProvider=ATS&integrationContext={organization URN}/interviewFeedback?ids=INTFB123&ids=INTFB456
Request Body Fields
| Field | Description | Format | Required |
|---|---|---|---|
| atsCreatedAt | Date record was created in your ATS | UTC Epoch Milliseconds | No |
| interviewer | The person who interviewed the candidate and wrote this evaluation. | Actor | No |
| evaluations | A list of final evaluations for this interview. Example of evaluations would be a final recommendation or an interview score. | InterviewEvaluation[] | No |
| feedback | General feedback about the interview. | string | No |
| interviewType | Indicates which type of the interview the feedback was for. | Possible values are: PHONE_SCREEN or ONSITE | No |
Actor Schema
| Field | Description | Format | Required |
|---|---|---|---|
| firstName | The first name of the actor. | String | Required |
| lastName | The last name of the actor | String | Required |
InterviewEvaluation Schema
| Field | Description | Format | Required |
|---|---|---|---|
| attribute | The descriptive name about the qualification the candidate was evaluated for, for example "Verbal Communication", "Technical Qualifications". | String | Required |
| result | The result of the evaluation, could be a final recommendation or an interview score. | String | Optional |
Sample Request
Headers:
Authorization: Bearer {token}
x-restli-method: batch_update
Request Body:
{
"entities": {
"INTFB123": {
"atsCreatedAt": 1484864187000,
"evaluations": [
{
"attribute": "Verbal Communication",
"result": "4/5"
}
],
"feedback": "Lorem Ipsum.",
"interviewer": {
"firstName": "John",
"lastName": "Doe"
},
"interviewType": "PHONE_SCREEN"
},
"INTFB456": {
"atsCreatedAt": 1484864187000,
"evaluations": [
{
"attribute": "Culture Fit",
"result": "Good fit"
}
],
"feedback": "Lorem Ipsum moreum.",
"interviewer": {
"firstName": "Jane",
"lastName": "Doe"
},
"interviewType": "ONSITE"
}
}
}
Sample Response
A successful request will return a 200 OK response code, and you will find the status of each entity in the response body.
Sample Response Body
{
"errors": {},
"results": {
"INTFB123": {
"status": 204
},
"INTFB456": {
"status": 204
}
}
}
Note
- Be sure to check the response for error statuses corresponding to individual entities you submit.
API Endpoint
PUT https://api.linkedin.com/rest/applicationInterviewFeedbacks?ids[0].jobApplicationId={application_id}&ids[0].integrationContext=urn:li:organization:{org_id}&ids[0].interviewFeedbackId={interview_feedback_id}
Request Body Fields
| Field | Description | Format | Required |
|---|---|---|---|
| interviewer | The person who interviewed the candidate and wrote the evaluation. | Actor | No |
| interviewType | The type of interview conducted. | Possible values are: PHONE_SCREEN or ONSITE | No |
| feedback | The general feedback about the interview. | String | Yes |
| evaluations | A list of final evaluations for this interview. | Array | Yes |
| externalLastModifiedAt | The timestamp when the feedback was last modified in your system. | UTC Epoch Milliseconds | Yes |
| externalCreatedAt | The timestamp when the feedback was created in your system. | UTC Epoch Milliseconds | Yes |
Sample Request (without query tunneling)
curl --location --globoff --request PUT 'https://api.linkedin.com/rest/applicationInterviewFeedbacks?ids[0].jobApplicationId=jdoe_sw_engr_1001&ids[0].integrationContext=urn:li:organization:70540833&ids[0].interviewFeedbackId=APPL_INTERVIEW_0001' \
--header 'Content-Type: application/json' \
--header 'LinkedIn-Version: 202508.02' \
--header 'Authorization: Bearer {token}' \
--data '{
"entities": {
"jobApplicationId=jdoe_sw_engr_1001&integrationContext=urn:li:organization:70540833&interviewFeedbackId=APPL_INTERVIEW_0001": {
"externalLastModifiedAt": 1757028941000,
"externalCreatedAt":1757028941000,
"evaluations": [
{
"attribute": "Verbal Communication",
"result": "4/5"
}
],
"feedback": "Great interview!",
"interviewer": {
"firstName": "John",
"lastName": "Doe"
}
}
}
}'
Sample Request (with query tunneling)
curl --location --request POST 'https://api.linkedin.com/rest/applicationInterviewFeedbacks' \
--header 'Content-Type: multipart/mixed; boundary=xyz' \
--header 'x-restli-method: batch_update' \
--header 'LinkedIn-Version: 202508.02' \
--header 'X-HTTP-Method-Override: PUT' \
--header 'Authorization: Bearer {token}' \
--data '--xyz
Content-Type: application/x-www-form-urlencoded
ids[0].jobApplicationId={{application_id}}&ids[0].integrationContext=urn:li:organization:{{org_id}}&ids[0].interviewFeedbackId={{interview_feedback_id}}
--xyz
Content-Type: application/json
{
"entities": {
"jobApplicationId={{application_id}}&integrationContext=urn:li:organization:{{org_id}}&interviewFeedbackId={{interview_feedback_id}}": {
"externalLastModifiedAt": 1758236052000,
"externalCreatedAt":1758236052000,
"evaluations": [
{
"attribute": "Verbal Communication",
"result": "4/5"
}
],
"feedback": "Great interview!",
"interviewer": {
"firstName": "John",
"lastName": "Doe"
}
}
}
}
--xyz--'
Sample Request (without query tunneling)
curl --location --globoff --request PUT 'https://api.linkedin.com/rest/applicationInterviewFeedbacks?ids[0].jobApplicationId=jdoe_sw_engr_1001&ids[0].integrationContext=urn:li:organization:70540833&ids[0].interviewFeedbackId=APPL_INTERVIEW_0001' \
--header 'Content-Type: application/json' \
--header 'LinkedIn-Version: 202510' \
--header 'Authorization: Bearer {token}' \
--data '{
"entities": {
"jobApplicationId=jdoe_sw_engr_1001&integrationContext=urn:li:organization:70540833&interviewFeedbackId=APPL_INTERVIEW_0001": {
"externalLastModifiedAt": 1757028941000,
"externalCreatedAt":1757028941000,
"evaluations": [
{
"attribute": "Verbal Communication",
"result": "4/5"
}
],
"feedback": "Great interview!",
"interviewer": {
"firstName": "John",
"lastName": "Doe"
}
}
}
}'
Sample Request (with query tunneling)
curl --location --request POST 'https://api.linkedin.com/rest/applicationInterviewFeedbacks' \
--header 'Content-Type: multipart/mixed; boundary=xyz' \
--header 'x-restli-method: batch_update' \
--header 'LinkedIn-Version: 202510' \
--header 'X-HTTP-Method-Override: PUT' \
--header 'Authorization: Bearer {token}' \
--data '--xyz
Content-Type: application/x-www-form-urlencoded
ids[0].jobApplicationId={{application_id}}&ids[0].integrationContext=urn:li:organization:{{org_id}}&ids[0].interviewFeedbackId={{interview_feedback_id}}
--xyz
Content-Type: application/json
{
"entities": {
"jobApplicationId={{application_id}}&integrationContext=urn:li:organization:{{org_id}}&interviewFeedbackId={{interview_feedback_id}}": {
"externalLastModifiedAt": 1758236052000,
"externalCreatedAt":1758236052000,
"evaluations": [
{
"attribute": "Verbal Communication",
"result": "4/5"
}
],
"feedback": "Great interview!",
"interviewer": {
"firstName": "John",
"lastName": "Doe"
}
}
}
}
--xyz--'
Sample Request (without query tunneling)
curl --location --globoff --request PUT 'https://api.linkedin.com/rest/applicationInterviewFeedbacks?ids[0].jobApplicationId=jdoe_sw_engr_1001&ids[0].integrationContext=urn:li:organization:70540833&ids[0].interviewFeedbackId=APPL_INTERVIEW_0001' \
--header 'Content-Type: application/json' \
--header 'LinkedIn-Version: 202511' \
--header 'Authorization: Bearer {token}' \
--data '{
"entities": {
"jobApplicationId=jdoe_sw_engr_1001&integrationContext=urn:li:organization:70540833&interviewFeedbackId=APPL_INTERVIEW_0001": {
"externalLastModifiedAt": 1757028941000,
"externalCreatedAt":1757028941000,
"evaluations": [
{
"attribute": "Verbal Communication",
"result": "4/5"
}
],
"feedback": "Great interview!",
"interviewer": {
"firstName": "John",
"lastName": "Doe"
}
}
}
}'
Sample Request (with query tunneling)
curl --location --request POST 'https://api.linkedin.com/rest/applicationInterviewFeedbacks' \
--header 'Content-Type: multipart/mixed; boundary=xyz' \
--header 'x-restli-method: batch_update' \
--header 'LinkedIn-Version: 202511' \
--header 'X-HTTP-Method-Override: PUT' \
--header 'Authorization: Bearer {token}' \
--data '--xyz
Content-Type: application/x-www-form-urlencoded
ids[0].jobApplicationId={{application_id}}&ids[0].integrationContext=urn:li:organization:{{org_id}}&ids[0].interviewFeedbackId={{interview_feedback_id}}
--xyz
Content-Type: application/json
{
"entities": {
"jobApplicationId={{application_id}}&integrationContext=urn:li:organization:{{org_id}}&interviewFeedbackId={{interview_feedback_id}}": {
"externalLastModifiedAt": 1758236052000,
"externalCreatedAt":1758236052000,
"evaluations": [
{
"attribute": "Verbal Communication",
"result": "4/5"
}
],
"feedback": "Great interview!",
"interviewer": {
"firstName": "John",
"lastName": "Doe"
}
}
}
}
--xyz--'
Sample Request (without query tunneling)
curl --location --globoff --request PUT 'https://api.linkedin.com/rest/applicationInterviewFeedbacks?ids[0].jobApplicationId=jdoe_sw_engr_1001&ids[0].integrationContext=urn:li:organization:70540833&ids[0].interviewFeedbackId=APPL_INTERVIEW_0001' \
--header 'Content-Type: application/json' \
--header 'LinkedIn-Version: 202512' \
--header 'Authorization: Bearer {token}' \
--data '{
"entities": {
"jobApplicationId=jdoe_sw_engr_1001&integrationContext=urn:li:organization:70540833&interviewFeedbackId=APPL_INTERVIEW_0001": {
"externalLastModifiedAt": 1757028941000,
"externalCreatedAt":1757028941000,
"evaluations": [
{
"attribute": "Verbal Communication",
"result": "4/5"
}
],
"feedback": "Great interview!",
"interviewer": {
"firstName": "John",
"lastName": "Doe"
}
}
}
}'
Sample Request (with query tunneling)
curl --location --request POST 'https://api.linkedin.com/rest/applicationInterviewFeedbacks' \
--header 'Content-Type: multipart/mixed; boundary=xyz' \
--header 'x-restli-method: batch_update' \
--header 'LinkedIn-Version: 202512' \
--header 'X-HTTP-Method-Override: PUT' \
--header 'Authorization: Bearer {token}' \
--data '--xyz
Content-Type: application/x-www-form-urlencoded
ids[0].jobApplicationId={{application_id}}&ids[0].integrationContext=urn:li:organization:{{org_id}}&ids[0].interviewFeedbackId={{interview_feedback_id}}
--xyz
Content-Type: application/json
{
"entities": {
"jobApplicationId={{application_id}}&integrationContext=urn:li:organization:{{org_id}}&interviewFeedbackId={{interview_feedback_id}}": {
"externalLastModifiedAt": 1758236052000,
"externalCreatedAt":1758236052000,
"evaluations": [
{
"attribute": "Verbal Communication",
"result": "4/5"
}
],
"feedback": "Great interview!",
"interviewer": {
"firstName": "John",
"lastName": "Doe"
}
}
}
}
--xyz--'
Sample Request (without query tunneling)
curl --location --globoff --request PUT 'https://api.linkedin.com/rest/applicationInterviewFeedbacks?ids[0].jobApplicationId=jdoe_sw_engr_1001&ids[0].integrationContext=urn:li:organization:70540833&ids[0].interviewFeedbackId=APPL_INTERVIEW_0001' \
--header 'Content-Type: application/json' \
--header 'LinkedIn-Version: 202602' \
--header 'Authorization: Bearer {token}' \
--data '{
"entities": {
"jobApplicationId=jdoe_sw_engr_1001&integrationContext=urn:li:organization:70540833&interviewFeedbackId=APPL_INTERVIEW_0001": {
"externalLastModifiedAt": 1757028941000,
"externalCreatedAt":1757028941000,
"evaluations": [
{
"attribute": "Verbal Communication",
"result": "4/5"
}
],
"feedback": "Great interview!",
"interviewer": {
"firstName": "John",
"lastName": "Doe"
}
}
}
}'
Sample Request (with query tunneling)
curl --location --request POST 'https://api.linkedin.com/rest/applicationInterviewFeedbacks' \
--header 'Content-Type: multipart/mixed; boundary=xyz' \
--header 'x-restli-method: batch_update' \
--header 'LinkedIn-Version: 202602' \
--header 'X-HTTP-Method-Override: PUT' \
--header 'Authorization: Bearer {token}' \
--data '--xyz
Content-Type: application/x-www-form-urlencoded
ids[0].jobApplicationId={{application_id}}&ids[0].integrationContext=urn:li:organization:{{org_id}}&ids[0].interviewFeedbackId={{interview_feedback_id}}
--xyz
Content-Type: application/json
{
"entities": {
"jobApplicationId={{application_id}}&integrationContext=urn:li:organization:{{org_id}}&interviewFeedbackId={{interview_feedback_id}}": {
"externalLastModifiedAt": 1758236052000,
"externalCreatedAt":1758236052000,
"evaluations": [
{
"attribute": "Verbal Communication",
"result": "4/5"
}
],
"feedback": "Great interview!",
"interviewer": {
"firstName": "John",
"lastName": "Doe"
}
}
}
}
--xyz--'
Sample Request (without query tunneling)
curl --location --globoff --request PUT 'https://api.linkedin.com/rest/applicationInterviewFeedbacks?ids[0].jobApplicationId=jdoe_sw_engr_1001&ids[0].integrationContext=urn:li:organization:70540833&ids[0].interviewFeedbackId=APPL_INTERVIEW_0001' \
--header 'Content-Type: application/json' \
--header 'LinkedIn-Version: 202603' \
--header 'Authorization: Bearer {token}' \
--data '{
"entities": {
"jobApplicationId=jdoe_sw_engr_1001&integrationContext=urn:li:organization:70540833&interviewFeedbackId=APPL_INTERVIEW_0001": {
"externalLastModifiedAt": 1757028941000,
"externalCreatedAt":1757028941000,
"evaluations": [
{
"attribute": "Verbal Communication",
"result": "4/5"
}
],
"feedback": "Great interview!",
"interviewer": {
"firstName": "John",
"lastName": "Doe"
}
}
}
}'
Sample Request (with query tunneling)
curl --location --request POST 'https://api.linkedin.com/rest/applicationInterviewFeedbacks' \
--header 'Content-Type: multipart/mixed; boundary=xyz' \
--header 'x-restli-method: batch_update' \
--header 'LinkedIn-Version: 202603' \
--header 'X-HTTP-Method-Override: PUT' \
--header 'Authorization: Bearer {token}' \
--data '--xyz
Content-Type: application/x-www-form-urlencoded
ids[0].jobApplicationId={{application_id}}&ids[0].integrationContext=urn:li:organization:{{org_id}}&ids[0].interviewFeedbackId={{interview_feedback_id}}
--xyz
Content-Type: application/json
{
"entities": {
"jobApplicationId={{application_id}}&integrationContext=urn:li:organization:{{org_id}}&interviewFeedbackId={{interview_feedback_id}}": {
"externalLastModifiedAt": 1758236052000,
"externalCreatedAt":1758236052000,
"evaluations": [
{
"attribute": "Verbal Communication",
"result": "4/5"
}
],
"feedback": "Great interview!",
"interviewer": {
"firstName": "John",
"lastName": "Doe"
}
}
}
}
--xyz--'
Sample Response
{
"results": {
"integrationContext=urn%3Ali%3Aorganization%3A70540833&interviewFeedbackId=APPL_INTERVIEW_0001&jobApplicationId=jdoe_sw_engr_1001": {
"status": 204
}
},
"errors": {}
}