Publish from your own systems, under your own verified identity.

A release script, a status page, an internal tool or a workflow can post to your approved space on CryptoForumHub — without anyone logging in to write it by hand.

Apply for access Jump to the quick start

Available on Self-Service Publishing and Managed Presence. The Free plan does not include API publishing.

Why it exists

Narrow on purpose.

If your team already announces things elsewhere, the API lets the same announcement reach the people who research you on CryptoForumHub, published under your own verified identity rather than an anonymous account.

It is deliberately narrow. It posts to places we have approved for you and nothing else. It cannot moderate, cannot create parts of the forum, and cannot act on anyone else's behalf. That narrowness is the point: it is what makes an automated publisher safe to give a verified identity to.

The decision

Five checks, in order, on every request.

How a publishing request is decided A request passes five checks in order: credential, forum account, plan, destination grant, then Forum Rules and rate limits. Failing any one refuses the request. Your system Credential valid? Plan active? Destination granted? Forum Rules and limits Published Refused — nothing is published
In words: your system sends a request with its credential. We check that the credential is valid and not revoked; that the forum account it belongs to is in good standing; that the plan is active and not expired, suspended or cancelled; that the exact Topic or Category is one we have granted you; and finally that the post satisfies the Forum Rules and the rate limits every member is subject to. If any check fails the request is refused and nothing is published.

How the credential is scoped

What one key is, and everything it cannot do.

A credential is issued to one forum account, publishes only where we approved it, and is re-checked on every single request.

Identity

One credential, one forum account, permanently

It cannot be moved to another account. Everything it publishes appears under that account’s name and history, exactly as if a person had posted it.

Every automated post is attributable to a named identity.

It carries no staff authority

A credential never grants administrator or moderator powers, and we do not issue one to a staff account. It cannot moderate, edit anyone else’s post, or see anything a member cannot see.

A leaked key cannot reach anybody else’s content.

It cannot create structure

No new Categories, no new Subcategories, and no new tags — the API cannot invent taxonomy.

The shape of the forum stays an editorial decision.

The secret is shown once

A new or rotated secret appears exactly once, in your account, at the moment it is created. We store it in a form that cannot be reversed, so we cannot show it again, we cannot recover it, and we will never email it.

There is no copy of your key for us to lose.

Get going

Quick start.

  1. Have an approved forum account and an active Self-Service Publishing or Managed Presence plan.
  2. Create a key in your account and copy it — it is shown once.
  3. Confirm your approved destinations in your account.
  4. Send your first request, using the examples below.

Authentication

Send the key in the X-CFH-Api-Key header on every request. Never put it in a URL or a query string — those are written to server logs and browser history.

Idempotency

Send an Idempotency-Key header on every publishing request, unique per intended publication and reused only on a retry of that same publication. This is what stops a network timeout from double-posting.

Reply to an approved Topic

curl -X POST https://cryptoforumhub.com/cfh-api/v1/publish/replies \
  -H "X-CFH-Api-Key: YOUR_KEY" \
  -H "Idempotency-Key: your-unique-value" \
  -H "Content-Type: application/json" \
  -d '{"topic_id": TOPIC_ID, "raw": "Your update, in Markdown."}'

Create a Topic in an approved Category

curl -X POST https://cryptoforumhub.com/cfh-api/v1/publish/topics \
  -H "X-CFH-Api-Key: YOUR_KEY" \
  -H "Idempotency-Key: your-unique-value" \
  -H "Content-Type: application/json" \
  -d '{"category_id": CATEGORY_ID, "title": "Your title", "raw": "Your update, in Markdown."}'

A successful response

{
  "created": true,
  "duplicate": false,
  "post_id": 0,
  "topic_id": 0,
  "post_number": 0
}

On a retry of a request that already succeeded, created is false and duplicate is true, and the identifiers are those of the post the first attempt created.

Errors

When a request is refused.

Every refusal returns a stable error value. Treat the value, not the wording, as the thing your code branches on.

StatusMeaningWhat to do
400The request is missing something required, such as the body text.Fix the request. Retrying it unchanged will fail again.
401The credential is not recognised.Check the header. If the key was rotated, use the new one.
403We know the credential and the answer is still no — it was revoked, the plan is not active, or the destination is not granted.Check your account. This is not fixed by retrying.
422The forum itself refused the post — for example the Forum Rules or a content check.The response includes the reason. Correct the content.
429You are publishing too quickly.Wait and retry. Use the Retry-After header rather than a fixed delay.
503Publishing is temporarily unavailable.Retry with backoff. Nothing is wrong with your account.

Retry 429 and 503. Do not retry 400, 401, 403 or 422 unchanged — the same request will be refused the same way, and a retry loop against a 403 is indistinguishable from an attack.

Publish from the systems you already run.

API access starts at Self-Service Publishing, after your application is approved and your forum account is linked.

Apply for access See plans

API Terms