(window.webpackJsonp=window.webpackJsonp||[]).push([[43],{361:function(t,e,s){"use strict";s.r(e);var a=s(28),r=Object(a.a)({},(function(){var t=this,e=t._self._c;return e("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[e("h1",{attrs:{id:"webhooks-management"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#webhooks-management"}},[t._v("#")]),t._v(" Webhooks Management")]),t._v(" "),e("div",{staticClass:"custom-block tip"},[e("p",{staticClass:"custom-block-title"},[t._v("TIP")]),t._v(" "),e("p",[t._v("This page covers the API for "),e("strong",[t._v("managing")]),t._v(" your webhooks programmatically.\nFor documentation on the webhook "),e("strong",[t._v("events")]),t._v(" that Wolfeo sends to your endpoints, see the "),e("RouterLink",{attrs:{to:"/webhooks/"}},[t._v("Webhooks")]),t._v(" section.")],1)]),t._v(" "),e("div",{staticClass:"custom-block warning"},[e("p",{staticClass:"custom-block-title"},[t._v("NOTE")]),t._v(" "),e("p",[t._v("The URI for the API endpoint is often the same for multiple endpoints, the difference being in HTTP methods.")])]),t._v(" "),e("h2",{attrs:{id:"list-webhooks"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#list-webhooks"}},[t._v("#")]),t._v(" List Webhooks")]),t._v(" "),e("div",{staticClass:"language- extra-class"},[e("pre",{pre:!0,attrs:{class:"language-text"}},[e("code",[t._v("GET https://api.wolfeo.me/v1/webhooks\n")])])]),e("p",[t._v("Returns all webhooks registered on your account.")]),t._v(" "),e("h3",{attrs:{id:"example-request"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#example-request"}},[t._v("#")]),t._v(" Example Request")]),t._v(" "),e("div",{staticClass:"language-curl extra-class"},[e("pre",{pre:!0,attrs:{class:"language-text"}},[e("code",[t._v('curl --request GET "https://api.wolfeo.me/v1/webhooks" \\\n --header "Authorization: Bearer YOUR_API_KEY"\n')])])]),e("h3",{attrs:{id:"sample-return"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#sample-return"}},[t._v("#")]),t._v(" Sample Return")]),t._v(" "),e("div",{staticClass:"language-json extra-class"},[e("pre",{pre:!0,attrs:{class:"language-json"}},[e("code",[e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"success"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token boolean"}},[t._v("true")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"data"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"webhook_id"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("1")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"url"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"https://example.com/webhook"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"active"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token boolean"}},[t._v("true")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"created_at"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"2024-01-01T09:00:00.000000Z"')]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),e("hr"),t._v(" "),e("h2",{attrs:{id:"create-webhook"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#create-webhook"}},[t._v("#")]),t._v(" Create Webhook")]),t._v(" "),e("div",{staticClass:"language- extra-class"},[e("pre",{pre:!0,attrs:{class:"language-text"}},[e("code",[t._v("POST https://api.wolfeo.me/v1/webhook\n")])])]),e("p",[t._v("Registers a new webhook endpoint. A random signing secret is generated automatically.")]),t._v(" "),e("h3",{attrs:{id:"example-request-2"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#example-request-2"}},[t._v("#")]),t._v(" Example Request")]),t._v(" "),e("div",{staticClass:"language-curl extra-class"},[e("pre",{pre:!0,attrs:{class:"language-text"}},[e("code",[t._v('curl --request POST "https://api.wolfeo.me/v1/webhook" \\\n --header "Authorization: Bearer YOUR_API_KEY" \\\n --header "Content-Type: application/json" \\\n --data \'{"url": "https://example.com/webhook"}\'\n')])])]),e("h3",{attrs:{id:"parameters"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#parameters"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),e("table",[e("thead",[e("tr",[e("th",[t._v("Parameter")]),t._v(" "),e("th",[t._v("Type")]),t._v(" "),e("th",[t._v("Description")])])]),t._v(" "),e("tbody",[e("tr",[e("td",[t._v("url*")]),t._v(" "),e("td",[e("em",[t._v("string")])]),t._v(" "),e("td",[t._v("The HTTPS URL to receive events")])])])]),t._v(" "),e("p",[e("em",[t._v("* denotes a required parameter")])]),t._v(" "),e("h3",{attrs:{id:"sample-return-2"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#sample-return-2"}},[t._v("#")]),t._v(" Sample Return")]),t._v(" "),e("p",[t._v("HTTP "),e("strong",[t._v("201 Created")])]),t._v(" "),e("div",{staticClass:"language-json extra-class"},[e("pre",{pre:!0,attrs:{class:"language-json"}},[e("code",[e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"success"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token boolean"}},[t._v("true")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"data"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"webhook_id"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("1")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"url"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"https://example.com/webhook"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"active"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token boolean"}},[t._v("true")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"secret"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"aBcDeFgHiJkLmNoPqRsTuVwXyZ123456"')]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),e("div",{staticClass:"custom-block warning"},[e("p",{staticClass:"custom-block-title"},[t._v("Store your secret")]),t._v(" "),e("p",[t._v("The "),e("code",[t._v("secret")]),t._v(" is only returned once at creation time. Store it securely — it is used to verify the signature on incoming webhook events. See "),e("RouterLink",{attrs:{to:"/webhooks/"}},[t._v("Webhooks Overview & Signing")]),t._v(" for details.")],1)]),t._v(" "),e("h3",{attrs:{id:"possible-errors"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#possible-errors"}},[t._v("#")]),t._v(" Possible Errors")]),t._v(" "),e("table",[e("thead",[e("tr",[e("th",[t._v("Code")]),t._v(" "),e("th",[t._v("HTTP")]),t._v(" "),e("th",[t._v("Description")])])]),t._v(" "),e("tbody",[e("tr",[e("td",[t._v("WEBHOOK_EXISTS")]),t._v(" "),e("td",[t._v("409")]),t._v(" "),e("td",[t._v("A webhook with this URL already exists")])]),t._v(" "),e("tr",[e("td",[t._v("VALIDATION_ERROR")]),t._v(" "),e("td",[t._v("422")]),t._v(" "),e("td",[e("code",[t._v("url")]),t._v(" is missing or not a valid URL")])])])]),t._v(" "),e("hr"),t._v(" "),e("h2",{attrs:{id:"delete-webhook"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#delete-webhook"}},[t._v("#")]),t._v(" Delete Webhook")]),t._v(" "),e("div",{staticClass:"language- extra-class"},[e("pre",{pre:!0,attrs:{class:"language-text"}},[e("code",[t._v("DELETE https://api.wolfeo.me/v1/webhook\n")])])]),e("p",[t._v("Removes a webhook. No further events will be sent to that URL.")]),t._v(" "),e("h3",{attrs:{id:"example-request-3"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#example-request-3"}},[t._v("#")]),t._v(" Example Request")]),t._v(" "),e("div",{staticClass:"language-curl extra-class"},[e("pre",{pre:!0,attrs:{class:"language-text"}},[e("code",[t._v('curl --request DELETE "https://api.wolfeo.me/v1/webhook" \\\n --header "Authorization: Bearer YOUR_API_KEY" \\\n --header "Content-Type: application/json" \\\n --data \'{"webhook_id": 1}\'\n')])])]),e("h3",{attrs:{id:"parameters-2"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#parameters-2"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),e("table",[e("thead",[e("tr",[e("th",[t._v("Parameter")]),t._v(" "),e("th",[t._v("Type")]),t._v(" "),e("th",[t._v("Description")])])]),t._v(" "),e("tbody",[e("tr",[e("td",[t._v("webhook_id*")]),t._v(" "),e("td",[e("em",[t._v("integer")])]),t._v(" "),e("td",[t._v("The webhook ID")])])])]),t._v(" "),e("p",[e("em",[t._v("* denotes a required parameter")])]),t._v(" "),e("h3",{attrs:{id:"sample-return-3"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#sample-return-3"}},[t._v("#")]),t._v(" Sample Return")]),t._v(" "),e("div",{staticClass:"language-json extra-class"},[e("pre",{pre:!0,attrs:{class:"language-json"}},[e("code",[e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"success"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token boolean"}},[t._v("true")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"data"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"webhook_id"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("1")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"deleted"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token boolean"}},[t._v("true")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),e("h3",{attrs:{id:"possible-errors-2"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#possible-errors-2"}},[t._v("#")]),t._v(" Possible Errors")]),t._v(" "),e("table",[e("thead",[e("tr",[e("th",[t._v("Code")]),t._v(" "),e("th",[t._v("HTTP")]),t._v(" "),e("th",[t._v("Description")])])]),t._v(" "),e("tbody",[e("tr",[e("td",[t._v("NOT_FOUND")]),t._v(" "),e("td",[t._v("404")]),t._v(" "),e("td",[t._v("Webhook not found")])])])]),t._v(" "),e("hr"),t._v(" "),e("h2",{attrs:{id:"what-s-next"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#what-s-next"}},[t._v("#")]),t._v(" What's next")]),t._v(" "),e("ul",[e("li",[e("RouterLink",{attrs:{to:"/webhooks/"}},[t._v("Webhooks Overview & Signing")]),t._v(" — event types and signature verification")],1)])])}),[],!1,null,null,null);e.default=r.exports}}]);