openrouter 0.1.2__py3-none-any.whl → 0.6.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (84) hide show
  1. openrouter/_version.py +2 -2
  2. openrouter/analytics.py +28 -2
  3. openrouter/api_keys.py +210 -14
  4. openrouter/chat.py +192 -200
  5. openrouter/components/__init__.py +229 -285
  6. openrouter/components/_schema10.py +39 -0
  7. openrouter/components/_schema14.py +11 -0
  8. openrouter/components/_schema17.py +154 -0
  9. openrouter/components/{_schema3.py → _schema19.py} +28 -22
  10. openrouter/components/{_schema0.py → _schema5.py} +7 -5
  11. openrouter/components/assistantmessage.py +32 -1
  12. openrouter/components/chatgenerationparams.py +57 -343
  13. openrouter/components/chatmessagecontentitemimage.py +4 -4
  14. openrouter/components/chatresponsechoice.py +1 -6
  15. openrouter/components/chatstreamingmessagechunk.py +3 -3
  16. openrouter/components/developermessage.py +41 -0
  17. openrouter/components/message.py +6 -39
  18. openrouter/components/model.py +7 -1
  19. openrouter/components/openresponsesrequest.py +31 -39
  20. openrouter/components/outputmodality.py +1 -0
  21. openrouter/components/providername.py +2 -0
  22. openrouter/components/providerpreferences.py +2 -10
  23. openrouter/components/publicendpoint.py +8 -24
  24. openrouter/components/publicpricing.py +3 -24
  25. openrouter/credits.py +86 -14
  26. openrouter/embeddings.py +92 -20
  27. openrouter/endpoints.py +62 -2
  28. openrouter/generations.py +26 -0
  29. openrouter/guardrails.py +3367 -0
  30. openrouter/models_.py +120 -12
  31. openrouter/oauth.py +90 -22
  32. openrouter/operations/__init__.py +601 -30
  33. openrouter/operations/bulkassignkeystoguardrail.py +116 -0
  34. openrouter/operations/bulkassignmemberstoguardrail.py +116 -0
  35. openrouter/operations/bulkunassignkeysfromguardrail.py +116 -0
  36. openrouter/operations/bulkunassignmembersfromguardrail.py +116 -0
  37. openrouter/operations/createauthkeyscode.py +81 -3
  38. openrouter/operations/createcoinbasecharge.py +82 -2
  39. openrouter/operations/createembeddings.py +82 -3
  40. openrouter/operations/createguardrail.py +325 -0
  41. openrouter/operations/createkeys.py +81 -3
  42. openrouter/operations/createresponses.py +84 -3
  43. openrouter/operations/deleteguardrail.py +104 -0
  44. openrouter/operations/deletekeys.py +69 -3
  45. openrouter/operations/exchangeauthcodeforapikey.py +81 -3
  46. openrouter/operations/getcredits.py +70 -1
  47. openrouter/operations/getcurrentkey.py +81 -3
  48. openrouter/operations/getgeneration.py +248 -3
  49. openrouter/operations/getguardrail.py +228 -0
  50. openrouter/operations/getkey.py +64 -1
  51. openrouter/operations/getmodels.py +95 -5
  52. openrouter/operations/getuseractivity.py +62 -1
  53. openrouter/operations/list.py +63 -1
  54. openrouter/operations/listembeddingsmodels.py +74 -0
  55. openrouter/operations/listendpoints.py +65 -2
  56. openrouter/operations/listendpointszdr.py +70 -2
  57. openrouter/operations/listguardrailkeyassignments.py +192 -0
  58. openrouter/operations/listguardrailmemberassignments.py +187 -0
  59. openrouter/operations/listguardrails.py +238 -0
  60. openrouter/operations/listkeyassignments.py +180 -0
  61. openrouter/operations/listmemberassignments.py +175 -0
  62. openrouter/operations/listmodelscount.py +74 -0
  63. openrouter/operations/listmodelsuser.py +70 -2
  64. openrouter/operations/listproviders.py +70 -2
  65. openrouter/operations/sendchatcompletionrequest.py +87 -3
  66. openrouter/operations/updateguardrail.py +334 -0
  67. openrouter/operations/updatekeys.py +63 -0
  68. openrouter/providers.py +36 -2
  69. openrouter/responses.py +178 -148
  70. openrouter/sdk.py +5 -8
  71. openrouter/types/models.py +378 -0
  72. {openrouter-0.1.2.dist-info → openrouter-0.6.0.dist-info}/METADATA +5 -1
  73. {openrouter-0.1.2.dist-info → openrouter-0.6.0.dist-info}/RECORD +76 -63
  74. {openrouter-0.1.2.dist-info → openrouter-0.6.0.dist-info}/WHEEL +1 -1
  75. openrouter/completions.py +0 -361
  76. openrouter/components/completionchoice.py +0 -82
  77. openrouter/components/completioncreateparams.py +0 -277
  78. openrouter/components/completionlogprobs.py +0 -54
  79. openrouter/components/completionresponse.py +0 -46
  80. openrouter/components/completionusage.py +0 -19
  81. openrouter/operations/getparameters.py +0 -123
  82. openrouter/parameters.py +0 -237
  83. {openrouter-0.1.2.dist-info → openrouter-0.6.0.dist-info}/licenses/LICENSE +0 -0
  84. {openrouter-0.1.2.dist-info → openrouter-0.6.0.dist-info}/top_level.txt +0 -0
