Skip to content

Publishing

All three steps need a session. See write and sell a journal for the rules in plain words.

POST /journal/save

json
{
  "id": 12,
  "ticker": "AAPL",
  "title": "Apple launch week, in the chief executive's own words",
  "dek": "The free preview, 120 to 340 characters...",
  "body": "## The short version\n\nA claim [DJ-AAPL-260918-01]...",
  "priceUsdg": 0.4,
  "authorName": "Marisol Etxeberria"
}

Leave id out to create a draft. Include it to update one of yours. Any edit sets the status back to draft.

StatusWhen
200{ "id": 12 }
409The journal is already published. Published journals cannot be edited
422{ "error": "...", "problems": ["..."] }: every rule the draft breaks
429More than 20 drafts in a day

POST /journal/audit

Body: { "id": 12 }

Reads whether your wallet holds the company's Stock Token, then runs the audit agent. Takes about half a minute.

json
{
  "status": "approved",
  "report": {
    "verdict": "approve",
    "score": 95,
    "summary": "The journal accurately reflects and synthesizes the four cited posts...",
    "issues": [{ "severity": "note", "check": "originality", "detail": "..." }],
    "engine": "x-ai/grok-4.3",
    "auditedAt": "2026-09-20T02:14:09.118Z"
  },
  "metaUrl": "https://dovejournal.com/api/meta/12"
}

status is approved, revise, or rejected. On approval the text is hashed and the journal gets its public slug. A draft can be audited 8 times (429 after that). 503 means the audit agent is unavailable: try again shortly.

Mint, then POST /journal/minted

Once approved, call register(metaUrl) on the Identity Registry from the author's wallet. Then tell the server:

Body: { "id": 12, "tx": "0x..." }

The server reads the receipt and only goes live if:

  • the transaction succeeded and came from the signed-in wallet,
  • it minted a token from the zero address to that wallet,
  • the token's tokenURI equals this journal's metaUrl.

Success: { "slug": "apple-launch-week-...-12" }. The Stock Token's price at that moment is stored with the journal.

GET /journal/{id}/draft

Your own draft, with its last audit report, for reopening in an editor.

An independent archive. Not affiliated with Robinhood Markets, Inc. or xAI. Nothing here is investment advice.