Generated by API Evangelist
Written by API Evangelist tooling for LinkedIn's API. It is a proposal applied on top of the contract, not a document LinkedIn publishes.
# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand.
overlay: 1.0.0
info:
title: API Evangelist conversational phrasing for LinkedIn Recruiter System Connect Access Control API
version: 1.0.0
extends: openapi/linkedin-access-control-api-openapi.yml
actions:
- target: $.info
update:
x-apievangelist-phrasing:
method: generated
generated: '2026-09-26'
generator: build-phrasing.py
label: Generated by API Evangelist
operations: 3
- target: $.paths['/v2/atsEntityAcls'].get
update:
x-apievangelist-phrasing:
intent: Retrieve synced ATS entity access controls
effect: read
questions:
- Who can see a synced ATS job or candidate inside LinkedIn Recruiter?
- Can I read back the access control list I synced for an ATS entity?
instructions:
- text: Retrieve ACLs for {atsEntityType} {atsEntityId} from provider {dataProvider} in context {integrationContext}.
slots:
atsEntityType: query.atsEntityType
atsEntityId: query.atsEntityId
dataProvider: query.dataProvider
integrationContext: query.integrationContext
- text: Page ACLs for entity {atsEntityId}, {count} at a time from {start}.
slots:
atsEntityId: query.atsEntityId
count: query.count
start: query.start
method: generated
generated: '2026-09-26'
- target: $.paths['/v2/atsEntityAcls'].put
update:
x-apievangelist-phrasing:
intent: Create or update ATS entity access controls
effect: write
questions:
- Can I control which recruiters see a synced requisition?
- What happens when I sync an ACL that already exists?
instructions:
- text: Upsert ACL {aclId} for {atsEntityType} {atsEntityId} from {dataProvider} in {integrationContext}.
slots:
aclId: query.ids[0].atsEntityAclId
atsEntityType: query.ids[0].atsEntityType
atsEntityId: query.ids[0].atsEntityId
dataProvider: query.ids[0].dataProvider
integrationContext: query.ids[0].integrationContext
- text: Sync access control entries {entities} to LinkedIn.
slots:
entities: requestBody.entities
method: generated
generated: '2026-09-26'
- target: $.paths['/v2/atsEntityAcls'].delete
update:
x-apievangelist-phrasing:
intent: Delete synced ATS entity access controls
effect: destructive
questions:
- Can I remove an access control entry I previously synced?
- What should I delete when an ATS visibility rule no longer applies?
instructions:
- text: Delete ACL {aclId} on {atsEntityType} {atsEntityId} from {dataProvider} in {integrationContext}.
slots:
aclId: query.ids[0].atsEntityAclId
atsEntityType: query.ids[0].atsEntityType
atsEntityId: query.ids[0].atsEntityId
dataProvider: query.ids[0].dataProvider
integrationContext: query.ids[0].integrationContext
- text: Remove the synced ACL {aclId}.
slots:
aclId: query.ids[0].atsEntityAclId
method: generated
generated: '2026-09-26'
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.