# Set the callback URL

Canonical documentation: https://veripoint.ai/api-docs/watch-callback-set

Configure the destination that receives company-change notifications.

## Request

PUT https://api.globaldatabase.com/v2/companies/watch/callback

This data API uses separately licensed credentials: Authorization: Token YOUR_DATA_API_KEY. It does not accept a Veripoint workspace key.

| Parameter | Location | Type | Required | Description |
|---|---|---|---|---|
| callback | body | URL | Yes | Your HTTPS webhook receiver. |

## Example

```curl
curl --fail-with-body --request PUT 'https://api.globaldatabase.com/v2/companies/watch/callback' \
  --header "Authorization: Token $DATA_API_KEY" \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json' \
  --data '{
  "callback": "https://your-app.example/webhooks/company-changes"
}'
```

## Illustrative response

```json
{
  "callback": "https://your-app.example/webhooks/company-changes",
  "secret": "YOUR_WEBHOOK_SECRET"
}
```

Illustrative callback configuration. The secret is generated on the first PUT and remains unchanged when the callback URL changes.

- This operation sets the callback without a company ID. Treat it as shared configuration; check the current URL before replacing it.
- Keep the returned secret on the receiver’s server. Verify X-GD-Signature as the hex HMAC-SHA256 of the exact raw request body using the secret string before processing an event. Return HTTP 200 promptly; the provider documents a few retries of unsuccessful deliveries, checked once per minute. Ordering, a stable event ID and exactly-once delivery are not specified.

Machine-readable reference: https://veripoint.ai/data-openapi.json
