Object Editor
The Object Editor is a visual tree-based editor for complex request bodies. Instead of editing raw JSON or XML, you navigate a property tree that reflects the schema of the imported API.
:::info Screenshot needed — light/dark 📸
object-editor-tree-light.png and object-editor-tree-dark.png — Object Editor showing nested properties expanded
:::
When to Use
- When working with deeply nested JSON or SOAP XML bodies
- When you want to avoid manual serialization errors
- When the object has many optional fields and you want to set only specific ones
Using the Object Editor
- In the Request tab, click Edit in Object Editor (or select the body tab with the tree icon).
- The editor shows a tree of property names and types derived from the imported schema.
- Click a property to expand it and enter a value.
- Set array items by clicking the + (Add Item) button next to array nodes.
- A value you leave as null is omitted from the serialized output. What an empty value means
(
"", an empty list,0) depends on the protocol and on whether the field tracks presence — for protobuf bodies see the table in Testing gRPC Services →. - Click Apply to update the request body.
Schema Markers on a Property
When the imported API says something about a field beyond its type, the property carries a small badge and the tooltip spells it out. Every marker is informational — none of them stops you sending a value: this is a testing tool, and provoking the server's error path is a legitimate thing to do.
| Marker | What the tooltip says | Where the flag comes from |
|---|---|---|
| Required | Required — the API expects this field. You may set it to null to test server error handling. | An OpenAPI required list, a protobuf required field, a GraphQL non-null type, or the Google-style option [(google.api.field_behavior) = REQUIRED] on a gRPC field. |
| Read-only | Read-only — the schema says the server sets this field. It is still sent when you fill in a value. | OpenAPI readOnly: true, or OUTPUT_ONLY / IMMUTABLE in a gRPC field's field_behavior. Nothing is filtered out of the request on that basis. |
| Write-only | Write-only — the schema says this field belongs in requests. A value the server returns is still shown. | OpenAPI writeOnly: true, or INPUT_ONLY in a gRPC field's field_behavior. The mirror case. |
| Deprecated | Deprecated — this property is obsolete and may be removed in a future API version. | An OpenAPI deprecated: true, a GraphQL @deprecated, or a protobuf deprecated = true on the field. The value still works and is still sent. |
| Discriminator | Discriminator — this property selects the concrete subtype for polymorphic deserialization. | A union/one-of variant selector in the schema. |
Numeric and length limits appear in the same tooltip as plain notes (Minimum: 1, Max length: 64,
Pattern: …, Items must be unique.). Nothing is checked while you type — if a value outside a limit
is something you want a test to fail on, add an assertion for it.
The badge follows the field, including when what the schema retired is the type the field refers to: a property typed with a deprecated message or enum carries the badge too, because that row is where you would still send one. Two cases stay unbadged — a deprecated class or enum that nothing references, and a single value of an enum, which is chosen from a dropdown rather than listed as a node.
In the text body editor, the same flags appear in the completion list: a deprecated property is offered
with a deprecated hint rather than being hidden.
Filtering the Tree
Press Ctrl+Shift+F to show a filter box at the top of the tree, then type to narrow the tree to matching node names. Matching nodes and their ancestor chains are shown automatically; everything else is hidden. Press Ctrl+Shift+F again with an empty filter, or press Esc, to close the filter and reset the tree.
Keyboard Shortcuts
| Shortcut | Action |
|---|---|
Ctrl+C | Copy the selected node's value (or its path) to the clipboard |
Ctrl+Shift+E | Expand all nodes |
Ctrl+Shift+C | Collapse all nodes |
Delete | Remove the selected array item (root items cannot be deleted) |
Ctrl+Shift+F | Show/hide the filter box |
Esc | Close the filter box and reset the view |
Supported Types
- Primitive types:
string,int,decimal,bool,DateTime - Complex types (nested objects)
- Collections (arrays/lists)
- Enumerations (rendered as dropdown selectors)
Tips
- Press
Ctrl+Zto undo changes inside the editor. - Right-click a node to Reset to default or Set to null.
- The editor respects required vs optional fields from the schema.