Parameters
Parameters define the dimensions along which simulation scenarios can vary. Each parameter is a category — like Temperament or Crowdedness — that contains a set of fields representing its possible values.
![]()
What is a Parameter?
A parameter is a named axis of variation for your simulations. It represents a category (such as “Temperament” or “Location”) and contains fields that define the specific values within that category (such as “Aggressive”, “Confused”, “Happy”, “Passive” for Temperament).
Parameters and their fields are attached to documents and scenarios, letting you organize simulation content along meaningful dimensions and control the conditions under which each simulation runs.
University example: A CS department might define these parameters:
| Parameter | Fields |
|---|---|
| Temperament | Aggressive, Confused, Happy, Passive |
| Intensity | 1 through 10 |
| Crowdedness | 1 through 10 (e.g., “Almost Empty (1)” to “Hectic (10)“) |
| Deadline | Specific deadline contexts |
| Time | Time-of-day contexts |
| Location | Lawson, Felix Haas Hall |
| Class | CS-180, CS-251, CS-252, CS-307, CS-348, CS-381, CS-422 |
How It Connects: The 5-Step Workflow
Parameters contribute to step 2 of the Glow workflow by organizing the scenario content:
- Create Personas — Define AI student characters with temperaments and behaviors.
- Assign to Scenarios — Attach personas and documents to scenarios. Parameters and fields on those documents categorize the simulation conditions.
- Add to Simulations — Group scenarios into simulations.
- Add to Cohorts — Assign profiles and simulations to a cohort.
- Run Attempts — Learners launch simulations under the conditions defined by parameter values.
Parameters connect to fields. Each parameter contains one or more fields. Documents reference both parameters and fields, which helps organize and filter scenarios by their characteristics.
Create a parameter
Via the CLI
Calls below use
$GLOW_INSTANCE_URL+$GLOW_TOKEN— see Authentication to export them once.
glow parameters create --body '{
"parameters": [
{
"name": "Temperament",
"description": "The emotional disposition of the AI student character"
}
]
}'Via the API
All endpoints use POST and require an Authorization: Bearer header.
curl -X POST $GLOW_INSTANCE_URL/parameter/create \
-H "Authorization: Bearer $GLOW_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"parameters": [
{
"name": "Crowdedness",
"description": "How crowded the simulated office hours environment is, from 1 (almost empty) to 10 (hectic)"
}
]
}'![]()
Parameters vs. fields
Understanding the relationship between parameters and fields is essential:
- A parameter is the category (e.g., “Temperament”).
- A field is a specific value within that category (e.g., “Confused”).
Parameters own fields. When you create the “Temperament” parameter, you then create fields like “Aggressive”, “Confused”, “Happy”, and “Passive” under it. Documents and scenarios reference specific fields, while parameters provide the organizational grouping.
Example: The “Location” parameter has fields for “Lawson” and “Felix Haas Hall”. A document for CS-180 office hours might be tagged with the “Lawson” field, so scenarios using that document know the simulated location is Lawson Hall.
![]()
Parameter value resolution
When a scenario runs, Glow resolves each persona {{placeholder}} against the parameter values supplied by the scenario. Parameters define the axis; the scenario supplies the concrete field for each axis at runtime.
For example, a persona referencing {{class}} and {{intensity}} will pull those values from whichever scenario the simulation hands it — so a single persona can drive wildly different conversations depending on the resolved parameter values.
See the Personas parameter fields section for the full list of available placeholders.
Drafts
Parameters support the draft workflow. Changes are saved as a draft before being published, with optimistic concurrency via expected_version.
# Save a parameter draft
glow parameters draft --body '{
"name": "Intensity",
"description": "The intensity level of the simulated interaction, from 1 to 10"
}'Via the API, use PATCH /parameter/draft with fields like input_draft_id, expected_version, name, description, flag_ids, department_ids, and field_ids.
Filtering and search
Parameters support rich search and filtering. You can filter by:
- Scenario — Find parameters used in specific scenarios (
scenario_ids,scenario_search) - Field — Find parameters that contain specific fields (
field_ids,field_search) - Department — Scope to a department (
filter_department_ids,department_search)
# Search parameters by field
curl -X POST $GLOW_INSTANCE_URL/parameter/search \
-H "Authorization: Bearer $GLOW_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"field_search": "Confused",
"page_size": 20
}'Bulk operations
Bulk delete and update follow the canonical all-matching shape — pass either explicit IDs, or all: true with flat filter fields + optional excluded_ids + a patch for updates.
# Delete every parameter in a deprecated department, except canonical references
glow parameters delete --body '{
"all": true,
"filter_department_ids": ["dept-deprecated"],
"excluded_ids": ["param-keep-canonical"]
}'
# Bulk update via patch
glow parameters update --body '{
"all": true,
"filter_department_ids": ["dept-archive"],
"patch": { "archived": true }
}'See the Personas guide for the canonical write-up of this pattern.
Common Operations
| Task | CLI | API Endpoint |
|---|---|---|
| List all parameters | glow parameters list | POST /parameter/search |
| Get a parameter | glow parameters get --body '{...}' | POST /parameter/get |
| Create parameters | glow parameters create --body '{...}' | POST /parameter/create |
| Update parameters | glow parameters update --body '{...}' | POST /parameter/update |
| Duplicate a parameter | — | POST /parameter/duplicate |
| Delete parameters | glow parameters delete --body '{...}' | POST /parameter/delete |
| Bulk delete (filter) | glow parameters delete --body '{"all": true, "filter_…": "…"}' | POST /parameter/delete |
| Export to CSV | glow parameters export | POST /parameter/export |
| Save a draft | glow parameters draft --body '{...}' | PATCH /parameter/draft |
| List drafts | — | POST /parameter/drafts |
Related
- Parameters API
- Parameters CLI
- Fields Guide — the values within each parameter
- Documents Guide — documents reference parameters and fields
- Departments Guide — scope parameters to departments