Update article
curl --request PATCH \
--url https://{your-subdomain}.neetokb.com/api/external/v1/articles/{permalink_id} \
--header 'Content-Type: application/json' \
--header 'X-Api-Key: <x-api-key>' \
--data '
{
"title": "Getting Started",
"state": "draft",
"html_content": "<h1>Welcome</h1><p>Example content</p>",
"slug": "getting-started",
"page_title": "Getting Started",
"meta_description": "A comprehensive guide to help you get started with our platform"
}
'import requests
url = "https://{your-subdomain}.neetokb.com/api/external/v1/articles/{permalink_id}"
payload = {
"title": "Getting Started",
"state": "draft",
"html_content": "<h1>Welcome</h1><p>Example content</p>",
"slug": "getting-started",
"page_title": "Getting Started",
"meta_description": "A comprehensive guide to help you get started with our platform"
}
headers = {
"X-Api-Key": "<x-api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {'X-Api-Key': '<x-api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
title: 'Getting Started',
state: 'draft',
html_content: '<h1>Welcome</h1><p>Example content</p>',
slug: 'getting-started',
page_title: 'Getting Started',
meta_description: 'A comprehensive guide to help you get started with our platform'
})
};
fetch('https://{your-subdomain}.neetokb.com/api/external/v1/articles/{permalink_id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://{your-subdomain}.neetokb.com/api/external/v1/articles/{permalink_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'title' => 'Getting Started',
'state' => 'draft',
'html_content' => '<h1>Welcome</h1><p>Example content</p>',
'slug' => 'getting-started',
'page_title' => 'Getting Started',
'meta_description' => 'A comprehensive guide to help you get started with our platform'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-Api-Key: <x-api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://{your-subdomain}.neetokb.com/api/external/v1/articles/{permalink_id}"
payload := strings.NewReader("{\n \"title\": \"Getting Started\",\n \"state\": \"draft\",\n \"html_content\": \"<h1>Welcome</h1><p>Example content</p>\",\n \"slug\": \"getting-started\",\n \"page_title\": \"Getting Started\",\n \"meta_description\": \"A comprehensive guide to help you get started with our platform\"\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("X-Api-Key", "<x-api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("https://{your-subdomain}.neetokb.com/api/external/v1/articles/{permalink_id}")
.header("X-Api-Key", "<x-api-key>")
.header("Content-Type", "application/json")
.body("{\n \"title\": \"Getting Started\",\n \"state\": \"draft\",\n \"html_content\": \"<h1>Welcome</h1><p>Example content</p>\",\n \"slug\": \"getting-started\",\n \"page_title\": \"Getting Started\",\n \"meta_description\": \"A comprehensive guide to help you get started with our platform\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{your-subdomain}.neetokb.com/api/external/v1/articles/{permalink_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["X-Api-Key"] = '<x-api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"title\": \"Getting Started\",\n \"state\": \"draft\",\n \"html_content\": \"<h1>Welcome</h1><p>Example content</p>\",\n \"slug\": \"getting-started\",\n \"page_title\": \"Getting Started\",\n \"meta_description\": \"A comprehensive guide to help you get started with our platform\"\n}"
response = http.request(request)
puts response.read_body{
"message": "<string>"
}V1 API (Deprecated)
Update article
This API allows to update an existing article.
PATCH
/
articles
/
{permalink_id}
Update article
curl --request PATCH \
--url https://{your-subdomain}.neetokb.com/api/external/v1/articles/{permalink_id} \
--header 'Content-Type: application/json' \
--header 'X-Api-Key: <x-api-key>' \
--data '
{
"title": "Getting Started",
"state": "draft",
"html_content": "<h1>Welcome</h1><p>Example content</p>",
"slug": "getting-started",
"page_title": "Getting Started",
"meta_description": "A comprehensive guide to help you get started with our platform"
}
'import requests
url = "https://{your-subdomain}.neetokb.com/api/external/v1/articles/{permalink_id}"
payload = {
"title": "Getting Started",
"state": "draft",
"html_content": "<h1>Welcome</h1><p>Example content</p>",
"slug": "getting-started",
"page_title": "Getting Started",
"meta_description": "A comprehensive guide to help you get started with our platform"
}
headers = {
"X-Api-Key": "<x-api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {'X-Api-Key': '<x-api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
title: 'Getting Started',
state: 'draft',
html_content: '<h1>Welcome</h1><p>Example content</p>',
slug: 'getting-started',
page_title: 'Getting Started',
meta_description: 'A comprehensive guide to help you get started with our platform'
})
};
fetch('https://{your-subdomain}.neetokb.com/api/external/v1/articles/{permalink_id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://{your-subdomain}.neetokb.com/api/external/v1/articles/{permalink_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'title' => 'Getting Started',
'state' => 'draft',
'html_content' => '<h1>Welcome</h1><p>Example content</p>',
'slug' => 'getting-started',
'page_title' => 'Getting Started',
'meta_description' => 'A comprehensive guide to help you get started with our platform'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-Api-Key: <x-api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://{your-subdomain}.neetokb.com/api/external/v1/articles/{permalink_id}"
payload := strings.NewReader("{\n \"title\": \"Getting Started\",\n \"state\": \"draft\",\n \"html_content\": \"<h1>Welcome</h1><p>Example content</p>\",\n \"slug\": \"getting-started\",\n \"page_title\": \"Getting Started\",\n \"meta_description\": \"A comprehensive guide to help you get started with our platform\"\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("X-Api-Key", "<x-api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("https://{your-subdomain}.neetokb.com/api/external/v1/articles/{permalink_id}")
.header("X-Api-Key", "<x-api-key>")
.header("Content-Type", "application/json")
.body("{\n \"title\": \"Getting Started\",\n \"state\": \"draft\",\n \"html_content\": \"<h1>Welcome</h1><p>Example content</p>\",\n \"slug\": \"getting-started\",\n \"page_title\": \"Getting Started\",\n \"meta_description\": \"A comprehensive guide to help you get started with our platform\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{your-subdomain}.neetokb.com/api/external/v1/articles/{permalink_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["X-Api-Key"] = '<x-api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"title\": \"Getting Started\",\n \"state\": \"draft\",\n \"html_content\": \"<h1>Welcome</h1><p>Example content</p>\",\n \"slug\": \"getting-started\",\n \"page_title\": \"Getting Started\",\n \"meta_description\": \"A comprehensive guide to help you get started with our platform\"\n}"
response = http.request(request)
puts response.read_body{
"message": "<string>"
}Deprecated: This is a v1 endpoint. It will continue to work, but we recommend migrating to
the v2 equivalent for improved REST compliance (correct HTTP status codes,
consistent response envelopes, and hyphenated URLs).
Replace
Learn how to find your subdomain in Workspace subdomain.
{your-subdomain} with your workspace’s subdomain. Learn how to find your subdomain in Workspace subdomain.
Headers
Use the X-Api-Key header to provide your workspace API key. Refer to Authentication for more information.
Path Parameters
Unique identifier of the article. Refer to the NeetoKB help article for detailed instructions.
Example:
"a-84af178b"
Body
application/json
Title of the article.
Example:
"Getting Started"
Status of the article.
Available options:
draft, published Example:
"draft"
Content of the article in HTML format.
Example:
"<h1>Welcome</h1><p>Example content</p>"
URL-friendly version of the article's title. Can only be modified if the article's state is published.
Example:
"getting-started"
Response
200 - application/json
OK - Request succeeded
⌘I