{"id":1546,"date":"2026-01-17T08:38:44","date_gmt":"2026-01-17T08:38:44","guid":{"rendered":"https:\/\/documentation.iqonic.design\/kivicare-wordpress\/?p=1546"},"modified":"2026-01-24T06:31:06","modified_gmt":"2026-01-24T06:31:06","slug":"plugin-rest-api-endpoints","status":"publish","type":"post","link":"https:\/\/documentation.iqonic.design\/kivicare-wordpress\/kivicare-google-meet-telemed-woocommerce-addon\/documentation\/integration-reference\/plugin-rest-api-endpoints\/","title":{"rendered":"Plugin REST API Endpoints"},"content":{"rendered":"<div class=\"nolwrap\">\n<p>The <strong>KiviCare Google Meet Addon<\/strong> provides a set of REST API endpoints that manage authentication, configuration, and Google Meet consultation workflows. These endpoints enable secure communication between WordPress, KiviCare, and Google services.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Base API URL<\/strong><\/h2>\n\n\n\n<p>All endpoints are relative to the following base path:<\/p>\n\n\n    <div class=\"docsy-code-block with-line-numbers\" data-language=\"javascript\">\n                \n        <div class=\"code-header\">\n            <span class=\"code-language\">JAVASCRIPT<\/span>\n            <button class=\"code-copy-btn\" aria-label=\"Copy code\">\n                <i class=\"ph ph-copy\"><\/i>\n                <span class=\"copy-text\">Copy<\/span>\n                <span class=\"copied-text\">Copied!<\/span>\n            <\/button>\n        <\/div>\n        \n        <div class=\"code-wrapper\">\n            <pre class=\"language-javascript\"><code class=\"language-javascript\">YOUR_SITE_URL\/wp-json\/kivi-care\/v1\/\n<\/code><\/pre>\n            \n                            <div class=\"line-numbers-wrapper\" aria-hidden=\"true\">\n                                            <span class=\"line-number\">1<\/span>\n                                            <span class=\"line-number\">2<\/span>\n                                    <\/div>\n                    <\/div>\n        \n            <\/div>\n    \n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Administrator Endpoints<\/strong><\/h2>\n\n\n\n<p>These endpoints are accessible only to <strong>Administrators<\/strong> and are used to manage global Google Meet configuration.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\"><strong>1. Retrieve Global Settings<\/strong><\/h5>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Endpoint:<\/strong> <code>settings\/googlemeet<\/code><\/li>\n\n\n\n<li><strong>Method:<\/strong> <code>GET<\/code><\/li>\n\n\n\n<li><strong>Authorization:<\/strong> Administrator<\/li>\n\n\n\n<li><strong>Description:<\/strong> Returns the global Google Meet configuration, event template data, and the authorized redirect URI required for OAuth setup.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h5 class=\"wp-block-heading\"><strong>2. Update Global Settings<\/strong><\/h5>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Endpoint:<\/strong> <code>settings\/googlemeet<\/code><\/li>\n\n\n\n<li><strong>Method:<\/strong> <code>POST<\/code> \/ <code>PUT<\/code><\/li>\n\n\n\n<li><strong>Authorization:<\/strong> Administrator<\/li>\n\n\n\n<li><strong>Description:<\/strong> Saves or updates the global Google Meet credentials and event template configuration.<\/li>\n\n\n\n<li><strong>Payload Example:<\/strong><\/li>\n<\/ul>\n\n\n    <div class=\"docsy-code-block with-line-numbers\" data-language=\"javascript\">\n                \n        <div class=\"code-header\">\n            <span class=\"code-language\">JAVASCRIPT<\/span>\n            <button class=\"code-copy-btn\" aria-label=\"Copy code\">\n                <i class=\"ph ph-copy\"><\/i>\n                <span class=\"copy-text\">Copy<\/span>\n                <span class=\"copied-text\">Copied!<\/span>\n            <\/button>\n        <\/div>\n        \n        <div class=\"code-wrapper\">\n            <pre class=\"language-javascript\"><code class=\"language-javascript\">{\n  &quot;google_meet_config&quot;: {\n    &quot;client_id&quot;: &quot;...&quot;,\n    &quot;client_secret&quot;: &quot;...&quot;\n  },\n  &quot;google_meet_event_template&quot;: { }\n}\n<\/code><\/pre>\n            \n                            <div class=\"line-numbers-wrapper\" aria-hidden=\"true\">\n                                            <span class=\"line-number\">1<\/span>\n                                            <span class=\"line-number\">2<\/span>\n                                            <span class=\"line-number\">3<\/span>\n                                            <span class=\"line-number\">4<\/span>\n                                            <span class=\"line-number\">5<\/span>\n                                            <span class=\"line-number\">6<\/span>\n                                            <span class=\"line-number\">7<\/span>\n                                            <span class=\"line-number\">8<\/span>\n                                    <\/div>\n                    <\/div>\n        \n            <\/div>\n    \n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Doctor Endpoints<\/strong><\/h2>\n\n\n\n<p>These endpoints allow doctors to manage their individual Google Meet connections.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\"><strong>1. Get Doctor Configuration<\/strong><\/h5>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Endpoint:<\/strong> <code>settings\/googlemeet\/doctor-config<\/code><\/li>\n\n\n\n<li><strong>Method:<\/strong> <code>GET<\/code><\/li>\n\n\n\n<li><strong>Authorization:<\/strong> Doctor<\/li>\n\n\n\n<li><strong>Description:<\/strong> Returns the doctor\u2019s current Google Meet connection status and authentication configuration.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h5 class=\"wp-block-heading\"><strong>2. Update Doctor Configuration<\/strong><\/h5>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Endpoint:<\/strong> <code>settings\/googlemeet\/doctor-config<\/code><\/li>\n\n\n\n<li><strong>Method:<\/strong> <code>PUT<\/code><\/li>\n\n\n\n<li><strong>Authorization:<\/strong> Doctor<\/li>\n\n\n\n<li><strong>Description:<\/strong> Updates the doctor\u2019s Google Meet authentication settings.<\/li>\n\n\n\n<li><strong>Payload Example:<\/strong><\/li>\n<\/ul>\n\n\n    <div class=\"docsy-code-block with-line-numbers\" data-language=\"javascript\">\n                \n        <div class=\"code-header\">\n            <span class=\"code-language\">JAVASCRIPT<\/span>\n            <button class=\"code-copy-btn\" aria-label=\"Copy code\">\n                <i class=\"ph ph-copy\"><\/i>\n                <span class=\"copy-text\">Copy<\/span>\n                <span class=\"copied-text\">Copied!<\/span>\n            <\/button>\n        <\/div>\n        \n        <div class=\"code-wrapper\">\n            <pre class=\"language-javascript\"><code class=\"language-javascript\">{\n  &quot;auth_type&quot;: &quot;oauth&quot;,\n  &quot;client_id&quot;: &quot;...&quot;,\n  &quot;client_secret&quot;: &quot;...&quot;\n}\n<\/code><\/pre>\n            \n                            <div class=\"line-numbers-wrapper\" aria-hidden=\"true\">\n                                            <span class=\"line-number\">1<\/span>\n                                            <span class=\"line-number\">2<\/span>\n                                            <span class=\"line-number\">3<\/span>\n                                            <span class=\"line-number\">4<\/span>\n                                            <span class=\"line-number\">5<\/span>\n                                            <span class=\"line-number\">6<\/span>\n                                    <\/div>\n                    <\/div>\n        \n            <\/div>\n    \n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h5 class=\"wp-block-heading\"><strong>3. Generate Authorization URL<\/strong><\/h5>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Endpoint:<\/strong> <code>settings\/googlemeet\/authorize<\/code><\/li>\n\n\n\n<li><strong>Method:<\/strong> <code>GET<\/code><\/li>\n\n\n\n<li><strong>Authorization:<\/strong> Doctor<\/li>\n\n\n\n<li><strong>Description:<\/strong> Returns the Google OAuth authorization URL.<\/li>\n\n\n\n<li><strong>Response Example:<\/strong><\/li>\n<\/ul>\n\n\n    <div class=\"docsy-code-block with-line-numbers\" data-language=\"javascript\">\n                \n        <div class=\"code-header\">\n            <span class=\"code-language\">JAVASCRIPT<\/span>\n            <button class=\"code-copy-btn\" aria-label=\"Copy code\">\n                <i class=\"ph ph-copy\"><\/i>\n                <span class=\"copy-text\">Copy<\/span>\n                <span class=\"copied-text\">Copied!<\/span>\n            <\/button>\n        <\/div>\n        \n        <div class=\"code-wrapper\">\n            <pre class=\"language-javascript\"><code class=\"language-javascript\">{\n  &quot;redirect_url&quot;: &quot;https:\/\/accounts.google.com\/...&quot;\n}\n<\/code><\/pre>\n            \n                            <div class=\"line-numbers-wrapper\" aria-hidden=\"true\">\n                                            <span class=\"line-number\">1<\/span>\n                                            <span class=\"line-number\">2<\/span>\n                                            <span class=\"line-number\">3<\/span>\n                                            <span class=\"line-number\">4<\/span>\n                                    <\/div>\n                    <\/div>\n        \n            <\/div>\n    \n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h5 class=\"wp-block-heading\"><strong>4. Disconnect Google Account<\/strong><\/h5>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Endpoint:<\/strong> <code>settings\/googlemeet\/disconnect<\/code><\/li>\n\n\n\n<li><strong>Method:<\/strong> <code>GET<\/code><\/li>\n\n\n\n<li><strong>Authorization:<\/strong> Doctor<\/li>\n\n\n\n<li><strong>Description:<\/strong> Revokes the existing Google Meet connection for the doctor.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h5 class=\"wp-block-heading\"><strong>5. Test Google Meet Connection<\/strong><\/h5>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Endpoint:<\/strong> <code>settings\/googlemeet\/test-connection<\/code><\/li>\n\n\n\n<li><strong>Method:<\/strong> <code>PUT<\/code><\/li>\n\n\n\n<li><strong>Authorization:<\/strong> Doctor<\/li>\n\n\n\n<li><strong>Description:<\/strong> Verifies the validity of the doctor\u2019s Google Meet connection and credentials.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Public Callback Endpoint<\/strong><\/h2>\n\n\n\n<h5 class=\"wp-block-heading\"><strong>OAuth Authorization Callback<\/strong><\/h5>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Endpoint:<\/strong> <code>settings\/googlemeet\/callback<\/code><\/li>\n\n\n\n<li><strong>Method:<\/strong> <code>GET<\/code><\/li>\n\n\n\n<li><strong>Access:<\/strong> Public (secured via OAuth state validation)<\/li>\n\n\n\n<li><strong>Purpose:<\/strong><br>Receives the authorization <code>code<\/code> and <code>state<\/code> from Google, exchanges them for access and refresh tokens, and redirects the user back to the KiviCare dashboard.<\/li>\n<\/ul>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>The KiviCare Google Meet Addon provides a set of REST API endpoints that manage authentication, configuration, and Google Meet consultation workflows. These endpoints enable secure communication between WordPress, KiviCare, and Google services. Base API URL All endpoints are relative to the following base path: Administrator Endpoints These endpoints are accessible only to Administrators and are [&hellip;]<\/p>\n","protected":false},"author":12,"featured_media":0,"parent":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[45],"tags":[],"class_list":["post-1546","post","type-post","status-publish","format-standard","hentry","category-integration-reference"],"featured_image_src":null,"author_info":{"display_name":"wordpressadminiq","author_link":"https:\/\/documentation.iqonic.design\/kivicare-wordpress\/author\/wordpressadminiq\/"},"_links":{"self":[{"href":"https:\/\/documentation.iqonic.design\/kivicare-wordpress\/wp-json\/wp\/v2\/posts\/1546","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/documentation.iqonic.design\/kivicare-wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/documentation.iqonic.design\/kivicare-wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/documentation.iqonic.design\/kivicare-wordpress\/wp-json\/wp\/v2\/users\/12"}],"replies":[{"embeddable":true,"href":"https:\/\/documentation.iqonic.design\/kivicare-wordpress\/wp-json\/wp\/v2\/comments?post=1546"}],"version-history":[{"count":6,"href":"https:\/\/documentation.iqonic.design\/kivicare-wordpress\/wp-json\/wp\/v2\/posts\/1546\/revisions"}],"predecessor-version":[{"id":1606,"href":"https:\/\/documentation.iqonic.design\/kivicare-wordpress\/wp-json\/wp\/v2\/posts\/1546\/revisions\/1606"}],"wp:attachment":[{"href":"https:\/\/documentation.iqonic.design\/kivicare-wordpress\/wp-json\/wp\/v2\/media?parent=1546"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/documentation.iqonic.design\/kivicare-wordpress\/wp-json\/wp\/v2\/categories?post=1546"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/documentation.iqonic.design\/kivicare-wordpress\/wp-json\/wp\/v2\/tags?post=1546"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}