Parameter Serialization
How Parameters Are Encoded
OpenAPI defines how arrays and objects are serialized in URLs and headers. Understanding these styles ensures your API clients send parameters in the format your server expects.
Key Concepts
- • style - How values are delimited (comma, pipe, space, etc.)
- • explode - Whether to repeat key names for arrays
- • allowReserved - Whether to encode reserved characters
Tigrister Automatic Serialization
When you define style and explode in your OpenAPI spec, Tigrister automatically applies the correct serialization when sending requests. Just enter your values normally - Tigrister handles the encoding based on your spec.
Serialization Styles
| Style | Location | Array Example | Default For |
|---|---|---|---|
| simple | path, header | blue,black,brown | path, header |
| form | query, cookie | ?color=blue,black,brown | query, cookie |
| spaceDelimited | query | ?color=blue%20black%20brown | - |
| pipeDelimited | query | ?color=blue|black|brown | - |
| deepObject | query | ?filter[status]=active | - |
| matrix | path | ;color=blue,black,brown | - |
| label | path | .blue.black.brown | - |
form Style
Query DefaultThe default style for query and cookie parameters. Behavior changes based on explode.
explode: false
explode: true(default)
Objects with form Style
explode: false
explode: true
simple Style
Path/Header DefaultComma-separated values without the parameter name. Used for path and header parameters.
Examples
Primitive
Array
Object (explode: false)
spaceDelimited & pipeDelimited
Alternative delimiters for query parameters. Useful when commas might appear in values.
spaceDelimited
Space character is URL-encoded as %20
pipeDelimited
Useful for values that may contain commas
deepObject Style
Objects OnlyRenders object properties as separate parameters with bracket notation. Only works with explode: true (the only valid option).
Nested Object Example
Input Object
{
"filter": {
"status": "active",
"category": "electronics"
}
}Output URL
Spec Definition
Arrays in deepObject
Tigrister also supports arrays within deepObject. Each array element gets an index:
Input Object
{
"filter": {
"tags": ["electronics", "sale"],
"price": { "min": 10, "max": 100 }
}
}Output URL
matrix Style
Path OnlyUses semicolon-prefixed notation (RFC 6570). Less common but useful for complex path parameters.
explode: false
explode: true
label Style
Path OnlyDot-prefixed notation (RFC 6570). Values are separated by dots.
explode: false
explode: true
allowReserved Option
Controls whether reserved characters (:/?#[]@!$'()*+,;=) are URL-encoded or passed through as-is. Only applies to query parameters.
allowReserved: false(default)
Slash (/) is encoded as %2F
allowReserved: true
Slash passes through unencoded
Caution
Use allowReserved: true carefully. Unencoded special characters can cause parsing ambiguity. Only use when the server specifically requires it.
Quick Reference: Defaults by Location
| Parameter Location | Default Style | Default Explode |
|---|---|---|
| path | simple | false |
| query | form | true |
| header | simple | false |
| cookie | form | false |
Tip
If you don't specify style or explode, these defaults are used. Most servers expect the defaults - only override when necessary.