Update blog post
curl --request PUT \
--url https://api.truthlocks.com/v1/platform/blog/posts/{id} \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"title": "<string>",
"slug": "<string>",
"category": "<string>",
"content": "<string>",
"excerpt": "<string>",
"cover_image_url": "<string>",
"tags": [
"<string>"
]
}
'import requests
url = "https://api.truthlocks.com/v1/platform/blog/posts/{id}"
payload = {
"title": "<string>",
"slug": "<string>",
"category": "<string>",
"content": "<string>",
"excerpt": "<string>",
"cover_image_url": "<string>",
"tags": ["<string>"]
}
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
title: '<string>',
slug: '<string>',
category: '<string>',
content: '<string>',
excerpt: '<string>',
cover_image_url: '<string>',
tags: ['<string>']
})
};
fetch('https://api.truthlocks.com/v1/platform/blog/posts/{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://api.truthlocks.com/v1/platform/blog/posts/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'title' => '<string>',
'slug' => '<string>',
'category' => '<string>',
'content' => '<string>',
'excerpt' => '<string>',
'cover_image_url' => '<string>',
'tags' => [
'<string>'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-Key: <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.truthlocks.com/v1/platform/blog/posts/{id}"
payload := strings.NewReader("{\n \"title\": \"<string>\",\n \"slug\": \"<string>\",\n \"category\": \"<string>\",\n \"content\": \"<string>\",\n \"excerpt\": \"<string>\",\n \"cover_image_url\": \"<string>\",\n \"tags\": [\n \"<string>\"\n ]\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("X-API-Key", "<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.put("https://api.truthlocks.com/v1/platform/blog/posts/{id}")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"title\": \"<string>\",\n \"slug\": \"<string>\",\n \"category\": \"<string>\",\n \"content\": \"<string>\",\n \"excerpt\": \"<string>\",\n \"cover_image_url\": \"<string>\",\n \"tags\": [\n \"<string>\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.truthlocks.com/v1/platform/blog/posts/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["X-API-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"title\": \"<string>\",\n \"slug\": \"<string>\",\n \"category\": \"<string>\",\n \"content\": \"<string>\",\n \"excerpt\": \"<string>\",\n \"cover_image_url\": \"<string>\",\n \"tags\": [\n \"<string>\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"status": "<string>",
"updated_at": "<string>"
}{
"code": "AUTH_REQUIRED",
"message": "Authentication required",
"http_status": 401
}Blog Management
Update blog post
Update one or more fields on an existing blog post.
PUT
/
v1
/
platform
/
blog
/
posts
/
{id}
Update blog post
curl --request PUT \
--url https://api.truthlocks.com/v1/platform/blog/posts/{id} \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"title": "<string>",
"slug": "<string>",
"category": "<string>",
"content": "<string>",
"excerpt": "<string>",
"cover_image_url": "<string>",
"tags": [
"<string>"
]
}
'import requests
url = "https://api.truthlocks.com/v1/platform/blog/posts/{id}"
payload = {
"title": "<string>",
"slug": "<string>",
"category": "<string>",
"content": "<string>",
"excerpt": "<string>",
"cover_image_url": "<string>",
"tags": ["<string>"]
}
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
title: '<string>',
slug: '<string>',
category: '<string>',
content: '<string>',
excerpt: '<string>',
cover_image_url: '<string>',
tags: ['<string>']
})
};
fetch('https://api.truthlocks.com/v1/platform/blog/posts/{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://api.truthlocks.com/v1/platform/blog/posts/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'title' => '<string>',
'slug' => '<string>',
'category' => '<string>',
'content' => '<string>',
'excerpt' => '<string>',
'cover_image_url' => '<string>',
'tags' => [
'<string>'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-Key: <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.truthlocks.com/v1/platform/blog/posts/{id}"
payload := strings.NewReader("{\n \"title\": \"<string>\",\n \"slug\": \"<string>\",\n \"category\": \"<string>\",\n \"content\": \"<string>\",\n \"excerpt\": \"<string>\",\n \"cover_image_url\": \"<string>\",\n \"tags\": [\n \"<string>\"\n ]\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("X-API-Key", "<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.put("https://api.truthlocks.com/v1/platform/blog/posts/{id}")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"title\": \"<string>\",\n \"slug\": \"<string>\",\n \"category\": \"<string>\",\n \"content\": \"<string>\",\n \"excerpt\": \"<string>\",\n \"cover_image_url\": \"<string>\",\n \"tags\": [\n \"<string>\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.truthlocks.com/v1/platform/blog/posts/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["X-API-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"title\": \"<string>\",\n \"slug\": \"<string>\",\n \"category\": \"<string>\",\n \"content\": \"<string>\",\n \"excerpt\": \"<string>\",\n \"cover_image_url\": \"<string>\",\n \"tags\": [\n \"<string>\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"status": "<string>",
"updated_at": "<string>"
}{
"code": "AUTH_REQUIRED",
"message": "Authentication required",
"http_status": 401
}Updates the specified blog post. Only include the fields you want to change — omitted fields remain unchanged.
Requires the content admin or super admin platform role.
Changing the
slug of a published post updates its public URL. If the post has been shared or indexed, keep the original slug to avoid broken links.Parameters
The blog post ID.
Updated post headline.
Updated URL path segment.
Updated category. One of
engineering, product, security, company, or industry.Updated Markdown body.
Updated short summary.
Updated cover image URL.
Updated list of tags. Replaces the existing tags.
Responses
Authorizations
API key for machine-to-machine authentication
Path Parameters
Body
application/json
⌘I

