{
"type": "object",
"properties": {
"PCID": {
"type": "string",
"description": "Pink Connect ID for the authenticated connection"
},
"authentication": {
"type": "object",
"description": "Required Authentication object is going to be different based on each authType. <br />* NO_AUTH doesn't have any other fields in authentication object <br />* BASIC_AUTH needs 2 fields: username and password <br />* APIKEY requires the field: apiKey <br />* OAUTH2 requires 5 fields: tokenUrl, clientId, clientSecret, grantType, contentType <br />* OAUTH2_BASIC requires 5 fields: tokenUrl, clientId, clientSecret, grantType, contentType",
"properties": {
"authType": {
"type": "string",
"description": "The authorization method used to authorize callers to your webhook url."
},
"apiKey": {
"type": "string",
"description": "The API key required for API_KEY authorization."
},
"username": {
"type": "string",
"description": "The username required for BASIC_AUTH authorization."
},
"password": {
"type": "string",
"description": "The password required for BASIC_AUTH authorization."
},
"tokenUrl": {
"type": "string",
"description": "The URL used to obtain an access token for OAUTH2 or OAUTH2_BASIC authorization."
},
"clientId": {
"type": "string",
"description": "The client ID required by OAUTH2 and OAUTH2_BASIC authorization."
},
"clientSecret": {
"type": "string",
"description": "The client secret required by OAUTH2 and OAUTH2_BASIC authorization."
},
"grantType": {
"type": "string",
"description": "The grant type used to acquire an access token by OAUTH2 and OAUTH2_BASIC authorization."
},
"contentType": {
"type": "string",
"description": "The content type to use in the token request for OAUTH2 and OAUTH2_BASIC authorization."
}
},
"required": [
"authType"
]
},
"companyId": {
"type": "string",
"description": "ID associated with desired company that will receive the webhook notifications. NOTE: If no Company ID is provided in the POST, then all companies linked to the app will receive notifications."
},
"domains": {
"type": "array",
"items": {
"type": "string"
},
"description": "List of available domains to register to. Refer to webhook documentation https://developer.paychex.com/documentation#operation/domains."
},
"hookId": {
"type": "string",
"description": "The unique identifier associated with this webhook. Not required for Posting."
},
"links": {
"type": "array",
"items": {
"type": "object"
},
"description": "The links value"
},
"uri": {
"type": "string",
"description": "Enter a valid URL for the webhook to receive events."
}
},
"required": [
"PCID",
"authentication",
"domains",
"uri"
]
}