FoundryNet / Error codes / HTTP / REST 403
HTTP / REST error code

403, Forbidden, guardrail, and often intentional

The request is authenticated and paid for, but a guardrail forbids it. On Forge, guardrail writes are human-approved by design, so an agent hitting 403 on a write is frequently correct behaviour rather than a bug.

Start free HTTP / REST → canonical

Diagnosis

When you hit this


Resolution

How to fix it

  1. Do not automate around it
    If an agent needs a guardrail changed, route it to a human approval step.
  2. Check the key's scope
    A scoped key may be read-only by design.

Normalization

What Forge does about it

This is a design decision, not an oversight. Safety-relevant writes require a human, so automating around a 403 defeats the control it represents. Read paths are unaffected.


Connect

Normalize HTTP / REST telemetry

One MCP endpoint serves every protocol adapter. 2,086 curated mappings, 985 canonical fields defined.

# normalize telemetry from HTTP / REST, one of 13 protocols Forge reads
claude mcp add --transport http forge https://mcp.foundrynet.io/mcp \
  --header 'Authorization: Bearer YOUR_FORGE_KEY'
✓ forge connected, 32 tools available

Related

Keep reading

Other HTTP / REST codes: 401 402 422 429

Equipment that speaks HTTP / REST: Caterpillar Cummins Haas MiR (Mobile Industrial Robots) Universal Robots OTTO Motors 6 River Systems AGILOX Detroit Diesel Fetch Robotics

HTTP / REST protocol hub

Other protocols: Modbus OPC UA MQTT / Sparkplug B FANUC FOCAS EtherNet/IP PROFINET / S7 BACnet/IP J1939 (CAN) MTConnect ROS 2 (DDS) SNMP MAVLink CSV ingest

All error codes · All OEMs · All protocols

Why does a cross-vendor canonical data model matter? The Machine Agent breaks it down weekly. Read it →
Get the thesis behind this infrastructure: The Machine Agent, weekly.