---
title: "Add or update a runtime validation application input"
method: POST
path: "/api/v2/runtimeValidation/upsertApplicationInput"
tags: ["Runtime Validation"]
---

# Add or update a runtime validation application input

`POST /api/v2/runtimeValidation/upsertApplicationInput`

## Request

- Base URL: `https://zeropath.com`
- URL: `https://zeropath.com/api/v2/runtimeValidation/upsertApplicationInput`
- Auth: API key in header `X-ZeroPath-API-Token-Id` and API key in header `X-ZeroPath-API-Token-Secret`

Add a user-defined input prompt to a runtime validation profile, or update an existing user-defined prompt. Use this when the generated profile is missing resource identifiers, seeded object ids, workflow tokens, credentials, or other runtime values the validator needs. Generated prompts cannot be replaced through this route. Optionally include an initial value; stored values are encrypted and future profile regenerations preserve user-defined prompts.

## Request body

- RuntimeValidationUpsertApplicationInputRequest
  - `organizationId` string
  - `profileId` string, required
  - `key` string, required: Stable input key to add or update. Use descriptive snake_case-style keys such as agent_id, conversation_id, or connector_session_token.
  - `title` string, required: Human-readable label for the input prompt.
  - `description` string, required: What the validator should receive in this field, including any expected format or resource type.
  - `sensitive` boolean: Display hint for credentials or secrets. Values are encrypted either way.
  - `sortOrder` integer: Optional display order. Omit to append after existing inputs.
  - `value` union: Optional initial value. Non-null values are encrypted immediately; null creates or updates the prompt with no saved value.
    - string
    - number
    - boolean
    - unknown[]
      - unknown
    - object

## Response `200`

Updated redacted input state

- RuntimeValidationSaveApplicationInputsResponse
  - `profileId` string, required
  - `status` 'NOT_ANALYZED' | 'NOT_TESTABLE' | 'NEEDS_INPUT' | 'READY' | 'ERROR', required: Persistent Runtime Validation readiness status for an application profile. READY profiles can be validated against eligible full scans.
  - `inputSummary` RuntimeValidationInputSummary, required
    - `required` integer, required
    - `provided` integer, required
    - `missing` integer, required
  - `inputs` RuntimeValidationApplicationInput[], required
    - `id` string, required
    - `key` string, required
    - `title` string, required
    - `description` string, required
    - `sensitive` boolean, required
    - `sortOrder` integer, required
    - `source` 'GENERATED' | 'USER_DEFINED', required: Whether a runtime validation input prompt was generated from application analysis or manually added by a user/MCP client.
    - `value` union, required: Redacted value metadata. The encrypted value is never returned through normal runtime validation profile routes.
      - object
        - `state` 'missing', required
      - object
        - `state` 'present', required
        - `updatedAt` string, date-time, nullable, required
        - `updatedByUserId` string, nullable, required
        - `expiresAt` string, date-time, nullable, required
        - `expired` boolean, required

## Other responses

- `400`: Error Response
- `401`: Error Response
- `403`: Error Response
- `404`: Error Response
- `409`: Error Response
- `412`: Error Response

---

[API](https://skmtc.dev/zeropath/apis/zeropath-api.md) - [All operations](https://skmtc.dev/zeropath/apis/zeropath-api/llms.txt) - [OpenAPI document](https://skmtc.dev/zeropath/apis/zeropath-api/revisions/126e9c80ba0d?raw)
