Organization Access Control
A role defines the privileges that a member has within the organization. You must be an authenticated member with role type ADMINISTRATOR
for an organization to use many of the Organization APIs.
Organization Access Control
Search for access control information by member or organizational entity URNs.
host: api.linkedin.com
basePath: /v2
scheme: https
endpoint: /organizationAcls
methods: PUT, roleAssignee FINDER, organization FINDER
FINDER requests must include a header for Restli Protocol 2.0.0:
X-Restli-Protocol-Version: 2.0.0
Organization Roles
Role Type | Description |
---|---|
ADMINISTRATOR |
Access to administer an organizational entity. An administrator can post updates, edit the organization's page, add other admins, view analytics, and view notifications. |
DIRECT_SPONSORED_CONTENT_POSTER |
Access to read and create direct sponsored content (DSC) for an organizational entity. |
RECRUITING_POSTER |
Access to post to an organizational entity. |
LEAD_CAPTURE_ADMINISTRATOR |
Access to view and manage landing pages for the company, create new landing pages, and edit existing ones. |
LEAD_GEN_FORMS_MANAGER |
Access to retrieve leads that belong to a specific account which is associated with a company page. |
ANALYST |
Access to view an organization's private administrative data that relates to its social presence on LinkedIn, access limited to analytics tab to monitor the Page’s performance to help drive goals. Can edit the competitors of a page. |
CURATOR |
Access to broadcast content to employees of the organization, view Content Suggestions, create recommended content, and view and export Page analytics. Can edit the competitors of a page. |
CONTENT_ADMINISTRATOR |
Access to create and manage Page content, including updates, pinned posts, boosting updates, events, jobs etc. |
Role State
Role State | Description |
---|---|
APPROVED |
Role is approved. |
REJECTED |
Role was requested, but then rejected. |
REQUESTED |
Role is requested. |
REVOKED |
Role was previously approved, but then revoked. |
Find a Member's Organization Access Control Information
Tip
All requests must include a header for Restli Protocol 2.0.0 asX-Restli-Protocol-Version: 2.0.0
Sample Request
GET https://api.linkedin.com/v2/organizationAcls?q=roleAssignee
Header: X-Restli-Protocol-Version: 2.0.0
Parameters
Field | Description | Format | Required |
---|---|---|---|
role | Limit results to specific roles, such as ADMINISTRATOR or DIRECT_SPONSORED_CONTENT_POSTER | string | No |
state | Limit results to specific role states, such as APPROVED or REQUESTED. | string | No |
Sample Response
{
"elements": [
{
"role": "DIRECT_SPONSORED_CONTENT_POSTER",
"organization": "urn:li:organization:1234123",
"roleAssignee": "urn:li:person:abCdEf",
"state": "REQUESTED"
}
],
"paging": {
"count": 10,
"start": 0,
"links": []
}
}
Find Organization Administrators
Sample Request
GET https://api.linkedin.com/v2/organizationAcls?q=organization&organization={encoded organization URN}&role=ADMINISTRATOR&state=APPROVED
Header: X-Restli-Protocol-Version: 2.0.0
A successful response returns a 200 OK HTTP status code.
A failed response returns one of the following status codes:
Code | Description |
---|---|
401 | Malformed requests. Typically, the Access Control fields are invalid. |
403 | A viewer is not present, or the user is not authorized to modify the Access Control. |
404 | The Access Control does not exist. |
Sample Response
{
"elements": [
{
"role": "ADMINISTRATOR",
"organization": "urn:li:organization:2414183",
"roleAssignee": "urn:li:person:abCdEf",
"state": "APPROVED"
}
],
"paging": {
"count": 10,
"start": 0,
"links": []
}
}
Find Organization Access Control
Sample Request
GET https://api.linkedin.com/v2/organizationAcls?q=organization&organization={encoded organization URN}
Header: 'X-Restli-Protocol-Version` 'value': `2.0.0`
Sample Response
{
"paging": {
"count": 10,
"start": 0
},
"elements": [
{
"state": "APPROVED",
"role": "ADMINISTRATOR",
"roleAssignee": "urn:li:person:A839rocZ",
"organizationTarget": "urn:li:organization:2414183"
},
{
"state": "APPROVED",
"role": "ADMINISTRATOR",
"roleAssignee": "urn:li:person:pwo82E2v",
"organizationTarget": "urn:li:organization:2414183"
},
{
"state": "APPROVED",
"role": "ADMINISTRATOR",
"roleAssignee": "urn:li:person:vQpe2J8",
"organizationTarget": "urn:li:organization:2414183"
},
{
"state": "APPROVED",
"role": "ADMINISTRATOR",
"roleAssignee": "urn:li:person:J2foLx4",
"organizationTarget": "urn:li:organization:2414183"
}
]
}
Parameters
Field | Description | Format | Required |
---|---|---|---|
role | Limit results to specific roles, such as ADMINISTRATOR or DIRECT_SPONSORED_CONTENT_POSTER | string | No |
state | Limit results to specific role states, such as APPROVED or REQUESTED. | string | No |
Using Projections
Use projections to get more information, such as the member's first and last name or the organization name. See here for more information on how projections work.
Sample Request
GET https://api.linkedin.com/v2/organizationAcls?q=roleAssignee&role=ADMINISTRATOR&projection=(elements*(*,roleAssignee~(localizedFirstName, localizedLastName), organization~(localizedName)))
Header: X-Restli-Protocol-Version: 2.0.0
Sample Response
{
"elements": [
{
"organization~": {
"localizedName": "TestCompany"
},
"role": "ADMINISTRATOR",
"roleAssignee": "urn:li:person:pE3vIq7yK6",
"state": "APPROVED",
"roleAssignee~": {
"localizedLastName": "Smith",
"localizedFirstName": "John"
},
"organization": "urn:li:organization:18062654"
}
{
"organization~": {
"localizedName": "TestCompanyShowcase"
},
"role": "ADMINISTRATOR",
"roleAssignee": "urn:li:person:pE3vIq7yK6",
"state": "APPROVED",
"roleAssignee~": {
"localizedLastName": "Smith",
"localizedFirstName": "John"
},
"organization": "urn:li:organizationBrand:18085185"
},
{
"organization~": {
"localizedName": "DevTestCo \"Quote\""
},
"role": "ADMINISTRATOR",
"roleAssignee": "urn:li:person:pE3vIq7yK6",
"state": "APPROVED",
"roleAssignee~": {
"localizedLastName": "Smith",
"localizedFirstName": "John"
},
"organization": "urn:li:organization:2414183"
}
]
}