You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: fern/products/openapi-def/pages/extensions/parameter-names.mdx
+50-11Lines changed: 50 additions & 11 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,16 +1,19 @@
1
1
---
2
2
title: Customize parameter names
3
-
description: Use `x-fern-parameter-name` to customize query parameter, header and path parameter naming.
3
+
description: Use Fern's parameter extensions to customize naming and behavior of parameters in your OpenAPI definition.
4
4
---
5
5
6
6
<Note>
7
-
The `x-fern-parameter-name` extension allows you to customize the variable names of parameters in your generated SDKs.
7
+
Fern provides several extensions that let you customize how parameters are handled in your OpenAPI definition and generated SDKs.
8
8
</Note>
9
9
10
-
## Headers
10
+
## x-fern-parameter-name
11
11
12
-
In the example below, the header `X-API-Version` is renamed to `version` in the
13
-
generated SDK. The rename makes the SDK more human readable.
12
+
The `x-fern-parameter-name` extension allows you to customize the variable names of parameters in your generated SDKs.
13
+
14
+
### Headers
15
+
16
+
In the example below, the header `X-API-Version` is renamed to `version` in the generated SDK. The rename makes the SDK more human readable.
14
17
15
18
```yaml {8}
16
19
paths:
@@ -26,10 +29,9 @@ paths:
26
29
required: true
27
30
```
28
31
29
-
## Query parameters
32
+
### Query parameters
30
33
31
-
In the example below, the query parameter `q` is renamed to `search_terms` in the
32
-
generated SDK. The rename makes the parameter more approachable for end users.
34
+
In the example below, the query parameter `q` is renamed to `search_terms` in the generated SDK. The rename makes the parameter more approachable for end users.
33
35
34
36
```yaml {8}
35
37
paths:
@@ -45,10 +47,9 @@ paths:
45
47
required: false
46
48
```
47
49
48
-
## Path parameters
50
+
### Path parameters
49
51
50
-
In the example below, the path parameter `userId` is renamed to `id` in the
51
-
generated SDK. The rename makes the SDK less verbose.
52
+
In the example below, the path parameter `userId` is renamed to `id` in the generated SDK. The rename makes the SDK less verbose.
52
53
53
54
```yaml {8}
54
55
paths:
@@ -63,3 +64,41 @@ paths:
63
64
type: string
64
65
required: false
65
66
```
67
+
68
+
## x-fern-sdk-variables
69
+
70
+
The `x-fern-sdk-variables` extension allows you to define variables that will be injected into paths when making requests. These variables can be provided once during client initialization rather than passing them with every request.
71
+
72
+
For example, to automatically inject a project ID into all paths:
73
+
74
+
```yaml
75
+
components:
76
+
x-fern-sdk-variables:
77
+
project_id:
78
+
type: string
79
+
description: "The ID of the project"
80
+
pattern: "^proj_[a-zA-Z0-9]+$"
81
+
82
+
paths:
83
+
"/v1/connect/{project_id}/accounts":
84
+
parameters:
85
+
- name: project_id
86
+
in: path
87
+
required: true
88
+
schema:
89
+
type: string
90
+
pattern: "^proj_[a-zA-Z0-9]+$"
91
+
x-fern-sdk-variable: project_id
92
+
```
93
+
94
+
When using the generated SDK, the `project_id` can be provided once during client initialization:
95
+
96
+
```python
97
+
client = Client(project_id="proj_123")
98
+
```
99
+
100
+
And it will automatically be injected into all paths that reference it.
101
+
102
+
<Note>
103
+
The `x-fern-sdk-variables` extension is currently supported in Python (version 4.24.0+) and TypeScript SDKs.
0 commit comments