@@ -1,22 +1,112 @@
1
1
  """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
2
 
3
3
  from __future__ import annotations
4
- from openrouter.types import BaseModel
5
- from openrouter.utils import FieldMetadata, QueryParamMetadata
6
- from typing import Optional
4
+ from openrouter.types import BaseModel, UnrecognizedStr
5
+ from openrouter.utils import (
6
+ FieldMetadata,
7
+ HeaderMetadata,
8
+ QueryParamMetadata,
9
+ validate_open_enum,
10
+ )
11
+ import pydantic
12
+ from pydantic.functional_validators import PlainValidator
13
+ from typing import Literal, Optional, Union
7
14
  from typing_extensions import Annotated, NotRequired, TypedDict
8
15
 
9
16
 
17
+ class GetModelsGlobalsTypedDict(TypedDict):
18
+ http_referer: NotRequired[str]
19
+ r"""The app identifier should be your app's URL and is used as the primary identifier for rankings.
20
+ This is used to track API usage per application.
21
+
22
+ """
23
+ x_title: NotRequired[str]
24
+ r"""The app display name allows you to customize how your app appears in OpenRouter's dashboard.
25
+
26
+ """
27
+
28
+
29
+ class GetModelsGlobals(BaseModel):
30
+ http_referer: Annotated[
31
+ Optional[str],
32
+ pydantic.Field(alias="HTTP-Referer"),
33
+ FieldMetadata(header=HeaderMetadata(style="simple", explode=False)),
34
+ ] = None
35
+ r"""The app identifier should be your app's URL and is used as the primary identifier for rankings.
36
+ This is used to track API usage per application.
37
+
38
+ """
39
+
40
+ x_title: Annotated[
41
+ Optional[str],
42
+ pydantic.Field(alias="X-Title"),
43
+ FieldMetadata(header=HeaderMetadata(style="simple", explode=False)),
44
+ ] = None
45
+ r"""The app display name allows you to customize how your app appears in OpenRouter's dashboard.
46
+
47
+ """
48
+
49
+
50
+ Category = Union[
51
+ Literal[
52
+ "programming",
53
+ "roleplay",
54
+ "marketing",
55
+ "marketing/seo",
56
+ "technology",
57
+ "science",
58
+ "translation",
59
+ "legal",
60
+ "finance",
61
+ "health",
62
+ "trivia",
63
+ "academia",
64
+ ],
65
+ UnrecognizedStr,
66
+ ]
67
+ r"""Filter models by use case category"""
68
+
69
+
10
70
  class GetModelsRequestTypedDict(TypedDict):
11
- category: NotRequired[str]
71
+ http_referer: NotRequired[str]
72
+ r"""The app identifier should be your app's URL and is used as the primary identifier for rankings.
73
+ This is used to track API usage per application.
74
+
75
+ """
76
+ x_title: NotRequired[str]
77
+ r"""The app display name allows you to customize how your app appears in OpenRouter's dashboard.
78
+
79
+ """
80
+ category: NotRequired[Category]
81
+ r"""Filter models by use case category"""
12
82
  supported_parameters: NotRequired[str]
13
83
 
14
84
 
15
85
  class GetModelsRequest(BaseModel):
16
- category: Annotated[
86
+ http_referer: Annotated[
17
87
  Optional[str],
88
+ pydantic.Field(alias="HTTP-Referer"),
89
+ FieldMetadata(header=HeaderMetadata(style="simple", explode=False)),
90
+ ] = None
91
+ r"""The app identifier should be your app's URL and is used as the primary identifier for rankings.
92
+ This is used to track API usage per application.
93
+
94
+ """
95
+
96
+ x_title: Annotated[
97
+ Optional[str],
98
+ pydantic.Field(alias="X-Title"),
99
+ FieldMetadata(header=HeaderMetadata(style="simple", explode=False)),
100
+ ] = None
101
+ r"""The app display name allows you to customize how your app appears in OpenRouter's dashboard.
102
+
103
+ """
104
+
105
+ category: Annotated[
106
+ Annotated[Optional[Category], PlainValidator(validate_open_enum(False))],
18
107
  FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
19
108
  ] = None
109
+ r"""Filter models by use case category"""
20
110
 
21
111
  supported_parameters: Annotated[
22
112
  Optional[str],
@@ -3,18 +3,79 @@
3
3
  from __future__ import annotations
4
4
  from openrouter.components import activityitem as components_activityitem
5
5
  from openrouter.types import BaseModel
6
- from openrouter.utils import FieldMetadata, QueryParamMetadata
6
+ from openrouter.utils import FieldMetadata, HeaderMetadata, QueryParamMetadata
7
7
  import pydantic
8
8
  from typing import List, Optional
9
9
  from typing_extensions import Annotated, NotRequired, TypedDict
10
10
 
11
11
 
12
+ class GetUserActivityGlobalsTypedDict(TypedDict):
13
+ http_referer: NotRequired[str]
14
+ r"""The app identifier should be your app's URL and is used as the primary identifier for rankings.
15
+ This is used to track API usage per application.
16
+
17
+ """
18
+ x_title: NotRequired[str]
19
+ r"""The app display name allows you to customize how your app appears in OpenRouter's dashboard.
20
+
21
+ """
22
+
23
+
24
+ class GetUserActivityGlobals(BaseModel):
25
+ http_referer: Annotated[
26
+ Optional[str],
27
+ pydantic.Field(alias="HTTP-Referer"),
28
+ FieldMetadata(header=HeaderMetadata(style="simple", explode=False)),
29
+ ] = None
30
+ r"""The app identifier should be your app's URL and is used as the primary identifier for rankings.
31
+ This is used to track API usage per application.
32
+
33
+ """
34
+
35
+ x_title: Annotated[
36
+ Optional[str],
37
+ pydantic.Field(alias="X-Title"),
38
+ FieldMetadata(header=HeaderMetadata(style="simple", explode=False)),
39
+ ] = None
40
+ r"""The app display name allows you to customize how your app appears in OpenRouter's dashboard.
41
+
42
+ """
43
+
44
+
12
45
  class GetUserActivityRequestTypedDict(TypedDict):
46
+ http_referer: NotRequired[str]
47
+ r"""The app identifier should be your app's URL and is used as the primary identifier for rankings.
48
+ This is used to track API usage per application.
49
+
50
+ """
51
+ x_title: NotRequired[str]
52
+ r"""The app display name allows you to customize how your app appears in OpenRouter's dashboard.
53
+
54
+ """
13
55
  date_: NotRequired[str]
14
56
  r"""Filter by a single UTC date in the last 30 days (YYYY-MM-DD format)."""
15
57
 
16
58
 
17
59
  class GetUserActivityRequest(BaseModel):
60
+ http_referer: Annotated[
61
+ Optional[str],
62
+ pydantic.Field(alias="HTTP-Referer"),
63
+ FieldMetadata(header=HeaderMetadata(style="simple", explode=False)),
64
+ ] = None
65
+ r"""The app identifier should be your app's URL and is used as the primary identifier for rankings.
66
+ This is used to track API usage per application.
67
+
68
+ """
69
+
70
+ x_title: Annotated[
71
+ Optional[str],
72
+ pydantic.Field(alias="X-Title"),
73
+ FieldMetadata(header=HeaderMetadata(style="simple", explode=False)),
74
+ ] = None
75
+ r"""The app display name allows you to customize how your app appears in OpenRouter's dashboard.
76
+
77
+ """
78
+
18
79
  date_: Annotated[
19
80
  Optional[str],
20
81
  pydantic.Field(alias="date"),
@@ -9,13 +9,56 @@ from openrouter.types import (
9
9
  UNSET,
10
10
  UNSET_SENTINEL,
11
11
  )
12
- from openrouter.utils import FieldMetadata, QueryParamMetadata
12
+ from openrouter.utils import FieldMetadata, HeaderMetadata, QueryParamMetadata
13
+ import pydantic
13
14
  from pydantic import model_serializer
14
15
  from typing import List, Optional
15
16
  from typing_extensions import Annotated, NotRequired, TypedDict
16
17
 
17
18
 
19
+ class ListGlobalsTypedDict(TypedDict):
20
+ http_referer: NotRequired[str]
21
+ r"""The app identifier should be your app's URL and is used as the primary identifier for rankings.
22
+ This is used to track API usage per application.
23
+
24
+ """
25
+ x_title: NotRequired[str]
26
+ r"""The app display name allows you to customize how your app appears in OpenRouter's dashboard.
27
+
28
+ """
29
+
30
+
31
+ class ListGlobals(BaseModel):
32
+ http_referer: Annotated[
33
+ Optional[str],
34
+ pydantic.Field(alias="HTTP-Referer"),
35
+ FieldMetadata(header=HeaderMetadata(style="simple", explode=False)),
36
+ ] = None
37
+ r"""The app identifier should be your app's URL and is used as the primary identifier for rankings.
38
+ This is used to track API usage per application.
39
+
40
+ """
41
+
42
+ x_title: Annotated[
43
+ Optional[str],
44
+ pydantic.Field(alias="X-Title"),
45
+ FieldMetadata(header=HeaderMetadata(style="simple", explode=False)),
46
+ ] = None
47
+ r"""The app display name allows you to customize how your app appears in OpenRouter's dashboard.
48
+
49
+ """
50
+
51
+
18
52
  class ListRequestTypedDict(TypedDict):
53
+ http_referer: NotRequired[str]
54
+ r"""The app identifier should be your app's URL and is used as the primary identifier for rankings.
55
+ This is used to track API usage per application.
56
+
57
+ """
58
+ x_title: NotRequired[str]
59
+ r"""The app display name allows you to customize how your app appears in OpenRouter's dashboard.
60
+
61
+ """
19
62
  include_disabled: NotRequired[str]
20
63
  r"""Whether to include disabled API keys in the response"""
21
64
  offset: NotRequired[str]
@@ -23,6 +66,25 @@ class ListRequestTypedDict(TypedDict):
23
66
 
24
67
 
25
68
  class ListRequest(BaseModel):
69
+ http_referer: Annotated[
70
+ Optional[str],
71
+ pydantic.Field(alias="HTTP-Referer"),
72
+ FieldMetadata(header=HeaderMetadata(style="simple", explode=False)),
73
+ ] = None
74
+ r"""The app identifier should be your app's URL and is used as the primary identifier for rankings.
75
+ This is used to track API usage per application.
76
+
77
+ """
78
+
79
+ x_title: Annotated[
80
+ Optional[str],
81
+ pydantic.Field(alias="X-Title"),
82
+ FieldMetadata(header=HeaderMetadata(style="simple", explode=False)),
83
+ ] = None
84
+ r"""The app display name allows you to customize how your app appears in OpenRouter's dashboard.
85
+
86
+ """
87
+
26
88
  include_disabled: Annotated[
27
89
  Optional[str],
28
90
  FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
@@ -0,0 +1,74 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from openrouter.types import BaseModel
5
+ from openrouter.utils import FieldMetadata, HeaderMetadata
6
+ import pydantic
7
+ from typing import Optional
8
+ from typing_extensions import Annotated, NotRequired, TypedDict
9
+
10
+
11
+ class ListEmbeddingsModelsGlobalsTypedDict(TypedDict):
12
+ http_referer: NotRequired[str]
13
+ r"""The app identifier should be your app's URL and is used as the primary identifier for rankings.
14
+ This is used to track API usage per application.
15
+
16
+ """
17
+ x_title: NotRequired[str]
18
+ r"""The app display name allows you to customize how your app appears in OpenRouter's dashboard.
19
+
20
+ """
21
+
22
+
23
+ class ListEmbeddingsModelsGlobals(BaseModel):
24
+ http_referer: Annotated[
25
+ Optional[str],
26
+ pydantic.Field(alias="HTTP-Referer"),
27
+ FieldMetadata(header=HeaderMetadata(style="simple", explode=False)),
28
+ ] = None
29
+ r"""The app identifier should be your app's URL and is used as the primary identifier for rankings.
30
+ This is used to track API usage per application.
31
+
32
+ """
33
+
34
+ x_title: Annotated[
35
+ Optional[str],
36
+ pydantic.Field(alias="X-Title"),
37
+ FieldMetadata(header=HeaderMetadata(style="simple", explode=False)),
38
+ ] = None
39
+ r"""The app display name allows you to customize how your app appears in OpenRouter's dashboard.
40
+
41
+ """
42
+
43
+
44
+ class ListEmbeddingsModelsRequestTypedDict(TypedDict):
45
+ http_referer: NotRequired[str]
46
+ r"""The app identifier should be your app's URL and is used as the primary identifier for rankings.
47
+ This is used to track API usage per application.
48
+
49
+ """
50
+ x_title: NotRequired[str]
51
+ r"""The app display name allows you to customize how your app appears in OpenRouter's dashboard.
52
+
53
+ """
54
+
55
+
56
+ class ListEmbeddingsModelsRequest(BaseModel):
57
+ http_referer: Annotated[
58
+ Optional[str],
59
+ pydantic.Field(alias="HTTP-Referer"),
60
+ FieldMetadata(header=HeaderMetadata(style="simple", explode=False)),
61
+ ] = None
62
+ r"""The app identifier should be your app's URL and is used as the primary identifier for rankings.
63
+ This is used to track API usage per application.
64
+
65
+ """
66
+
67
+ x_title: Annotated[
68
+ Optional[str],
69
+ pydantic.Field(alias="X-Title"),
70
+ FieldMetadata(header=HeaderMetadata(style="simple", explode=False)),
71
+ ] = None
72
+ r"""The app display name allows you to customize how your app appears in OpenRouter's dashboard.
73
+
74
+ """
@@ -5,13 +5,57 @@ from openrouter.components import (
5
5
  listendpointsresponse as components_listendpointsresponse,
6
6
  )
7
7
  from openrouter.types import BaseModel
8
- from openrouter.utils import FieldMetadata, PathParamMetadata
9
- from typing_extensions import Annotated, TypedDict
8
+ from openrouter.utils import FieldMetadata, HeaderMetadata, PathParamMetadata
9
+ import pydantic
10
+ from typing import Optional
11
+ from typing_extensions import Annotated, NotRequired, TypedDict
12
+
13
+
14
+ class ListEndpointsGlobalsTypedDict(TypedDict):
15
+ http_referer: NotRequired[str]
16
+ r"""The app identifier should be your app's URL and is used as the primary identifier for rankings.
17
+ This is used to track API usage per application.
18
+
19
+ """
20
+ x_title: NotRequired[str]
21
+ r"""The app display name allows you to customize how your app appears in OpenRouter's dashboard.
22
+
23
+ """
24
+
25
+
26
+ class ListEndpointsGlobals(BaseModel):
27
+ http_referer: Annotated[
28
+ Optional[str],
29
+ pydantic.Field(alias="HTTP-Referer"),
30
+ FieldMetadata(header=HeaderMetadata(style="simple", explode=False)),
31
+ ] = None
32
+ r"""The app identifier should be your app's URL and is used as the primary identifier for rankings.
33
+ This is used to track API usage per application.
34
+
35
+ """
36
+
37
+ x_title: Annotated[
38
+ Optional[str],
39
+ pydantic.Field(alias="X-Title"),
40
+ FieldMetadata(header=HeaderMetadata(style="simple", explode=False)),
41
+ ] = None
42
+ r"""The app display name allows you to customize how your app appears in OpenRouter's dashboard.
43
+
44
+ """
10
45
 
11
46
 
12
47
  class ListEndpointsRequestTypedDict(TypedDict):
13
48
  author: str
14
49
  slug: str
50
+ http_referer: NotRequired[str]
51
+ r"""The app identifier should be your app's URL and is used as the primary identifier for rankings.
52
+ This is used to track API usage per application.
53
+
54
+ """
55
+ x_title: NotRequired[str]
56
+ r"""The app display name allows you to customize how your app appears in OpenRouter's dashboard.
57
+
58
+ """
15
59
 
16
60
 
17
61
  class ListEndpointsRequest(BaseModel):
@@ -23,6 +67,25 @@ class ListEndpointsRequest(BaseModel):
23
67
  str, FieldMetadata(path=PathParamMetadata(style="simple", explode=False))
24
68
  ]
25
69
 
70
+ http_referer: Annotated[
71
+ Optional[str],
72
+ pydantic.Field(alias="HTTP-Referer"),
73
+ FieldMetadata(header=HeaderMetadata(style="simple", explode=False)),
74
+ ] = None
75
+ r"""The app identifier should be your app's URL and is used as the primary identifier for rankings.
76
+ This is used to track API usage per application.
77
+
78
+ """
79
+
80
+ x_title: Annotated[
81
+ Optional[str],
82
+ pydantic.Field(alias="X-Title"),
83
+ FieldMetadata(header=HeaderMetadata(style="simple", explode=False)),
84
+ ] = None
85
+ r"""The app display name allows you to customize how your app appears in OpenRouter's dashboard.
86
+
87
+ """
88
+
26
89
 
27
90
  class ListEndpointsResponseTypedDict(TypedDict):
28
91
  r"""Returns a list of endpoints"""
@@ -3,8 +3,76 @@
3
3
  from __future__ import annotations
4
4
  from openrouter.components import publicendpoint as components_publicendpoint
5
5
  from openrouter.types import BaseModel
6
- from typing import List
7
- from typing_extensions import TypedDict
6
+ from openrouter.utils import FieldMetadata, HeaderMetadata
7
+ import pydantic
8
+ from typing import List, Optional
9
+ from typing_extensions import Annotated, NotRequired, TypedDict
10
+
11
+
12
+ class ListEndpointsZdrGlobalsTypedDict(TypedDict):
13
+ http_referer: NotRequired[str]
14
+ r"""The app identifier should be your app's URL and is used as the primary identifier for rankings.
15
+ This is used to track API usage per application.
16
+
17
+ """
18
+ x_title: NotRequired[str]
19
+ r"""The app display name allows you to customize how your app appears in OpenRouter's dashboard.
20
+
21
+ """
22
+
23
+
24
+ class ListEndpointsZdrGlobals(BaseModel):
25
+ http_referer: Annotated[
26
+ Optional[str],
27
+ pydantic.Field(alias="HTTP-Referer"),
28
+ FieldMetadata(header=HeaderMetadata(style="simple", explode=False)),
29
+ ] = None
30
+ r"""The app identifier should be your app's URL and is used as the primary identifier for rankings.
31
+ This is used to track API usage per application.
32
+
33
+ """
34
+
35
+ x_title: Annotated[
36
+ Optional[str],
37
+ pydantic.Field(alias="X-Title"),
38
+ FieldMetadata(header=HeaderMetadata(style="simple", explode=False)),
39
+ ] = None
40
+ r"""The app display name allows you to customize how your app appears in OpenRouter's dashboard.
41
+
42
+ """
43
+
44
+
45
+ class ListEndpointsZdrRequestTypedDict(TypedDict):
46
+ http_referer: NotRequired[str]
47
+ r"""The app identifier should be your app's URL and is used as the primary identifier for rankings.
48
+ This is used to track API usage per application.
49
+
50
+ """
51
+ x_title: NotRequired[str]
52
+ r"""The app display name allows you to customize how your app appears in OpenRouter's dashboard.
53
+
54
+ """
55
+
56
+
57
+ class ListEndpointsZdrRequest(BaseModel):
58
+ http_referer: Annotated[
59
+ Optional[str],
60
+ pydantic.Field(alias="HTTP-Referer"),
61
+ FieldMetadata(header=HeaderMetadata(style="simple", explode=False)),
62
+ ] = None
63
+ r"""The app identifier should be your app's URL and is used as the primary identifier for rankings.
64
+ This is used to track API usage per application.
65
+
66
+ """
67
+
68
+ x_title: Annotated[
69
+ Optional[str],
70
+ pydantic.Field(alias="X-Title"),
71
+ FieldMetadata(header=HeaderMetadata(style="simple", explode=False)),
72
+ ] = None
73
+ r"""The app display name allows you to customize how your app appears in OpenRouter's dashboard.
74
+
75
+ """
8
76
 
9
77
 
10
78
  class ListEndpointsZdrResponseTypedDict(TypedDict):