Webhooks

Event Webhooks

Describes a webhook invocation for an event from DevRev to a webhook's target URL, where the receiving handler must implement the specified protocol. Note the documented endpoint is for exposition and not provided by DevRev.

POST
/webhooks.event
AuthorizationBearer <token>

All the DevRev APIs require a token to authenticate the user. Provide Authorization: Bearer <TOKEN> as a header to every API request. How do I find my token?

In: header

type?string

The event types that the webhook will receive.

Value in"account_created" | "account_deleted" | "account_updated" | "ai_agent_response" | "article_created" | "article_deleted" | "article_updated" | "conversation_created" | "conversation_deleted" | "conversation_updated" | "dashboard_created" | "dashboard_deleted" | "dashboard_updated" | "dev_user_created" | "dev_user_deleted" | "dev_user_updated" | "group_created" | "group_deleted" | "group_member_added" | "group_member_removed" | "group_updated" | "incident_created" | "incident_deleted" | "incident_updated" | "job_created" | "job_deleted" | "job_updated" | "link_created" | "link_deleted" | "link_updated" | "part_created" | "part_deleted" | "part_updated" | "question_answer_created" | "question_answer_deleted" | "question_answer_updated" | "rev_org_created" | "rev_org_deleted" | "rev_org_updated" | "rev_user_created" | "rev_user_deleted" | "rev_user_updated" | "sla_tracker_created" | "sla_tracker_deleted" | "sla_tracker_fetched" | "sla_tracker_updated" | "survey_created" | "survey_deleted" | "survey_response_created" | "survey_response_deleted" | "survey_response_updated" | "survey_updated" | "sync_history_created" | "sync_history_deleted" | "sync_history_updated" | "sync_unit_updated" | "tag_created" | "tag_deleted" | "tag_updated" | "timeline_entry_created" | "timeline_entry_deleted" | "timeline_entry_updated" | "verify" | "webhook_created" | "webhook_deleted" | "webhook_updated" | "widget_created" | "widget_deleted" | "widget_updated" | "work_created" | "work_deleted" | "work_fetched" | "work_updated"
account_created?
account_deleted?
account_updated?
ai_agent_response?
article_created?
article_deleted?
article_updated?
conversation_created?
conversation_deleted?
conversation_updated?
dashboard_created?
dashboard_deleted?
dashboard_updated?
dev_user_created?
dev_user_deleted?
dev_user_updated?
group_created?
group_deleted?
group_member_added?
group_member_removed?
group_updated?
idstring

The event's ID.

Formatid
incident_created?
incident_deleted?
incident_updated?
link_created?
link_deleted?
link_updated?
part_created?
part_deleted?
part_updated?
question_answer_created?
question_answer_deleted?
question_answer_updated?
rev_org_created?
rev_org_deleted?
rev_org_updated?
rev_user_created?
rev_user_deleted?
rev_user_updated?
sla_tracker_created?
sla_tracker_deleted?
sla_tracker_fetched?|
sla_tracker_updated?
survey_created?
survey_deleted?
survey_response_created?
survey_response_deleted?
survey_response_updated?
survey_updated?
sync_history_created?
sync_history_deleted?
sync_history_updated?
tag_created?
tag_deleted?
tag_updated?
timeline_entry_created?
timeline_entry_deleted?
timeline_entry_updated?
timestamp?string

Timestamp of the webhook's invocation for the event. Note this should be used to protect against replay attacks, where the event should only be processed if the timestamp isn't stale by several seconds.

Formatdate-time
verify?
webhook_created?
webhook_deleted?
webhook_idstring

ID of the webhook for the event.

Formatid
webhook_updated?
widget_created?
widget_deleted?
widget_updated?
work_created?
work_deleted?
work_fetched?|
work_updated?

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://api.devrev.ai/webhooks.event" \  -H "Content-Type: application/json" \  -d '{    "id": "string",    "webhook_id": "don:integration:dvrv-us-1:devo/example:webhook/webhook-id"  }'
{
  "challenge": "string"
}
{
  "detail": "string",
  "message": "string",
  "type": "artifact_already_attached_to_a_parent",
  "existing_parent": "string",
  "is_same": true
}
{
  "detail": "string",
  "message": "string",
  "type": "unauthenticated"
}
{
  "detail": "string",
  "message": "string",
  "type": "forbidden"
}
{
  "detail": "string",
  "message": "string",
  "type": "too_many_requests",
  "retry_after": 0
}
{
  "detail": "string",
  "message": "string",
  "type": "internal_error",
  "reference_id": "string"
}
{
  "detail": "string",
  "message": "string",
  "type": "service_unavailable"
}