---
title: "Generate Trait Values Endpoint"
method: POST
path: "/v1/generate-trait-values"
tags: ["Customer Traits"]
---

# Generate Trait Values Endpoint

`POST /v1/generate-trait-values`

Generate trait values for each scenario for a single trait.

Request:
    - scenarios: list of scenario descriptions (intents), one per scenario
    - traits: exactly one trait (name + data_type)

Response:
    - dict mapping scenario index -> list of trait dicts
    - each trait dict has:
        {
            "name": <trait_name>,       # same as the input trait name
            "data_type": <data_type>,   # normalized data type string
            "value": <generated_value>, # value for that scenario + trait
        }

Frontend mapping:
    - for scenario index i:
        const traitsForScenario = res[i]; // array of trait dicts
        const value = traitsForScenario.find(t => t.name === traitName)?.value;

## Headers

- `X-API-Key` string, required

## Request body

- GenerateTraitValuesRequest — Request: list of scenarios and list of traits; values are generated per scenario per trait.
  - `scenarios` string[], required — List of intents (one per scenario) to generate values for
  - `traits` TraitInput[], required — List of traits (name + data_type) to generate values for
    - `name` string, required — Name of the trait
    - `data_type` 'BOOLEAN' | 'STRING' | 'DATE' | 'NUMBER', required — Enum for trait data types.
  - `agent_prompt` string, nullable — Optional agent description for context
  - `knowledge_base` string, nullable — Optional knowledge base text for context

## Response `200`

Successful Response

- object

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/getbluejay/apis/bluejay-api.md) · [All operations](https://skmtc.net/getbluejay/apis/bluejay-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/getbluejay/bluejay-api/revisions/f48cef80963f/schema)
