> ## Documentation Index
> Fetch the complete documentation index at: https://docs.parmanasystems.com/llms.txt
> Use this file to discover all available pages before exploring further.

# REST API Introduction

> 14 routes, enumerated from packages/api/src/app.ts. Every status code and error shape on this page was triggered against a live server in this session, not inferred from code.

<Info>**\[AVAILABLE]**, every route below is mounted in `packages/api/src/app.ts`. No other routes exist.</Info>

## Base URL

Local: `http://localhost:3000` (see [Quickstart](/quickstart) for starting the server).

## Errors

Non-2xx responses are `{ "error": string }`, sometimes with a `code` field, per
`packages/api/src/middleware/error-handler.ts`, verified for each route on
[Endpoints](/api-reference/endpoints):

| Status              | When                                                                                                                              | Verified this session                                                                                           |
| ------------------- | --------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- |
| 400                 | `BusinessTransactionValidationError`, `PolicyValidationError`, `SignalValidationError`, or a route's own hand-written field check | Field checks yes, on every route. `BusinessTransactionValidationError` specifically, no, see the warning below. |
| 404                 | `PolicyNotFoundError`, or a route's own "not found" check                                                                         | Yes                                                                                                             |
| 409                 | `DuplicateBusinessTransactionError`                                                                                               | Yes                                                                                                             |
| (varies, seen: 500) | Any other `RuntimeError`, status/code from the error itself                                                                       | Yes, `RUNTIME_ERROR` / `VERIFICATION_FAILED`                                                                    |
| 500                 | Unexpected failure (logged via `console.error`, not a structured logger, see [Roadmap](/roadmap))                                 | Yes, see the warning below                                                                                      |

<Warning>
  **A structurally incomplete `POST /execute` or `POST /transactions` body does not reach the
  400 `BusinessTransactionValidationError` path this table implies exists for it.** It throws
  an unhandled `TypeError` from deep inside validation, caught only by the generic 500 case.
  Full detail and the exact server-side stack trace on [Endpoints](/api-reference/endpoints).
</Warning>

The Python SDK raises a specific exception per status code
(`ValidationError`/`NotFoundError`/`ConflictError`/`ServerError`/etc.), see
[Python SDK](/sdks/python). The TypeScript SDK does not, see
[TypeScript SDK](/sdks/typescript).

## Auth

<Warning>No authentication or authorization middleware exists on this API today. Every route above is unauthenticated in the current implementation.</Warning>

See [Endpoints](/api-reference/endpoints) for the full route reference.
