POST Add/Update Webhook Settings

This API updates global AI interview webhook settings.

Request URL

POST /ai-interviews/settings/webhooks

Body Parameters

{
    "webhooks": {
        "start": {
            "status": true,
            "url": "https://example.com/webhook/start"
        },
        "submission": {
            "status": true,
            "url": "https://example.com/webhook/submission"
        },
        "auth": {
            "status": true,
            "type": "basic",
            "basic": {
                "username": "webhook-user",
                "password": "webhook-pass"
            }
        }
    },
    "updateAll": true
}

Auth Example - Basic

{
    "webhooks": {
        "start": {
            "status": true,
            "url": "https://example.com/webhook/start"
        },
        "submission": {
            "status": true,
            "url": "https://example.com/webhook/submission"
        },
        "auth": {
            "status": true,
            "type": "basic",
            "basic": {
                "username": "webhook-user",
                "password": "webhook-pass"
            }
        }
    },
    "updateAll": true
}

Auth Example - API Key

{
    "webhooks": {
        "submission": {
            "status": true,
            "url": "https://example.com/webhook/submission"
        },
        "auth": {
            "status": true,
            "type": "apikey",
            "apikey": {
                "header": "X-Webhook-Key",
                "apikey": "my-secret-key"
            }
        }
    },
    "updateAll": false
}

Warning

Make sure to add your API key in the Header of the request using the key apiKey.

Parameters

Parameter

Type

Description

updateAll

boolean

If true, updates all existing AI interviews with this webhook config.

start

object

Webhook configuration for when the candidate starts the interview.

submission

object

Webhook configuration for when the candidate submits the interview.

status

boolean

Whether the webhook is enabled.

url

string

The URL to receive event notifications.

auth

object

Authentication configuration for webhooks (optional).

auth.status

boolean

Must be true to enable and apply authentication.

auth.type

string

Authentication type: basic or apikey.

auth.basic

object

Basic authentication credentials (username and password).

auth.basic.username

string

Basic auth username. Must be a string, not an object.

auth.basic.password

string

Basic auth password.

auth.apikey

object

API key authentication (header name and API key value).

auth.apikey.header

string

Header name sent to your webhook endpoint.

auth.apikey.apikey

string

API key value sent in that header.

Note

  • The start webhook is triggered when the candidate starts the AI interview.

  • The submission webhook is triggered when the candidate submits the AI interview.

  • Either one or both webhooks can be included in the request body.

  • If auth is included in the webhooks object, authentication settings will be updated. If auth is not included, existing authentication settings will be preserved.

  • auth.status must be true for authentication to be applied when delivering webhooks.

  • auth.basic.username and auth.basic.password must be strings. Objects are rejected.

Response

{
    "webhooks": {
        "start": {
            "status": true,
            "url": "https://example.com/webhook/start"
        },
        "submission": {
            "status": true,
            "url": "https://example.com/webhook/submission"
        },
        "auth": {
            "status": true,
            "type": "basic",
            "basic": {
                "username": "webhook-user",
                "password": null,
                "hasPassword": true
            },
            "apikey": {
                "header": null,
                "apikey": null
            }
        }
    }
}