CivicDataForge › Data › DEV publication evidence

Ask whether a DEV article is published. Get evidence—not a guess.

DEV's public article representation can omit published even for a live article. This compatibility API resolves the state from the official endpoint contract and keeps missing, explicit null, and explicit false separate in a sealed shape receipt.

Live and credential-blind. Public article checks require no account or key. The hosted API, Apify Actor, and MCP tool reject credentials instead of asking customers to trust us with them.

Use the direct APIRun on ApifyConnect by MCP

One request

GET https://civicdataforge-devto-evidence.neoaethel.workers.dev/v1/devto/publication-evidence?url=https%3A%2F%2Fdev.to%2Fcivicdataforge%2Fwhat-broke-when-we-turned-government-open-data-into-agent-callable-evidence-1m81

Stable states

StateMeaning
PUBLISHEDThe official public article endpoint returned HTTP 200. This stays true even when its representation omits published.
DRAFTThe unified local client found an explicit published: false owner record after the public endpoint returned 404. The key travels directly from the owner's process to DEV and never reaches CivicDataForge.
UNKNOWNThe evidence cannot distinguish deletion, changed identity, or an unknown article. The API does not manufacture a false answer.

Use the normal DEV API plus the publication fix

The unified local client supports DEV's official /api/* methods. It prints a short evidence summary by default—never an unexpected wall of article HTML, Markdown, profile data, or organization metadata. Add --raw only when the complete unchanged DEV response is actually needed. On official single-article GET routes it automatically resolves a missing public published field to PUBLISHED and can use the owner's records to resolve an authenticated public 404 to DRAFT when supported by an explicit false field.

It locks requests to https://dev.to, rejects redirects and credential-like query parameters, records hashes instead of private payloads, and performs no automatic retries or writes. CivicDataForge never receives the key or private result.

Download unified local clientDownload user guideSHA-256 checksum

Public check — no key

node civicdataforge-devto-direct.mjs --path /api/articles/4471683 --public

Replace 4471683 with the article ID to check. The example ID is CivicDataForge's known public article; it is not embedded in the client.

Use your own DEV key

node civicdataforge-devto-direct.mjs --path /api/articles/me/all
  1. Remove --public.
  2. Run the command.
  3. At DEV API key (hidden; sent directly to dev.to):, paste the key and press Enter.
  4. Nothing appears while pasting because the prompt deliberately hides the credential.

Never put a DEV key in JSON, the downloaded file, or the command itself. Add --raw only when the complete DEV response is deliberately needed.

Same authority, clearer result: the client does not create new permissions or bypass DEV. It performs only the official operation the owner invokes, preserves DEV's response, and adds the publication-state evidence DEV's ordinary representation can omit.

Why the receipt matters

Every result includes observed and expected keys, missing expected keys, explicit-null keys, explicit-false keys, an endpoint-shape fingerprint, the DEV response hash, the derivation basis, and a final receipt hash. Schema drift is visible even when the upstream request succeeds.

Boundary: the hosted service does not accept credentials, modify DEV, expose private drafts, or claim DEV emitted a field it omitted. A public 404 remains UNKNOWN.

OpenAPI 3.1 · Official Forem API contract · Contact CivicDataForge