Skip to main content
The blog CMS lets platform administrators manage blog content published to www.truthlocks.com/blog. Write posts in the console editor, preview them inline, then publish when ready. Published posts automatically include structured data for search engines, cover images, and newsletter signup prompts.
Managing blog posts requires the content admin or super admin platform role.

Prerequisites

  • Platform administrator access to the console
  • Content admin or super admin role

Post fields

FieldRequiredDescription
titleYesThe post headline displayed on the blog and in search results
slugYesURL path segment (auto-generated from the title, editable)
categoryYesOne of engineering, product, security, company, or industry
contentYesThe full post body in Markdown
excerptNoShort summary shown in post cards and search previews
cover_image_urlNoURL to a cover image displayed at the top of the post
tagsNoComma-separated keywords for filtering and discovery

Post statuses

StatusDescription
draftNot yet visible to readers — you can still edit all fields
publishedLive on the public blog and indexed by search engines
archivedRemoved from the public blog but preserved in the CMS

Viewing posts

Navigate to Blog in the platform sidebar. The page shows a searchable list of all posts with their title, category, status, and publication date. Use the status tabs — All, Draft, Published, Archived — to filter the list. The search bar filters by title, category, and tags.

Creating a post

1

Open the editor

Click New Post to open the post editor.
2

Fill in post details

Enter a title, category, tags, cover image URL, and excerpt. The slug is generated automatically from the title — edit it manually if you need a different URL.
3

Write the content

Write the post body in the Markdown content editor.
4

Save or publish

Click Save Draft to save without publishing, or Publish to publish immediately. Draft posts can be published later from the post list or detail page.

Editing a post

Click any post in the list to open its detail page. Update the title, slug, category, tags, cover image, excerpt, or content, then click Save Changes.
Changing the slug of a published post updates its public URL. If the post has been shared or indexed, consider keeping the original slug to avoid broken links.

Publishing and archiving

From the post list or detail page:
  • Publish — makes a draft post live on the public blog. The post’s published_at timestamp is set automatically.
  • Archive — removes a published post from the public blog. The post remains in the CMS and can be published again later.

Deleting a post

Click the delete icon next to any post in the list, or use the Delete button on the detail page. A confirmation prompt appears before the post is permanently removed.
Deleting a post is permanent and cannot be undone. Archive the post instead if you may want to restore it later.

Managing posts via the API

All blog API endpoints require platform admin authentication.

List posts

curl -X GET "https://api.truthlocks.com/v1/platform/blog/posts?status=published&category=engineering&limit=10&offset=0" \
  -H "X-API-Key: tl_live_your_api_key"
Query parameters:
ParameterTypeDescription
statusstringFilter by status: draft, published, or archived
categorystringFilter by category
limitintegerMaximum number of posts to return (default: 50)
offsetintegerNumber of posts to skip for pagination
Each post in the response includes:
FieldTypeDescription
idstringUnique post identifier
titlestringPost headline
slugstringURL path segment
categorystringPost category
statusstringdraft, published, or archived
tagsarrayList of tag strings
excerptstringShort summary
cover_image_urlstringCover image URL
published_atstring or nullISO 8601 timestamp when the post was published
created_atstringISO 8601 creation timestamp
updated_atstringISO 8601 last-update timestamp

Create a post

curl -X POST https://api.truthlocks.com/v1/platform/blog/posts \
  -H "X-API-Key: tl_live_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "title": "Introducing attestation batching",
    "slug": "introducing-attestation-batching",
    "category": "product",
    "tags": ["attestations", "batch"],
    "excerpt": "Mint up to 100 attestations in a single API call.",
    "content": "# Attestation batching\n\nYou can now mint attestations in bulk...",
    "status": "draft"
  }'
Set status to "draft" to save without publishing, or "published" to publish immediately.

Get a post

curl -X GET https://api.truthlocks.com/v1/platform/blog/posts/{id} \
  -H "X-API-Key: tl_live_your_api_key"

Update a post

curl -X PUT https://api.truthlocks.com/v1/platform/blog/posts/{id} \
  -H "X-API-Key: tl_live_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "title": "Updated title",
    "excerpt": "Revised summary for the post."
  }'

Publish a post

curl -X POST https://api.truthlocks.com/v1/platform/blog/posts/{id}/publish \
  -H "X-API-Key: tl_live_your_api_key"

Archive a post

curl -X POST https://api.truthlocks.com/v1/platform/blog/posts/{id}/archive \
  -H "X-API-Key: tl_live_your_api_key"

Delete a post

curl -X DELETE https://api.truthlocks.com/v1/platform/blog/posts/{id} \
  -H "X-API-Key: tl_live_your_api_key"

Categories

Posts are organized into five categories. Readers can filter by category on the public blog.
CategoryUse for
EngineeringTechnical deep-dives, architecture decisions, and developer tooling
ProductFeature launches, platform updates, and product strategy
SecuritySecurity advisories, compliance updates, and trust infrastructure
CompanyTeam news, partnerships, and organizational updates
IndustryMarket analysis, regulatory developments, and ecosystem commentary

SEO and structured data

Published posts automatically include:
  • Open Graph and Twitter Card tags for rich social media previews
  • JSON-LD structured data (Article schema) for search engine rich snippets
  • Canonical URLs to prevent duplicate indexing
No additional configuration is needed — these are generated from the post’s title, excerpt, cover image, and publication date.

Newsletter campaigns

Send email broadcasts to your subscriber list.

Platform staff

Manage administrator roles and permissions.