# Ignition 8.3: RPC call works in Designer but not in (legacy) Client

**URL:** <https://forum.inductiveautomation.com/t/ignition-8-3-rpc-call-works-in-designer-but-not-in-legacy-client/113060>\
**Category:** Module Development\
**Tags:** ignition83, vision\
**Created:** [January 4, 2026, 1:28am UTC](https://forum.inductiveautomation.com/t/ignition-8-3-rpc-call-works-in-designer-but-not-in-legacy-client/113060 "2026-01-04T01:28:36Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![mpderbec](https://avatars.discourse-cdn.com/v4/letter/m/bbe5ce/32.png) [@mpderbec](https://forum.inductiveautomation.com/u/mpderbec)\
**Post date:** [January 4, 2026, 1:28am UTC](https://forum.inductiveautomation.com/t/ignition-8-3-rpc-call-works-in-designer-but-not-in-legacy-client/113060/1 "2026-01-04T01:28:36Z")

</div>

I’m close to the end of the conversion of my module from 8.0 to 8.3 compatible.

I have an Ignition Vision component that makes an RPC call to my Gateway hook.

It works great in Designer, but in Client (i.e. Ignition Vision Client), I receive the following string back when I try to use the RPC interface:

```python
com.inductiveautomation.ignition.common.rpc.RpcException: Unable to invoke gateway function 'com.seeq.ignition.seeq-configuration.getSeeqServerURL' - client is missing required permission

```

Any ideas?

---

<div class="post-metadata">

**Author:** ![David\_Stone](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/david_stone/32/79749_2.png) [@David\_Stone](https://forum.inductiveautomation.com/u/David_Stone)\
**Post date:** [January 4, 2026, 1:36am UTC](https://forum.inductiveautomation.com/t/ignition-8-3-rpc-call-works-in-designer-but-not-in-legacy-client/113060/2 "2026-01-04T01:36:49Z")

</div>

What does your RPC implementation on the gateway look like?

Do you have a line like: `@RpcDelegate.RunsOnClient(clientPermissionId = ClientPermissionsConstants.UNRESTRICTED)`

---

<div class="post-metadata">

**Author:** ![mpderbec](https://avatars.discourse-cdn.com/v4/letter/m/bbe5ce/32.png) [@mpderbec](https://forum.inductiveautomation.com/u/mpderbec)\
**Post date:** [January 4, 2026, 2:19am UTC](https://forum.inductiveautomation.com/t/ignition-8-3-rpc-call-works-in-designer-but-not-in-legacy-client/113060/3 "2026-01-04T02:19:43Z")

</div>

It looks like this:

```python
import com.inductiveautomation.ignition.common.rpc.RpcInterface;

/**
 * The RPC interface that the Gateway part of the Seeq module supports. This interface is used from the Designer and
 * Client components to retrieve certain configuration information.
 */
@RpcInterface(packageId = "seeq-configuration")
public interface IgnitionModuleConfiguration {

    /**
     * The URL of the Seeq Server that the module is pointed at.
     *
     * @return the URL of the Seeq Server that the module is pointed at
     */
    String getSeeqServerURL();
}

```

If I try to add the line you mention to the interface I get a warning/error:

```python
warning: Cannot find annotation method 'clientPermissionId()' in type 'RunsOnClient': class file for com.inductiveautomation.ignition.gateway.rpc.RpcDelegate not found

```

---

<div class="post-metadata">

**Author:** ![David\_Stone](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/david_stone/32/79749_2.png) [@David\_Stone](https://forum.inductiveautomation.com/u/David_Stone)\
**Post date:** [January 4, 2026, 2:27am UTC](https://forum.inductiveautomation.com/t/ignition-8-3-rpc-call-works-in-designer-but-not-in-legacy-client/113060/4 "2026-01-04T02:27:05Z")

</div>

That's the common scoped Interface, im talking about the gateway implementation of that interface?

---

<div class="post-metadata">

**Author:** ![mpderbec](https://avatars.discourse-cdn.com/v4/letter/m/bbe5ce/32.png) [@mpderbec](https://forum.inductiveautomation.com/u/mpderbec)\
**Post date:** [January 4, 2026, 2:30am UTC](https://forum.inductiveautomation.com/t/ignition-8-3-rpc-call-works-in-designer-but-not-in-legacy-client/113060/5 "2026-01-04T02:30:44Z")

</div>

Ah OK (that error I encountered should have clued me in, gateway-api isn’t loaded in Client runtimes).

That did it! I added that line to the implementation and I’m golden. Thank you.

---

<div class="post-metadata">

**Author:** ![David\_Stone](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/david_stone/32/79749_2.png) [@David\_Stone](https://forum.inductiveautomation.com/u/David_Stone)\
**Post date:** [January 4, 2026, 2:32am UTC](https://forum.inductiveautomation.com/t/ignition-8-3-rpc-call-works-in-designer-but-not-in-legacy-client/113060/6 "2026-01-04T02:32:50Z")

</div>

I'm currently working through some of the same mechanisms for some modules right now, so it was on the top of my brain as a result.
