Platform API error

invalid_arguments

invalid_arguments means the arguments you sent to a tool do not match its input schema. Validation runs before the tool is called, so nothing executes.

Updated November 6, 2026

HTTP status
400
Code
invalid_arguments
API
Platform API v1

Returned when

What to do

Example answer

HTTP/1.1 400
content-type: application/json

{
  "error": {
    "code": "invalid_arguments",
    "message": "Invalid arguments for <tool>: <problem>"
  }
}

Related errors

What it means

The Platform API returned HTTP 400 with code invalid_arguments. The arguments in your POST /api/platform/v1/tools/:name request do not match the input schema the tool declares.

Arguments are validated before anything is called. When you get this code, the tool did not run and no side effects were produced, so you can correct the request and send it again without worrying about a partial call. The response follows the standard error shape: an error object with code, message and hint. Match on the code value, since codes are stable and messages are not written for parsing.

Why you are seeing it

Four situations produce this code: an argument the schema does not declare, a missing required argument, a value of the wrong type, or a value outside its range, enum or pattern. A request that sends q to a tool that does not accept q, omits a required field, passes a string where a number is expected, or sends limit above its maximum all land here.

Only the first problem is reported. The message names it, for example "unknown argument: q" or "limit must be at most 50". If your request has several issues, you will fix them one at a time across successive calls.

How to fix it

Fetch the tool definition with GET /api/platform/v1/tools and read that tool's inputSchema. Send only the arguments the schema declares, include every required one, and give each value the declared type and a value inside its range, enum or pattern.

Then send the corrected request again. Because validation happens before execution, a rejected request changes nothing, so there is no cleanup step and no need to reconcile state.

If the message points at an argument you believe you sent correctly, check the shape of the value rather than its intent. A number quoted as a string, an array where a single value is expected, and a value just past a stated limit are all common causes.

Handling it in code

Treat invalid_arguments as a request-side error and do not retry it unchanged. Read the code field of the error object and branch on it; never match on the message text. Log the message and hint, since they name the first problem and make the fix obvious in your logs.

A practical pattern is to validate locally against the inputSchema before you call the tool, so obvious mistakes never leave your service. If you build arguments dynamically, guard against extra keys slipping in from shared or default objects.

Do not surface this to end users as a server fault. It indicates a malformed request from your integration, and the appropriate response is to correct the payload, not to back off or alert on platform availability.

Questions

What HTTP status does invalid_arguments return?

HTTP 400. The error object carries code invalid_arguments, a message naming the first argument problem, and a hint.

Did the tool run when I got invalid_arguments?

No. Arguments are validated before anything is called, so the tool did not execute and no side effects occurred. Correct the arguments and send the request again.

How do I find out which arguments a tool accepts?

Call GET /api/platform/v1/tools and read the tool's inputSchema. Send only the declared arguments, with the declared types and values inside their range, enum or pattern. Related codes are unknown_tool and invalid_json.

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.