---
title: "Content API"
description: "Create, read, update, and manage content nodes via the API."
canonical_url: "https://docs.bulkheados.com/api-reference/content/"
template: "page-node"
schema_type: "WebPage"
---

<div class="docs-content">
<p class="docs-lead">The Content API lets you manage your published content programmatically. Create pages, update posts, and manage your content library from code.</p>

<h2 id="list-nodes">List Content</h2>
<pre><code class="language-bash">GET /api/admin/nodes?limit=20&offset=0</code></pre>
<p>Returns a paginated list of all your content nodes. Filter by status, type, or search query.</p>

<h2 id="create-node">Create Content</h2>
<pre><code class="language-bash">POST /api/admin/nodes
Content-Type: application/json

{
  "title": "My New Page",
  "slug": "my-new-page",
  "node_type": "page",
  "body": "&lt;p&gt;Hello, world!&lt;/p&gt;",
  "status": "published"
}</code></pre>

<h2 id="update-node">Update Content</h2>
<pre><code class="language-bash">PATCH /api/admin/nodes/:id
Content-Type: application/json

{
  "title": "Updated Title",
  "body": "&lt;p&gt;Updated content.&lt;/p&gt;"
}</code></pre>

<h2 id="delete-node">Archive Content</h2>
<pre><code class="language-bash">DELETE /api/admin/nodes/:id</code></pre>
<p>Content is soft-deleted (archived), not permanently removed. You can restore archived content from the Library.</p>

<h2 id="response-format">Response Format</h2>
<p>All responses return JSON with this structure:</p>
<pre><code class="language-json">{
  "success": true,
  "data": { ... },
  "meta": {
    "total": 42,
    "limit": 20,
    "offset": 0
  }
}</code></pre>
</div>
