{"id":444452,"date":"2026-04-03T02:43:24","date_gmt":"2026-04-03T00:43:24","guid":{"rendered":"https:\/\/www.kafinea.com\/documentation\/uncategorized\/rest-api-authentication\/"},"modified":"2026-04-03T02:43:24","modified_gmt":"2026-04-03T00:43:24","password":"","slug":"rest-api-authentication","status":"publish","type":"docs","link":"https:\/\/www.kafinea.com\/en\/help\/api\/rest-api-authentication\/","title":{"rendered":"REST API &#8211; Authentication"},"content":{"rendered":"<p>The login operation is a two-step process: obtain a token, then exchange credentials (username and access key).<\/p>\n<p>You can find your access key under &#8220;My Preferences&#8221; in the Kafinea web interface.<\/p>\n<hr>\n<h2>Step 1: Get a token (getchallenge)<\/h2>\n<blockquote>\n<p><strong>GET<\/strong> <code>https:\/\/apps.kafinea.com\/{instance}\/webservice.php<\/code><\/p>\n<\/blockquote>\n<div style=\"overflow-x:auto\">\n<table>\n<thead>\n<tr>\n<th>Parameter<\/th>\n<th>Type<\/th>\n<th>Required<\/th>\n<th>Description<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>operation<\/code><\/td>\n<td>string<\/td>\n<td>yes<\/td>\n<td>Must be  <code>getchallenge<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>username<\/code><\/td>\n<td>string<\/td>\n<td>yes<\/td>\n<td>Kafinea username<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p><strong>Curl example:<\/strong><\/p>\n<pre><code class=\"language-bash\">curl \"https:\/\/apps.kafinea.com\/YourKafinea\/webservice.php?operation=getchallenge&username=admin\"\n<\/code><\/pre>\n<p><strong>Response:<\/strong><\/p>\n<pre><code class=\"language-json\">{\n  \"success\": true,\n  \"result\": {\n    \"token\": \"[TOKENSTRING]\",\n    \"serverTime\": \"[TIMESTAMP]\",\n    \"expireTime\": \"[TIMESTAMP]\"\n  }\n}\n<\/code><\/pre>\n<hr>\n<h2>Step 2: Login (login)<\/h2>\n<blockquote>\n<p><strong>POST<\/strong> <code>https:\/\/apps.kafinea.com\/{instance}\/webservice.php<\/code><\/p>\n<\/blockquote>\n<div style=\"overflow-x:auto\">\n<table>\n<thead>\n<tr>\n<th>Parameter<\/th>\n<th>Type<\/th>\n<th>Required<\/th>\n<th>Description<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>operation<\/code><\/td>\n<td>string<\/td>\n<td>yes<\/td>\n<td>Must be  <code>login<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>username<\/code><\/td>\n<td>string<\/td>\n<td>yes<\/td>\n<td>Kafinea username<\/td>\n<\/tr>\n<tr>\n<td><code>accessKey<\/code><\/td>\n<td>string<\/td>\n<td>yes<\/td>\n<td><code>md5(token + accessKey)<\/code> \u2014 note: the K is uppercase<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p><strong>Curl example:<\/strong><\/p>\n<pre><code class=\"language-bash\">curl -X POST https:\/\/apps.kafinea.com\/YourKafinea\/webservice.php \\\n  -d \"operation=login\" \\\n  -d \"username=admin\" \\\n  -d \"accessKey=YOUR_MD5_HASH\"\n<\/code><\/pre>\n<p><strong>Response:<\/strong><\/p>\n<pre><code class=\"language-json\">{\n  \"success\": true,\n  \"result\": {\n    \"sessionId\": \"[STRING]\",\n    \"userId\": \"[STRING]\",\n    \"version\": \"[STRING]\",\n    \"kafineaVersion\": \"[STRING]\"\n  }\n}\n<\/code><\/pre>\n<hr>\n<h2>Logout (logout)<\/h2>\n<blockquote>\n<p><strong>POST<\/strong> <code>https:\/\/apps.kafinea.com\/{instance}\/webservice.php<\/code><\/p>\n<\/blockquote>\n<div style=\"overflow-x:auto\">\n<table>\n<thead>\n<tr>\n<th>Parameter<\/th>\n<th>Type<\/th>\n<th>Required<\/th>\n<th>Description<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>operation<\/code><\/td>\n<td>string<\/td>\n<td>yes<\/td>\n<td>Must be  <code>logout<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>sessionName<\/code><\/td>\n<td>string<\/td>\n<td>yes<\/td>\n<td>Session ID obtained at login<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p><strong>Curl example:<\/strong><\/p>\n<pre><code class=\"language-bash\">curl -X POST https:\/\/apps.kafinea.com\/YourKafinea\/webservice.php \\\n  -d \"operation=logout\" \\\n  -d \"sessionName=YOUR_SESSION_ID\"\n<\/code><\/pre>\n<hr>\n<h2>Extend session (extendsession)<\/h2>\n<p>If you need to extend your session duration, use this operation.<\/p>\n<blockquote>\n<p><strong>GET<\/strong> <code>https:\/\/apps.kafinea.com\/{instance}\/webservice.php<\/code><\/p>\n<\/blockquote>\n<div style=\"overflow-x:auto\">\n<table>\n<thead>\n<tr>\n<th>Parameter<\/th>\n<th>Type<\/th>\n<th>Required<\/th>\n<th>Description<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>operation<\/code><\/td>\n<td>string<\/td>\n<td>yes<\/td>\n<td>Must be  <code>extendsession<\/code><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p><strong>Curl example:<\/strong><\/p>\n<pre><code class=\"language-bash\">curl \"https:\/\/apps.kafinea.com\/YourKafinea\/webservice.php?operation=extendsession\"\n<\/code><\/pre>\n<hr>\n<h2>Related References \ud83d\udd17<\/h2>\n<ul>\n<li><a href=\"https:\/\/www.kafinea.com\/en\/documentation\/api\/rest-api-introduction\/\">API Introduction<\/a><\/li>\n<li><a href=\"https:\/\/www.kafinea.com\/en\/documentation\/api\/rest-api-crud-operations\/\">CRUD Operations<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>The login operation is a two-step process: obtain a token, then exchange credentials (username and access key). You can find your access key under &#8220;My Preferences&#8221; in the Kafinea web interface. Step 1: Get a token (getchallenge) GET https:\/\/apps.kafinea.com\/{instance}\/webservice.php Parameter Type Required Description operation string yes Must be getchallenge username string yes Kafinea username Curl&#8230;<\/p>\n","protected":false},"author":4,"featured_media":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_uag_custom_page_level_css":"","_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"_kad_post_classname":"","footnotes":""},"doc_category":[759],"doc_tag":[],"class_list":["post-444452","docs","type-docs","status-publish","hentry","doc_category-api"],"year_month":"2026-08","word_count":253,"total_views":"2","reactions":{"happy":"0","normal":"0","sad":"0"},"author_info":{"name":"David Valminos","author_nicename":"david","author_url":"https:\/\/www.kafinea.com\/en\/author\/david\/"},"doc_category_info":[{"term_name":"API","term_url":"https:\/\/www.kafinea.com\/en\/help\/api\/"}],"doc_tag_info":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Help - REST API - Authentication &#8226; Kafinea<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.kafinea.com\/en\/help\/api\/rest-api-authentication\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Help - REST API - Authentication &#8226; Kafinea\" \/>\n<meta property=\"og:description\" content=\"The login operation is a two-step process: obtain a token, then exchange credentials (username and access key). You can find your access key under &#8220;My Preferences&#8221; in the Kafinea web interface. Step 1: Get a token (getchallenge) GET https:\/\/apps.kafinea.com\/{instance}\/webservice.php Parameter Type Required Description operation string yes Must be getchallenge username string yes Kafinea username Curl...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.kafinea.com\/en\/help\/api\/rest-api-authentication\/\" \/>\n<meta property=\"og:site_name\" content=\"Kafinea\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.kafinea.com\\\/en\\\/help\\\/api\\\/rest-api-authentication\\\/\",\"url\":\"https:\\\/\\\/www.kafinea.com\\\/en\\\/help\\\/api\\\/rest-api-authentication\\\/\",\"name\":\"Help - REST API - Authentication &#8226; Kafinea\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.kafinea.com\\\/en\\\/#website\"},\"datePublished\":\"2026-04-03T00:43:24+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.kafinea.com\\\/en\\\/help\\\/api\\\/rest-api-authentication\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.kafinea.com\\\/en\\\/help\\\/api\\\/rest-api-authentication\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.kafinea.com\\\/en\\\/help\\\/api\\\/rest-api-authentication\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\\\/\\\/www.kafinea.com\\\/en\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"REST API &#8211; Authentication\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.kafinea.com\\\/en\\\/#website\",\"url\":\"https:\\\/\\\/www.kafinea.com\\\/en\\\/\",\"name\":\"Kafinea\",\"description\":\"Une solution unique pour toutes vos ambitions\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.kafinea.com\\\/en\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.kafinea.com\\\/en\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.kafinea.com\\\/en\\\/#organization\",\"name\":\"Kafinea\",\"url\":\"https:\\\/\\\/www.kafinea.com\\\/en\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.kafinea.com\\\/en\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.kafinea.com\\\/wp-content\\\/uploads\\\/2024\\\/10\\\/Logo-Kafinea-SVG-orange-bleu.svg\",\"contentUrl\":\"https:\\\/\\\/www.kafinea.com\\\/wp-content\\\/uploads\\\/2024\\\/10\\\/Logo-Kafinea-SVG-orange-bleu.svg\",\"width\":296.31,\"height\":66.48,\"caption\":\"Kafinea\"},\"image\":{\"@id\":\"https:\\\/\\\/www.kafinea.com\\\/en\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.linkedin.com\\\/company\\\/kafinea\\\/\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Help - REST API - Authentication &#8226; Kafinea","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.kafinea.com\/en\/help\/api\/rest-api-authentication\/","og_locale":"en_US","og_type":"article","og_title":"Help - REST API - Authentication &#8226; Kafinea","og_description":"The login operation is a two-step process: obtain a token, then exchange credentials (username and access key). You can find your access key under &#8220;My Preferences&#8221; in the Kafinea web interface. Step 1: Get a token (getchallenge) GET https:\/\/apps.kafinea.com\/{instance}\/webservice.php Parameter Type Required Description operation string yes Must be getchallenge username string yes Kafinea username Curl...","og_url":"https:\/\/www.kafinea.com\/en\/help\/api\/rest-api-authentication\/","og_site_name":"Kafinea","twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.kafinea.com\/en\/help\/api\/rest-api-authentication\/","url":"https:\/\/www.kafinea.com\/en\/help\/api\/rest-api-authentication\/","name":"Help - REST API - Authentication &#8226; Kafinea","isPartOf":{"@id":"https:\/\/www.kafinea.com\/en\/#website"},"datePublished":"2026-04-03T00:43:24+00:00","breadcrumb":{"@id":"https:\/\/www.kafinea.com\/en\/help\/api\/rest-api-authentication\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.kafinea.com\/en\/help\/api\/rest-api-authentication\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.kafinea.com\/en\/help\/api\/rest-api-authentication\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/www.kafinea.com\/en\/"},{"@type":"ListItem","position":2,"name":"REST API &#8211; Authentication"}]},{"@type":"WebSite","@id":"https:\/\/www.kafinea.com\/en\/#website","url":"https:\/\/www.kafinea.com\/en\/","name":"Kafinea","description":"Une solution unique pour toutes vos ambitions","publisher":{"@id":"https:\/\/www.kafinea.com\/en\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.kafinea.com\/en\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.kafinea.com\/en\/#organization","name":"Kafinea","url":"https:\/\/www.kafinea.com\/en\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.kafinea.com\/en\/#\/schema\/logo\/image\/","url":"https:\/\/www.kafinea.com\/wp-content\/uploads\/2024\/10\/Logo-Kafinea-SVG-orange-bleu.svg","contentUrl":"https:\/\/www.kafinea.com\/wp-content\/uploads\/2024\/10\/Logo-Kafinea-SVG-orange-bleu.svg","width":296.31,"height":66.48,"caption":"Kafinea"},"image":{"@id":"https:\/\/www.kafinea.com\/en\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.linkedin.com\/company\/kafinea\/"]}]}},"uagb_featured_image_src":{"full":false,"thumbnail":false,"medium":false,"medium_large":false,"large":false,"1536x1536":false,"2048x2048":false},"uagb_author_info":{"display_name":"David Valminos","author_link":"https:\/\/www.kafinea.com\/en\/author\/david\/"},"uagb_comment_info":0,"uagb_excerpt":"The login operation is a two-step process: obtain a token, then exchange credentials (username and access key). You can find your access key under &#8220;My Preferences&#8221; in the Kafinea web interface. Step 1: Get a token (getchallenge) GET https:\/\/apps.kafinea.com\/{instance}\/webservice.php Parameter Type Required Description operation string yes Must be getchallenge username string yes Kafinea username Curl...","_links":{"self":[{"href":"https:\/\/www.kafinea.com\/en\/wp-json\/wp\/v2\/docs\/444452","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.kafinea.com\/en\/wp-json\/wp\/v2\/docs"}],"about":[{"href":"https:\/\/www.kafinea.com\/en\/wp-json\/wp\/v2\/types\/docs"}],"author":[{"embeddable":true,"href":"https:\/\/www.kafinea.com\/en\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/www.kafinea.com\/en\/wp-json\/wp\/v2\/comments?post=444452"}],"version-history":[{"count":0,"href":"https:\/\/www.kafinea.com\/en\/wp-json\/wp\/v2\/docs\/444452\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.kafinea.com\/en\/wp-json\/wp\/v2\/media?parent=444452"}],"wp:term":[{"taxonomy":"doc_category","embeddable":true,"href":"https:\/\/www.kafinea.com\/en\/wp-json\/wp\/v2\/doc_category?post=444452"},{"taxonomy":"doc_tag","embeddable":true,"href":"https:\/\/www.kafinea.com\/en\/wp-json\/wp\/v2\/doc_tag?post=444452"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}