DreamerOS

One key. Five checks.

One dros_ API key opens five checks over plain HTTPS. Send text, get a clear answer back. Every response carries an id you can keep as proof. No SDK required - curl works.

Get your key

Sign in at app.dreameros.app and open the Connect page. Select Generate API key. Your key starts with dros_. The free plan includes 100 calls per check per day on the first three checks below. Checks that need a paid plan say so plainly in the response - nothing fails silently.

In every example below, replace dros_YOUR_KEY with your own key. The base URL is https://mcp.dreameros.app.

Free plan

1. Check a message

POST /api/v1/daim/check

Checks one piece of text before or after a model sees it. It flags injected instructions, banned dash characters, and text whose depth does not match its size.

Copy-paste example
curl -X POST https://mcp.dreameros.app/api/v1/daim/check \
  -H "Authorization: Bearer dros_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"phase": "pre", "text": "Summarize this contract in plain terms."}'
Response shape
{
  "pass": true,
  "flags": [],
  "em_dash_stripped": false,
  "injection_detected": false,
  "depth_match_score": 0.6,
  "phase": "pre",
  "governance_event_id": "dro_evt_...",
  "gateway_version": "1.0.0"
}

phase is pre for text going in, post for text coming back.

Free plan

2. Confirm an answer

POST /api/v1/ifp/verify

Checks an answer against the question it claims to answer. It scores how faithful the answer is, how costly a wrong answer would be, and whether the answer finishes the job. The verdict is one word: go, hedge, or block.

Copy-paste example
curl -X POST https://mcp.dreameros.app/api/v1/ifp/verify \
  -H "Authorization: Bearer dros_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"answer": "The refund window is 30 days from delivery.",
       "sources": ["https://example.com/refund-policy"],
       "intent": "confirm the refund window"}'
Response shape
{
  "pass": true,
  "fidelity": 0.9,
  "consequence": 0.95,
  "endgame": 0.85,
  "verdict": "go",
  "cited_sources": ["https://example.com/refund-policy"],
  "failing_axis": null,
  "don_t_kick_problem": false,
  "governance_event_id": "dro_evt_...",
  "gateway_version": "1.0.0"
}

Answers with named sources score better. A long answer with no sources loses points.

Free plan

3. Sharpen a prompt

POST /api/v1/ede/restructure

Takes a rough prompt and returns a cleaner one. It names the intent, the mood, and how deep the answer should go, so the model you call next does better work.

Copy-paste example
curl -X POST https://mcp.dreameros.app/api/v1/ede/restructure \
  -H "Authorization: Bearer dros_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"prompt": "uh can you maybe look at why the build is red and also the login thing"}'
Response shape
{
  "intent": "risk_scan",
  "emotion_signal": "focused",
  "depth_hint": 3,
  "ambiguity": 0.4,
  "multi_question_split": true,
  "restructured_prompt": "1. Find why the build fails. 2. Check the login issue.",
  "mode": "day_to_day",
  "governance_event_id": "dro_evt_...",
  "gateway_version": "1.0.0"
}

restructured_prompt is null when your prompt was already clean. depth_hint runs 1 to 5.

Pro plan

4. Scan for filler

POST /api/v1/slop/check

Checks text or code for filler and low-effort patterns. Each finding names the signal, its severity, the line, and why it matters.

Copy-paste example
curl -X POST https://mcp.dreameros.app/api/v1/slop/check \
  -H "Authorization: Bearer dros_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text": "# leverage our synergy to streamline delivery",
       "language": "text", "mode": "advisory"}'
Response shape
{
  "findings": [
    {
      "signal_name": "banned_filler_word",
      "severity": "low",
      "line_hint": 1,
      "snippet": "# leverage our synergy to streamline delivery",
      "explanation": "Filler word in comment or docstring. Replace with precise language."
    }
  ],
  "total": 1,
  "advisory_summary": "1 finding(s): 1 low. Advisory only.",
  "would_block": false,
  "governance_event_id": "dro_evt_...",
  "gateway_version": "1.0.0"
}

Set language to python, javascript, and so on to scan code instead of prose.

Paid plans

5. Pressure-test a decision

POST /api/v1/govern

Checks a decision statement before you act on it. You get a plain rating - GREEN, YELLOW, or RED - plus a recommendation and any conditions. The full written check rides along in raw, so you see exactly what was said.

Copy-paste example
curl -X POST https://mcp.dreameros.app/api/v1/govern \
  -H "Authorization: Bearer dros_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"statement": "Ship the new pricing page today without a review.",
       "scope": "full"}'
Response shape
{
  "risk_rating": "YELLOW",
  "recommendation": "Hold for one review pass.",
  "conditions": ["Confirm the listed prices match live billing."],
  "raw": "...the full written check...",
  "scope": "full",
  "governance_event_id": "dro_evt_...",
  "gateway_version": "1.0.0"
}

If the check itself cannot run, you get an honest error status - never a made-up rating.

Every response is a record

Each of the five checks returns a governance_event_id. Keep it. It is the reference for that exact call, written to an append-only log on our side. Answers in the app also carry signed receipts - you can check any receipt id at the receipt page, no account needed.

We run checks on ourselves too. See our own copy, checked on a schedule.

One key. Five checks. - copy, paste, run Get your key free