# Create a decider

> Creates a decider at version 1: a named question set and the backend that answers it, exactly one of agent_id and tool_id.

Creates a decider at version 1: a named question set and the backend that answers it, exactly one of `agent_id` and `tool_id`. Every question declares a finite answer space, validated here. The backend must be in the decider's project. An agent must carry no tool surface — no tool binding left active by `active_tool_ids` and no `knowledge_config.write_memory_store_id` — or the create is refused with `400 DECIDER_AGENT_NOT_TOOL_LESS`. A tool must be `http` or `pipeline` and must not pin `input` or `questions` in its `preset_parameters`, or the create is refused with `400 DECIDER_TOOL_NOT_CALLABLE`. A duplicate `name` in the project is `409 NAME_CONFLICT`.

  Request

<RequestSchema
  {...require("./create-decider.RequestSchema.json")}
>

<StatusCodes
  {...require("./create-decider.StatusCodes.json")}
>
