Compliance Management API
The Compliance API allows you to archive all communication from Sales Navigator from the past 28 days of a regulated, authenticated member. It returns each monitored communication as an individual event record to provide ease of archive and remediation if necessary. Compliance Management APIs allows developers to onboard or opt-in a member to LinkedIn Compliance platform to start monitoring and archiving the member's communications on Sales Navigator.
Note
Only Compliance APIs for Sales Navigator uses the Versioned LinkedIn APIs. Please append the header LinkedIn-Version: 202310
while making the API requests.
Usage
You must use an access token to make an authenticated call on behalf of a user.
Permissions
Permission | Description |
---|---|
r_compliance_sales_nav | Required to retrieve communications from Sales Navigator Inbox for compliance monitoring and archiving. |
To use the following APIs, you will need to know your application ID
. This can be found in your Developer Application Setting page. Select your application and go to the Mobile section to view your application ID
. Alternatively, you can find the ID from the URL as well (ie. https://www.linkedin.com/developer/apps/{applicationID}/auth)
.
Compliance Authorization
To begin monitoring a member's Sales Navigator Communications, you will need to opt in the member into our Compliance system by calling the following API:
Note
You will need to supply an empty JSON object, {}
to the request body to successfully opt the member into compliance.
Once the member has been opted in, all the compliance events captured can be queried via the Compliance Events API. The API will not contain any preceding communications and will only capture communications performed following the authorization toggle. You can check the member's authorization status by requesting the following member FINDER
API:
sample GET response
{
"elements": [
{
"memberComplianceAuthorizationKey": {
"developerApplication": "urn:li:developerApplication:123456",
"member": "urn:li:person:123ABC",
},
"regulatedAt": 1698382869085,
"memberComplianceScopes": [
"SALES_NAV"
],
}
]
}
If the response contains your own developerApplicationUrn
, then you are good to go!
memberComplianceAuthorization Response Schema
Field Name | Description | Data Type |
---|---|---|
regulatedAt | Epoch timestamp since which the user's compliance activities are being monitored and archived | long |
memberComplianceAuthorizationKey.developerApplication | developer application which is monitoring the user | URN String |
memberComplianceAuthorizationKey.member | user whose compliance events are being archived (This the user whose token is being used) | URN String |
memberComplianceScopes | Array of Compliance Products, the user has consented to. This would contain only be "SALES_NAV" for now | Array of ENUM |
Compliance De-Authorization
If you wish to have LinkedIn stop monitoring a regulated member's Sales Navigator communication i.e. opt out the member from our Compliance Platform, call the following and all subsequent communications will not be captured.
To allow developers to De-Authorize members for whom the access token might have expired, the following API can also be used with access tokens obtained via OAuth2.0 Client Credentials flow.
Here the values for the developerApplication
and member
request params should be same as in the response to the GET /memberComplianceAuthorizations?q=member&Application
documented above.
DELETE https://api.linkedin.com/rest/memberComplianceAuthorizations/developerApplication={developerApplicationURN}&member={personURN}
Note
A member will not opt out of Compliance authorization due to access token expiration. The only ways an opt out can happen are:
- Application invokes the DELETE API mentioned above
- The regulated member removes the application's authorization through LinkedIn's Privacy Setting page. This can be found under the Third Parties section.
Therefore, it is always a good idea to periodically check the member's authorization status using the GET API.