Share via


Developer Webhooks

To better support partners who provision applications and register webhooks on behalf of their customers, we've introduced a new email notification and API for partners to verify and resolve webhook url issues.

Permissions

Partners with Apply Connect and Job Posting integrations have the following permissions to manage webhook statuses for provisioned applications:

  • Access for parent applications to retrieve all webhooks and statuses for child apps.
  • Access for parent applications to revalidate webhooks in batches.
  • Receive job status updates via webhooks.
  • Receive job resync requests via webhooks.

Requirements

If you are notified of child application webhook urls being blocked:

  • Use the DeveloperWebhooks API Finder to validate what webhook urls are in a blocked state.
  • Resolve any application issues to allow push events to be delivered and validated successfully.
  • Revalidate any blocked webhook urls using the DeveloperWebhooks API.

DeveloperWebhooks Finder

If you received an email notification that child application webhooks have been blocked, use the DeveloperWebhooks Finder to query for all urls and associated applications with a status of BLOCKED.

DeveloperWebhooks Finder Request Body Fields

Field Description Type Required
q Type of query, must use parentApplication. String Yes
queryCriteria Timestamp for when the action was taken. Milliseconds since epoch. DeveloperWebhookQueryCriteria Optional

DeveloperWebhookQueryCriteria Schema

Field Description Type Required
webhookStatus Search webhook by its status: active or blocked. String Optional

Sample Headers

Authorization: Bearer {access_token}
X-RestLi-Protocol-Version: 2.0.0

Sample Request

GET https://api.linkedin.com/v2/developerWebhooks?q=parentApplication&queryCriteria=(webhookStatus:BLOCKED)

Sample Response

{
    "paging": {
        "start": 0,
        "count": 10,
        "links": []
    },
    "elements": [
        {
            "developerApplication": "urn:li:developerApplication:12345678",
            "url": "{webhook_url}",
            "status": "BLOCKED"
        }
    ]
}

Revalidate Blocked Webhooks

Once you've identified the developerApplication and url with a status of BLOCKED, process all urls using the revalidateWebhook ACTION. This will trigger the webhook validation process and send a challengeRequest to the registered webhook url.

DeveloperWebhooks RevalidateWebhook Headers

Key Value Required
Authorization Bearer {access_token} Yes
X-RestLi-Protocol-Version 2.0.0 Yes
X-RestLi-Method action Yes

DeveloperWebhooks RevalidateWebhook Query Parameters

Key Value Required
action revalidateWebhook Yes

DeveloperWebhooks RevalidateWebhook Request Body Fields

Field Description Type Required
application DeveloperApplicationUrn associated to the blocked webhook url. String Yes
webhook Webhook url registered to the DeveloperApplicationUrn which is blocked. String Yes

Sample Headers

Authorization: Bearer {access_token}
X-RestLi-Protocol-Version: 2.0.0
X-RestLi-Method:action

Sample Request

POST https://api.linkedin.com/v2/developerWebhooks?action=revalidateWebhook

Sample Request Body

{
    "application":"urn:li:developerApplication:12345678",
    "webhook":"{webhook_url}"
}

Sample Response

{
    "paging": {
        "start": 0,
        "count": 10,
        "links": []
    },
    "elements": [
        {
            "developerApplication": "urn:li:developerApplication:12345678",
            "url": "{webhook_url}",
            "status": "BLOCKED"
        }
    ]
}