About 10 minutes

Add an AI ethics review gate, end to end.

Create an agent client, save its secret, send a real proposed action, and route Jymni’s disposition before your agent reaches a consequential tool.

1. Create a scoped credential

Sign in to the credentials console. Give the key a name that identifies one workload, choose its workspace if you want workspace policy rules applied, and set a conservative daily limit.

If your agent platform supports bot-driven enrollment, you can instead tell the bot to join Jymni. It will display a short human approval code and link. Sign in, confirm the exact bot identity and scope, and approve it; the platform receives the credential through an encrypted one-time delivery without exposing it in the conversation. See bot enrollment for the protocol.

!

Copy the secret immediately

Jymni shows the complete credential once. Store it in your server-side secret manager. Never put it in client-side JavaScript, a prompt, a repository, or a log.

2. Make your first REST call

Send the concrete action just before it would create an external effect. Use a unique idempotency key for that action attempt so a network retry does not purchase or record a second consultation.

Shell
curl https://www.jymni.com/api/v1/ethics/consultations \
  --request POST \
  --header "Authorization: Bearer $JYMNI_API_KEY" \
  --header "Content-Type: application/json" \
  --header "Idempotency-Key: deploy-review-2026-09-03-001" \
  --data '{
    "proposed_action": "Publish an AI-written incident summary to all customers",
    "objective": "Explain yesterday’s outage quickly and honestly",
    "actor": {"type": "support_agent", "operator": "Acme reliability team"},
    "stakeholders": ["customers", "on-call engineers", "people named in the draft"],
    "known_facts": ["The root-cause review is not complete"],
    "uncertainties": ["Whether the draft assigns blame accurately"],
    "context": {
      "authority": "delegated",
      "reversibility": "limited",
      "sensitivity": "confidential",
      "quadrant_focus": "reckless",
      "domain": "customer communications",
      "deployment_stage": "pre_deployment"
    }
  }'

A complete response includes the ethical classification, workflow disposition, summary, verdict, required actions, red lines, missing facts, confidence, rubric version, and full evaluation report.

3. Route the disposition

Start with a conservative gate. Jymni’s advice should influence your workflow, but the operator owns the final controls and decision.

Python · simple orchestration gate
import os, uuid, requests

def consult_before(action):
    response = requests.post(
        "https://www.jymni.com/api/v1/ethics/consultations",
        headers={
            "Authorization": f"Bearer {os.environ['JYMNI_API_KEY']}",
            "Idempotency-Key": f"action-{uuid.uuid4()}",
        },
        json=action,
        timeout=60,
    )
    response.raise_for_status()
    advice = response.json()

    if advice["disposition"] == "continue_with_safeguards":
        return {"next": "apply_safeguards", "advice": advice}
    if advice["disposition"] in {"revise_plan", "gather_information"}:
        return {"next": "return_to_planner", "advice": advice}
    if advice["disposition"] == "request_human_review":
        return {"next": "human_review_queue", "advice": advice}
    return {"next": "stop", "advice": advice}
J

Safeguards are work, not decoration

Do not strip the disposition and keep only the score. Execute or verify required safeguards, preserve red lines, and record who accepted responsibility for proceeding.

4. Or connect through MCP

Point a Streamable HTTP MCP client at https://www.jymni.com/mcp and send the same bearer credential. The server exposes one tool: consult_ethics.

Generic MCP client configuration
{
  "mcpServers": {
    "jymni": {
      "type": "streamable-http",
      "url": "https://www.jymni.com/mcp",
      "headers": {
        "Authorization": "Bearer ${JYMNI_API_KEY}"
      }
    }
  }
}

Client configuration formats differ. If your runtime cannot interpolate environment variables in headers, use its documented secret/header facility. Do not paste a secret into a configuration file that will be committed.

5. Move the gate into production

  • Call immediately before consequential tools, not at the vague start of a task.
  • Use one key per environment or workload and rotate it when ownership changes.
  • Redact names, private communications, secrets, and unnecessary personal data.
  • Fail closed for high-impact actions when Jymni is unavailable.
  • Route human review to a named, qualified, accountable owner.
  • Log consultation ID, disposition, rubric version, safeguards, and final human decision.
  • Test all five dispositions and API failure paths before enabling side effects.
  • Review your workspace policies and daily limits on a regular schedule.