Skip to main content
Glama

RooQuiz

Update respondent

update_examinee
Destructive

Update an examinee (a.k.a. respondent) in the current team, located by its examineeId (the business ID from list_examinees). Editable: name / status (active|disabled) / customData (validated against the team's examinee field definitions: required / unique / type / regex). email, tenant and examineeId cannot be changed. customData REPLACES the whole object and masked values are rejected: never re-send customData you just read, or you will wipe or corrupt phone fields — only write values the user gave you.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameNoNew examinee name
statusNoEnable (active) or disable the examinee
customDataNoCustom field values as a code→value map, validated against the team's examineeFields definitions (required / unique / type / regex). The keys are that team's own field codes — get_examinee shows which codes exist, but only send values the user gave you: this replaces the whole customData object, and re-sending a value you read back (phone fields come back masked) wipes or corrupts it.
examineeIdYesThe examinee business ID (e.g. AB1234567890) to update

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameNoMasked name (J*n)
emailNoMasked email (j***g@example.com); never pass it back as an argument
avatarNoUploaded avatar as { id, url }
statusNoAccount status
tenantNoTeam (tenant) the respondent belongs to
createdAtNoISO datetime of first sign-up
updatedAtNoISO datetime of the last change
customDataNoTeam-defined custom fields; phone-typed values come back masked
examineeIdNoBusiness ID of the respondent (e.g. AB1234567890) — use it to address them
avatarPresetNoPreset avatar reference { theme, seed }, when no image was uploaded
emailVerifiedNoWhether the email has been verified

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • changedOutput schema / properties / avatarPreset / description
      Previous value: -"Preset avatar key, when no image was uploaded"New value: +"Preset avatar reference { theme, seed }, when no image was uploaded"
    • changedOutput schema / properties / avatarPreset / type
      Previous value: -[
      -  "string",
      -  "null"
      -]New value: +[
      +  "object",
      +  "null"
      +]
  2. First observed

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description goes well beyond the destructiveHint annotation: it warns that customData REPLACES the whole object, that masked values are rejected, and that re-sending read values can wipe phone fields. This is exactly the kind of behavioral trap an agent must know before calling, and no annotation can convey it.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is dense but well-structured: it opens with the core action, then enumerates editable fields manageable size, and finishes with the high-risk customData warning. It is slightly long but every sentence earns its place; there is no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a moderately complex mutation with high-risk customData semantics, the description covers identification, editable fields, immutable fields, validation rules, and destructive pitfalls. It is complete enough that an agent can safely invoke the endpoint without hidden surprises. An output schema exists, so not re-describing return values is acceptable.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Despite the schema parameter descriptions, the text adds critical semantics: customData replacement semantics, the validation rules (required/unique/type), and the immutable email/tenant fields. It also explains examineeId provenance. This far exceeds what the raw schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and target ('Update an examinee'), identifies the locating key (examineeId), and clarifies the scoped context ('in the current team'). It also names the source of examineeId (list_examinees), so an agent can determine what this tool does and on which resource without opening the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives clear, actionable context: the examinee is found by examineeId from list_examinees廉, and it enumerates which fields are editable versus immutable (email, tenant, examineeId). It does not explicitly contrast with alternative update tools, but the usage context is strong enough to route an agent correctly.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources