Recommendation Request API
Note
Usage of this API is restricted to approved partners, subject to limitations via API agreement.
All API requests are represented in protocol 2.0.0. Therefore, all API requests require the header X-Restli-Protocol-Version: 2.0.0
With the Recommendation Requests API, you can replicate the full LinkedIn experience around recommendation requests of LinkedIn members.
Create a recommendation by issuing a POST that specifies the requestee
and notification
. You can only send recommendation requests on behalf of the authenticated user.
POST https://api.linkedin.com/v2/recommendationRequest
Field Name | Format | Description |
---|---|---|
notification | Notification of this recommendation request. | |
notification.message | String | Message that requester sends to requestee. |
notification.subject | String | Subject of the message that requester sends to requestee. |
previousRecommendation | optional Urn | If this recommendation replaces an old recommendation, this field should be the urn of the old recommendation. |
requestee | Urn | The requestee represented in personUrn. |
requesteeEntity | optional Urn | The requestee's entity. For example: urn:li:position:(urn:li:person:, ) |
requesterEntity | optional Urn | The requester's entity. For example: urn:li:position:(urn:li:person:, ) |
relationship | optional String | Relationship between recommender and recommendee. Can be the following enum values:
|
{
"notification": {
"message": "Can you write me a recommendation? Thanks!",
"subject": "Recommendation request!!"
},
"requestee": "urn:li:person:444FFF"
}
X-RestLi-Id: urn:li:recommendationRequest:(urn:li:person:123ABC,123456)
Once a recommendation request has been created, you can retrieve that recommendation request.
GET https://api.linkedin.com/v2/recommendationRequest/urn:li:recommendationRequest:(urn:li:person:123ABC,123456)
Above is the API request represented in pretty print. With X-Restli-Protocol-Version: 2.0.0
, you will need to do the following:
GET https://api.linkedin.com/v2/recommendationRequest/urn%3Ali%3ArecommendationRequest%3A%28urn%3Ali%3Aperson%3A123ABC%2C123456%29
{
"created": 1490373303379,
"id": 267254,
"lastModified": 1490383550104,
"numRequests": 1,
"relationship": "RECOMMENDER_REPORTED_TO_RECOMMENDEE",
"requestee": "urn:li:person:444FFF",
"requesteeEntity": "urn:li:position:(urn:li:person:444FFF,40855915)",
"requester": "urn:li:person:123ABC",
"requesterEntity": "urn:li:position:(urn:li:person:123ABC,40170411)",
"status": "PENDING"
}
For more information, refer to the Recommendation Request schema.
Alternatively, you can lookup multiple recommendation requests by doing the following:
GET https://api.linkedin.com/v2/recommendationRequest?ids=List(urn:li:recommendationRequest:(urn:li:person:123ABC,123456),urn:li:recommendationRequest:(urn:li:person:123ABC,456789))
Above is the API request represented in pretty print. With X-Restli-Protocol-Version: 2.0.0
, you will need to do the following:
GET https://api.linkedin.com/v2/recommendationRequest?ids=List(urn%3Ali%3ArecommendationRequest%3A%28urn%3Ali%3Aperson%3A123ABC%2C123456%29,urn%3Ali%3ArecommendationRequest%3A%28urn%3Ali%3Aperson%3A123ABC%2C456789%29)
You can look up the recommendation requests the authenticated member has received by requesting the following API:
GET https://api.linkedin.com/v2/recommendationRequest?q=recipient&statusFilters=List(ACCEPTED,PENDING)
Field | Description | Required | Format |
---|---|---|---|
statusFilters | Status of the recommendation request. Can be the following enum values:
|
Yes | List of string |
{
"elements": [
{
"created": 1490383269808,
"id": 269405,
"lastModified": 1490383269809,
"numRequests": 1,
"requestee": "urn:li:person:123ABC",
"requester": "urn:li:person:999AAA",
"status": "PENDING"
},
{
"created": 1490373303379,
"id": 267254,
"lastModified": 1490383550104,
"numRequests": 1,
"relationship": "RECOMMENDER_REPORTED_TO_RECOMMENDEE",
"requestee": "urn:li:person:123ABC",
"requesteeEntity": "urn:li:position:(urn:li:person:123ABC,40855915)",
"requester": "urn:li:person:444FFF",
"requesterEntity": "urn:li:position:(urn:li:person:444FFF,40170411)",
"status": "PENDING"
}
],
"paging": {
"count": 10,
"links": [],
"start": 0,
"total": 2
}
}
You can look up the recommendation requests the authenticated member has requested with the following API:
GET https://api.linkedin.com/v2/recommendationRequest?q=requester&statusFilters=List(ACCEPTED,PENDING)
Field | Description | Required | Format |
---|---|---|---|
statusFilters | Status of the recommendation. Can be the following enum values:
|
Yes | List of string |
entityFilters | List of position or education Urns. Defaults to empty if not present. | No. | List of Urn |
{
"elements": [
{
"created": 1490383269808,
"id": 269405,
"lastModified": 1490383269809,
"numRequests": 1,
"requestee": "urn:li:person:999AAA",
"requester": "urn:li:person:123ABC",
"status": "PENDING"
},
{
"created": 1490373303379,
"id": 267254,
"lastModified": 1490383550104,
"numRequests": 1,
"relationship": "RECOMMENDER_REPORTED_TO_RECOMMENDEE",
"requestee": "urn:li:person:444FFF",
"requesteeEntity": "urn:li:position:(urn:li:person:444FFF,40855915)",
"requester": "urn:li:person:123ABC",
"requesterEntity": "urn:li:position:(urn:li:person:123ABC,40170411)",
"status": "PENDING"
}
],
"paging": {
"count": 10,
"links": [],
"start": 0,
"total": 2
}
}
You can update an recommendation request status
, requesteeEntity
, relationship
, notification
or previousRecommendation
of one you have given or received by doing the following:
POST https://api.linkedin.com/v2/recommendationRequest/urn:li:recommendationRequest:(urn:li:person:123ABC,123456)
You can construct the recommendationUrn by taking the requester personUrn
and th recommendationRequestID
.
Example: urn:li:recommendationRequest:({**requester personUrn**},{**recommendationRequestID**})
Above is the API request represented in pretty print. With X-Restli-Protocol-Version: 2.0.0
, you will need to do the following:
POST https://api.linkedin.com/v2/recommendationRequest/urn%3Ali%3ArecommendationRequest%3A%28urn%3Ali%3Aperson%3A123ABC%2C123456%29
{
"patch": {
"$set": {
"status": "DECLINED"
}
}
}