---
title: "Parse Strategy Endpoint"
method: POST
path: "/v1/strategies/parse"
tags: ["strategies"]
---

# Parse Strategy Endpoint

`POST /v1/strategies/parse`

## Request

- Base URL: `https://api.usekeel.io` (the document declares no server; this is the origin it was published from)
- URL: `https://api.usekeel.io/v1/strategies/parse`
- Auth: none declared

Parse DSL source into a graph model for the visual builder.

## Headers

- `Authorization` string, nullable
- `X-Org-Id` string, nullable

## Request body

- ParseStrategyRequest
  - `source` string, required

## Response `200`

Successful Response

- ParseStrategyResponse: Graph-model parse result for the visual builder. `issues` is the 16-field validation envelope (dsl-type-system spec 05 §3.4): each entry is a `ValidationIssue.to_dict()` shape carrying the legacy `level`/`message` keys the builder already reads, plus the full envelope (`code`/`severity`/`location`/`expected`/`actual`/`path`/...). Widened from `list[dict[str, str]]` — eight of the new fields are non-string and would 500 the route under Pydantic v2.
  - `graph` object, required
  - `valid` boolean, required
  - `issues` object[]

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/usekeel/apis/keel-api.md) · [All operations](https://skmtc.dev/usekeel/apis/keel-api/llms.txt) · [OpenAPI document](https://skmtc.dev/usekeel/apis/keel-api/revisions/3191ca10b0ab?raw)
