Partially update article
curl --request PATCH \
--url https://api.initdesk.com/organizations/{organization_id}/portal/articles/{pk}/ \
--header 'Content-Type: application/json' \
--header 'X-Initdesk-Token: <api-key>' \
--data '
{
"collection": 123,
"source_ticket": 123,
"title": "<string>",
"slug": "",
"content_markdown": "<string>",
"meta_description": "<string>",
"position": 1073741823,
"published_at": "2023-11-07T05:31:56Z"
}
'import requests
url = "https://api.initdesk.com/organizations/{organization_id}/portal/articles/{pk}/"
payload = {
"collection": 123,
"source_ticket": 123,
"title": "<string>",
"slug": "",
"content_markdown": "<string>",
"meta_description": "<string>",
"position": 1073741823,
"published_at": "2023-11-07T05:31:56Z"
}
headers = {
"X-Initdesk-Token": "<api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {'X-Initdesk-Token': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
collection: 123,
source_ticket: 123,
title: '<string>',
slug: '',
content_markdown: '<string>',
meta_description: '<string>',
position: 1073741823,
published_at: '2023-11-07T05:31:56Z'
})
};
fetch('https://api.initdesk.com/organizations/{organization_id}/portal/articles/{pk}/', 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://api.initdesk.com/organizations/{organization_id}/portal/articles/{pk}/",
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([
'collection' => 123,
'source_ticket' => 123,
'title' => '<string>',
'slug' => '',
'content_markdown' => '<string>',
'meta_description' => '<string>',
'position' => 1073741823,
'published_at' => '2023-11-07T05:31:56Z'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-Initdesk-Token: <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://api.initdesk.com/organizations/{organization_id}/portal/articles/{pk}/"
payload := strings.NewReader("{\n \"collection\": 123,\n \"source_ticket\": 123,\n \"title\": \"<string>\",\n \"slug\": \"\",\n \"content_markdown\": \"<string>\",\n \"meta_description\": \"<string>\",\n \"position\": 1073741823,\n \"published_at\": \"2023-11-07T05:31:56Z\"\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("X-Initdesk-Token", "<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://api.initdesk.com/organizations/{organization_id}/portal/articles/{pk}/")
.header("X-Initdesk-Token", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"collection\": 123,\n \"source_ticket\": 123,\n \"title\": \"<string>\",\n \"slug\": \"\",\n \"content_markdown\": \"<string>\",\n \"meta_description\": \"<string>\",\n \"position\": 1073741823,\n \"published_at\": \"2023-11-07T05:31:56Z\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.initdesk.com/organizations/{organization_id}/portal/articles/{pk}/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["X-Initdesk-Token"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"collection\": 123,\n \"source_ticket\": 123,\n \"title\": \"<string>\",\n \"slug\": \"\",\n \"content_markdown\": \"<string>\",\n \"meta_description\": \"<string>\",\n \"position\": 1073741823,\n \"published_at\": \"2023-11-07T05:31:56Z\"\n}"
response = http.request(request)
puts response.read_body{
"id": 123,
"collection": 123,
"title": "<string>",
"status": "draft",
"attachments": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"download_url": "<string>"
}
],
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"source_ticket": 123,
"slug": "",
"content_markdown": "<string>",
"meta_description": "<string>",
"position": 1073741823,
"published_at": "2023-11-07T05:31:56Z"
}Partially update article
Update selected article fields. Address the article by ID or slug. Omitted content is preserved. The final status and content must allow empty content only for drafts.
PATCH
/
organizations
/
{organization_id}
/
portal
/
articles
/
{pk}
/
Partially update article
curl --request PATCH \
--url https://api.initdesk.com/organizations/{organization_id}/portal/articles/{pk}/ \
--header 'Content-Type: application/json' \
--header 'X-Initdesk-Token: <api-key>' \
--data '
{
"collection": 123,
"source_ticket": 123,
"title": "<string>",
"slug": "",
"content_markdown": "<string>",
"meta_description": "<string>",
"position": 1073741823,
"published_at": "2023-11-07T05:31:56Z"
}
'import requests
url = "https://api.initdesk.com/organizations/{organization_id}/portal/articles/{pk}/"
payload = {
"collection": 123,
"source_ticket": 123,
"title": "<string>",
"slug": "",
"content_markdown": "<string>",
"meta_description": "<string>",
"position": 1073741823,
"published_at": "2023-11-07T05:31:56Z"
}
headers = {
"X-Initdesk-Token": "<api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {'X-Initdesk-Token': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
collection: 123,
source_ticket: 123,
title: '<string>',
slug: '',
content_markdown: '<string>',
meta_description: '<string>',
position: 1073741823,
published_at: '2023-11-07T05:31:56Z'
})
};
fetch('https://api.initdesk.com/organizations/{organization_id}/portal/articles/{pk}/', 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://api.initdesk.com/organizations/{organization_id}/portal/articles/{pk}/",
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([
'collection' => 123,
'source_ticket' => 123,
'title' => '<string>',
'slug' => '',
'content_markdown' => '<string>',
'meta_description' => '<string>',
'position' => 1073741823,
'published_at' => '2023-11-07T05:31:56Z'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-Initdesk-Token: <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://api.initdesk.com/organizations/{organization_id}/portal/articles/{pk}/"
payload := strings.NewReader("{\n \"collection\": 123,\n \"source_ticket\": 123,\n \"title\": \"<string>\",\n \"slug\": \"\",\n \"content_markdown\": \"<string>\",\n \"meta_description\": \"<string>\",\n \"position\": 1073741823,\n \"published_at\": \"2023-11-07T05:31:56Z\"\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("X-Initdesk-Token", "<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://api.initdesk.com/organizations/{organization_id}/portal/articles/{pk}/")
.header("X-Initdesk-Token", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"collection\": 123,\n \"source_ticket\": 123,\n \"title\": \"<string>\",\n \"slug\": \"\",\n \"content_markdown\": \"<string>\",\n \"meta_description\": \"<string>\",\n \"position\": 1073741823,\n \"published_at\": \"2023-11-07T05:31:56Z\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.initdesk.com/organizations/{organization_id}/portal/articles/{pk}/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["X-Initdesk-Token"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"collection\": 123,\n \"source_ticket\": 123,\n \"title\": \"<string>\",\n \"slug\": \"\",\n \"content_markdown\": \"<string>\",\n \"meta_description\": \"<string>\",\n \"position\": 1073741823,\n \"published_at\": \"2023-11-07T05:31:56Z\"\n}"
response = http.request(request)
puts response.read_body{
"id": 123,
"collection": 123,
"title": "<string>",
"status": "draft",
"attachments": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"download_url": "<string>"
}
],
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"source_ticket": 123,
"slug": "",
"content_markdown": "<string>",
"meta_description": "<string>",
"position": 1073741823,
"published_at": "2023-11-07T05:31:56Z"
}Authorizations
Path Parameters
Pattern:
^[-a-zA-Z0-9_]+$Pattern:
^[-a-zA-Z0-9_]+$Body
application/jsonapplication/x-www-form-urlencodedmultipart/form-data
Required string length:
1 - 255Pattern:
^[-a-zA-Z0-9_]+$draft- Draftpublished- Publishedarchived- Archived
Available options:
draft, published, archived Markdown content. May be empty or omitted when creating a draft. Omitting it on update preserves existing content. Published and archived articles require content that is not empty or whitespace-only.
Maximum string length:
160Required range:
0 <= x <= 2147483647Response
200 - application/json
Maximum string length:
255draft- Draftpublished- Publishedarchived- Archived
Available options:
draft, published, archived Show child attributes
Show child attributes
Pattern:
^[-a-zA-Z0-9_]+$Markdown content. May be empty or omitted when creating a draft. Omitting it on update preserves existing content. Published and archived articles require content that is not empty or whitespace-only.
Maximum string length:
160Required range:
0 <= x <= 2147483647Was this page helpful?

