Platform API error

world_tools_unavailable

HTTP 501 returned when a platform key calls a website tool that acts on a member's own data. Use the account connector for those calls.

Updated November 6, 2026

HTTP status
501
Code
world_tools_unavailable
API
Platform API v1

Returned when

What to do

Example answer

HTTP/1.1 501
content-type: application/json

{
  "error": {
    "code": "world_tools_unavailable",
    "message": "<tool> acts on a member's own <world> data and is not open to platform keys yet."
  }
}

Related errors

What it means

world_tools_unavailable is the error code the Platform API returns with HTTP status 501 when a platform key calls a website tool through POST /api/platform/v1/tools/:name. Website tools are the ones whose names carry a site prefix such as wuuuh_, senatus_ or helpbless_. Each of them acts on one member's own data inside that site, and the call needs that member's sign-in, so a platform key is not accepted for it yet.

The response body carries the standard error shape: {"error":{"code":"…","message":"…","hint":"…"}}. The message names the tool and the site, for example <tool> acts on a member's own <world> data and is not open to platform keys yet. Codes are stable and messages are not, so branch on the code value and never on the message text.

Why you are seeing it

Your request reached the API with a valid platform key and a tool name that resolves to a website tool. The refusal happens before the tool runs and before any quota or prepaid call is spent, so a rejected request draws nothing from your balance.

You will hit it whether the tool name came from the world catalogue, from an earlier GET /tools response, or from your own configuration. The same call succeeds for the member through the account connector, because there the member signs in and the tool works on their own data. Two codes that often appear nearby are subject_not_supported and unknown_tool; they cover different cases and need their own handling.

How to fix it

Move the call to the account connector at https://onelifevibe.com/mcp. The person signs in to their OneLifeVibe account there, and the tools that act on their own data become available to their connected assistant. Keep the platform key for the calls it is built for.

A platform key can call the world catalogue, the tool registry, the network directory tool (olv_list_worlds) and the event log. Before you design a flow around a tool, call GET /tools and read the callable_with_platform_key flag on each entry. That flag tells you whether the tool belongs on the platform key path or the connector path, so you can avoid the error instead of reacting to it in production.

Handling it in code

Treat HTTP 501 with code world_tools_unavailable as a routing decision, not a transient failure. Do not retry it with the same key and do not put it in a backoff loop, because the result will not change until the call is made on the connector path. Log the tool name, the site prefix and the request identifier so you can trace which flows still point at member tools.

Branch on the code string in your error handler, keep the message for humans only, and show the hint field when the error appears in a dashboard or build log. If your integration supports both paths, register the connector call as the fallback for these tools so a single request can move to it without manual intervention.

Questions

Can I retry a world_tools_unavailable error with the same platform key?

No. The tool acts on a member's own data and needs that member's sign-in, so repeating the request with a platform key returns the same 501. Move the call to the account connector at https://onelifevibe.com/mcp, or pick a tool whose GET /tools entry marks callable_with_platform_key.

Does a refused call spend quota or prepaid credit?

No. The request is refused before any quota or prepaid call is spent, so a world_tools_unavailable response does not draw down your balance.

Which tools can a platform key call?

The world catalogue, the tool registry, the network directory tool (olv_list_worlds) and the event log. GET /tools marks each tool with callable_with_platform_key, so you can check a tool before you build a flow around it.

Keys, plans and usage live in the console: rotate keys, add webhook endpoints, see the last 30 days.

Open the console Plans

Written from the OneLifeVibe tool registry and platform configuration, and checked automatically before publishing. Something wrong? Tell us.