Sync Integrations and Integration Configurations

The Middleware Platform powers a number of integrations with LinkedIn products. Once a customer enables an integration with your ATS via the ATS Integration Configuration Plugin , certain integration types require you to send various integration configuration data for the customer.

Each configuration has a unique key and a specific value data type as described below.

Integration Types

Type Description Product Integration Context
APPLY_CONNECT Used for the Apply Connect integration. LinkedIn Recruiter organization URN
APPLY_WITH_LINKEDIN Used for the Apply with LinkedIn integration. LinkedIn Recruiter organization URN
CSA_API Used to access recruiter data as part of Recruiter System Connect LinkedIn Recruiter. contract URN
IN_ATS_INDICATOR Used for the In-ATS Indicator feature within Recruiter System Connect. LinkedIn Recruiter organization URN
ONE_CLICK_EXPORT Used for the One-Click Export feature within Recruiter System Connect. LinkedIn Recruiter organization URN
PROFILE_PLUGIN Used for the Profile Plugin portion of Recruiter System Connect. LinkedIn Recruiter organization URN
RECOMMENDED_MATCHES Used for the Recommended Matches feature within Recruiter System Connect. LinkedIn Recruiter organization URN
UNIFIED_SEARCH Used for the Unified Search feature within Recruiter System Connect. LinkedIn Recruiter organization URN

Integration Configuration Keys

Configuration Key Description Integration Types Required Program
CALLBACK_URL Customer's HTTPS endpoint which will listen for candidate export events. The URL should be unique per customer. Value Format: string ONE_CLICK_EXPORT Yes Recruiter System Connect
JOB_POSTING_VIEWERS Governs who may view job postings within the One-Click Export drop-down. Only valid value is "ALL_PRODUCT_USERS". Value Format: string ONE_CLICK_EXPORT Yes, if a customer will not be using ACLs or the ATS does not support Sync ACLs. Recruiter System Connect
APPLICATION_VIEWERS Governs who may view job-related data (Interview Feedback, Notes, Applications, and Stages) within the In-ATS indicator. Only valid value is "ALL_PRODUCT_USERS". Value Format: string IN_ATS_INDICATOR Yes, if a customer will not be using ACLs or the ATS does not support Sync ACLs. Recruiter System Connect

Sync Integration Configurations

Upsert Integration Configurations

Once a customer creates an integration requiring configuration, you must create the configuration using the following API before they can enable the integration.

PUT https://api.linkedin.com/v2/atsIntegrations/integrationContext={integrationContext}&integrationType={integrationType}&tenantType={tenantType}&dataProvider=ATS/configurations?ids={configuration key}

Values for the atsIntegration key are obtained via the ATS Integration Configuration Plugin when a customer enables integrations.

Request Body Fields

Field Description Format Required
configurationValue The value of the specific configuration Depends on the configuration key Yes

Sample Integration Configurations Upsert Request

URL:

PUT https://api.linkedin.com/v2/atsIntegrations/integrationContext=urn:li:organization:4gX03uw&integrationType=ONE_CLICK_EXPORT&tenantType=RECRUITER&dataProvider=ATS/configurations?ids=CALLBACK_URL&ids=JOB_POSTING_VIEWERS

Headers:

Authorization: Bearer {token}
x-restli-method: batch_update

Request Body:

{
  "entities": {
    "CALLBACK_URL": {
      "configurationValue": {
        "string": "https://customer.callback.com/goes/here"
      }
    },
    "JOB_POSTING_VIEWERS": {
      "configurationValue": {
        "string": "ALL_PRODUCT_USERS"
      }
    }
  }
}

Sample Integration Configurations Upsert Response

Returns 200 OK, and you will find the status of each entity in the response body.

{
    "results": {
        "JOB_POSTING_VIEWERS": {
            "status": 204
        },
        "CALLBACK_URL": {
            "status": 204
        }
    },
    "errors": {}
}

Delete Integration Configurations

DELETE https://api.linkedin.com/v2/atsIntegrations/integrationContext={integrationContext}&integrationType={integrationType}&tenantType={tenantType}&dataProvider=ATS/configurations?ids={configuration key}

Note

You can only delete the following configurations: JOB_POSTING_VIEWERS or APPLICATION_VIEWERS

Sample Integrations Configurations Delete Response

Returns 200 OK response code, and you will find the status of each entity in the response body.

Sample Integrations Configurations Delete Response Body

{
    "errors": {},
    "results": {
        "CALLBACK_URL": {
            "status": 204
        }
    }
}

Note

Be sure to check the response for error statuses corresponding to individual entities you submit.

Verify Integration Configurations

After creating or updating integration configurations, use the following API to retrieve what was submitted.

GET https://api.linkedin.com/v2/atsIntegrations/integrationContext={integrationContext}&integrationType={integrationType}&tenantType={tenantType}&dataProvider=ATS/configurations?ids={config key}

Sample Integration Configurations Get Response

A successful request will return configuration values in the response body and a 200 OK response code.

Sample Integration Configurations Get Response Body

{
    "errors": {},
    "results": {
        "CALLBACK_URL": {
            "configurationValue": {
                "string": "https://customer.callback.com/goes/here"
            }
        }
    }
}