---
title: "Validate intent and list missing inputs"
method: POST
path: "/agent/swap/plan"
tags: ["agent", "swap"]
---

# Validate intent and list missing inputs

`POST /agent/swap/plan`

## Request

- Base URL: `https://xmrtousdc.xyz/api/v1`
- URL: `https://xmrtousdc.xyz/api/v1/agent/swap/plan`
- Auth: none declared

Accepts any subset of {direction, chain, amount, to}. Returns state needs_input | needs_destination | invalid_input | ready_to_execute, plus data.guidance.questionsToAsk (ask the user one at a time) and data.swapDetails. Never creates an order.

## Request body

- AgentPlanRequest
  - `direction` string
  - `chain` union
    - string
    - integer
  - `amount` string
  - `to` string
  - `hasFunds` boolean

## Response `200`

Plan response

- object

## Other responses

- `415`: unsupported_media_type: the body must be JSON (content-type: application/json).

---

[API](https://skmtc.dev/xmrtousdc/apis/swapper-agent-api.md) · [All operations](https://skmtc.dev/xmrtousdc/apis/swapper-agent-api/llms.txt) · [OpenAPI document](https://skmtc.dev/xmrtousdc/apis/swapper-agent-api/revisions/9f4252126907?raw)
