(window.webpackJsonp=window.webpackJsonp||[]).push([[31],{349:function(t,e,a){"use strict";a.r(e);var s=a(28),r=Object(s.a)({},(function(){var t=this,e=t._self._c;return e("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[e("h1",{attrs:{id:"authentication"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#authentication"}},[t._v("#")]),t._v(" Authentication")]),t._v(" "),e("p",[t._v("All API requests must include a valid API key. Keys can be generated in your Wolfeo account under "),e("strong",[t._v("Settings → API")]),t._v(".")]),t._v(" "),e("div",{staticClass:"custom-block warning"},[e("p",{staticClass:"custom-block-title"},[t._v("WARNING")]),t._v(" "),e("p",[t._v("API keys are tied to a paid account. Free trial accounts cannot generate keys.")])]),t._v(" "),e("h2",{attrs:{id:"bearer-token-recommended"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#bearer-token-recommended"}},[t._v("#")]),t._v(" Bearer Token (Recommended)")]),t._v(" "),e("p",[t._v("Pass the key in the "),e("code",[t._v("Authorization")]),t._v(" header:")]),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/contact?contact_id=1" \\\n --header "Authorization: Bearer YOUR_API_KEY"\n')])])]),e("h2",{attrs:{id:"query-parameter-legacy"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#query-parameter-legacy"}},[t._v("#")]),t._v(" Query Parameter (Legacy)")]),t._v(" "),e("p",[t._v("For backward compatibility you can pass the key as "),e("code",[t._v("api_key")]),t._v(" in the query string. This method is "),e("strong",[t._v("not recommended")]),t._v(" for new integrations as URLs (including keys) may appear in server logs.")]),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/contact?contact_id=1&api_key=YOUR_API_KEY"\n')])])]),e("h2",{attrs:{id:"invalid-key"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#invalid-key"}},[t._v("#")]),t._v(" Invalid Key")]),t._v(" "),e("p",[t._v("If the key is missing or invalid, every endpoint returns:")]),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("false")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"error"')]),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('"code"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"UNAUTHORIZED"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"message"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"Invalid or missing API key"')]),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("p",[t._v("HTTP status: "),e("strong",[t._v("401 Unauthorized")])]),t._v(" "),e("h2",{attrs:{id:"key-management"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#key-management"}},[t._v("#")]),t._v(" Key Management")]),t._v(" "),e("ul",[e("li",[t._v("You can create multiple keys (e.g. one per integration).")]),t._v(" "),e("li",[t._v("Keys can be named to track which application is using them.")]),t._v(" "),e("li",[t._v("A key can be disabled at any time from Settings → API without deleting it.")]),t._v(" "),e("li",[t._v("Deleting a key immediately revokes all access for that integration.")])]),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:"/guides/errors/"}},[t._v("Errors & Status Codes")]),t._v(" — understand error codes and HTTP statuses")],1),t._v(" "),e("li",[e("RouterLink",{attrs:{to:"/reference/contacts/"}},[t._v("Contacts")]),t._v(" — create and manage contacts via the API")],1)])])}),[],!1,null,null,null);e.default=r.exports}}]);