---
title: "API Reference"
description: "Use the Bulkhead OS API to manage your content programmatically."
canonical_url: "https://docs.bulkheados.com/api-reference/"
template: "page-node"
schema_type: "WebPage"
---

<div class="docs-content">
<p class="docs-lead">Bulkhead OS exposes a REST API that lets you manage your content programmatically. Use it to automate publishing, integrate with external tools, or build custom workflows.</p>

<h2 id="authentication">Authentication</h2>
<p>All administrative API requests require a scoped personal access token (PAT). Create one from <strong>Workspace Settings → Security → API Keys</strong>, choose only the scopes you need, and store it securely — the raw token is shown once.</p>
<pre><code class="language-bash">curl -H "Authorization: Bearer YOUR_PAT" \
  https://your-domain.com/api/admin/nodes</code></pre>
<div class="docs-callout docs-callout--info">
<p><strong>Tip:</strong> Automations and MCP/AI agents should use the narrowest scopes possible instead of full admin access.</p>
</div>

<h2 id="base-url">Base URL</h2>
<pre><code>https://your-domain.com/api/admin/</code></pre>

<h2 id="rate-limits">Rate Limits</h2>
<p>API requests are rate-limited to protect the platform. Current limits:</p>
<table>
<thead><tr><th>Endpoint</th><th>Limit</th></tr></thead>
<tbody>
<tr><td>Read operations (<code>GET</code>)</td><td>100 requests/minute</td></tr>
<tr><td>Write operations (<code>POST/PATCH/DELETE</code>)</td><td>30 requests/minute</td></tr>
</tbody>
</table>
<p>When rate-limited, the API returns <code>429 Too Many Requests</code> with a <code>Retry-After</code> header.</p>
</div>
